@refinitiv-ui/elements 5.3.3 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +70 -0
- package/lib/accordion/custom-elements.json +49 -0
- package/lib/accordion/custom-elements.md +18 -0
- package/lib/accordion/index.d.ts +76 -0
- package/lib/accordion/index.js +136 -0
- package/lib/accordion/themes/halo/dark/index.js +3 -0
- package/lib/accordion/themes/halo/light/index.js +3 -0
- package/lib/accordion/themes/solar/charcoal/index.js +3 -0
- package/lib/accordion/themes/solar/pearl/index.js +3 -0
- package/lib/appstate-bar/custom-elements.json +49 -0
- package/lib/appstate-bar/custom-elements.md +22 -0
- package/lib/appstate-bar/index.d.ts +65 -0
- package/lib/appstate-bar/index.js +100 -0
- package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
- package/lib/appstate-bar/themes/halo/light/index.js +3 -0
- package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
- package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
- package/lib/autosuggest/custom-elements.json +233 -0
- package/lib/autosuggest/custom-elements.md +47 -0
- package/lib/autosuggest/helpers/types.d.ts +54 -0
- package/lib/autosuggest/helpers/types.js +1 -0
- package/lib/autosuggest/helpers/utils.d.ts +39 -0
- package/lib/autosuggest/helpers/utils.js +75 -0
- package/lib/autosuggest/index.d.ts +534 -0
- package/lib/autosuggest/index.js +1251 -0
- package/lib/autosuggest/themes/halo/dark/index.js +5 -0
- package/lib/autosuggest/themes/halo/light/index.js +5 -0
- package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
- package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
- package/lib/button/custom-elements.json +119 -0
- package/lib/button/custom-elements.md +23 -0
- package/lib/button/index.d.ts +132 -0
- package/lib/button/index.js +223 -0
- package/lib/button/themes/halo/dark/index.js +3 -0
- package/lib/button/themes/halo/light/index.js +3 -0
- package/lib/button/themes/solar/charcoal/index.js +3 -0
- package/lib/button/themes/solar/pearl/index.js +3 -0
- package/lib/button-bar/custom-elements.json +26 -0
- package/lib/button-bar/custom-elements.md +9 -0
- package/lib/button-bar/index.d.ts +76 -0
- package/lib/button-bar/index.js +155 -0
- package/lib/button-bar/themes/halo/dark/index.js +3 -0
- package/lib/button-bar/themes/halo/light/index.js +3 -0
- package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
- package/lib/button-bar/themes/solar/pearl/index.js +3 -0
- package/lib/calendar/constants.d.ts +22 -0
- package/lib/calendar/constants.js +23 -0
- package/lib/calendar/custom-elements.json +199 -0
- package/lib/calendar/custom-elements.md +35 -0
- package/lib/calendar/index.d.ts +321 -0
- package/lib/calendar/index.js +906 -0
- package/lib/calendar/locales.d.ts +1 -0
- package/lib/calendar/locales.js +40 -0
- package/lib/calendar/themes/halo/dark/index.js +3 -0
- package/lib/calendar/themes/halo/light/index.js +3 -0
- package/lib/calendar/themes/solar/charcoal/index.js +3 -0
- package/lib/calendar/themes/solar/pearl/index.js +3 -0
- package/lib/calendar/types.d.ts +29 -0
- package/lib/calendar/types.js +1 -0
- package/lib/calendar/utils.d.ts +42 -0
- package/lib/calendar/utils.js +119 -0
- package/lib/canvas/custom-elements.json +69 -0
- package/lib/canvas/custom-elements.md +27 -0
- package/lib/canvas/index.d.ts +100 -0
- package/lib/canvas/index.js +172 -0
- package/lib/canvas/themes/halo/dark/index.js +2 -0
- package/lib/canvas/themes/halo/light/index.js +2 -0
- package/lib/canvas/themes/solar/charcoal/index.js +2 -0
- package/lib/canvas/themes/solar/pearl/index.js +2 -0
- package/lib/card/custom-elements.json +59 -0
- package/lib/card/custom-elements.md +24 -0
- package/lib/card/helpers/types.d.ts +12 -0
- package/lib/card/helpers/types.js +1 -0
- package/lib/card/index.d.ts +140 -0
- package/lib/card/index.js +246 -0
- package/lib/card/themes/halo/dark/index.js +5 -0
- package/lib/card/themes/halo/light/index.js +5 -0
- package/lib/card/themes/solar/charcoal/index.js +5 -0
- package/lib/card/themes/solar/pearl/index.js +5 -0
- package/lib/chart/custom-elements.json +42 -0
- package/lib/chart/custom-elements.md +16 -0
- package/lib/chart/helpers/index.d.ts +2 -0
- package/lib/chart/helpers/index.js +2 -0
- package/lib/chart/helpers/legend.d.ts +5 -0
- package/lib/chart/helpers/legend.js +78 -0
- package/lib/chart/helpers/merge.d.ts +15 -0
- package/lib/chart/helpers/merge.js +28 -0
- package/lib/chart/helpers/types.d.ts +69 -0
- package/lib/chart/helpers/types.js +1 -0
- package/lib/chart/index.d.ts +187 -0
- package/lib/chart/index.js +491 -0
- package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
- package/lib/chart/plugins/doughnut-center-label.js +196 -0
- package/lib/chart/themes/halo/dark/index.js +4 -0
- package/lib/chart/themes/halo/light/index.js +4 -0
- package/lib/chart/themes/solar/charcoal/index.js +4 -0
- package/lib/chart/themes/solar/pearl/index.js +4 -0
- package/lib/checkbox/custom-elements.json +67 -0
- package/lib/checkbox/custom-elements.md +18 -0
- package/lib/checkbox/index.d.ts +95 -0
- package/lib/checkbox/index.js +193 -0
- package/lib/checkbox/themes/halo/dark/index.js +4 -0
- package/lib/checkbox/themes/halo/light/index.js +4 -0
- package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
- package/lib/checkbox/themes/solar/pearl/index.js +4 -0
- package/lib/clock/custom-elements.json +121 -0
- package/lib/clock/custom-elements.md +28 -0
- package/lib/clock/index.d.ts +319 -0
- package/lib/clock/index.js +581 -0
- package/lib/clock/themes/halo/dark/index.js +2 -0
- package/lib/clock/themes/halo/light/index.js +2 -0
- package/lib/clock/themes/solar/charcoal/index.js +2 -0
- package/lib/clock/themes/solar/pearl/index.js +2 -0
- package/lib/clock/utils/TickManager.d.ts +14 -0
- package/lib/clock/utils/TickManager.js +66 -0
- package/lib/clock/utils/timestamps.d.ts +6 -0
- package/lib/clock/utils/timestamps.js +6 -0
- package/lib/collapse/custom-elements.json +79 -0
- package/lib/collapse/custom-elements.md +27 -0
- package/lib/collapse/index.d.ts +119 -0
- package/lib/collapse/index.js +197 -0
- package/lib/collapse/themes/halo/dark/index.js +5 -0
- package/lib/collapse/themes/halo/light/index.js +5 -0
- package/lib/collapse/themes/solar/charcoal/index.js +5 -0
- package/lib/collapse/themes/solar/pearl/index.js +5 -0
- package/lib/color-dialog/custom-elements.json +193 -0
- package/lib/color-dialog/custom-elements.md +39 -0
- package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
- package/lib/color-dialog/elements/color-palettes.js +101 -0
- package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
- package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
- package/lib/color-dialog/elements/palettes.d.ts +65 -0
- package/lib/color-dialog/elements/palettes.js +132 -0
- package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
- package/lib/color-dialog/helpers/color-helpers.js +161 -0
- package/lib/color-dialog/helpers/value-model.d.ts +75 -0
- package/lib/color-dialog/helpers/value-model.js +141 -0
- package/lib/color-dialog/index.d.ts +232 -0
- package/lib/color-dialog/index.js +459 -0
- package/lib/color-dialog/themes/halo/dark/index.js +7 -0
- package/lib/color-dialog/themes/halo/light/index.js +7 -0
- package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
- package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
- package/lib/combo-box/custom-elements.json +210 -0
- package/lib/combo-box/custom-elements.md +35 -0
- package/lib/combo-box/helpers/filter.d.ts +10 -0
- package/lib/combo-box/helpers/filter.js +29 -0
- package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
- package/lib/combo-box/helpers/keyboard-event.js +19 -0
- package/lib/combo-box/helpers/types.d.ts +11 -0
- package/lib/combo-box/helpers/types.js +1 -0
- package/lib/combo-box/index.d.ts +523 -0
- package/lib/combo-box/index.js +1146 -0
- package/lib/combo-box/themes/halo/dark/index.js +8 -0
- package/lib/combo-box/themes/halo/light/index.js +8 -0
- package/lib/combo-box/themes/solar/charcoal/index.js +8 -0
- package/lib/combo-box/themes/solar/pearl/index.js +8 -0
- package/lib/counter/custom-elements.json +35 -0
- package/lib/counter/custom-elements.md +11 -0
- package/lib/counter/index.d.ts +89 -0
- package/lib/counter/index.js +152 -0
- package/lib/counter/themes/halo/dark/index.js +3 -0
- package/lib/counter/themes/halo/light/index.js +3 -0
- package/lib/counter/themes/solar/charcoal/index.js +3 -0
- package/lib/counter/themes/solar/pearl/index.js +3 -0
- package/lib/counter/utils.d.ts +13 -0
- package/lib/counter/utils.js +52 -0
- package/lib/datetime-picker/custom-elements.json +333 -0
- package/lib/datetime-picker/custom-elements.md +49 -0
- package/lib/datetime-picker/index.d.ts +498 -0
- package/lib/datetime-picker/index.js +1164 -0
- package/lib/datetime-picker/locales.d.ts +8 -0
- package/lib/datetime-picker/locales.js +57 -0
- package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
- package/lib/datetime-picker/themes/halo/light/index.js +7 -0
- package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
- package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
- package/lib/datetime-picker/types.d.ts +3 -0
- package/lib/datetime-picker/types.js +1 -0
- package/lib/datetime-picker/utils.d.ts +55 -0
- package/lib/datetime-picker/utils.js +92 -0
- package/lib/dialog/custom-elements.json +136 -0
- package/lib/dialog/custom-elements.md +47 -0
- package/lib/dialog/draggable-element.d.ts +14 -0
- package/lib/dialog/draggable-element.js +221 -0
- package/lib/dialog/index.d.ts +199 -0
- package/lib/dialog/index.js +331 -0
- package/lib/dialog/themes/halo/dark/index.js +7 -0
- package/lib/dialog/themes/halo/light/index.js +7 -0
- package/lib/dialog/themes/solar/charcoal/index.js +7 -0
- package/lib/dialog/themes/solar/pearl/index.js +7 -0
- package/lib/email-field/custom-elements.json +199 -0
- package/lib/email-field/custom-elements.md +35 -0
- package/lib/email-field/index.d.ts +152 -0
- package/lib/email-field/index.js +286 -0
- package/lib/email-field/themes/halo/dark/index.js +3 -0
- package/lib/email-field/themes/halo/light/index.js +3 -0
- package/lib/email-field/themes/solar/charcoal/index.js +3 -0
- package/lib/email-field/themes/solar/pearl/index.js +3 -0
- package/lib/events.d.ts +121 -0
- package/lib/events.js +1 -0
- package/lib/flag/custom-elements.json +35 -0
- package/lib/flag/custom-elements.md +10 -0
- package/lib/flag/index.d.ts +94 -0
- package/lib/flag/index.js +166 -0
- package/lib/flag/themes/halo/dark/index.js +2 -0
- package/lib/flag/themes/halo/light/index.js +2 -0
- package/lib/flag/themes/solar/charcoal/index.js +2 -0
- package/lib/flag/themes/solar/pearl/index.js +2 -0
- package/lib/flag/utils/FlagLoader.d.ts +47 -0
- package/lib/flag/utils/FlagLoader.js +86 -0
- package/lib/header/custom-elements.json +36 -0
- package/lib/header/custom-elements.md +18 -0
- package/lib/header/index.d.ts +46 -0
- package/lib/header/index.js +73 -0
- package/lib/header/themes/halo/dark/index.js +2 -0
- package/lib/header/themes/halo/light/index.js +2 -0
- package/lib/header/themes/solar/charcoal/index.js +2 -0
- package/lib/header/themes/solar/pearl/index.js +2 -0
- package/lib/heatmap/custom-elements.json +151 -0
- package/lib/heatmap/custom-elements.md +26 -0
- package/lib/heatmap/helpers/color.d.ts +30 -0
- package/lib/heatmap/helpers/color.js +68 -0
- package/lib/heatmap/helpers/text.d.ts +26 -0
- package/lib/heatmap/helpers/text.js +91 -0
- package/lib/heatmap/helpers/track.d.ts +102 -0
- package/lib/heatmap/helpers/track.js +160 -0
- package/lib/heatmap/helpers/types.d.ts +40 -0
- package/lib/heatmap/helpers/types.js +1 -0
- package/lib/heatmap/index.d.ts +453 -0
- package/lib/heatmap/index.js +1103 -0
- package/lib/heatmap/themes/halo/dark/index.js +4 -0
- package/lib/heatmap/themes/halo/light/index.js +4 -0
- package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
- package/lib/heatmap/themes/solar/pearl/index.js +4 -0
- package/lib/icon/custom-elements.json +36 -0
- package/lib/icon/custom-elements.md +8 -0
- package/lib/icon/index.d.ts +88 -0
- package/lib/icon/index.js +169 -0
- package/lib/icon/themes/halo/dark/index.js +2 -0
- package/lib/icon/themes/halo/light/index.js +2 -0
- package/lib/icon/themes/solar/charcoal/index.js +2 -0
- package/lib/icon/themes/solar/pearl/index.js +2 -0
- package/lib/icon/utils/IconLoader.d.ts +52 -0
- package/lib/icon/utils/IconLoader.js +93 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +3 -0
- package/lib/interactive-chart/custom-elements.json +86 -0
- package/lib/interactive-chart/custom-elements.md +32 -0
- package/lib/interactive-chart/helpers/merge.d.ts +15 -0
- package/lib/interactive-chart/helpers/merge.js +28 -0
- package/lib/interactive-chart/helpers/types.d.ts +45 -0
- package/lib/interactive-chart/helpers/types.js +6 -0
- package/lib/interactive-chart/index.d.ts +380 -0
- package/lib/interactive-chart/index.js +1090 -0
- package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
- package/lib/interactive-chart/themes/halo/light/index.js +3 -0
- package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
- package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
- package/lib/item/custom-elements.json +151 -0
- package/lib/item/custom-elements.md +29 -0
- package/lib/item/helpers/types.d.ts +57 -0
- package/lib/item/helpers/types.js +1 -0
- package/lib/item/index.d.ts +158 -0
- package/lib/item/index.js +271 -0
- package/lib/item/themes/halo/dark/index.js +4 -0
- package/lib/item/themes/halo/light/index.js +4 -0
- package/lib/item/themes/solar/charcoal/index.js +4 -0
- package/lib/item/themes/solar/pearl/index.js +4 -0
- package/lib/jsx.d.ts +223 -0
- package/lib/label/custom-elements.json +52 -0
- package/lib/label/custom-elements.md +11 -0
- package/lib/label/index.d.ts +102 -0
- package/lib/label/index.js +244 -0
- package/lib/label/themes/halo/dark/index.js +3 -0
- package/lib/label/themes/halo/light/index.js +3 -0
- package/lib/label/themes/solar/charcoal/index.js +3 -0
- package/lib/label/themes/solar/pearl/index.js +3 -0
- package/lib/layout/custom-elements.json +163 -0
- package/lib/layout/custom-elements.md +26 -0
- package/lib/layout/index.d.ts +107 -0
- package/lib/layout/index.js +212 -0
- package/lib/layout/themes/halo/dark/index.js +2 -0
- package/lib/layout/themes/halo/light/index.js +2 -0
- package/lib/layout/themes/solar/charcoal/index.js +2 -0
- package/lib/layout/themes/solar/pearl/index.js +2 -0
- package/lib/led-gauge/custom-elements.json +113 -0
- package/lib/led-gauge/custom-elements.md +17 -0
- package/lib/led-gauge/index.d.ts +143 -0
- package/lib/led-gauge/index.js +437 -0
- package/lib/led-gauge/themes/halo/dark/index.js +3 -0
- package/lib/led-gauge/themes/halo/light/index.js +3 -0
- package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
- package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
- package/lib/list/custom-elements.json +111 -0
- package/lib/list/custom-elements.md +30 -0
- package/lib/list/extensible-function.d.ts +8 -0
- package/lib/list/extensible-function.js +13 -0
- package/lib/list/helpers/list-renderer.d.ts +9 -0
- package/lib/list/helpers/list-renderer.js +35 -0
- package/lib/list/helpers/types.d.ts +3 -0
- package/lib/list/helpers/types.js +1 -0
- package/lib/list/index.d.ts +292 -0
- package/lib/list/index.js +600 -0
- package/lib/list/renderer.d.ts +36 -0
- package/lib/list/renderer.js +9 -0
- package/lib/list/themes/halo/dark/index.js +3 -0
- package/lib/list/themes/halo/light/index.js +3 -0
- package/lib/list/themes/solar/charcoal/index.js +3 -0
- package/lib/list/themes/solar/pearl/index.js +3 -0
- package/lib/loader/custom-elements.json +9 -0
- package/lib/loader/custom-elements.md +5 -0
- package/lib/loader/index.d.ts +41 -0
- package/lib/loader/index.js +61 -0
- package/lib/loader/themes/halo/dark/index.js +2 -0
- package/lib/loader/themes/halo/light/index.js +2 -0
- package/lib/loader/themes/solar/charcoal/index.js +2 -0
- package/lib/loader/themes/solar/pearl/index.js +2 -0
- package/lib/multi-input/custom-elements.json +238 -0
- package/lib/multi-input/custom-elements.md +43 -0
- package/lib/multi-input/helpers/types.d.ts +11 -0
- package/lib/multi-input/helpers/types.js +1 -0
- package/lib/multi-input/index.d.ts +297 -0
- package/lib/multi-input/index.js +590 -0
- package/lib/multi-input/themes/halo/dark/index.js +4 -0
- package/lib/multi-input/themes/halo/light/index.js +4 -0
- package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
- package/lib/multi-input/themes/solar/pearl/index.js +4 -0
- package/lib/notification/custom-elements.json +95 -0
- package/lib/notification/custom-elements.md +26 -0
- package/lib/notification/elements/notification-tray.d.ts +97 -0
- package/lib/notification/elements/notification-tray.js +167 -0
- package/lib/notification/elements/notification.d.ts +90 -0
- package/lib/notification/elements/notification.js +154 -0
- package/lib/notification/helpers/status.d.ts +30 -0
- package/lib/notification/helpers/status.js +130 -0
- package/lib/notification/helpers/types.d.ts +10 -0
- package/lib/notification/helpers/types.js +1 -0
- package/lib/notification/index.d.ts +2 -0
- package/lib/notification/index.js +2 -0
- package/lib/notification/themes/halo/dark/index.js +5 -0
- package/lib/notification/themes/halo/light/index.js +5 -0
- package/lib/notification/themes/solar/charcoal/index.js +5 -0
- package/lib/notification/themes/solar/pearl/index.js +5 -0
- package/lib/number-field/custom-elements.json +200 -0
- package/lib/number-field/custom-elements.md +37 -0
- package/lib/number-field/index.d.ts +294 -0
- package/lib/number-field/index.js +707 -0
- package/lib/number-field/themes/halo/dark/index.js +3 -0
- package/lib/number-field/themes/halo/light/index.js +3 -0
- package/lib/number-field/themes/solar/charcoal/index.js +3 -0
- package/lib/number-field/themes/solar/pearl/index.js +3 -0
- package/lib/overlay/custom-elements.json +345 -0
- package/lib/overlay/custom-elements.md +54 -0
- package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
- package/lib/overlay/elements/overlay-backdrop.js +64 -0
- package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
- package/lib/overlay/elements/overlay-viewport.js +52 -0
- package/lib/overlay/elements/overlay.d.ts +403 -0
- package/lib/overlay/elements/overlay.js +1426 -0
- package/lib/overlay/helpers/functions.d.ts +13 -0
- package/lib/overlay/helpers/functions.js +16 -0
- package/lib/overlay/helpers/types.d.ts +97 -0
- package/lib/overlay/helpers/types.js +16 -0
- package/lib/overlay/index.d.ts +2 -0
- package/lib/overlay/index.js +1 -0
- package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
- package/lib/overlay/managers/backdrop-manager.js +96 -0
- package/lib/overlay/managers/close-manager.d.ts +54 -0
- package/lib/overlay/managers/close-manager.js +138 -0
- package/lib/overlay/managers/focus-manager.d.ts +71 -0
- package/lib/overlay/managers/focus-manager.js +228 -0
- package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
- package/lib/overlay/managers/interaction-lock-manager.js +375 -0
- package/lib/overlay/managers/viewport-manager.d.ts +93 -0
- package/lib/overlay/managers/viewport-manager.js +211 -0
- package/lib/overlay/managers/zindex-manager.d.ts +80 -0
- package/lib/overlay/managers/zindex-manager.js +195 -0
- package/lib/overlay/themes/halo/dark/index.js +4 -0
- package/lib/overlay/themes/halo/light/index.js +4 -0
- package/lib/overlay/themes/solar/charcoal/index.js +4 -0
- package/lib/overlay/themes/solar/pearl/index.js +4 -0
- package/lib/overlay-menu/custom-elements.json +194 -0
- package/lib/overlay-menu/custom-elements.md +44 -0
- package/lib/overlay-menu/helpers/types.d.ts +8 -0
- package/lib/overlay-menu/helpers/types.js +1 -0
- package/lib/overlay-menu/index.d.ts +385 -0
- package/lib/overlay-menu/index.js +933 -0
- package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
- package/lib/overlay-menu/managers/menu-manager.js +240 -0
- package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
- package/lib/overlay-menu/themes/halo/light/index.js +5 -0
- package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
- package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
- package/lib/pagination/custom-elements.json +93 -0
- package/lib/pagination/custom-elements.md +27 -0
- package/lib/pagination/helpers/types.d.ts +9 -0
- package/lib/pagination/helpers/types.js +1 -0
- package/lib/pagination/index.d.ts +207 -0
- package/lib/pagination/index.js +398 -0
- package/lib/pagination/themes/halo/dark/index.js +6 -0
- package/lib/pagination/themes/halo/light/index.js +6 -0
- package/lib/pagination/themes/solar/charcoal/index.js +6 -0
- package/lib/pagination/themes/solar/pearl/index.js +6 -0
- package/lib/panel/custom-elements.json +39 -0
- package/lib/panel/custom-elements.md +11 -0
- package/lib/panel/index.d.ts +48 -0
- package/lib/panel/index.js +74 -0
- package/lib/panel/themes/halo/dark/index.js +2 -0
- package/lib/panel/themes/halo/light/index.js +2 -0
- package/lib/panel/themes/solar/charcoal/index.js +2 -0
- package/lib/panel/themes/solar/pearl/index.js +2 -0
- package/lib/password-field/custom-elements.json +156 -0
- package/lib/password-field/custom-elements.md +31 -0
- package/lib/password-field/index.d.ts +141 -0
- package/lib/password-field/index.js +258 -0
- package/lib/password-field/themes/halo/dark/index.js +3 -0
- package/lib/password-field/themes/halo/light/index.js +3 -0
- package/lib/password-field/themes/solar/charcoal/index.js +3 -0
- package/lib/password-field/themes/solar/pearl/index.js +3 -0
- package/lib/pill/custom-elements.json +95 -0
- package/lib/pill/custom-elements.md +22 -0
- package/lib/pill/index.d.ts +97 -0
- package/lib/pill/index.js +160 -0
- package/lib/pill/themes/halo/dark/index.js +3 -0
- package/lib/pill/themes/halo/light/index.js +3 -0
- package/lib/pill/themes/solar/charcoal/index.js +3 -0
- package/lib/pill/themes/solar/pearl/index.js +3 -0
- package/lib/progress-bar/custom-elements.json +58 -0
- package/lib/progress-bar/custom-elements.md +18 -0
- package/lib/progress-bar/index.d.ts +82 -0
- package/lib/progress-bar/index.js +157 -0
- package/lib/progress-bar/themes/halo/dark/index.js +2 -0
- package/lib/progress-bar/themes/halo/light/index.js +2 -0
- package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
- package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
- package/lib/radio-button/custom-elements.json +82 -0
- package/lib/radio-button/custom-elements.md +19 -0
- package/lib/radio-button/index.d.ts +122 -0
- package/lib/radio-button/index.js +257 -0
- package/lib/radio-button/radio-button-registry.d.ts +22 -0
- package/lib/radio-button/radio-button-registry.js +93 -0
- package/lib/radio-button/themes/halo/dark/index.js +3 -0
- package/lib/radio-button/themes/halo/light/index.js +3 -0
- package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
- package/lib/radio-button/themes/solar/pearl/index.js +3 -0
- package/lib/rating/custom-elements.json +58 -0
- package/lib/rating/custom-elements.md +17 -0
- package/lib/rating/index.d.ts +91 -0
- package/lib/rating/index.js +157 -0
- package/lib/rating/themes/halo/dark/index.js +2 -0
- package/lib/rating/themes/halo/light/index.js +2 -0
- package/lib/rating/themes/solar/charcoal/index.js +2 -0
- package/lib/rating/themes/solar/pearl/index.js +2 -0
- package/lib/search-field/custom-elements.json +173 -0
- package/lib/search-field/custom-elements.md +33 -0
- package/lib/search-field/index.d.ts +134 -0
- package/lib/search-field/index.js +253 -0
- package/lib/search-field/themes/halo/dark/index.js +3 -0
- package/lib/search-field/themes/halo/light/index.js +3 -0
- package/lib/search-field/themes/solar/charcoal/index.js +3 -0
- package/lib/search-field/themes/solar/pearl/index.js +3 -0
- package/lib/select/custom-elements.json +103 -0
- package/lib/select/custom-elements.md +24 -0
- package/lib/select/helpers/types.d.ts +3 -0
- package/lib/select/helpers/types.js +1 -0
- package/lib/select/index.d.ts +388 -0
- package/lib/select/index.js +942 -0
- package/lib/select/themes/halo/dark/index.js +5 -0
- package/lib/select/themes/halo/light/index.js +5 -0
- package/lib/select/themes/solar/charcoal/index.js +5 -0
- package/lib/select/themes/solar/pearl/index.js +5 -0
- package/lib/sidebar-layout/custom-elements.json +72 -0
- package/lib/sidebar-layout/custom-elements.md +22 -0
- package/lib/sidebar-layout/index.d.ts +69 -0
- package/lib/sidebar-layout/index.js +134 -0
- package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
- package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
- package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
- package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
- package/lib/slider/custom-elements.json +181 -0
- package/lib/slider/custom-elements.md +28 -0
- package/lib/slider/index.d.ts +409 -0
- package/lib/slider/index.js +1187 -0
- package/lib/slider/themes/halo/dark/index.js +3 -0
- package/lib/slider/themes/halo/light/index.js +3 -0
- package/lib/slider/themes/solar/charcoal/index.js +3 -0
- package/lib/slider/themes/solar/pearl/index.js +3 -0
- package/lib/sparkline/custom-elements.json +59 -0
- package/lib/sparkline/custom-elements.md +16 -0
- package/lib/sparkline/index.d.ts +107 -0
- package/lib/sparkline/index.js +186 -0
- package/lib/sparkline/themes/halo/dark/index.js +2 -0
- package/lib/sparkline/themes/halo/light/index.js +2 -0
- package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
- package/lib/sparkline/themes/solar/pearl/index.js +2 -0
- package/lib/swing-gauge/const.d.ts +22 -0
- package/lib/swing-gauge/const.js +26 -0
- package/lib/swing-gauge/custom-elements.json +109 -0
- package/lib/swing-gauge/custom-elements.md +17 -0
- package/lib/swing-gauge/helpers.d.ts +8 -0
- package/lib/swing-gauge/helpers.js +105 -0
- package/lib/swing-gauge/index.d.ts +294 -0
- package/lib/swing-gauge/index.js +762 -0
- package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
- package/lib/swing-gauge/themes/halo/light/index.js +3 -0
- package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
- package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
- package/lib/swing-gauge/types.d.ts +34 -0
- package/lib/swing-gauge/types.js +1 -0
- package/lib/tab/custom-elements.json +123 -0
- package/lib/tab/custom-elements.md +22 -0
- package/lib/tab/index.d.ts +118 -0
- package/lib/tab/index.js +208 -0
- package/lib/tab/themes/halo/dark/index.js +4 -0
- package/lib/tab/themes/halo/light/index.js +4 -0
- package/lib/tab/themes/solar/charcoal/index.js +4 -0
- package/lib/tab/themes/solar/pearl/index.js +4 -0
- package/lib/tab-bar/custom-elements.json +52 -0
- package/lib/tab-bar/custom-elements.md +11 -0
- package/lib/tab-bar/helpers/animate.d.ts +16 -0
- package/lib/tab-bar/helpers/animate.js +53 -0
- package/lib/tab-bar/index.d.ts +108 -0
- package/lib/tab-bar/index.js +218 -0
- package/lib/tab-bar/themes/halo/dark/index.js +4 -0
- package/lib/tab-bar/themes/halo/light/index.js +4 -0
- package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
- package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
- package/lib/text-field/custom-elements.json +210 -0
- package/lib/text-field/custom-elements.md +37 -0
- package/lib/text-field/index.d.ts +193 -0
- package/lib/text-field/index.js +409 -0
- package/lib/text-field/themes/halo/dark/index.js +3 -0
- package/lib/text-field/themes/halo/light/index.js +3 -0
- package/lib/text-field/themes/solar/charcoal/index.js +3 -0
- package/lib/text-field/themes/solar/pearl/index.js +3 -0
- package/lib/time-picker/custom-elements.json +124 -0
- package/lib/time-picker/custom-elements.md +28 -0
- package/lib/time-picker/index.d.ts +379 -0
- package/lib/time-picker/index.js +775 -0
- package/lib/time-picker/themes/halo/dark/index.js +4 -0
- package/lib/time-picker/themes/halo/light/index.js +4 -0
- package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
- package/lib/time-picker/themes/solar/pearl/index.js +4 -0
- package/lib/toggle/custom-elements.json +82 -0
- package/lib/toggle/custom-elements.md +19 -0
- package/lib/toggle/index.d.ts +86 -0
- package/lib/toggle/index.js +152 -0
- package/lib/toggle/themes/halo/dark/index.js +2 -0
- package/lib/toggle/themes/halo/light/index.js +2 -0
- package/lib/toggle/themes/solar/charcoal/index.js +2 -0
- package/lib/toggle/themes/solar/pearl/index.js +2 -0
- package/lib/tooltip/custom-elements.json +62 -0
- package/lib/tooltip/custom-elements.md +14 -0
- package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
- package/lib/tooltip/elements/title-tooltip.js +18 -0
- package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
- package/lib/tooltip/elements/tooltip-element.js +54 -0
- package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
- package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
- package/lib/tooltip/helpers/renderer.d.ts +8 -0
- package/lib/tooltip/helpers/renderer.js +11 -0
- package/lib/tooltip/helpers/types.d.ts +23 -0
- package/lib/tooltip/helpers/types.js +1 -0
- package/lib/tooltip/index.d.ts +232 -0
- package/lib/tooltip/index.js +477 -0
- package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
- package/lib/tooltip/managers/tooltip-manager.js +140 -0
- package/lib/tooltip/themes/halo/dark/index.js +3 -0
- package/lib/tooltip/themes/halo/light/index.js +3 -0
- package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
- package/lib/tooltip/themes/solar/pearl/index.js +3 -0
- package/lib/tornado-chart/custom-elements.json +45 -0
- package/lib/tornado-chart/custom-elements.md +18 -0
- package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
- package/lib/tornado-chart/elements/tornado-chart.js +122 -0
- package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
- package/lib/tornado-chart/elements/tornado-item.js +207 -0
- package/lib/tornado-chart/index.d.ts +2 -0
- package/lib/tornado-chart/index.js +2 -0
- package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
- package/lib/tornado-chart/themes/halo/light/index.js +6 -0
- package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
- package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
- package/lib/tree/custom-elements.json +113 -0
- package/lib/tree/custom-elements.md +32 -0
- package/lib/tree/elements/tree-item.d.ts +96 -0
- package/lib/tree/elements/tree-item.js +179 -0
- package/lib/tree/elements/tree.d.ts +201 -0
- package/lib/tree/elements/tree.js +412 -0
- package/lib/tree/helpers/filter.d.ts +8 -0
- package/lib/tree/helpers/filter.js +33 -0
- package/lib/tree/helpers/renderer.d.ts +5 -0
- package/lib/tree/helpers/renderer.js +33 -0
- package/lib/tree/helpers/types.d.ts +25 -0
- package/lib/tree/helpers/types.js +1 -0
- package/lib/tree/index.d.ts +4 -0
- package/lib/tree/index.js +3 -0
- package/lib/tree/managers/tree-manager.d.ts +248 -0
- package/lib/tree/managers/tree-manager.js +395 -0
- package/lib/tree/themes/halo/dark/index.js +7 -0
- package/lib/tree/themes/halo/light/index.js +7 -0
- package/lib/tree/themes/solar/charcoal/index.js +7 -0
- package/lib/tree/themes/solar/pearl/index.js +7 -0
- package/lib/tree-select/custom-elements.json +107 -0
- package/lib/tree-select/custom-elements.md +26 -0
- package/lib/tree-select/helpers/types.d.ts +4 -0
- package/lib/tree-select/helpers/types.js +1 -0
- package/lib/tree-select/index.d.ts +402 -0
- package/lib/tree-select/index.js +890 -0
- package/lib/tree-select/themes/halo/dark/index.js +12 -0
- package/lib/tree-select/themes/halo/light/index.js +12 -0
- package/lib/tree-select/themes/solar/charcoal/index.js +12 -0
- package/lib/tree-select/themes/solar/pearl/index.js +12 -0
- package/lib/version.d.ts +1 -0
- package/lib/version.js +1 -0
- package/package.json +298 -15
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, css, ControlElement } from '@refinitiv-ui/core';
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
|
|
5
|
+
import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
|
|
6
|
+
import { VERSION } from '../version.js';
|
|
7
|
+
import { registerOverflowTooltip } from '../tooltip/index.js';
|
|
8
|
+
import { applyRegistry, removeFromRegistry, getRadioGroup } from './radio-button-registry.js';
|
|
9
|
+
/**
|
|
10
|
+
* Basic radio button
|
|
11
|
+
*
|
|
12
|
+
* @fires checked-changed - Fired when the `checked` property changes.
|
|
13
|
+
*
|
|
14
|
+
* @attr {string} [value=] - Value of the radio button
|
|
15
|
+
* @prop {string} [value=] - Value of the radio button
|
|
16
|
+
*
|
|
17
|
+
* @attr {string} [name=] - Group multiple radio buttons by assigning the same name
|
|
18
|
+
* @prop {string} [name=] - Group multiple radio buttons by assigning the same name
|
|
19
|
+
*
|
|
20
|
+
* @attr {boolean} readonly - Set readonly state
|
|
21
|
+
* @prop {boolean} [readonly=false] - Set readonly state
|
|
22
|
+
*
|
|
23
|
+
* @attr {boolean} disabled - Set disabled state
|
|
24
|
+
* @prop {boolean} [disabled=false] - Set disabled state
|
|
25
|
+
*/
|
|
26
|
+
let RadioButton = class RadioButton extends ControlElement {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
this.defaultRole = 'radio';
|
|
30
|
+
this._checked = false;
|
|
31
|
+
/**
|
|
32
|
+
* Aria indicating checked state
|
|
33
|
+
* @ignore
|
|
34
|
+
*/
|
|
35
|
+
this.ariaChecked = String(this.checked);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Element version number
|
|
39
|
+
* @returns version number
|
|
40
|
+
*/
|
|
41
|
+
static get version() {
|
|
42
|
+
return VERSION;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A `CSSResultGroup` that will be used
|
|
46
|
+
* to style the host, slotted children
|
|
47
|
+
* and the internal template of the element.
|
|
48
|
+
* @return CSS template
|
|
49
|
+
*/
|
|
50
|
+
static get styles() {
|
|
51
|
+
return css `
|
|
52
|
+
:host {
|
|
53
|
+
display: inline-block;
|
|
54
|
+
}
|
|
55
|
+
[part=check] {
|
|
56
|
+
visibility: hidden;
|
|
57
|
+
}
|
|
58
|
+
:host([checked]) [part=check] {
|
|
59
|
+
visibility: inherit;
|
|
60
|
+
}
|
|
61
|
+
[part=label],
|
|
62
|
+
[part=container] {
|
|
63
|
+
display: inline-block;
|
|
64
|
+
white-space: nowrap;
|
|
65
|
+
vertical-align: middle;
|
|
66
|
+
overflow: hidden;
|
|
67
|
+
text-overflow: ellipsis;
|
|
68
|
+
}
|
|
69
|
+
:host(:empty) [part=label], [part=label]:empty {
|
|
70
|
+
display: none;
|
|
71
|
+
}
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Radio button checked state
|
|
76
|
+
* @param value checked state
|
|
77
|
+
* @returns {void}
|
|
78
|
+
*/
|
|
79
|
+
set checked(value) {
|
|
80
|
+
const oldValue = this._checked;
|
|
81
|
+
if (oldValue !== value) {
|
|
82
|
+
this._checked = value;
|
|
83
|
+
this.ariaChecked = String(value);
|
|
84
|
+
void this.requestUpdate('checked', oldValue);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
get checked() {
|
|
88
|
+
return this._checked;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Called when connected to DOM
|
|
92
|
+
* @returns {void}
|
|
93
|
+
*/
|
|
94
|
+
connectedCallback() {
|
|
95
|
+
super.connectedCallback();
|
|
96
|
+
applyRegistry(this);
|
|
97
|
+
this.manageGroupState();
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Called when disconnected from DOM
|
|
101
|
+
* @returns {void}
|
|
102
|
+
*/
|
|
103
|
+
disconnectedCallback() {
|
|
104
|
+
removeFromRegistry(this);
|
|
105
|
+
super.disconnectedCallback();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Invoked whenever the element is update
|
|
109
|
+
* @param changedProperties changed properties
|
|
110
|
+
* @returns {void}
|
|
111
|
+
*/
|
|
112
|
+
update(changedProperties) {
|
|
113
|
+
if (this.isConnected && this.hasUpdated && changedProperties.has('name')) {
|
|
114
|
+
applyRegistry(this, changedProperties.get('name'));
|
|
115
|
+
}
|
|
116
|
+
// Ensure only one radio button is checked
|
|
117
|
+
if (this.isConnected && this.hasUpdated && (changedProperties.has('checked') || (changedProperties.has('name')))) {
|
|
118
|
+
this.manageGroupState();
|
|
119
|
+
}
|
|
120
|
+
super.update(changedProperties);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Invoked when the element is first updated
|
|
124
|
+
* @param changedProperties changed properties
|
|
125
|
+
* @returns {void}
|
|
126
|
+
*/
|
|
127
|
+
firstUpdated(changedProperties) {
|
|
128
|
+
super.firstUpdated(changedProperties);
|
|
129
|
+
this.addEventListener('tap', this.onTap);
|
|
130
|
+
this.addEventListener('keydown', this.onKeyDown);
|
|
131
|
+
registerOverflowTooltip(this.labelEl, () => this.textContent);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Manage group members state, when either one is being checked
|
|
135
|
+
* @returns {void}
|
|
136
|
+
*/
|
|
137
|
+
manageGroupState() {
|
|
138
|
+
if (this.checked && this.name) {
|
|
139
|
+
// restore tab index when checked
|
|
140
|
+
this.tabIndex = 0;
|
|
141
|
+
getRadioGroup(this).filter(radio => radio !== this).forEach(radio => {
|
|
142
|
+
// uncheck and hide the rest of the group members from focusability
|
|
143
|
+
radio.checked = false;
|
|
144
|
+
radio.tabIndex = -1;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Run when radio button is tapped
|
|
150
|
+
* @param event Tap event
|
|
151
|
+
* @returns {void}
|
|
152
|
+
*/
|
|
153
|
+
onTap(event) {
|
|
154
|
+
if (this.disabled || this.readonly || event.defaultPrevented) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
this.handleChangeChecked();
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Handles key down event
|
|
161
|
+
* @param event Key down event object
|
|
162
|
+
* @returns {void}
|
|
163
|
+
*/
|
|
164
|
+
onKeyDown(event) {
|
|
165
|
+
if (this.disabled || event.defaultPrevented) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
switch (event.key) {
|
|
169
|
+
case 'Enter':
|
|
170
|
+
case ' ':
|
|
171
|
+
case 'Spacebar':
|
|
172
|
+
if (this.readonly) {
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
this.handleChangeChecked();
|
|
176
|
+
break;
|
|
177
|
+
case 'ArrowRight':
|
|
178
|
+
case 'ArrowDown':
|
|
179
|
+
this.navigateToSibling('next');
|
|
180
|
+
break;
|
|
181
|
+
case 'ArrowLeft':
|
|
182
|
+
case 'ArrowUp':
|
|
183
|
+
this.navigateToSibling('previous');
|
|
184
|
+
break;
|
|
185
|
+
default:
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
event.preventDefault();
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Change checked state and fire
|
|
192
|
+
* checked-changed event
|
|
193
|
+
* @return {void}
|
|
194
|
+
*/
|
|
195
|
+
handleChangeChecked() {
|
|
196
|
+
// Once checked, radio button cannot be unchecked
|
|
197
|
+
if (!this.checked) {
|
|
198
|
+
this.checked = true;
|
|
199
|
+
this.notifyPropertyChange('checked', this.checked);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Navigate to next or previous checkable sibling in the same group if present
|
|
204
|
+
* @param direction up/next; down/previous
|
|
205
|
+
* @returns {void}
|
|
206
|
+
*/
|
|
207
|
+
navigateToSibling(direction) {
|
|
208
|
+
if (!this.name) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const group = getRadioGroup(this).filter(radio => !radio.disabled);
|
|
212
|
+
const index = group.indexOf(this);
|
|
213
|
+
let element;
|
|
214
|
+
if (direction === 'next') {
|
|
215
|
+
element = index === -1 ? group[0] : group[index + 1];
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
element = index === -1 ? group[group.length - 1] : group[index - 1];
|
|
219
|
+
}
|
|
220
|
+
if (!element) {
|
|
221
|
+
element = direction === 'next' ? group[0] : group[group.length - 1];
|
|
222
|
+
}
|
|
223
|
+
if (!element.readonly) {
|
|
224
|
+
this.checked = false;
|
|
225
|
+
element.checked = true;
|
|
226
|
+
}
|
|
227
|
+
element.focus();
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* A `TemplateResult` that will be used
|
|
231
|
+
* to render the updated internal template.
|
|
232
|
+
* @return Render template
|
|
233
|
+
*/
|
|
234
|
+
render() {
|
|
235
|
+
return html `
|
|
236
|
+
<div part="container">
|
|
237
|
+
<div part="check"></div>
|
|
238
|
+
</div>
|
|
239
|
+
<div part="label"><slot></slot></div>
|
|
240
|
+
`;
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
__decorate([
|
|
244
|
+
property({ type: Boolean, reflect: true })
|
|
245
|
+
], RadioButton.prototype, "checked", null);
|
|
246
|
+
__decorate([
|
|
247
|
+
property({ type: String, reflect: true, attribute: 'aria-checked' })
|
|
248
|
+
], RadioButton.prototype, "ariaChecked", void 0);
|
|
249
|
+
__decorate([
|
|
250
|
+
query('[part=label]', true)
|
|
251
|
+
], RadioButton.prototype, "labelEl", void 0);
|
|
252
|
+
RadioButton = __decorate([
|
|
253
|
+
customElement('ef-radio-button', {
|
|
254
|
+
alias: 'coral-radio-button'
|
|
255
|
+
})
|
|
256
|
+
], RadioButton);
|
|
257
|
+
export { RadioButton };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { RadioButton } from './index';
|
|
2
|
+
/**
|
|
3
|
+
* Remove radio button from registry
|
|
4
|
+
* @param radio Radio button to remove
|
|
5
|
+
* @returns {void}
|
|
6
|
+
*/
|
|
7
|
+
declare const removeFromRegistry: (radio: RadioButton) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Add radio button to registry group of radio has a name
|
|
10
|
+
* If radio does not have the name, remove from the group
|
|
11
|
+
* @param radio Radio button to add
|
|
12
|
+
* @param oldGroupName group name of radio button before changed
|
|
13
|
+
* @returns {void}
|
|
14
|
+
*/
|
|
15
|
+
declare const applyRegistry: (radio: RadioButton, oldGroupName?: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Get the group of same name radio buttons
|
|
18
|
+
* @param radio A radio to get a group for
|
|
19
|
+
* @returns collection of radio buttons
|
|
20
|
+
*/
|
|
21
|
+
declare const getRadioGroup: (radio: RadioButton) => RadioButton[];
|
|
22
|
+
export { applyRegistry, removeFromRegistry, getRadioGroup };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const registry = [];
|
|
2
|
+
/**
|
|
3
|
+
* Remove radio button from registry
|
|
4
|
+
* @param radio Radio button to remove
|
|
5
|
+
* @returns {void}
|
|
6
|
+
*/
|
|
7
|
+
const removeFromRegistry = (radio) => {
|
|
8
|
+
const idx = registry.indexOf(radio);
|
|
9
|
+
if (idx !== -1) {
|
|
10
|
+
registry.splice(idx, 1);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Add radio button to registry group of radio has a name
|
|
15
|
+
* If radio does not have the name, remove from the group
|
|
16
|
+
* @param radio Radio button to add
|
|
17
|
+
* @param oldGroupName group name of radio button before changed
|
|
18
|
+
* @returns {void}
|
|
19
|
+
*/
|
|
20
|
+
const applyRegistry = (radio, oldGroupName = '') => {
|
|
21
|
+
const isNewRadioButton = registry.indexOf(radio) === -1;
|
|
22
|
+
if (radio.name && isNewRadioButton) {
|
|
23
|
+
registry.push(radio);
|
|
24
|
+
if (registry.length === 1) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Set tabIndex to -1 if radio either uncheck or not the first radio button in the group.
|
|
28
|
+
const radioGroup = getRadioGroup(radio);
|
|
29
|
+
if (!radio.checked && radioGroup.length > 1) {
|
|
30
|
+
radio.tabIndex = -1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Removed from the group
|
|
34
|
+
else if (!radio.name && !isNewRadioButton) {
|
|
35
|
+
removeFromRegistry(radio);
|
|
36
|
+
radio.tabIndex = 0; // Restores tabIndex and switch to single mode
|
|
37
|
+
// Re-compute tabIndex for old radio group
|
|
38
|
+
const oldRadioGroup = registry.filter(radio => radio.name === oldGroupName);
|
|
39
|
+
restoreTabIndex(oldRadioGroup);
|
|
40
|
+
}
|
|
41
|
+
// Changes group
|
|
42
|
+
else if (radio.name && !isNewRadioButton) {
|
|
43
|
+
// Re-compute tabIndex for new radio group when name attribute has changed
|
|
44
|
+
const newRadioGroup = getRadioGroup(radio);
|
|
45
|
+
if (radio.checked) {
|
|
46
|
+
radio.tabIndex = 0;
|
|
47
|
+
// uncheck and hide the rest of the group members from focusability
|
|
48
|
+
newRadioGroup.filter((newRadio) => newRadio !== radio).forEach(newRadio => {
|
|
49
|
+
newRadio.checked = false;
|
|
50
|
+
newRadio.tabIndex = -1;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
radio.tabIndex = -1;
|
|
55
|
+
restoreTabIndex(newRadioGroup);
|
|
56
|
+
}
|
|
57
|
+
// Re-compute tabIndex for old radio group when name attribute has changed.
|
|
58
|
+
const oldRadioGroup = registry.filter(radio => radio.name === oldGroupName);
|
|
59
|
+
restoreTabIndex(oldRadioGroup);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Re-compute tabIndex for the radio group
|
|
64
|
+
* Set tabIndex to 0 for first radio button in the group.
|
|
65
|
+
* Set tabIndex to -1 for the rest of button in group.
|
|
66
|
+
* @param radioGroup collection of radio buttons
|
|
67
|
+
* @returns {void}
|
|
68
|
+
*/
|
|
69
|
+
const restoreTabIndex = (radioGroup) => {
|
|
70
|
+
if (!radioGroup.length) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
const checkedRadio = radioGroup.filter(radio => radio.checked);
|
|
74
|
+
if (checkedRadio.length) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
radioGroup.forEach((radio, index) => {
|
|
78
|
+
radio.tabIndex = index === 0 ? 0 : -1;
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Get the group of same name radio buttons
|
|
83
|
+
* @param radio A radio to get a group for
|
|
84
|
+
* @returns collection of radio buttons
|
|
85
|
+
*/
|
|
86
|
+
const getRadioGroup = (radio) => {
|
|
87
|
+
if (!registry.includes(radio)) {
|
|
88
|
+
return [];
|
|
89
|
+
}
|
|
90
|
+
const groupName = radio.name;
|
|
91
|
+
return registry.filter(radio => radio.name === groupName);
|
|
92
|
+
};
|
|
93
|
+
export { applyRegistry, removeFromRegistry, getRadioGroup };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/halo/dark';
|
|
2
|
+
|
|
3
|
+
elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#6678FF;color:#ccc}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#0d0d0d;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #404040;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#6678ff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#ccc)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])){cursor:pointer}:host(:hover:not([checked]):not([readonly])) [part=container]{border-color:grey}:host(:hover:not([readonly])){color:#fff}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#404040}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/halo/light';
|
|
2
|
+
|
|
3
|
+
elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#334BFF;color:#404040}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.25);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #595959;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#334bff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#404040)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])){cursor:pointer}:host(:hover:not([checked]):not([readonly])) [part=container]{border-color:#0d0d0d}:host(:hover:not([readonly])){color:#0d0d0d}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#595959}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/solar/charcoal';
|
|
2
|
+
|
|
3
|
+
elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#000;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.6);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #4a4a52;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#f93);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#e2e2e2)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(194,194,194,.6)}:host([checked][disabled]) [part=check]{color:#c2c2c2}:host([checked][readonly]) [part=check]{color:rgba(194,194,194,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(194,194,194,.6);border-color:rgba(74,74,82,.6);background-color:rgba(0,0,0,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #f93;border:1px dotted #f93}}');
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/solar/pearl';
|
|
2
|
+
|
|
3
|
+
elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.3);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #a9afba;height:11px;width:11px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#ee7600);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:7px;height:7px}:host [part=label]{cursor:default;margin:0 4px}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#acafb5)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65;opacity:rgba(72,72,72,.6)}:host([checked][disabled]) [part=check]{color:#a9afba}:host([checked][readonly]) [part=check]{color:rgba(169,175,186,.5)}:host([disabled]) [part=container],:host([readonly]) [part=container]{color:rgba(72,72,72,.6);border-color:rgba(169,175,186,.6);background-color:rgba(255,255,255,.6)}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{box-shadow:0 0 0 #ffb266;border:1px dotted #ffb266}}');
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "experimental",
|
|
3
|
+
"tags": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ef-rating",
|
|
6
|
+
"description": "Star visualisation component that is generally used for ranking",
|
|
7
|
+
"attributes": [
|
|
8
|
+
{
|
|
9
|
+
"name": "interactive",
|
|
10
|
+
"description": "Make it possible to interact with rating control and change the value",
|
|
11
|
+
"type": "boolean",
|
|
12
|
+
"default": "false"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "max",
|
|
16
|
+
"description": "Set number of total stars",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"default": "\"5\""
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "value",
|
|
22
|
+
"description": "Set number of selected stars. Value can be any number between 0 and `max`.\nDecimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)",
|
|
23
|
+
"type": "string",
|
|
24
|
+
"default": "\"0\""
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"properties": [
|
|
28
|
+
{
|
|
29
|
+
"name": "interactive",
|
|
30
|
+
"attribute": "interactive",
|
|
31
|
+
"description": "Make it possible to interact with rating control and change the value",
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"default": "false"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "max",
|
|
37
|
+
"attribute": "max",
|
|
38
|
+
"description": "Set number of total stars",
|
|
39
|
+
"type": "string",
|
|
40
|
+
"default": "\"5\""
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "value",
|
|
44
|
+
"attribute": "value",
|
|
45
|
+
"description": "Set number of selected stars. Value can be any number between 0 and `max`.\nDecimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)",
|
|
46
|
+
"type": "string",
|
|
47
|
+
"default": "\"0\""
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"events": [
|
|
51
|
+
{
|
|
52
|
+
"name": "value-changed",
|
|
53
|
+
"description": "Fired when the `value` changes."
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# ef-rating
|
|
2
|
+
|
|
3
|
+
Star visualisation component that is generally used for ranking
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
| Property | Attribute | Type | Default | Description |
|
|
8
|
+
|---------------|---------------|-----------|---------|--------------------------------------------------|
|
|
9
|
+
| `interactive` | `interactive` | `boolean` | false | Make it possible to interact with rating control and change the value |
|
|
10
|
+
| `max` | `max` | `string` | "5" | Set number of total stars |
|
|
11
|
+
| `value` | `value` | `string` | "0" | Set number of selected stars. Value can be any number between 0 and `max`.<br />Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1) |
|
|
12
|
+
|
|
13
|
+
## Events
|
|
14
|
+
|
|
15
|
+
| Event | Description |
|
|
16
|
+
|-----------------|---------------------------------|
|
|
17
|
+
| `value-changed` | Fired when the `value` changes. |
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { JSXInterface } from '../jsx';
|
|
2
|
+
import { BasicElement, TemplateResult, CSSResultGroup, PropertyValues } from '@refinitiv-ui/core';
|
|
3
|
+
/**
|
|
4
|
+
* Star visualisation component that is generally used for ranking
|
|
5
|
+
* @fires value-changed - Fired when the `value` changes.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Rating extends BasicElement {
|
|
8
|
+
/**
|
|
9
|
+
* Element version number
|
|
10
|
+
* @returns version number
|
|
11
|
+
*/
|
|
12
|
+
static get version(): string;
|
|
13
|
+
private items;
|
|
14
|
+
private valuePrevious;
|
|
15
|
+
/**
|
|
16
|
+
* Make it possible to interact with rating control and change the value
|
|
17
|
+
*/
|
|
18
|
+
interactive: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Set number of total stars
|
|
21
|
+
*/
|
|
22
|
+
max: string;
|
|
23
|
+
/**
|
|
24
|
+
* Set number of selected stars. Value can be any number between 0 and `max`.
|
|
25
|
+
* Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1)
|
|
26
|
+
*/
|
|
27
|
+
value: string;
|
|
28
|
+
/**
|
|
29
|
+
* Get stars element of container
|
|
30
|
+
*/
|
|
31
|
+
private stars;
|
|
32
|
+
/**
|
|
33
|
+
* Converts value from string to number for calculations
|
|
34
|
+
* @returns value of rating as a number
|
|
35
|
+
*/
|
|
36
|
+
private get valueNumber();
|
|
37
|
+
/**
|
|
38
|
+
* Converts max value from string to number for calculations
|
|
39
|
+
* @returns maximum value of rating as a number
|
|
40
|
+
*/
|
|
41
|
+
private get maxNumber();
|
|
42
|
+
/**
|
|
43
|
+
* Compute rating based on max number of stars and value.
|
|
44
|
+
* Note: to speed up the component, hover state is implemented using CSS only.
|
|
45
|
+
* CSS3 specification does not allow to select items preceding the hover, but allows to select the following items.
|
|
46
|
+
* Therefore `flex: reverse` style is applied and the items are constructed in the reverse mode to mimic the correct behaviour.
|
|
47
|
+
* @param {Number} max Number of stars
|
|
48
|
+
* @param {Number} value Value
|
|
49
|
+
* @returns {void}
|
|
50
|
+
*/
|
|
51
|
+
private computeRating;
|
|
52
|
+
/**
|
|
53
|
+
* Process click event to set the new value
|
|
54
|
+
* @param {number} index index of star
|
|
55
|
+
* @returns {void}
|
|
56
|
+
*/
|
|
57
|
+
private handleTap;
|
|
58
|
+
/**
|
|
59
|
+
* Invoked whenever the element properties are updated
|
|
60
|
+
* @param changedProperties changed properties
|
|
61
|
+
* @returns {void}
|
|
62
|
+
*/
|
|
63
|
+
protected updated(changedProperties: PropertyValues): void;
|
|
64
|
+
/**
|
|
65
|
+
* A `CSSResultGroup` that will be used
|
|
66
|
+
* to style the host, slotted children
|
|
67
|
+
* and the internal template of the element.
|
|
68
|
+
* @returns CSS template
|
|
69
|
+
*/
|
|
70
|
+
static get styles(): CSSResultGroup;
|
|
71
|
+
/**
|
|
72
|
+
* A `TemplateResult` that will be used
|
|
73
|
+
* to render the updated internal template.
|
|
74
|
+
* @return Render template
|
|
75
|
+
*/
|
|
76
|
+
protected render(): TemplateResult;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
declare global {
|
|
80
|
+
interface HTMLElementTagNameMap {
|
|
81
|
+
'ef-rating': Rating;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
namespace JSX {
|
|
85
|
+
interface IntrinsicElements {
|
|
86
|
+
'ef-rating': Partial<Rating> | JSXInterface.HTMLAttributes<Rating>;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export {};
|