Clarity is a scalable, accessible, customizable, open-source design system built with web components.

Overview

Clarity

Clarity Design System

Build npm version core npm version cds react npm version cds angular npm version clarity city

Clarity is an open source design system that brings together UX guidelines, design resources, and coding implementations with Web Components. This repository includes everything you need to build, customize, test, and deploy Clarity. For complete documentation, visit the Clarity website.

Getting Started

Clarity is published as five npm packages:

  • npm version core Contains the Web Components that work in any JavaScript framework.
  • npm version cds angular Contains shims for core usage in Angular environment
  • npm version cds react Contains shims for core usage in React environment
  • npm version clarity city Our open source sans-serif typeface.

Installing Clarity

Visit our documentation at https://clarity.design/get-started/

Documentation

Contributing

The Clarity project team welcomes contributions from the community. For more detailed information, see our contribution guidances.

Licenses

  • The Clarity Design System is licensed under the MIT license.

Feedback

If you find a bug or want to request a new feature, please open a GitHub issue.

Include a link to the reproduction scenario you created by forking one of the Clarity Stackblitz Templates for the version you are using at Clarity StackBlitz templates.

Support

For our support policies please visit https://clarity.design/get-started/support/

For questions, ideas, or just reaching out to the team feel free to open a discussion in our GitHub Disscussion section.

