Giter Site home page Giter Site logo

db-ui / core Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 4.0 128.44 MB

Technical Frontend implementation of the DB UX Design System (successor of DB UX & EDS Guidelines)

Home Page: https://db-ui.github.io/core/

License: Apache License 2.0

Shell 0.49% JavaScript 3.14% Handlebars 24.59% SCSS 69.40% CSS 2.39%
a11y accessibility css design-system hacktoberfest html html5 styleguide

core's People

Contributors

annam002 avatar annsch avatar d-koppenhagen avatar dependabot[bot] avatar dkolba avatar github-actions[bot] avatar juthilo avatar mfranzke avatar nmerget avatar pschaub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

core's Issues

Provide review deployments

The other repositories even already provide review folders, so we should adapt this to DB UI Core as well.

docs: move base parts to DB UI Base

Move the Base parts of the DB UI Core documentation to DB UI Base to remove the redundant documentation parts and link to those pages afterwards out of DB UI Core.

Checkboxes (DB UX Design System v3)

The following changes will be part of the Guidelines 3.0 to the checkbox element:

General

  • clarify on dark background usage / examples still to keep in the generated examples

Sizes

  • Added this whole possibility to define sizes

States

  • Added this whole possibility to style the required state

Additionally

  • CHANGELOG.md entries, both for prereleases (underneath Unreleased at the beginning) as well as in a hidden (by comment) summary at the beginning
  • docs/migrationGuide.adoc
  • Test-URLs: .pa11yci and tests/backstop.json

Link (Guidelines 3.0)

The following changes will be part of the Guidelines 3.0 to the link element:

tbd

Additionally

  • CHANGELOG.md entries, both for prereleases (underneath Unreleased at the beginning) as well as in a hidden (by comment) summary at the beginning
  • docs/migrationGuide.adoc
  • Test-URLs: .pa11yci and tests/backstop.json

Automatic rebase for dependabot PRs on changes to the target branch

In case of any changes to the target branch we might need to tell dependabot to rebase it's pull request. With a huger amount of PRs, this might get a time consuming task, so we should look into this whether we could automate this task.

Candidates:

Input: Guidelines 3.0 follow up

As a follow up to #198 we need to provide the following pattern variants:

  • type number

  • type date

  • type datetime-local

  • type week

  • type month

  • discuss pointer-events: none for label

  • Even also evaluate whether to include span.elm-state-icon within the description.

Buttons (Guidelines 3.0)

The following changes will be part of the Guidelines 3.0 to the button element:

General

  • background-color should change on hover hover with a transition
  • Retrieve colors from the new DB UI Base values
  • Decide for an animation

Variants

  • Brand primary becomes the regular Primary button
  • Primary becomes Secondary Inverted
  • Secondary Outline becomes Secondary
  • Secondary Solid becomes Tertiary
  • Tertiary Plain becomes Ghost

States

  • Disabled state gets styled by opacity-only again instead of additionally defining all disabled buttons by the grey color
  • reworked: black-color-values for Hover and Pressed states (Secondary, Tertiary and Ghost types) have been refactored to 12% for Hover and 24% for Pressed
  • Added loading state

Size

  • Adding XSmall size
  • reworked: Adding XLarge and XXSmall sizes
  • Renaming regular size to medium
  • reworked: Button sizes S and XS use 16px icons

Content

  • Removing icon after label from the examples

Behaviour

  • Adding FullWidth

Additionally

  • CHANGELOG.md entries, both for prereleases (underneath Unreleased at the beginning) as well as in a hidden (by comment) summary at the beginning
  • docs/migrationGuide.adoc
  • Test-URLs: .pa11yci and tests/backstop.json

Textfield (Guidelines 3.0)

The following changes will be part of the Guidelines 3.0 to the textfield element:

  • add variants
  • add colors
  • add different states
  • remove unused styles

Additionally

  • CHANGELOG.md entries, both for prereleases (underneath Unreleased at the beginning) as well as in a hidden (by comment) summary at the beginning
  • docs/migrationGuide.adoc
  • Test-URLs: .pa11yci and tests/backstop.json

Legal documents: Decide for a language

    why do we mix language values here? Shouldn't we leave it in german as default?

We should decide whether we provide both language versions and/or only one of them (translate the "Datenschutzerklärung", or link to the german imprint).

Originally posted by @annsch in #270 (comment)

Invalid styling only applied when placeholder is not shown

We're not sure if this is the intended behavior: an input with label and placeholder that is marked as required and empty will never be styled as invalid because the invalid rule is restricted to :not(:placeholder-shown). We would argue that placeholders are intended to indicate what should be entered into a field and not that the field is optional.

Optimize contribution guidelines

Currently we're having two sections for contributions within our README file – we should most likely merge this to one, and even also extract relevant information to the separate CONTRIBUTING.md file.

That file would additionally need some more rework, as we're currently mentioning the husky dependency, but especially for somebody new to the project don't mention how they should do this, as in general this dependency would get installed by the general npm install:
https://github.com/db-ui/core/blob/main/CONTRIBUTING.md?plain=1#L9

Besides that we should mention some prerequisites like e.g. nvm that would ensure the expected node version to be installed.

Evaluate to refactor all classes

Either replace or prepend all existing namespaces of elm-/cmp-/rea- (and possible future tpl- for templates, all of which inform the users of their types) by another namespace (e.g. db-).

