{"id":13804857,"url":"https://github.com/BrightspaceUI/core","last_synced_at":"2025-05-13T18:33:07.108Z","repository":{"id":37243721,"uuid":"174205995","full_name":"BrightspaceUI/core","owner":"BrightspaceUI","description":"A collection of accessible, free, open-source web components for building Brightspace applications.","archived":false,"fork":false,"pushed_at":"2025-05-07T13:33:33.000Z","size":700161,"stargazers_count":69,"open_issues_count":48,"forks_count":26,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-05-07T13:48:35.229Z","etag":null,"topics":["lit-element","ui","web-components"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrightspaceUI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-03-06T19:19:27.000Z","updated_at":"2025-05-07T13:33:35.000Z","dependencies_parsed_at":"2023-10-16T22:04:52.205Z","dependency_job_id":"d9240724-4012-47f1-bdd0-355efa22ac2d","html_url":"https://github.com/BrightspaceUI/core","commit_stats":{"total_commits":6275,"total_committers":145,"mean_commits":"43.275862068965516","dds":0.8114741035856574,"last_synced_commit":"a86e15fea6c83ea94168fc07b6a41a214d89518c"},"previous_names":[],"tags_count":1569,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrightspaceUI%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrightspaceUI%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrightspaceUI%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrightspaceUI%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrightspaceUI","download_url":"https://codeload.github.com/BrightspaceUI/core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254003472,"owners_count":21997891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lit-element","ui","web-components"],"created_at":"2024-08-04T01:00:54.672Z","updated_at":"2025-05-13T18:33:02.097Z","avatar_url":"https://github.com/BrightspaceUI.png","language":"JavaScript","funding_links":[],"categories":["Real World","Design Systems"],"sub_categories":["Component Libraries"],"readme":"\u003e  Are you a D2L employee? Use our  🎉 [Daylight Design System site](https://daylight.d2l.dev/)!\n\n# @brightspace-ui/core\n\n[![NPM version](https://img.shields.io/npm/v/@brightspace-ui/core.svg)](https://www.npmjs.org/package/@brightspace-ui/core)\n[![NPM downloads](https://img.shields.io/npm/dt/@brightspace-ui/core.svg)](https://www.npmjs.com/package/@brightspace-ui/core)\n\nA collection of accessible, free, open-source web components and tools for building Brightspace applications.\n\n## Installation\n\n```shell\nnpm install @brightspace-ui/core\n```\n\n## README Index\n\n* Components\n  * [Alert](components/alert/): alert components for displaying important information\n  * [Breadcrumbs](components/breadcrumbs/): component to help users understand where they are within an application\n  * [Backdrop](components/backdrop/): component for displaying backdrop behind a target element\n  * [Buttons](components/button/): normal, primary, icon, subtle, and toggle buttons\n  * [Calendar](components/calendar/): calendar component\n  * [Card](components/card/): card components\n  * [Colors](components/colors/): color palette\n  * [Dialogs](components/dialog/): generic and confirmation dialogs\n  * [Dropdowns](components/dropdown/): dropdown openers and content containers\n  * [Expand Collapse](components/expand-collapse): component to create expandable and collapsible content\n  * [Filter](components/filter/): single or multi-dimensional filter component\n  * [Focus Trap](components/focus-trap/): generic container that traps focus\n  * [Forms](components/form/): aggregate data for submission and validation\n  * [Hierarchical View](components/hierarchical-view/): nested container component that shows the active container\n  * [HTML Block](components/html-block/): component for rendering user-authored HTML\n  * [Icons](components/icons/): iconography SVGs and web components\n  * [Inputs](components/inputs/):\n    * [Checkbox](components/inputs/docs/input-checkbox.md): checkbox components and styles\n    * [Date and time](components/inputs/docs/input-date-time.md): date and time picker components including ranges\n    * [Number](components/inputs/docs/input-numeric.md): numeric input components\n    * [Radio](components/inputs/docs/input-radio.md): radio input styles\n    * [Search](components/inputs/docs/input-search.md): search input component\n    * [Select styles](components/inputs/docs/input-select-styles.md): select input styles\n    * [Text](components/inputs/docs/input-text.md): text input component and styles\n  * [Links](components/link/): link component and styles\n  * [List](components/list/): list and list-item components\n  * [Loading Spinner](components/loading-spinner/): loading-spinner components\n  * [Menu](components/menu/): menu and menu item components\n  * [Meter](components/meter/): linear, radial, circle meter web components\n  * [More/less](components/more-less/): constrain long bits of content\n  * [Off-screen](components/offscreen/): component and styles for positioning content off-screen\n  * [Selection](components/selection/): components for selection and bulk actions\n  * [Scroll Wrapper](components/scroll-wrapper/): arrows to scroll content horizontally\n  * [Skeleton](components/skeleton/): apply low-fidelity skeletons to your application as it loads\n  * [Status Indicator](components/status-indicator/): status-indicator components\n  * [Switch](components/switch/): switch component with on/off semantics\n  * [Table](components/table/): table styles, column sorting and overflow handling\n  * [Tabs](components/tabs/): tab and tab-panel components\n  * [Tag List](components/tag-list/): tag-list and tag-list-item components\n  * [Tooltip](components/tooltip/): tooltip components\n  * [Typography](components/typography/): typography styles and components\n  * [Validation](components/validation/): plugin custom validation logic to native and custom form elements\n* Controllers\n  * [Subscriber](controllers/subscriber/): for managing a registry of subscribers in a many-to-many relationship\n* Directives\n  * [Animate](directives/animate/): animate showing, hiding and removal of elements\n* Helpers\n  * [Helpers](helpers/): helpers for composed DOM, unique ids, etc.\n* Mixins\n  * [ArrowKeysMixin](mixins/arrow-keys/): manage focus with arrow keys\n  * [AsyncContainerMixin](mixins/async-container/): manage collective async state\n  * [FocusMixin](mixins/focus/): delegate focus to a nested element when `focus()` is called\n  * [FormElementMixin](components/form/docs/form-element-mixin.md): allow components to participate in forms and validation\n  * [InteractiveMixin](mixins/interactive/): enables toggling interactive elements inside of nested grids\n  * [LabelledMixin](mixins/labelled/): label custom elements by referencing elements across DOM scopes\n  * [LocalizeMixin](mixins/localize/): localize text in your components\n  * [ProviderMixin](mixins/provider/): provide and consume data across elements in a DI-like fashion\n  * [SkeletonMixin](components/skeleton/): make components skeleton-aware\n  * [VisibleOnAncestorMixin](mixins/visible-on-ancestor/): display element on-hover of an ancestor\n* Templates\n  * [PrimarySecondaryTemplate](templates/primary-secondary): Two Panel (primary and secondary) page template with header and optional footer\n\n## Developing\n\nAfter cloning the repo, run `npm install` to install dependencies.\n\nRun `npm run build` once, or any time icon or Sass files are changed.\n\n### Running the demos\n\nStart a [@web/dev-server](https://modern-web.dev/docs/dev-server/overview/) that hosts the demo pages:\n\n```shell\nnpm start\n```\n\nD2L employees can also view the latest main-branch demos at https://live.d2l.dev/BrightspaceUI/core/.\n\n### Linting\n\n```shell\n# eslint and stylelint\nnpm run lint\n\n# eslint only\nnpm run lint:eslint\n\n# stylelint only\nnpm run lint:style\n```\n\n### Testing\n\nTo run the full suite of tests:\n\n```shell\nnpm test\n```\n\nAlternatively, tests can be selectively run:\n\n```shell\n# unit tests\nnpm run test:unit\n\n# aXe accessibility tests\nnpm run test:axe\n\n# translations tests\nnpm run test:translations\n```\n\nNote: The axe tests require `prefers-reduced-motion` emulation to be turned on in the dev console if debugging in a local browser.\n\nThis repo uses [@brightspace-ui/testing](https://github.com/BrightspaceUI/testing)'s vdiff command to perform visual regression testing:\n\n```shell\n# vdiff\nnpm run test:vdiff\n\n# re-generate goldens\nnpm run test:vdiff -- --golden\n```\n\n### Versioning and Releasing\n\nThis repo is configured to use `semantic-release`. Commits prefixed with `fix:` and `feat:` will trigger patch and minor releases when merged to `main`.\n\nTo learn how to create major releases and release from maintenance branches, refer to the [semantic-release GitHub Action](https://github.com/BrightspaceUI/actions/tree/main/semantic-release) documentation.\n\n## Future Enhancements\n\nLooking for a new component or an enhancement not listed here? Create a GitHub issue!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrightspaceUI%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBrightspaceUI%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrightspaceUI%2Fcore/lists"}