Comments
  • Cannot build vite project using clarity core v6

    Cannot build vite project using clarity core v6

    Describe the bug

    I'm using Vite Vue and React both. After installing @cds/core @cds/react v6.0.0 and importing a clarity button component for example, the vite project build always raises the below error. Only when I downgrade clarity to 5.6.4, the below issue disappear.

    [vite]: Rollup failed to resolve import "@cds/core/icon/shapes/exclamation-circle.js" from "node_modules/@cds/core/forms/register.js". This is most likely unintended because it can break your application at runtime. If you do want to externalize this module explicitly add it to build.rollupOptions.external error during build:

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [ ] Angular
    • [x] React
    • [x] Vue
    • [ ] Other:

    Framework version:

    Vite

    opened by wghglory 12
  • fix(button): restore disabled state set from outside when loading sta…

    fix(button): restore disabled state set from outside when loading sta…

    …te changes to default

    Signed-off-by: EndzeitBegins [email protected]

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [X] Tests for the changes have been added (for bug fixes / features)
    • [ ] Docs have been added / updated (for bug fixes / features)
    • [ ] If applicable, have a visual design approval

    PR Type

    What kind of change does this PR introduce?

    • [X] Bugfix
    • [ ] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Build related changes
    • [ ] CI related changes
    • [ ] Documentation content changes
    • [ ] clarity.design website / infrastructure changes
    • [ ] Other... Please describe:

    What is the current behavior?

    Issue Number: #129

    What is the new behavior?

    When changing to the loadingState to default the disabled value set from outside is restored, whether is was set before or while the loadingState was non-default.

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [X] No

    Other information

    My solution includes replacing the field disabled in CdsBaseButton with a corresponding getter and setter in order to override its behavior in CdsButton. This in turn adds a private field _disabled to CdsBaseButton. To avoid collisions I renamed _disabled to _disabled_from_outside in CdsButton. According to npm run public-api:check this results in changes to the "public" API, even though only private fields were added / renamed and the field disabled replaced with getter / setter.

    released 
    opened by EndzeitBegins 11
  • Datalist moves when only one option remains in Edge browser

    Datalist moves when only one option remains in Edge browser

    Describe the bug

    When using the datalist component and the datalist has reached just one remaining item, the datalist physically moves on the screen.

    How to reproduce

    Clarity Angular v13 and Core v6 Stackblitz.

    Steps to reproduce the behavior:

    1. Click in Customer Name field
    2. Enter the letter o (three results), datalist is normal
    3. Enter the letter p (two results), datalist is normal
    4. Enter the letter t (one result), datalist moves to the right

    Expected behavior

    The datalist should remain in one place regardless of the amount of results suggested

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [x] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version: Angular v13

    Device:

    • Type: [Dell Notebook]
    • OS: [Windows 10]
    • Browser: [Edge (Chromium)]
    • Version: [103]

    Additional notes

    This is an issue in Edge 103 but not in Chrome 103. Chrome does not have this issue. You can also see this behavior using Edge in your Core storybook using cds-datalist at https://storybook.core.clarity.design/?path=/story/forms-datalist--page

    Normal (2+ results) image Abnormal (1 result) image

    opened by arcmodo 7
  • test(react): upgrade to react 17 and remove enzyme

    test(react): upgrade to react 17 and remove enzyme

    • add react-testing-library
    • upgrade jest/jsdom dependencies

    Signed-off-by: Ashley Ryan [email protected]

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [x] Tests for the changes have been added (for bug fixes / features)
    • [x] Docs have been added / updated (for bug fixes / features)
    • [ ] If applicable, have a visual design approval

    PR Type

    What kind of change does this PR introduce?

    • [ ] Bugfix
    • [ ] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Build related changes
    • [x] CI related changes
    • [ ] Documentation content changes
    • [ ] clarity.design website / infrastructure changes
    • [ ] Other... Please describe:

    What is the current behavior?

    What is the new behavior?

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Other information

    cla-not-required project:@cds/react released on @beta 
    opened by ashleyryan 7
  • cds-checkbox-group layout 'hroizontanl-inline' showing items vertically when there are more items to display instead of wrapping

    cds-checkbox-group layout 'hroizontanl-inline' showing items vertically when there are more items to display instead of wrapping

    Describe the bug

    When using cds-checkbox-group with more cds-checkbox elements that don't fit in the width, items are displayed with vertical layout.

    How to reproduce

    The following link shows the behavior with less number of elements and higher number. https://stackblitz.com/edit/clarity-javascript-demo-rqcq7q?file=src%2Findex.js,src%2Findex.html

    Expected behavior

    When there are more elements it should wrap to the next line instead of a vertical alignment

    Versions

    Clarity project:

    • [X] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [X] v6.x

    Framework:

    • [ ] Angular
    • [ ] React
    • [ ] Vue
    • [X] Other: vanilla JS

    Device:

    • OS: Windows
    • Browser Edge chromium
    opened by jyothi530 6
  • React unit tests failing with node 16

    React unit tests failing with node 16

    Describe the bug

    Something in node 16 can make jest snapshot tests (or any tests that log the output of the dom) fail in node 16. Unfortunately, it appears to be the combination of node 16 plus some other setting/dependency because it doesn't happen all the time with node 16.

    How to reproduce

    This happens in

    https://github.com/steve-haar/core/tree/topic/beta-repo-redo

    Steps to reproduce the behavior:

    1. nvm use 16
    2. npm install
    3. npm build:ci

    Note that the react snapshot tests fail for tests that have nested web-components.

    Expected behavior

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v3.x
    • [ ] v4.x
    • [x] v5.x
    • [ ] v6.x

    Framework:

    • [ ] Angular
    • [x] React
    • [ ] Vue
    • [ ] Other:

    Additional notes

    In the clarity react tests, it only seems to happen with nested web components (Accordion in AccordionGroup, for example). But others have reported it happening with CdsTag, CdsInput, etc.

    project:@cds/react type:chore 
    opened by ashleyryan 6
  • fix(textarea): update disabled text color

    fix(textarea): update disabled text color

    fixes #165

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [ ] Tests for the changes have been added (for bug fixes / features)
    • [ ] Docs have been added / updated (for bug fixes / features)
    • [ ] If applicable, have a visual design approval

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [ ] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Build related changes
    • [ ] CI related changes
    • [ ] Documentation content changes
    • [ ] clarity.design website / infrastructure changes
    • [ ] Other... Please describe:

    What is the current behavior?

    The text color in a disabled textarea didn't match the color of other disabled elements

    Issue Number: #165

    What is the new behavior?

    The color now matches the color of other disabled inputs

    image

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Other information

    cla-not-required released 
    opened by ashleyryan 5
  • fix(navigation): sync state with newly added nav items

    fix(navigation): sync state with newly added nav items

    fixes #155 #82

    • previously only nav items in the initial render were synced with the top level expanded state
    • add onslotchange to check for that
    • move tabindex logic to slot change handler as well
    • reorder component functions to match best practices
    • update unit tests to check syncing after component updates

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [x] Tests for the changes have been added (for bug fixes / features)
    • [ ] Docs have been added / updated (for bug fixes / features)
    • [ ] If applicable, have a visual design approval

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [ ] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Build related changes
    • [ ] CI related changes
    • [ ] Documentation content changes
    • [ ] clarity.design website / infrastructure changes
    • [ ] Other... Please describe:

    What is the current behavior?

    Previously, expanded state was only shared with nav items on the initial render, or when the parent navigation component had updates. Asynchronously added nav items were treated as collapses, instead of having their parent state synced

    Issue Number: #155 #82

    What is the new behavior?

    the slotchange event was added to the slot to detect when new items are added

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Other information

    cla-not-required released 
    opened by ashleyryan 5
  • cds-navigation: nav items added after initial render are visually hidden

    cds-navigation: nav items added after initial render are visually hidden

    Describe the bug

    When a nav item is added to the Navigation component after it's initial render, the text is visually hidden with the screen reader class and not visible.

    The repro is in react, but I don't think this is react specific.

    How to reproduce

    https://stackblitz.com/edit/clarity-react-demo-bxd4di?file=src%2Findex.html,src%2FApp.tsx

    Steps to reproduce the behavior:

    1. Notice that the nav items are created in the useEffect after the initial render
    2. The text isn't visible in the left nav, almost as if it's considering the nav is collapsed

    Expected behavior

    The nav text is visible

    Versions

    Clarity version:

    • [x] v5.x
    • [x] v6.x

    Framework:

    • [ ] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version: ie: Angular 11

    Device:

    • Type: [e.g. MacBook]
    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Additional notes

    Add any other notes about the problem here.

    released type:fix released on @5.x 
    opened by ashleyryan 5
  • fix(tag): remove hover bg color change when disabled

    fix(tag): remove hover bg color change when disabled

    fixes #134

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [ ] Tests for the changes have been added (for bug fixes / features)
    • [x] Docs have been added / updated (for bug fixes / features)
    • [ ] If applicable, have a visual design approval

    PR Type

    What kind of change does this PR introduce?

    • [x] Bugfix
    • [ ] Feature
    • [ ] Code style update (formatting, local variables)
    • [ ] Refactoring (no functional changes, no api changes)
    • [ ] Build related changes
    • [ ] CI related changes
    • [ ] Documentation content changes
    • [ ] clarity.design website / infrastructure changes
    • [ ] Other... Please describe:

    What is the current behavior?

    When hovering over a disabled clickable tag, the background color still changes

    Issue Number: #134

    What is the new behavior?

    The background color no longer changes on hover, when disabled

    Does this PR introduce a breaking change?

    • [ ] Yes
    • [x] No

    Other information

    cla-not-required released 
    opened by ashleyryan 5
  • setting disabled attribute while loadingState is

    setting disabled attribute while loadingState is "loading" has no effect on cds-button

    Describe the bug

    The disabled attribute of cds-button(from @cds/angular) is ignored, when it is set while the loadingState is loading.

    We recently migrated a form from using @clr/angular to @cds/angular and encountered a most likely unintended behaviour. When the user saves the form, by clicking on the button, after the successful save the corresponding loadingStatus should be set to indicate the loading behavior to the user. Additionally the form is no longer dirty, as it does not have any unsaved changes and thus the save button should not be enabled anymore. However settings the disabled state does not take any effect after the loadingState becomes "default" again.

    How to reproduce

    I've build a reproduction on Stackblitz using one of the provided templates. Thank you for providing the templates, this made reporting this behavior a lot easier!

    Steps to reproduce the behavior:

    1. Open example on Stackblitz
    2. Click on the "Simulate loading ..." button.
    3. Observe the "... this does not." button being enabled after the loading, even though the disabledState changed to and is still true.

    Expected behavior

    The cds-button should base its disabled state solely on the corresponding attribute, once the loadingState is reverted back to default. Altering the value of disabled while the loadingState is something other than "default" should not be ignored.

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [X] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version: Angular 13

    Device:

    • Type: Desktop
    • OS: Ubuntu
    • Browser Chrome
    • Version 98

    Additional notes

    Add any other notes about the problem here.

    released type:fix 
    opened by EndzeitBegins 5
  • fix(forms): focus checkbox/radio elements on click

    fix(forms): focus checkbox/radio elements on click

    closes #198

    PR Checklist

    Please check if your PR fulfills the following requirements:

    • [N/A] Tests for the changes have been added (for bug fixes / features)
    • [N/A] Docs have been added / updated (for bug fixes / features)
    • [N/A] If applicable, have a visual design approval

    PR Type

    Bugfix

    What is the current behavior?

    Checkbox/radio elements are not focused on click of the checkbox/radio.

    Issue Number: #198

    What is the new behavior?

    Checkbox/radio elements are focused on click of the checkbox/radio.

    Does this PR introduce a breaking change?

    No.

    cla-not-required type:fix 
    opened by kevinbuhmann 1
  • Checkbox and radio do not update controller value with form's update on blur option

    Checkbox and radio do not update controller value with form's update on blur option

    Describe the bug

    When using update on blur option of angular reactive form, checkbox and radio components do not update the value of their controller. The click on the component is correctly transmitted to the input but not the focus.

    How to reproduce

    Steps to reproduce the behavior:

    1. Go to this stackblitz example
    2. Click on checkbox or radio components
    3. Check that form value is not updated
    4. Activate workaround. Now form value is update on blur.

    Expected behavior

    Clicking on the checkbox and radio components should give them focus in order to update on the blur.

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [x] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version: Angular 13

    Device:

    • OS: Linux
    • Browser Chrome, Firefox

    Additional notes

    A workaround is to give focus to the input on click.

    type:fix has-workaround 
    opened by jtruffot 0
  • Conditional tree items stay hidden with Firefox

    Conditional tree items stay hidden with Firefox

    Describe the bug

    With default cds-motion activated, conditional tree items stay hidden with Firefox (works with Chrome).

    How to reproduce

    Steps to reproduce the behavior:

    1. Go to Conditional Items story of the Tree View component on the Clarity Core storybook.
    2. Click on Toggle Tree Visibility, then on any root items.
    3. With Firefox, note that the child items are not visible.

    Expected behavior

    Child items must be visible when parent item are expanded.

    Versions

    Clarity project:

    • [x] Clarity Core
    • [ ] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [x] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version: ie: Angular 13

    Device:

    • OS: Windows, linux
    • Browser: Firefox
    • Version 107.0.1

    Workaround

    Add cds-motion="off" attribute on cds-tree-item.

    has-workaround 
    opened by jtruffot 0
  • Problem importing Clarity components in Jest Unit Tests

    Problem importing Clarity components in Jest Unit Tests

    Describe the bug

    When working with Angular in an NX workspace and writing unit tests with Jest I can not import Clarity components without braking the tests.

    How to reproduce

    I am using an NX workspace with Angular preset and install @cds packages.

    npx create-nx-workspace@latest
    npm i @cds/{core,angular} --legacy-peer-deps
    

    Then, if a clarity component is part of a Jest unit test, for example:

    import { TestBed } from '@angular/core/testing';
    import { CdsButtonModule } from '@cds/angular';                                   // <---
    import { AppComponent } from './app.component';
    import { NxWelcomeComponent } from './nx-welcome.component';
    
    describe('AppComponent', () => {
      beforeEach(async () => {
        await TestBed.configureTestingModule({
          imports: [CdsButtonModule],                                                 // <---
          declarations: [AppComponent, NxWelcomeComponent],
        }).compileComponents();
      });
    });
    

    It is throwing:

    Jest encountered an unexpected token
    
    Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
    
    Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.
    
    By default "node_modules" folder is ignored by transformers.
    
    Here's what you can do:
     • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.
     • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript
     • To have some of your "node_modules" files transformed, you can specify a custom "transformIgnorePatterns" in your config.
     • If you need a custom transformation specify a "transform" option in your config.
     • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the "moduleNameMapper" config option.
    
    You'll find more details and examples of these config options in the docs:
    https://jestjs.io/docs/configuration
    For information about custom transformations, see:
    https://jestjs.io/docs/code-transformation
    
    /PATHTO/clarity-jest-test/node_modules/@cds/core/accordion/register.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import{registerElementSafely as o,ClarityMotion as r,AnimationAccordionPanelOpenName as c,AnimationAccordionPanelOpenConfig as e}from"@cds/core/internal";import{CdsAccordion as n}from"./accordion.element.js";import{CdsAccordionPanel as d}from"./accordion-panel.element.js";import{CdsAccordionContent as t}from"./accordion-content.element.js";import{CdsAccordionHeader as i}from"./accordion-header.element.js";import"@cds/core/icon/register.js";import"@cds/core/button-expand/register.js";o("cds-accordion",n),o("cds-accordion-panel",d),o("cds-accordion-content",t),o("cds-accordion-header",i),r.add(c,e);
                                                                                      ^^^^^^
    
    
    SyntaxError: Cannot use import statement outside a module
    
      at Runtime.createScriptFromCode (../../node_modules/jest-runtime/build/index.js:1796:14)
    

    Here is a demo repository https://github.com/ngfelixl/clarity-jest-test

    Expected behavior

    I would expect that the components can be used and imported in Jest unit tests.

    Versions

    Clarity project:

    • [x] Clarity Core
    • [x] Clarity Angular/UI

    Clarity version:

    • [ ] v5.x
    • [x] v6.x

    Framework:

    • [x] Angular
    • [ ] React
    • [ ] Vue
    • [ ] Other:

    Framework version:

    "@angular/core": "14.0.5",
    "@cds/angular": "6.1.4",
    "@cds/core": "6.1.4",
    "@nrwl/jest": "14.4.2",
    "jest": "27.5.1",
    "jest-preset-angular": "11.1.2",
    

    Device:

    • Type: Macbook
    • OS: macOS Monterey
    opened by ngfelixl 7
  • Documentation: File control is missing from side navigation

    Documentation: File control is missing from side navigation

    Describe the bug

    File control no longer shows up in the side navigation of the Clarity Code website, but can be accessed through the direct URL.

    image

    How to reproduce

    Steps to reproduce the behavior:

    1. Go to https://core.clarity.design/core-components/
    2. Observe the sidebar, File Input is no longer present in the list
    3. Visit https://core.clarity.design/core-components/file/ to see the page

    Expected behavior

    File Input should show up in side navigation

    Versions

    • Clarity Core v6.x
    opened by karan-kang 1
  • Forms > Required field - needs design modification to meet A11y requirements

    Forms > Required field - needs design modification to meet A11y requirements

    Required field needs an asterisk to denote that it must be filled.

    • Currently Clarity recommends marking ONLY optional fields (as optional). All other fields are to be assumed as required. To be A11y (Maya Lin) compliant, the required fields need to be clearly marked with an asterisk with a legend/key at the top of the form.
    • Add this update to documentation in Clarity website.

    Visual specs to follow.

    type:feat waiting:needs-design 
    opened by lil-kim 1
