db-ui / elements Goto Github PK
View Code? Open in Web Editor NEWWeb Components, based on DB UI Core.
Home Page: https://db-ui.github.io/elements/
License: Apache License 2.0
Web Components, based on DB UI Core.
Home Page: https://db-ui.github.io/elements/
License: Apache License 2.0
Icons within components (db-input[type=search]
and db-select
) are referenced by a path, that's relative to the pages path instead of CSS path, as we're inlining the CSS for the Custom Elements.
That for the easiest and most stable is to include these icons base64 encoded. We shouldn't implement this in DB UI Core directly, as we'd still like to reference all the assets in there in general, but only include it as base64 for the specific use case of inlined CSS by DB UI Elements.
Related to db-ui/core#19
The Vanilla JavaScript part of the installation guide includes the following paragraph:
You can use one of the following links to find the description for the framework you use.
NOTE: If you need a loader path to import 'defineCustomElements' or 'applyPolyfills', you have to use: "@db-ui/elements/loader".
Integration JavaScript
For integration in other framworks visit Stencil Doc- Overview Framework Integration for more informations.
This could be a little bit misleading, as it's a mix and match in between the chosen documentation (on JavaScript specifically / without a framework) and mentioning a list of framework links. Just removing "You can use one of the following links to find the description for the framework you use." might not do the trick, as we should set the linked documentation by StencilJS team in context (e.g. not necessarily referencing the framework from a public CDN, but our localhost installation), etc.
Probably we should even also provide a Vanilla JS showcase.
Some of the review branch deployments aren't accessible / are responding by a 404:
Related to db-ui/core#11
At the moment the release version is not deployed to "/versions/vX.X.X".
Somehow the "/review/main" is updated, but the root public folder keeps the same.
The "Big Picture" Link here is broken.
It links to:
https://github.com/db-ui/elements/blob/main/doc/architecture.md
is it not better to have title prop for db-link? Below for stencil
@Prop({ reflect: true }) title?: string;
render() {
return (
<a
class={'elm-link' + (this.icononly ? ' is-icon-text-replace' : '')}
href={this.href}
title={this.title}
hreflang={this.hreflang}
data-type={this.type}
media={this.media}
rel={this.rel}
target={this.target}
aria-current={this.current}
>
{this.icon ? (
<db-icon icon={this.icon} variant={this.iconVariant} />
) : null}
{this.text && this.text}
{!this.text && <slot />}
</a>
);
}
Within the Language-Switcher it is used with the title but i am not sure how it works without any prop defined?
We're currently missing the option/property to get / set the status of an accordion element being open.
Regarding the implementation within the component itself this could get achieved by toggling the attribute open
on the details
HTML element.
We should evaluate whether we still would need to provide a showcase based on Angular 13, as Angular 15 is even already out now and 13 only in LTS mode (same as version 14): https://angular.io/guide/releases#actively-supported-versions
We could get some insight into the necessary updates via https://update.angular.io/?v=13.0-14.0
Additionally we should think introducing to provide more than one framework version, compare to #1
see also db-ui/mono#54
Related to db-ui/core#69
We should add the url as comment like here https://github.com/db-ui/elements/blob/main/.github/workflows/03-deploy-gh-pages.yml#L77.
The
set-output
command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
e.g. https://github.com/db-ui/elements/actions/runs/3326919748
https://db-ui.github.io/elements/version/v0.16.1/?path=/docs/db-icon--live-demo
on the playground is also seen that db-icon is not working at all and this effects db-button as well using with db-icon together.
Workaround for db-button
setting data-icon=edit
attribute
For the tailwind showcase we'd like to ensure that we retrieve the tokens from DB UI Base (originally) and even also document this (at least with a link) to https://db-ui.github.io/base/
adapted from db-ui/core#26
PRs from forks only have tokens with write permission.
See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#enabling-workflows-for-forks-of-private-repositories
We should should check in the corresponding action steps whether they are running in a fork or not...
At the moment we use https://github.com/db-ui/elements/blob/main/scripts/cleanup-gh-pages.js to delete gh-pages.
We should handle this inside .github folder and a git ...
command instead of using axios
as dependency.
We should mention that the site authors / component consumers would actively need to mark up one of the main navigation items as the active one as we couldn't determine it or even "just" define the first one as the default if none is defined, as this is totally up to the page or application it is integrated in.
We should even also mention the following aspects, that our developer colleagues would benefit from (at least for understanding the solution):
Example Angular: Set routerLink
as directive on <db-link>
. You'll retrieve the Active State out of the RouterLinkActive
directive:
<db-mainnavigation>
<db-link routerLink="/home" routerLinkActive #rlaHome="routerLinkActive" [current]="{ 'page' : rlaHome.isActive }">
Startseite
</db-link>
<db-link routerLink="/about" routerLinkActive #rlaAbout="routerLinkActive" [current]="{ 'page' : rlaAbout.isActive }">
About
</db-link>
</db-mainnavigation>
It looks like that builds out of the main
branch don't get deployed to https://db-ui.github.io/elements/ (any more), whereas any of those changes merged to feature branches actually get deployed / displayed within the feature branch preview folder deployments, compare to e.g.:
Icons should now get displayed due to the update with #459
stories.json
being generated in root due to #473
Storybook allows to make multiple Storybooks composable. This is especially useful, when having a specific storybook in a project and consuming @db-ui/elements
as well.
To make this feature available, it's necessary to publish the stories.json
file as well as described in the docs:
https://storybook.js.org/docs/react/sharing/storybook-composition
We'd like to use visual regression testing for Chromium, Webkit and Mozilla based Browsers, supported by Cypress.
Related to db-ui/core#71 & db-ui/base#69
the changelog action works for prereleases, but the normal release changelog would be empty.
Can this be configured in conventional-changelog-cli?
DbMainnavigationDataType is responsible to generate db-link within the db-main-navigation
but it doesnt have props as
title, target and icon
title: is used hower information like used for db-language-switcher
target is used whether to open link in seperate tab/window or default. It can be that some navigation item can navigate to an external page.
icon navigation items can be displayed with icons
The mainnavigation
implementation is missing the label
element next to the input
which provides the "control" for the mobile version of the mainnavigation
.
On github pages all icons and images using the wrong path (without 'elements'): https://db-ui.github.io/icons/functional/images/navigation/db_ic_expand_more_20.svg
Same issue for review pages
../db-ui-elements-stencil/dist/types/components.d.ts:1190:15 - error TS2320: Interface 'HTMLDbNotificationElement' cannot simultaneously extend types 'DbNotification' and 'HTMLStencilElement'.
Named property 'role' of types 'DbNotification' and 'HTMLStencilElement' are not identical.
1190 interface HTMLDbNotificationElement extends Components.DbNotification, HTMLStencilElement {
~~~~~~~~~~~~~~~~~~~~~~~~~
Found 1 error in ../db-ui-elements-stencil/dist/types/components.d.ts:1190
Modularize the different steps and cache the artifacts. Some complexity might result out of the playgrounds & showcases.
With the introduction of Standalone Components with Angular 14, components can be imported and tree-shaked individually without the need of a wrapping module such as DBUIElementsModule
.
It would be great if all components can be marked as standalone
and imported individually.
We'd like to set up several framework installations – both by major version, and differences like compilers (e.g. vite and vue-cli) and ts
/ js
installations – that are consuming our packages and have dependabot installed that especially updates our packages on their release; by this we would be able to detect any problems early after the release.
An alternative would be to integrate the creation of a tarball and installation during release process.
Tracking issue for:
With the new release process we don't need "np" anymore and would solve:
adapted from db-ui/base#82 and db-ui/base#83
Our current tag for prereleases is v0-next
, but should be next
, compare to
https://www.npmjs.com/package/@db-ui/elements?activeTab=versions
Regarding the accordion component we're currently missing the configurability for the component to either let the included different accordion elements behave individually or getting "synced" interactions by closing the open element in case that somebody opens another one ("typical accordion effect").
#386 might be a prerequisite for this issue.
@nmerget What about scanning on pre-commit (additionally), as we might want to prevent any checkin of secrets prior to the commit itself?
Originally posted by @mfranzke in #59 (comment)
The db-mainnavigation
component hides itself on small viewports.
Reproducible in Storybook
How to store non-code-files like the reference screenshots, especially in the context of solutions like Git LFS? Another reporitory?
We'd like to have a done step within our pipeline that we could reference e.g. regarding steps to get fulfilled previous to an automatic merge.
The part of the installation documentation of which path to copy is a little bit misleading – we're targeting at a list of folders by our text, but providing a JSON afterwards, which is perfectly fine for a bundler setting, but we should still list all of the folders independently from that.
The property current
is not updated when there are changes.
Reproducer
yarn create react-app my-app --template typescript
yarn add @db-ui/react-elements-enterprise
App.tsx
// App.tsx
import "@db-ui/core/dist/css/db-ui-core.vars.css"
import {DbFooter, DbHeader, DbLink, DbMainnavigation, DbPage} from "@db-ui/react-elements-enterprise";
import {useState} from "react";
function App() {
const [active, setActive] = useState(true);
return (
<>
<DbPage>
<DbHeader slot="header">
<button onClick={() => setActive(!active)}>Toggle</button>
<DbMainnavigation>
<DbLink href="/" key="key1" current={active ? "page" : "false"}>First</DbLink>
<DbLink href="/whatever" key="key2" current={active ? "false" : "page"}>Second</DbLink>
</DbMainnavigation>
<div/>
</DbHeader>
<DbFooter slot="footer" copyright border/>
</DbPage>
</>
);
}
export default App;
yarn start
Toggle
Expected behaviour
The active page should toggle between "First" and "Second"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.