Docs: Incremental CSS file consumption

Better document both that we render incremental component css files, as well as how to use them as well as the necessary global css (node_modules/@db-ui/core/dist/css/db-ui-core.general.css and node_modules/@db-ui/core/dist/css/db-ui-core.vars.css) within ones project, as well as which SCSS to customize if necessary:

  • $icons-path(default: "../../icons/")
  • $images-path (default: "../../images/")
  • $fonts-path (default: "../../fonts/")

Update colors for interactive layers

Reference: Zeplin, Slide Interactive Color Layers

New color Values

DB Red
default: #EC0016
hover: #CF0013
pressed: #B00010

Grey
default: #282D37
hover: #3F4757
pressed: #556075

White
default: #FFFFFF
hover: #E0E0E0
pressed: #C2C2C2

Light Grey
default: #D7DCE1
hover: #B9BDC2
pressed: #9CA0A3

Darker Grey
default: #646973
hover: #494D54
pressed: #2F3136

Transparent (on Light)
default: rgba(40,45,55,0.00)
hover: rgba(40,45,55,0.12)
pressed: rgba(40,45,55,0.24)
selected: rgba(40,45,55,0.36)

Transparent (on Dark)
default: rgba(255,255,255,0.00)
hover: rgba(255,255,255,0.12)
hover: rgba(255,255,255,0.24)
pressed: rgba(255,255,255,0.36)

Medium Grey
default: #878C96
hover: #6C7078
pressed: #505359

Current version

DB Red
default: #EC0016
hover: #D90016
pressed: #C40012

Grey
default: #282D37
hover: #383F4D
pressed: #464F61

White
default: #FFFFFF
hover: #EBEBEB
pressed: #D6D6D6

Light Grey
default: #D7DCE1
hover: #C3C7CC
pressed: #AFB4B8

Darker Grey
default: #646973
hover: #52565E
pressed: #40444A

Transparent (on Light)
default: rgba(40,45,55,0.00)
hover: rgba(40,45,55,0.08)
pressed: rgba(40,45,55,0.16)
selected: rgba(40,45,55,0.12)

Transparent (on Dark)
default: rgba(255,255,255,0.00)
hover: rgba(255,255,255,0.08)
pressd: rgba(255,255,255,0.16)
selected: rgba(255,255,255,0.12)

Medium Grey
default: #878C96
hover: #757982
pressed: #63666E

Suggestion: provide an option to disable icon's automatic margin-inline-end

At the moment, all icons receive a small amount of right margin, which is very helpful when they're placed in front of text.

However, in some situations, there is no text afterwards and the margin causes a weird look. In Core, for icononly buttons and similar (but not all) use cases, there's styling to reset the margin to 0. This isn't applied in Elements though, because icons use the shadow DOM there.

I would love an additional attribute like data-icon-margin with values default | none or similar to enable users to remove margin whenever needed.

Opening issue in Core because the general option to remove margin might be relevant to many, regardless of framework. Let me know if I should open in Elements instead.

button: adapt disabled styling by Guidelines version 3

Buttons sollen im Disabled State nicht mehr pauschal den grauen Farbton erhalten, sondern in Anlehnung an die 3.0 Library gestaltet sein.
Das bedeutet, dass der initiale Button erhalten bleibt und der disabled Zustand mittels Transparenzen visualisiert wird. Diese Logik überträgt sich auf alle vorhandenen Buttons.

Akzeptanzkriterien

  • Flächen
    Die Hintergrundfläche werden mit 25% Opacity als disabled dargestellt
  • Rahmen
    Rahmen werden analog zu Flächen behandelt und werden mit 25% Opacity als disabled dargestellt
  • Text & Icon
    Text und Icon werden mit 50% Opacity als disabled dargestellt

Beispiel und Hinweis

Es kann nicht pauschal mit einer Opacity auf dem Button gearbeitet werden, da die Elemente im Vordergrund (Label & Icon) anders gehandhabt werden als der Hintergrund.

see also internal ticket no. DBSWC-881

Suggestion: Disable all interactions on disabled form controls

Currently, when a disabled form control or button contains HTML elements (for example, icons or spans for internationalization), clicking on that part of the content is not actually disabled. That means, disabled submit buttons actually submit forms.

We used an override with pointer-events: none to circumvent this behavior. To my knowledge, this rule is common in other UI frameworks. Could it be added to Core?

Our override:

db-button, button, db-select, select, db-input, input {
	&[disabled] {
		pointer-events: none;
	}
}

Hero Module

Functionality

  • Positioning: begin (default) & center
  • Besides headline element the following two are optional to get added:
    • body text
    • button

Radio (DB UX Design System v3)

The following changes will be part of the Guidelines 3.0 to the radio element:

Sizes

  • Added this whole possibility to define sizes

States

  • Added this whole possibility to style the required state

Additionally

  • CHANGELOG.md entries, both for prereleases (underneath Unreleased at the beginning) as well as in a hidden (by comment) summary at the beginning
  • docs/migrationGuide.adoc
  • Test-URLs: .pa11yci and tests/backstop.json

Stylelint: evaluate a better order pattern

Previously we had an alphabetical order, which doesn't feel right for all of us. We'd instead like to have some logical ordering and should evaluate for a new stylelint plugin on this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.