Releases(v6.2.3)
  • v6.2.3(Dec 5, 2022)

  • v6.2.2(Nov 7, 2022)

  • v6.2.1(Oct 31, 2022)

  • v6.2.0(Oct 24, 2022)

  • v6.1.6(Oct 10, 2022)

  • v5.8.4(Oct 10, 2022)

  • v6.1.5(Oct 3, 2022)

  • v6.1.4(Sep 13, 2022)

  • v5.8.3(Sep 13, 2022)

  • v6.1.3(Aug 31, 2022)

  • v6.1.2(Aug 29, 2022)

    6.1.2 (2022-08-29)

    Bug Fixes

    Source code(tar.gz)
    Source code(zip)
  • v5.8.2(Aug 29, 2022)

  • v6.1.1(Aug 15, 2022)

  • v5.8.1(Aug 15, 2022)

  • v6.1.0(Jul 11, 2022)

  • v5.8.0(Jul 11, 2022)

  • v6.0.4(Jun 27, 2022)

  • v6.0.3(Jun 21, 2022)

  • v6.0.2(Jun 14, 2022)

  • v5.7.3(May 31, 2022)

  • v6.0.1(May 31, 2022)

  • v6.0.0(May 3, 2022)

    6.0.0 (2022-05-03)

    This release includes a breaking change with the spacing design tokens (see "Breaking Changes" section for details). It also introduces the Popover/Signpost component (4006bea), and moves the Breadcrumb, Card, Divider, Navigation, and TreeView components out of Preview/Beta. The card styling has changed in v6.

    Bug Fixes

    • angular: add missing property/event types (8de1fdb)
    • angular: set build compilation mode (5e32eba)
    • angular: support nested module folders (dcd040a)
    • breaking changes for core in v6 (19d1ca4)
    • core aria property types (07116d2)
    • core: pagination: add missing registration (54071a3)
    • core:card: alignment in grid layout (52d2063), closes #6457
    • core:icon: export unexported icons from technology collection (dd4a350)
    • core:icon: update icon warning color to use the dark color variation (9c26359)
    • core:modal: fix modal and popup animations (8eef59a)
    • core:modal: scroll check lifecycle (6c4c8ca)
    • core: add missing metadata for panel inputs (0695d3b)
    • core: additional space design tokens (1f96d06)
    • core: align dark theme to figma (4a0421d)
    • core: contrast colors (fee9c1b)
    • core: high contrast support (407e3c9)
    • core: improved event types (6662c7f)
    • core: lint/logging (a1772a3)
    • core: lit lifecycle type (efbf0f0), closes #6654
    • core: property coerce for all packages (c69b300)
    • core: property initialization (1c61be8), closes #6589 #6590
    • core: text color on warning background (5a901eb)
    • core: token/figma alignment (de9d17e)
    • fixes to adress tree-view (2d5d1b2)
    • hidden attribute overlays (7f6c174)
    • icon color in disabled button (2e68a8b)
    • icon: export launchpad icon (fb6acdd), closes #40
    • improve combobox color contrast in shim tokens (21cf053)
    • include source code in source maps for webpack 5 (1b696bb), closes #6695
    • input: keep input styling for input with size attributes (448549e), closes #55
    • radio-group: allow custom input name (205c942), closes #21
    • radio-group: treat cds-radio-panel like cds (e1665ac), closes #42
    • react:button: move loadingStatus logic to update to work with react CdsButton (93591e4), closes #6559
    • react:selection-panel: wrap cds-radio-panel instead of cds-radio (22e5991), closes #24
    • react: change react version to be >= 16.13.1 (0dae848)
    • react: fix jsdom react testing issues (52fb904), closes vmware#5985 vmware#6525
    • react: update react import paths to include extension (f12821c), closes #6622
    • react: update required message for aria attributes (6c843b2), closes #6463
    • remove .vscode folder from tracked files (6ceb63d)
    • render cds-alert-actions in safari (45f5337)
    • replace host shape svg (45d5ce3)
    • schematics: modern-normalize import instead of normalize (afe24aa), closes #6482
    • support native aria property reflection (a41bcfe)
    • website: missing changelog path for v6 (ad27af7)
    • website: navigation page opening in section children (a2606dd)
    • website: storybook was hard-setting preview height (1eb682c)
    • website: wrong link to the old icons (7e2a150)

    chore

    Features

    • add launchpad icon (3395196)
    • add lime to color palette (7c052b1)
    • beta.1 (9fed8ee)
    • core tokens mapping for clr-ui (ef164e7)
    • core:icon: adding badges/alerts for namespace icon (568280a)
    • core:icon: adding contract icon (ae01f09)
    • core:icon: support non-equilateral icon sizing (629537a)
    • core:popup: popup component (4006bea)
    • core:progress-circle: intelligently default aria label to i18n string (57d0691)
    • core: action button (ca8e299)
    • core: clean up clarity motion decorator (c77f0a8)
    • eslint-plugin-clarity-adoption: add datalist fixer (efeaf75)

    BREAKING CHANGES

    Layout and Space token adjustments were made to add support for addional space token options.

    Layout Space Tokens (--cds-global-layout-space-md) | Token | Version 5.x | Version 6.x | | ----- | ---------------- | ----------- | | xxxs | | 2px | | xxs | 2px | 4px | | xs | 4px | 8px | | sm | 6px | 12px | | md | 12px | 16px | | lg | 24px | 24px | | xl | 48px | 32px | | xxl | 96px | 48px | | xxxl | | 64px |

    Space Tokens (--cds-global-space-10) | Token | Version 5.x | Version 6.x | | ----- | ---------------- | ----------- | | 0 | 0px | 0px | | 1 | 1px | 1px | | 2 | 2px | 2px | | 3 | 4px | 4px | | 4 | 6px | 6px | | 5 | 8px | 8px | | 6 | 12px | 12px | | 7 | 16px | 16px | | 8 | 18px | 18px | | 9 | 24px | 24px | | 10 | 32px | 32px | | 11 | 36px | 36px | | 12 | 48px | 48px | | 13 | 72px | 64px | | 14 | | 72px | | 15 | | 96px |

    Source code(tar.gz)
    Source code(zip)
  • v6.0.0-beta.4(May 2, 2022)

  • v5.7.2(May 2, 2022)

  • v6.0.0-beta.3(Apr 25, 2022)

  • v6.0.0-beta.2(Apr 18, 2022)

  • v5.7.1(Apr 18, 2022)

  • v6.0.0-beta.1(Apr 13, 2022)

    6.0.0-beta.1 (2022-04-13)

    Bug Fixes

    • angular: add missing property/event types (8de1fdb)
    • angular: set build compilation mode (5e32eba)
    • angular: support nested module folders (dcd040a)
    • breaking changes for core in v6 (19d1ca4)
    • core aria property types (07116d2)
    • core: pagination: add missing registration (54071a3)
    • core:card: alignment in grid layout (52d2063), closes #6457
    • core:icon: export unexported icons from technology collection (dd4a350)
    • core:icon: update icon warning color to use the dark color variation (9c26359)
    • core:modal: fix modal and popup animations (8eef59a)
    • core:modal: scroll check lifecycle (6c4c8ca)
    • core: add missing metadata for panel inputs (0695d3b)
    • core: additional space design tokens (1f96d06)
    • core: align dark theme to figma (4a0421d)
    • core: contrast colors (fee9c1b)
    • core: high contrast support (407e3c9)
    • core: improved event types (6662c7f)
    • core: lint/logging (a1772a3)
    • core: lit lifecycle type (efbf0f0), closes #6654
    • core: property coerce for all packages (c69b300)
    • core: property initialization (1c61be8), closes #6589 #6590
    • core: text color on warning background (5a901eb)
    • core: token/figma alignment (de9d17e)
    • fixes to adress tree-view (2d5d1b2)
    • hidden attribute overlays (7f6c174)
    • icon color in disabled button (2e68a8b)
    • improve combobox color contrast in shim tokens (21cf053)
    • include source code in source maps for webpack 5 (1b696bb), closes #6695
    • react:button: move loadingStatus logic to update to work with react CdsButton (93591e4), closes #6559
    • react: change react version to be >= 16.13.1 (0dae848)
    • react: fix jsdom react testing issues (52fb904), closes vmware#5985 vmware#6525
    • react: update react import paths to include extension (f12821c), closes #6622
    • react: update required message for aria attributes (6c843b2), closes #6463
    • remove .vscode folder from tracked files (6ceb63d)
    • render cds-alert-actions in safari (45f5337)
    • replace host shape svg (45d5ce3)
    • schematics: modern-normalize import instead of normalize (afe24aa), closes #6482
    • support native aria property reflection (a41bcfe)
    • website: missing changelog path for v6 (ad27af7)
    • website: navigation page opening in section children (a2606dd)
    • website: storybook was hard-setting preview height (1eb682c)
    • website: wrong link to the old icons (7e2a150)

    chore

    Features

    • add launchpad icon (3395196)
    • add lime to color palette (7c052b1)
    • beta.1 (9fed8ee)
    • core tokens mapping for clr-ui (ef164e7)
    • core:icon: adding badges/alerts for namespace icon (568280a)
    • core:icon: adding contract icon (ae01f09)
    • core:icon: support non-equilateral icon sizing (629537a)
    • core:popup: popup component (4006bea)
    • core:progress-circle: intelligently default aria label to i18n string (57d0691)
    • core: action button (ca8e299)
    • core: clean up clarity motion decorator (c77f0a8)
    • eslint-plugin-clarity-adoption: add datalist fixer (efeaf75)

    BREAKING CHANGES

    Layout and Space token adjustments were made to add support for addional space token options.

    Layout Space Tokens (--cds-global-layout-space-md) | Token | Version 5.x | Version 6.x | | ----- | ---------------- | ----------- | | xxxs | | 2px | | xxs | 2px | 4px | | xs | 4px | 8px | | sm | 6px | 12px | | md | 12px | 16px | | lg | 24px | 24px | | xl | 48px | 32px | | xxl | 96px | 48px | | xxxl | | 64px |

    Space Tokens (--cds-global-space-10) | Token | Version 5.x | Version 6.x | | ----- | ---------------- | ----------- | | 0 | 0px | 0px | | 1 | 1px | 1px | | 2 | 2px | 2px | | 3 | 4px | 4px | | 4 | 6px | 6px | | 5 | 8px | 8px | | 6 | 12px | 12px | | 7 | 16px | 16px | | 8 | 18px | 18px | | 9 | 24px | 24px | | 10 | 32px | 32px | | 11 | 36px | 36px | | 12 | 48px | 48px | | 13 | 72px | 64px | | 14 | | 72px | | 15 | | 96px |

    Source code(tar.gz)
    Source code(zip)
  • v5.7.0(Apr 13, 2022)

