grafana/packages/grafana-ui
Uchechukwu Obasi e7fd41d779
RefreshPicker: make widget accessible (#40570)
* adds better aria-label for run and interval buttons

* enable refreshPicker to be keyboard navigable

* adds support for closing menu using esc key

* Fix: weird behaviour when navigating menu items

* adds focus trapping to refresh picker

* WIP: sanitize time interval values for screen readers to pronounce correctly

* WIP: improve sanitizeLabel function to work for all use cases

* Chore: move label sanitization to refreshPicker component instead

* Chore: add fallback label when ariaLabel prop is not set

* Chore: fix some type errors

* code cleanup

* update tests

* rename function to be more descriptive

* remove unnecessary type casting

* WIP: use cleaner solution

* WIP: use parseDuration util instead

* use more descriptive aria label

* fix: modify parseDuration util to output correct interval unit format

* fix: move interval unit format logic to refreshPicker

* Chore: add back old refreshPicker e2e selectors for backward compatibility

* Fix: improve refresh picker to voice out selected interval option

* Fix: use appropriate aria roles and states to aid screen reader a11y

* Fix: support dropdown expansion using down arrow key

* Chore: use better type construct

* Fix: add support for tab to close menu

* add more context to the deprecation warning message

* Chore: use formatDuration util instead to format interval labels

* Chore: small syntax fix

* chore: syntax fix

* syntax fix

* Chore: add back lockfile
2021-11-10 11:01:06 +01:00
..
.storybook Storybook: Fix decorator height (#41468) 2021-11-10 10:51:10 +01:00
src RefreshPicker: make widget accessible (#40570) 2021-11-10 11:01:06 +01:00
.eslintrc Chore: Restrict internal imports from other packages (#30453) 2021-01-21 09:04:31 +01:00
api-extractor.json Docs: adding API reference documentation support for the packages libraries. (#21931) 2020-02-25 13:59:11 +01:00
CHANGELOG.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
index.js Chore: MEGA - Make Eslint Great Again 💅 (#26094) 2020-08-11 17:52:44 +02:00
LICENSE_APACHE2 Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
package.json RefreshPicker: make widget accessible (#40570) 2021-11-10 11:01:06 +01:00
README.md Chore: Move from master to main branch (#33693) 2021-05-06 16:29:29 +02:00
rollup.config.ts Plugins: Mock Icon component to prevent console errors (#39901) 2021-10-01 15:07:22 +02:00
tsconfig.build.json Grafana UI: Fix TS error property css is missing in type (#38078) 2021-08-26 16:00:52 +02:00
tsconfig.json Chore: Switch yarn 2 to plug-n-play strategy (#40300) 2021-10-27 14:21:07 +01:00

Grafana UI components library

@grafana/ui is currently in BETA.

@grafana/ui is a collection of components used by Grafana

Our goal is to deliver Grafana's common UI elements for plugins developers and contributors.

Browse the Storybook catalog of the components.

See package source for more details.

Installation

yarn add @grafana/ui

npm install @grafana/ui

Development

For development purposes we suggest using yarn link that will create symlink to @grafana/ui lib. To do so navigate to packages/grafana-ui and run yarn link. Then, navigate to your project and run yarn link @grafana/ui to use the linked version of the lib. To unlink follow the same procedure, but use yarn unlink instead.

Storybook 6.x migration

We've upgraded Storybook to version 6 and with that we will convert to using controls instead of knobs for manipulating components. Controls will not require as much coding as knobs do. Please refer to the storybook style-guide for further information.