Owner
VMware Clarity
This VMware organization is dedicated to the Clarity team
VMware Clarity
Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.

Headless UI A set of completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS. Packages Name Version D

Tailwind Labs 18.4k Jan 4, 2023
A design system built by IBM

Carbon Design System Carbon is an open-source design system built by IBM. With the IBM Design Language as its foundation, the system consists of worki

Carbon Design System 6.2k Jan 3, 2023
Matteo Bruni 4.7k Jan 4, 2023
🌈 An enterprise-class UI components based on Ant Design and Vue. 🐜

Ant Design Vue An enterprise-class UI components based on Ant Design and Vue. English | 简体中文 Features An enterprise-class UI design system for desktop

vueComponent 17.6k Jan 9, 2023
Lightweight Mobile UI Components built on Vue

Vant Mobile UI Components built on Vue ?? 文档网站(国内) ?? 文档网站(GitHub) ???? 中文版介绍 Features 65+ Reusable components 1kb Component average size (min+gzip) 9

有赞 20.7k Dec 31, 2022
Admin UI Template is a modern, responsive, and customizable admin UI template for your business.

Admin UI Template is a modern, responsive, and customizable admin UI template for your business. It contains reusable components, theme color, and design support along with dark theme support.

Open Template Hub 7 Dec 18, 2022
🪅 Nuxt 3 module to connect with any API securely – server proxy & customizable composable names

nuxt-api-party This module provides composables to fetch data from an API of your choice securely. You can customize the composable names! Given json-

Johann Schopplich 65 Dec 26, 2022
Open-source list of data visualization tools for software developers 📊📈

awesome.cube.dev — charts, data grids, maps, etc. Choose the best tool for your needs by type, framework, language, or license. Get started in an inst

Cube.js 72 Jan 1, 2023
OSI helps you to track your all open-source Internships and Program in a single place ⚡

Open Source Internships Overview ?? Dark Theme Light Theme Run locally ?? Fork this repo. open-source-internships ?? Clone the repo. ⏬ git clone https

Rohan kumar 39 Jan 2, 2023
Next version of massCode [WIP]. A free and open source code snippets manager for developers

massCode next Built with Electron, Vue 3 & Ace Editor. Inspired by applications like SnippetsLab and Quiver. ☝️ massCode is currently in development,

null 4.3k Jan 5, 2023
📓 The UI component explorer. Develop, document, & test React, Vue, Angular, Web Components, Ember, Svelte & more!

Build bulletproof UI components faster Storybook is a development environment for UI components. It allows you to browse a component library, view the

Storybook 75.9k Jan 9, 2023
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

null 8.7k Jan 4, 2023
🏝 Opinionated Web Components Starter template to help kick-start development of a cross-framework component library.

Web Component Library Starter Kit "Why create components for a specific framework when it can be written to be understood by all — including browsers?

Open Web Labs 14 Dec 24, 2022
🏝 Opinionated Web Components Starter template to help kick-start development of a cross-framework component library.

Web Component Library Starter Kit "Why create components for a specific framework when it can be written to be understood by all — including browsers?

Open Web Labs 5 May 1, 2022
Material design for Vue.js

Material Design for Vue.js Vue Material is Simple, lightweight and built exactly according to the Google Material Design specs Build well-designed app

Vue Material 9.7k Dec 30, 2022
A lightweight Vue.js UI library with a simple API, inspired by Google's Material Design.

Keen UI Keen UI is a Vue.js UI library with a simple API, inspired by Google's Material Design. Keen UI is not a CSS framework. Therefore, it doesn't

Josephus Paye II 4.1k Jan 2, 2023
🧞‍♂️ MESH·Y is a design tool to generate beautiful & colorful mesh gradients

Meshy is a design tool to generate beautiful & colorful mesh gradients. Generate multiple random variations of Mesh gradients along with cool color customizations. Export PNG image with custom resolution.

Anup Aglawe 255 Dec 22, 2022
The design experiment for import.meta.glob from Vite.

vite-plugin-glob The design experiment for import.meta.glob from Vite. Motivations There are quite some scenarios that import.meta.glob wasn't conside

Anthony Fu 166 Sep 17, 2022
Rust dbg! in js powered by rollup/vite plugin system

rollup-plugin-dbg This plugin is also compatible with vite use with rollup import { defineConfig } from "rollup"; import config from "./package.json";

Jason 17 Aug 18, 2022