@refinitiv-ui/elements 5.12.0-alpha.0 → 5.12.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 +24 -0
- package/README.md +4 -4
- 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/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/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 +538 -0
- package/lib/autosuggest/index.js +1255 -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/index.d.ts +138 -0
- package/lib/button/index.js +241 -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/index.d.ts +125 -0
- package/lib/button-bar/index.js +295 -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 +26 -0
- package/lib/calendar/constants.js +28 -0
- package/lib/calendar/index.d.ts +412 -0
- package/lib/calendar/index.js +1274 -0
- package/lib/calendar/locales.d.ts +1 -0
- package/lib/calendar/locales.js +41 -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 +32 -0
- package/lib/calendar/types.js +1 -0
- package/lib/calendar/utils.d.ts +42 -0
- package/lib/calendar/utils.js +120 -0
- package/lib/canvas/index.d.ts +101 -0
- package/lib/canvas/index.js +173 -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/helpers/types.d.ts +12 -0
- package/lib/card/helpers/types.js +1 -0
- package/lib/card/index.d.ts +142 -0
- package/lib/card/index.js +248 -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/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/index.d.ts +97 -0
- package/lib/checkbox/index.js +194 -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/index.d.ts +321 -0
- package/lib/clock/index.js +583 -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 +4 -2
- package/lib/collapse/custom-elements.md +1 -1
- package/lib/collapse/index.d.ts +123 -0
- package/lib/collapse/index.js +227 -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/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/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/renderer.d.ts +8 -0
- package/lib/combo-box/helpers/renderer.js +24 -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 +551 -0
- package/lib/combo-box/index.js +1183 -0
- package/lib/combo-box/themes/halo/dark/index.js +7 -0
- package/lib/combo-box/themes/halo/light/index.js +7 -0
- package/lib/combo-box/themes/solar/charcoal/index.js +7 -0
- package/lib/combo-box/themes/solar/pearl/index.js +7 -0
- package/lib/counter/index.d.ts +91 -0
- package/lib/counter/index.js +154 -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/index.d.ts +509 -0
- package/lib/datetime-picker/index.js +1175 -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 +11 -0
- package/lib/dialog/custom-elements.md +4 -3
- package/lib/dialog/draggable-element.d.ts +14 -0
- package/lib/dialog/draggable-element.js +221 -0
- package/lib/dialog/index.d.ts +213 -0
- package/lib/dialog/index.js +353 -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/index.d.ts +80 -0
- package/lib/email-field/index.js +86 -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/index.d.ts +96 -0
- package/lib/flag/index.js +168 -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/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/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/index.d.ts +90 -0
- package/lib/icon/index.js +171 -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/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 +383 -0
- package/lib/interactive-chart/index.js +1093 -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/helpers/types.d.ts +57 -0
- package/lib/item/helpers/types.js +1 -0
- package/lib/item/index.d.ts +159 -0
- package/lib/item/index.js +272 -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/label/index.d.ts +102 -0
- package/lib/label/index.js +245 -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/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/index.d.ts +144 -0
- package/lib/led-gauge/index.js +438 -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/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 +37 -0
- package/lib/list/helpers/types.d.ts +3 -0
- package/lib/list/helpers/types.js +1 -0
- package/lib/list/index.d.ts +313 -0
- package/lib/list/index.js +640 -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/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/helpers/types.d.ts +11 -0
- package/lib/multi-input/helpers/types.js +1 -0
- package/lib/multi-input/index.d.ts +301 -0
- package/lib/multi-input/index.js +594 -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/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/index.d.ts +339 -0
- package/lib/number-field/index.js +741 -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/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 +408 -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/helpers/types.d.ts +8 -0
- package/lib/overlay-menu/helpers/types.js +1 -0
- package/lib/overlay-menu/index.d.ts +387 -0
- package/lib/overlay-menu/index.js +935 -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/index.d.ts +275 -0
- package/lib/pagination/index.js +552 -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/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/index.d.ts +89 -0
- package/lib/password-field/index.js +112 -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/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/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/index.d.ts +123 -0
- package/lib/radio-button/index.js +261 -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/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/index.d.ts +77 -0
- package/lib/search-field/index.js +84 -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/helpers/types.d.ts +3 -0
- package/lib/select/helpers/types.js +1 -0
- package/lib/select/index.d.ts +396 -0
- package/lib/select/index.js +981 -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/index.d.ts +70 -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/index.d.ts +409 -0
- package/lib/slider/index.js +1197 -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/index.d.ts +109 -0
- package/lib/sparkline/index.js +188 -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/helpers.d.ts +8 -0
- package/lib/swing-gauge/helpers.js +105 -0
- package/lib/swing-gauge/index.d.ts +296 -0
- package/lib/swing-gauge/index.js +764 -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 +13 -0
- package/lib/tab/custom-elements.md +1 -0
- package/lib/tab/index.d.ts +136 -0
- package/lib/tab/index.js +236 -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 +12 -0
- package/lib/tab-bar/custom-elements.md +7 -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 +198 -0
- package/lib/tab-bar/index.js +428 -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/index.d.ts +151 -0
- package/lib/text-field/index.js +260 -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/index.d.ts +412 -0
- package/lib/time-picker/index.js +898 -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/index.d.ts +87 -0
- package/lib/toggle/index.js +153 -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/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/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/elements/tree-item.d.ts +129 -0
- package/lib/tree/elements/tree-item.js +238 -0
- package/lib/tree/elements/tree.d.ts +203 -0
- package/lib/tree/elements/tree.js +414 -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/helpers/types.d.ts +4 -0
- package/lib/tree-select/helpers/types.js +1 -0
- package/lib/tree-select/index.d.ts +404 -0
- package/lib/tree-select/index.js +891 -0
- package/lib/tree-select/themes/halo/dark/index.js +11 -0
- package/lib/tree-select/themes/halo/light/index.js +11 -0
- package/lib/tree-select/themes/solar/charcoal/index.js +11 -0
- package/lib/tree-select/themes/solar/pearl/index.js +11 -0
- package/lib/version.d.ts +1 -0
- package/lib/version.js +1 -0
- package/package.json +293 -24
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { JSXInterface } from '../jsx';
|
|
2
|
+
import { TemplateResult, CSSResultGroup, PropertyValues, ResponsiveElement, ElementSize } from '@refinitiv-ui/core';
|
|
3
|
+
import '../button/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Container for tabs
|
|
6
|
+
*
|
|
7
|
+
* @fires value-changed - Fired when the `value` changes.
|
|
8
|
+
*/
|
|
9
|
+
export declare class TabBar extends ResponsiveElement {
|
|
10
|
+
/**
|
|
11
|
+
* Element version number
|
|
12
|
+
* @returns version number
|
|
13
|
+
*/
|
|
14
|
+
static get version(): string;
|
|
15
|
+
protected readonly defaultRole = "tablist";
|
|
16
|
+
/**
|
|
17
|
+
* A `CSSResultGroup` that will be used
|
|
18
|
+
* to style the host, slotted children
|
|
19
|
+
* and the internal template of the element.
|
|
20
|
+
* @returns CSS template
|
|
21
|
+
*/
|
|
22
|
+
static get styles(): CSSResultGroup;
|
|
23
|
+
/**
|
|
24
|
+
* Specify tab's horizontal alignment
|
|
25
|
+
*/
|
|
26
|
+
alignment: 'left' | 'center' | 'right';
|
|
27
|
+
/**
|
|
28
|
+
* Use level styling from theme
|
|
29
|
+
*/
|
|
30
|
+
level: '1' | '2' | '3';
|
|
31
|
+
/**
|
|
32
|
+
* Use to switch from horizontal to vertical layout.
|
|
33
|
+
*/
|
|
34
|
+
vertical: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Internal value of tab bar.
|
|
37
|
+
* Controlled by public setter and getter
|
|
38
|
+
*/
|
|
39
|
+
private _value;
|
|
40
|
+
/**
|
|
41
|
+
* Value of tab-bar, derived from value of an active tab.
|
|
42
|
+
* @param value Element value
|
|
43
|
+
* @default -
|
|
44
|
+
*/
|
|
45
|
+
set value(value: string);
|
|
46
|
+
get value(): string;
|
|
47
|
+
private content;
|
|
48
|
+
private leftBtn;
|
|
49
|
+
private rightBtn;
|
|
50
|
+
private isScrolling;
|
|
51
|
+
/**
|
|
52
|
+
* Called after the element’s DOM has been updated the first time.
|
|
53
|
+
* register scroll event on content element to toggle scroll button
|
|
54
|
+
* @param changedProperties Properties that has changed
|
|
55
|
+
* @returns {void}
|
|
56
|
+
*/
|
|
57
|
+
protected firstUpdated(changedProperties: PropertyValues): void;
|
|
58
|
+
/**
|
|
59
|
+
* Called when the element’s DOM has been updated and rendered
|
|
60
|
+
* @param changedProperties Properties that has changed
|
|
61
|
+
* @returns {void}
|
|
62
|
+
*/
|
|
63
|
+
protected updated(changedProperties: PropertyValues): void;
|
|
64
|
+
/**
|
|
65
|
+
* private method but can't override
|
|
66
|
+
* access modifiers in typescript.
|
|
67
|
+
* @ignore
|
|
68
|
+
* @param size element dimensions
|
|
69
|
+
* @returns {void}
|
|
70
|
+
*/
|
|
71
|
+
resizedCallback(size: ElementSize): void;
|
|
72
|
+
/**
|
|
73
|
+
* Return true if incoming value matches one of the existing tabs
|
|
74
|
+
* @param value Value to check
|
|
75
|
+
* @returns true if incoming value matches one of the existing tabs
|
|
76
|
+
*/
|
|
77
|
+
private isValidValue;
|
|
78
|
+
/**
|
|
79
|
+
* When the slot changes, set the level, toggle the scroll button, and set the value
|
|
80
|
+
* @returns {void}
|
|
81
|
+
*/
|
|
82
|
+
private onSlotChange;
|
|
83
|
+
/**
|
|
84
|
+
* Mark tab as active
|
|
85
|
+
* @param value value of tab to select
|
|
86
|
+
* @returns {void}
|
|
87
|
+
*/
|
|
88
|
+
private activateTab;
|
|
89
|
+
/**
|
|
90
|
+
* Set tab value and fires `tab-changed` event
|
|
91
|
+
* @param event - Event
|
|
92
|
+
* @returns {void}
|
|
93
|
+
*/
|
|
94
|
+
private onTap;
|
|
95
|
+
/**
|
|
96
|
+
* Get the value of a tab
|
|
97
|
+
* @param tab - The tab element.
|
|
98
|
+
* @returns The value of the tab.
|
|
99
|
+
*/
|
|
100
|
+
private getTabValue;
|
|
101
|
+
/**
|
|
102
|
+
* Return the tab's label, or its textContent, or an empty string
|
|
103
|
+
* @param tab - The tab element.
|
|
104
|
+
* @returns The tab label.
|
|
105
|
+
*/
|
|
106
|
+
private getTabLabel;
|
|
107
|
+
/**
|
|
108
|
+
* Get Tab elements from slot
|
|
109
|
+
* @returns the array of Tab
|
|
110
|
+
*/
|
|
111
|
+
private getTabElements;
|
|
112
|
+
/**
|
|
113
|
+
* Get focusable tab elements
|
|
114
|
+
* @returns the array of focusable tab
|
|
115
|
+
*/
|
|
116
|
+
private getFocusableTabs;
|
|
117
|
+
/**
|
|
118
|
+
* Set tab level attribute accordingly
|
|
119
|
+
* @returns {void}
|
|
120
|
+
*/
|
|
121
|
+
private setLevel;
|
|
122
|
+
/**
|
|
123
|
+
* Hide/Show scroll button when element is overflow.
|
|
124
|
+
* @param elementWidth width of element
|
|
125
|
+
* @returns {void}
|
|
126
|
+
*/
|
|
127
|
+
private toggleScrollButton;
|
|
128
|
+
/**
|
|
129
|
+
* Update scroll position when clicked on left button
|
|
130
|
+
* @returns {void}
|
|
131
|
+
*/
|
|
132
|
+
private handleScrollLeft;
|
|
133
|
+
/**
|
|
134
|
+
* Update scroll position when clicked on right button
|
|
135
|
+
* @returns {void}
|
|
136
|
+
*/
|
|
137
|
+
private handleScrollRight;
|
|
138
|
+
/**
|
|
139
|
+
* Focus and set active to tab
|
|
140
|
+
* @param tab - The element that was clicked.
|
|
141
|
+
* @return {void}
|
|
142
|
+
*/
|
|
143
|
+
private focusAndSetActiveTab;
|
|
144
|
+
/**
|
|
145
|
+
* Navigate to first focusable tab of the tab bar
|
|
146
|
+
* @returns {void}
|
|
147
|
+
*/
|
|
148
|
+
private first;
|
|
149
|
+
/**
|
|
150
|
+
* Navigate to last focusable tab of the tab bar
|
|
151
|
+
* @returns {void}
|
|
152
|
+
*/
|
|
153
|
+
private last;
|
|
154
|
+
/**
|
|
155
|
+
* Navigate to next or previous focusable tab
|
|
156
|
+
* @param direction up/next; down/previous
|
|
157
|
+
* @returns {void}
|
|
158
|
+
*/
|
|
159
|
+
private navigateToSibling;
|
|
160
|
+
/**
|
|
161
|
+
* Handles key down event
|
|
162
|
+
* @param event Key down event object
|
|
163
|
+
* @returns {void}
|
|
164
|
+
*/
|
|
165
|
+
private onKeyDown;
|
|
166
|
+
/**
|
|
167
|
+
* Sets the tabindex to -1 for all tabs except the active tab.
|
|
168
|
+
* @param target the tab to be focused
|
|
169
|
+
* @param tabList Array of tabs that contains target
|
|
170
|
+
* @returns {void}
|
|
171
|
+
*/
|
|
172
|
+
private rovingTabIndex;
|
|
173
|
+
/**
|
|
174
|
+
* Set tabIndex to all tabs
|
|
175
|
+
* @returns {void}
|
|
176
|
+
*/
|
|
177
|
+
private manageTabIndex;
|
|
178
|
+
/**
|
|
179
|
+
* A `TemplateResult` that will be used
|
|
180
|
+
* to render the updated internal template.
|
|
181
|
+
* @return Render template
|
|
182
|
+
*/
|
|
183
|
+
protected render(): TemplateResult;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
declare global {
|
|
187
|
+
interface HTMLElementTagNameMap {
|
|
188
|
+
'ef-tab-bar': TabBar;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
namespace JSX {
|
|
192
|
+
interface IntrinsicElements {
|
|
193
|
+
'ef-tab-bar': Partial<TabBar> | JSXInterface.HTMLAttributes<TabBar>;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export {};
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, css, ResponsiveElement } 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 { tweenAnimate } from './helpers/animate.js';
|
|
8
|
+
import { Tab } from '../tab/index.js';
|
|
9
|
+
import '../button/index.js';
|
|
10
|
+
const BAR_TRAVEL_DISTANCE = 150; // scroll distance
|
|
11
|
+
/**
|
|
12
|
+
* Container for tabs
|
|
13
|
+
*
|
|
14
|
+
* @fires value-changed - Fired when the `value` changes.
|
|
15
|
+
*/
|
|
16
|
+
let TabBar = class TabBar extends ResponsiveElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.defaultRole = 'tablist';
|
|
20
|
+
/**
|
|
21
|
+
* Specify tab's horizontal alignment
|
|
22
|
+
*/
|
|
23
|
+
this.alignment = 'left';
|
|
24
|
+
/**
|
|
25
|
+
* Use level styling from theme
|
|
26
|
+
*/
|
|
27
|
+
this.level = '1';
|
|
28
|
+
/**
|
|
29
|
+
* Use to switch from horizontal to vertical layout.
|
|
30
|
+
*/
|
|
31
|
+
this.vertical = false;
|
|
32
|
+
/**
|
|
33
|
+
* Internal value of tab bar.
|
|
34
|
+
* Controlled by public setter and getter
|
|
35
|
+
*/
|
|
36
|
+
this._value = '';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Element version number
|
|
40
|
+
* @returns version number
|
|
41
|
+
*/
|
|
42
|
+
static get version() {
|
|
43
|
+
return VERSION;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* A `CSSResultGroup` that will be used
|
|
47
|
+
* to style the host, slotted children
|
|
48
|
+
* and the internal template of the element.
|
|
49
|
+
* @returns CSS template
|
|
50
|
+
*/
|
|
51
|
+
static get styles() {
|
|
52
|
+
return css `
|
|
53
|
+
:host {
|
|
54
|
+
display: flex;
|
|
55
|
+
}
|
|
56
|
+
:host([alignment=center]) {
|
|
57
|
+
justify-content: center;
|
|
58
|
+
}
|
|
59
|
+
:host([alignment=right]) {
|
|
60
|
+
justify-content: flex-end;
|
|
61
|
+
}
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Value of tab-bar, derived from value of an active tab.
|
|
66
|
+
* @param value Element value
|
|
67
|
+
* @default -
|
|
68
|
+
*/
|
|
69
|
+
set value(value) {
|
|
70
|
+
value = typeof value === 'string' ? value : String(value);
|
|
71
|
+
const oldValue = this._value;
|
|
72
|
+
if (value !== oldValue && this.isValidValue(value)) {
|
|
73
|
+
this._value = value;
|
|
74
|
+
this.activateTab(value);
|
|
75
|
+
this.requestUpdate('value', oldValue);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
get value() {
|
|
79
|
+
return this._value;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Called after the element’s DOM has been updated the first time.
|
|
83
|
+
* register scroll event on content element to toggle scroll button
|
|
84
|
+
* @param changedProperties Properties that has changed
|
|
85
|
+
* @returns {void}
|
|
86
|
+
*/
|
|
87
|
+
firstUpdated(changedProperties) {
|
|
88
|
+
super.firstUpdated(changedProperties);
|
|
89
|
+
this.content.addEventListener('scroll', () => {
|
|
90
|
+
// Clear our timeout throughout the scroll
|
|
91
|
+
window.clearTimeout(this.isScrolling);
|
|
92
|
+
// Set a timeout to run after scrolling ends
|
|
93
|
+
this.isScrolling = window.setTimeout(() => {
|
|
94
|
+
this.toggleScrollButton(this.content.clientWidth);
|
|
95
|
+
}, 66); // equal 15 fps for compatibility
|
|
96
|
+
});
|
|
97
|
+
this.addEventListener('tap', this.onTap);
|
|
98
|
+
this.addEventListener('keydown', this.onKeyDown);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Called when the element’s DOM has been updated and rendered
|
|
102
|
+
* @param changedProperties Properties that has changed
|
|
103
|
+
* @returns {void}
|
|
104
|
+
*/
|
|
105
|
+
updated(changedProperties) {
|
|
106
|
+
if (changedProperties.has('level')) {
|
|
107
|
+
this.setLevel();
|
|
108
|
+
}
|
|
109
|
+
super.updated(changedProperties);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* private method but can't override
|
|
113
|
+
* access modifiers in typescript.
|
|
114
|
+
* @ignore
|
|
115
|
+
* @param size element dimensions
|
|
116
|
+
* @returns {void}
|
|
117
|
+
*/
|
|
118
|
+
resizedCallback(size) {
|
|
119
|
+
if (!this.vertical) {
|
|
120
|
+
this.toggleScrollButton(size.width);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Return true if incoming value matches one of the existing tabs
|
|
125
|
+
* @param value Value to check
|
|
126
|
+
* @returns true if incoming value matches one of the existing tabs
|
|
127
|
+
*/
|
|
128
|
+
isValidValue(value) {
|
|
129
|
+
const tabList = this.getFocusableTabs();
|
|
130
|
+
return tabList.some(tab => this.getTabValue(tab) === value);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* When the slot changes, set the level, toggle the scroll button, and set the value
|
|
134
|
+
* @returns {void}
|
|
135
|
+
*/
|
|
136
|
+
onSlotChange() {
|
|
137
|
+
const tabList = this.getFocusableTabs();
|
|
138
|
+
if (tabList.length < 1) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
this.setLevel();
|
|
142
|
+
// get tab value from active tab
|
|
143
|
+
const activeTab = tabList.find(tab => tab.active) || tabList[0];
|
|
144
|
+
if (activeTab) {
|
|
145
|
+
this.value = this.getTabValue(activeTab);
|
|
146
|
+
}
|
|
147
|
+
this.manageTabIndex();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Mark tab as active
|
|
151
|
+
* @param value value of tab to select
|
|
152
|
+
* @returns {void}
|
|
153
|
+
*/
|
|
154
|
+
activateTab(value) {
|
|
155
|
+
if (!value) {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
let hasActiveTab = false;
|
|
159
|
+
const tabList = this.getTabElements(); // get all tab elements include disabled tab
|
|
160
|
+
tabList.forEach(tab => {
|
|
161
|
+
const tabValue = this.getTabValue(tab);
|
|
162
|
+
// only mark tab as active once
|
|
163
|
+
if (tabValue === value && !hasActiveTab && !tab.disabled) {
|
|
164
|
+
tab.active = true;
|
|
165
|
+
hasActiveTab = true;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
tab.active = false;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Set tab value and fires `tab-changed` event
|
|
174
|
+
* @param event - Event
|
|
175
|
+
* @returns {void}
|
|
176
|
+
*/
|
|
177
|
+
onTap(event) {
|
|
178
|
+
if (event.defaultPrevented) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const element = event.target;
|
|
182
|
+
if (element instanceof Tab) {
|
|
183
|
+
const tabValue = this.getTabValue(element);
|
|
184
|
+
if (tabValue !== this.value) {
|
|
185
|
+
this.value = this.getTabValue(element);
|
|
186
|
+
this.notifyPropertyChange('value', tabValue);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Get the value of a tab
|
|
192
|
+
* @param tab - The tab element.
|
|
193
|
+
* @returns The value of the tab.
|
|
194
|
+
*/
|
|
195
|
+
getTabValue(tab) {
|
|
196
|
+
return tab.value || (tab.hasAttribute('value') ? '' : this.getTabLabel(tab));
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Return the tab's label, or its textContent, or an empty string
|
|
200
|
+
* @param tab - The tab element.
|
|
201
|
+
* @returns The tab label.
|
|
202
|
+
*/
|
|
203
|
+
getTabLabel(tab) {
|
|
204
|
+
return tab.label || tab.textContent || '';
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get Tab elements from slot
|
|
208
|
+
* @returns the array of Tab
|
|
209
|
+
*/
|
|
210
|
+
getTabElements() {
|
|
211
|
+
const tabs = [];
|
|
212
|
+
for (const child of this.children) {
|
|
213
|
+
if (child instanceof Tab) {
|
|
214
|
+
tabs.push(child);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return tabs;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get focusable tab elements
|
|
221
|
+
* @returns the array of focusable tab
|
|
222
|
+
*/
|
|
223
|
+
getFocusableTabs() {
|
|
224
|
+
return this.getTabElements().filter(tab => !tab.disabled);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Set tab level attribute accordingly
|
|
228
|
+
* @returns {void}
|
|
229
|
+
*/
|
|
230
|
+
setLevel() {
|
|
231
|
+
const tabList = this.getTabElements(); // get all tab elements include disabled tab
|
|
232
|
+
tabList === null || tabList === void 0 ? void 0 : tabList.forEach((tab) => {
|
|
233
|
+
tab.level = this.level;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Hide/Show scroll button when element is overflow.
|
|
238
|
+
* @param elementWidth width of element
|
|
239
|
+
* @returns {void}
|
|
240
|
+
*/
|
|
241
|
+
toggleScrollButton(elementWidth) {
|
|
242
|
+
if (this.vertical) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
const { scrollLeft, scrollWidth } = this.content;
|
|
246
|
+
const leftBtnStyle = scrollLeft > 0 ? 'flex' : 'none';
|
|
247
|
+
const rightBtnStyle = scrollWidth - scrollLeft - elementWidth > 1 ? 'flex' : 'none';
|
|
248
|
+
this.leftBtn.style.setProperty('display', leftBtnStyle);
|
|
249
|
+
this.rightBtn.style.setProperty('display', rightBtnStyle);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Update scroll position when clicked on left button
|
|
253
|
+
* @returns {void}
|
|
254
|
+
*/
|
|
255
|
+
handleScrollLeft() {
|
|
256
|
+
const { scrollLeft } = this.content;
|
|
257
|
+
const availableScrollLeft = scrollLeft;
|
|
258
|
+
let endPosition = scrollLeft - BAR_TRAVEL_DISTANCE;
|
|
259
|
+
// If the space available is less than one half lots of our desired distance, just move to the leftest
|
|
260
|
+
if (availableScrollLeft < BAR_TRAVEL_DISTANCE * 1.5) {
|
|
261
|
+
endPosition = 0;
|
|
262
|
+
}
|
|
263
|
+
tweenAnimate({ target: this.content, startPosition: scrollLeft, endPosition });
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Update scroll position when clicked on right button
|
|
267
|
+
* @returns {void}
|
|
268
|
+
*/
|
|
269
|
+
handleScrollRight() {
|
|
270
|
+
const { scrollLeft, scrollWidth, clientWidth } = this.content;
|
|
271
|
+
const availableScrollRight = scrollWidth - (scrollLeft + clientWidth);
|
|
272
|
+
let endPosition = scrollLeft + BAR_TRAVEL_DISTANCE;
|
|
273
|
+
// If the space available is less than one half lots of our desired distance, just move the whole amount
|
|
274
|
+
if (availableScrollRight < BAR_TRAVEL_DISTANCE * 1.5) {
|
|
275
|
+
endPosition = scrollLeft + availableScrollRight;
|
|
276
|
+
}
|
|
277
|
+
tweenAnimate({ target: this.content, startPosition: scrollLeft, endPosition });
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Focus and set active to tab
|
|
281
|
+
* @param tab - The element that was clicked.
|
|
282
|
+
* @return {void}
|
|
283
|
+
*/
|
|
284
|
+
focusAndSetActiveTab(tab) {
|
|
285
|
+
tab.focus();
|
|
286
|
+
tab.scrollIntoView({ block: 'nearest' });
|
|
287
|
+
this.value = this.getTabValue(tab);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Navigate to first focusable tab of the tab bar
|
|
291
|
+
* @returns {void}
|
|
292
|
+
*/
|
|
293
|
+
first() {
|
|
294
|
+
const tabList = this.getFocusableTabs();
|
|
295
|
+
if (tabList.length <= 0) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
this.focusAndSetActiveTab(tabList[0]);
|
|
299
|
+
this.rovingTabIndex(tabList[0], tabList);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Navigate to last focusable tab of the tab bar
|
|
303
|
+
* @returns {void}
|
|
304
|
+
*/
|
|
305
|
+
last() {
|
|
306
|
+
const tabList = this.getFocusableTabs();
|
|
307
|
+
if (tabList.length <= 0) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
const lastTab = tabList[tabList.length - 1];
|
|
311
|
+
this.focusAndSetActiveTab(lastTab);
|
|
312
|
+
this.rovingTabIndex(lastTab, tabList);
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Navigate to next or previous focusable tab
|
|
316
|
+
* @param direction up/next; down/previous
|
|
317
|
+
* @returns {void}
|
|
318
|
+
*/
|
|
319
|
+
navigateToSibling(direction) {
|
|
320
|
+
const tabList = this.getFocusableTabs();
|
|
321
|
+
if (tabList.length <= 0) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
const focusedTabIndex = tabList.findIndex(tab => tab === document.activeElement);
|
|
325
|
+
const nextTab = direction === 'next'
|
|
326
|
+
? tabList[focusedTabIndex + 1] || tabList[0]
|
|
327
|
+
: tabList[focusedTabIndex - 1] || tabList[tabList.length - 1];
|
|
328
|
+
this.focusAndSetActiveTab(nextTab);
|
|
329
|
+
this.rovingTabIndex(nextTab, tabList);
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Handles key down event
|
|
333
|
+
* @param event Key down event object
|
|
334
|
+
* @returns {void}
|
|
335
|
+
*/
|
|
336
|
+
onKeyDown(event) {
|
|
337
|
+
if (event.defaultPrevented) {
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
switch (event.key) {
|
|
341
|
+
case 'Right':
|
|
342
|
+
case 'Down':
|
|
343
|
+
case 'ArrowRight':
|
|
344
|
+
case 'ArrowDown':
|
|
345
|
+
this.navigateToSibling('next');
|
|
346
|
+
break;
|
|
347
|
+
case 'Left':
|
|
348
|
+
case 'Up':
|
|
349
|
+
case 'ArrowLeft':
|
|
350
|
+
case 'ArrowUp':
|
|
351
|
+
this.navigateToSibling('previous');
|
|
352
|
+
break;
|
|
353
|
+
case 'Home':
|
|
354
|
+
this.first();
|
|
355
|
+
break;
|
|
356
|
+
case 'End':
|
|
357
|
+
this.last();
|
|
358
|
+
break;
|
|
359
|
+
default:
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
event.preventDefault();
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Sets the tabindex to -1 for all tabs except the active tab.
|
|
366
|
+
* @param target the tab to be focused
|
|
367
|
+
* @param tabList Array of tabs that contains target
|
|
368
|
+
* @returns {void}
|
|
369
|
+
*/
|
|
370
|
+
rovingTabIndex(target, tabList) {
|
|
371
|
+
tabList.forEach((tab) => {
|
|
372
|
+
tab.tabIndex = -1;
|
|
373
|
+
});
|
|
374
|
+
target.tabIndex = 0;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Set tabIndex to all tabs
|
|
378
|
+
* @returns {void}
|
|
379
|
+
*/
|
|
380
|
+
manageTabIndex() {
|
|
381
|
+
const tabList = this.getFocusableTabs();
|
|
382
|
+
if (tabList && tabList.length > 0) {
|
|
383
|
+
const focusedTabIndex = tabList.findIndex(tab => tab.active);
|
|
384
|
+
this.rovingTabIndex(tabList[focusedTabIndex], tabList);
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* A `TemplateResult` that will be used
|
|
389
|
+
* to render the updated internal template.
|
|
390
|
+
* @return Render template
|
|
391
|
+
*/
|
|
392
|
+
render() {
|
|
393
|
+
return html `
|
|
394
|
+
${!this.vertical ? html `<ef-button tabIndex="-1" icon="left" part="left-btn" @tap=${this.handleScrollLeft}></ef-button>` : null}
|
|
395
|
+
<div part="content">
|
|
396
|
+
<slot @slotchange=${this.onSlotChange}></slot>
|
|
397
|
+
</div>
|
|
398
|
+
${!this.vertical ? html `<ef-button tabIndex="-1" icon="right" part="right-btn" @tap=${this.handleScrollRight}></ef-button>` : null}
|
|
399
|
+
`;
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
__decorate([
|
|
403
|
+
property({ type: String, reflect: true })
|
|
404
|
+
], TabBar.prototype, "alignment", void 0);
|
|
405
|
+
__decorate([
|
|
406
|
+
property({ type: String, reflect: true })
|
|
407
|
+
], TabBar.prototype, "level", void 0);
|
|
408
|
+
__decorate([
|
|
409
|
+
property({ type: Boolean, reflect: true })
|
|
410
|
+
], TabBar.prototype, "vertical", void 0);
|
|
411
|
+
__decorate([
|
|
412
|
+
property({ type: String, attribute: false })
|
|
413
|
+
], TabBar.prototype, "value", null);
|
|
414
|
+
__decorate([
|
|
415
|
+
query('[part="content"')
|
|
416
|
+
], TabBar.prototype, "content", void 0);
|
|
417
|
+
__decorate([
|
|
418
|
+
query('[part="left-btn"]')
|
|
419
|
+
], TabBar.prototype, "leftBtn", void 0);
|
|
420
|
+
__decorate([
|
|
421
|
+
query('[part="right-btn"]')
|
|
422
|
+
], TabBar.prototype, "rightBtn", void 0);
|
|
423
|
+
TabBar = __decorate([
|
|
424
|
+
customElement('ef-tab-bar', {
|
|
425
|
+
alias: 'coral-tab-bar'
|
|
426
|
+
})
|
|
427
|
+
], TabBar);
|
|
428
|
+
export { TabBar };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tab/themes/halo/dark';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/button/themes/halo/dark';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-tab-bar', ':host{position:relative;background-color:#1a1a1a}:host [part=content]{display:flex;overflow:hidden}:host [part=left-btn],:host [part=right-btn]{display:none;position:absolute;height:auto;margin:auto;z-index:2;top:0;bottom:0;background-color:#404040;width:36px;border:none}:host [part=left-btn]:hover,:host [part=right-btn]:hover{background-color:#334bff}:host [part=left-btn]:active,:host [part=right-btn]:active{background-color:#0f1e8a}:host [part=left-btn]:focus:not([focused]),:host [part=left-btn][focused=visible],:host [part=right-btn]:focus:not([focused]),:host [part=right-btn][focused=visible]{background-color:#4158ff}:host [part=left-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=left-btn][focused=visible]:not([active]):not(:hover),:host [part=right-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=right-btn][focused=visible]:not([active]):not(:hover){color:#6678ff;background-color:#404040}:host [part=left-btn]{left:0}:host [part=right-btn]{right:0}:host([vertical]){width:180px;flex-shrink:0}:host([vertical]) [part=content]{flex-direction:column}:host([vertical]) [part=content] ::slotted(ef-tab){justify-content:flex-start;border-bottom:1px solid #404040}:host [part=left-btn]::after,:host [part=right-btn]::after{content:\'\';position:absolute;margin:auto;width:1px;background:#404040;height:70%;top:0;bottom:0}:host([level="1"]) [part=left-btn]::after,:host([level="1"]) [part=right-btn]::after{content:none}:host([level="1"]) [part=left-btn]{border-right:1px solid #0d0d0d}:host([level="1"]) [part=right-btn]{border-left:1px solid #0d0d0d}:host([level="2"]) [part=left-btn]::after,:host([level="3"]) [part=left-btn]::after{right:0}:host([level="2"]) [part=right-btn]::after,:host([level="3"]) [part=right-btn]::after{left:0}:host([level="2"]) [part=left-btn]:not(:active):not(:hover),:host([level="2"]) [part=right-btn]:not(:active):not(:hover){background-color:#262626}:host([level="2"]) [part=left-btn]::after,:host([level="2"]) [part=right-btn]::after{height:70%}:host([level="3"]) [part=left-btn],:host([level="3"]) [part=right-btn]{border-color:transparent}:host([level="3"]) [part=left-btn]:not(:active):not(:hover),:host([level="3"]) [part=right-btn]:not(:active):not(:hover){background-color:#0d0d0d}:host([level="3"]) [part=left-btn]::after,:host([level="3"]) [part=right-btn]::after{height:30%}:host([vertical]) [part=content] ::slotted(ef-tab){border-bottom-color:transparent;border-right:none!important;background:linear-gradient(#1a1a1a,#1a1a1a) left calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#1a1a1a,#1a1a1a) right calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#404040,#404040) center calc(100% + 1px)/100% 1px no-repeat}:host([vertical]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)){background:linear-gradient(#0d0d0d,#0d0d0d) left calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#0d0d0d,#0d0d0d) right calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#404040,#404040) center calc(100% + 1px)/100% 1px no-repeat}:host([vertical]) [part=content] ::slotted(ef-tab:not([active]):not(:active):not(:hover)){background-color:#1a1a1a}:host([vertical]) [part=content] ::slotted(ef-tab:hover){color:#fff;background-color:#334bff}:host([vertical]) [part=content] ::slotted(ef-tab:active){background-color:#0f1e8a}:host([vertical][level="1"]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)),:host([vertical][level="3"]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)){color:#6678ff;background-color:#0d0d0d}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tab/themes/halo/light';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/button/themes/halo/light';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-tab-bar', ':host{position:relative;background-color:#f2f2f2}:host [part=content]{display:flex;overflow:hidden}:host [part=left-btn],:host [part=right-btn]{display:none;position:absolute;height:auto;margin:auto;z-index:2;top:0;bottom:0;background-color:#e6e6e6;width:36px;border:none}:host [part=left-btn]:hover,:host [part=right-btn]:hover{background-color:#334bff}:host [part=left-btn]:active,:host [part=right-btn]:active{background-color:#0f1e8a}:host [part=left-btn]:focus:not([focused]),:host [part=left-btn][focused=visible],:host [part=right-btn]:focus:not([focused]),:host [part=right-btn][focused=visible]{background-color:#4158ff}:host [part=left-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=left-btn][focused=visible]:not([active]):not(:hover),:host [part=right-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=right-btn][focused=visible]:not([active]):not(:hover){color:#6678ff;background-color:#e6e6e6}:host [part=left-btn]{left:0}:host [part=right-btn]{right:0}:host([vertical]){width:180px;flex-shrink:0}:host([vertical]) [part=content]{flex-direction:column}:host([vertical]) [part=content] ::slotted(ef-tab){justify-content:flex-start;border-bottom:1px solid #d9d9d9}:host [part=left-btn]::after,:host [part=right-btn]::after{content:\'\';position:absolute;margin:auto;width:1px;background:#d9d9d9;height:70%;top:0;bottom:0}:host([level="1"]) [part=left-btn]::after,:host([level="1"]) [part=right-btn]::after{content:none}:host([level="1"]) [part=left-btn]{border-right:1px solid #fff}:host([level="1"]) [part=right-btn]{border-left:1px solid #fff}:host([level="2"]) [part=left-btn]::after,:host([level="3"]) [part=left-btn]::after{right:0}:host([level="2"]) [part=right-btn]::after,:host([level="3"]) [part=right-btn]::after{left:0}:host([level="2"]) [part=left-btn]:not(:active):not(:hover),:host([level="2"]) [part=right-btn]:not(:active):not(:hover){background-color:#f2f2f2}:host([level="2"]) [part=left-btn]::after,:host([level="2"]) [part=right-btn]::after{height:70%}:host([level="3"]) [part=left-btn],:host([level="3"]) [part=right-btn]{border-color:transparent}:host([level="3"]) [part=left-btn]:not(:active):not(:hover),:host([level="3"]) [part=right-btn]:not(:active):not(:hover){background-color:#fff}:host([level="3"]) [part=left-btn]::after,:host([level="3"]) [part=right-btn]::after{height:30%}:host([vertical]) [part=content] ::slotted(ef-tab){border-bottom-color:transparent;border-right:none!important;background:linear-gradient(#f2f2f2,#f2f2f2) left calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#f2f2f2,#f2f2f2) right calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#d9d9d9,#d9d9d9) center calc(100% + 1px)/100% 1px no-repeat}:host([vertical]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)){background:linear-gradient(#fff,#fff) left calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#fff,#fff) right calc(100% + 1px)/2% 1px no-repeat,linear-gradient(#d9d9d9,#d9d9d9) center calc(100% + 1px)/100% 1px no-repeat}:host([vertical]) [part=content] ::slotted(ef-tab:not([active]):not(:active):not(:hover)){background-color:#f2f2f2}:host([vertical]) [part=content] ::slotted(ef-tab:hover){color:#fff;background-color:#334bff}:host([vertical]) [part=content] ::slotted(ef-tab:active){background-color:#0f1e8a}:host([vertical][level="1"]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)),:host([vertical][level="3"]) [part=content] ::slotted(ef-tab[active]:not(:active):not(:hover)){color:#334bff;background-color:#fff}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tab/themes/solar/charcoal';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/button/themes/solar/charcoal';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-tab-bar', ':host{position:relative;background-color:#151516}:host [part=content]{display:flex;overflow:hidden}:host [part=left-btn],:host [part=right-btn]{display:none;position:absolute;height:auto;margin:auto;z-index:2;top:0;bottom:0;background-color:#3c3c42}:host [part=left-btn]:hover,:host [part=right-btn]:hover{background-color:#4a4a4f}:host [part=left-btn]:active,:host [part=right-btn]:active{background-color:#38383d}:host [part=left-btn]:focus:not([focused]),:host [part=left-btn][focused=visible],:host [part=right-btn]:focus:not([focused]),:host [part=right-btn][focused=visible]{background-color:#ffa041}:host [part=left-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=left-btn][focused=visible]:not([active]):not(:hover),:host [part=right-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=right-btn][focused=visible]:not([active]):not(:hover){color:#e2e2e2;background-color:#3c3c42}:host [part=left-btn]{left:0}:host [part=right-btn]{right:0}:host([vertical]){width:180px;flex-shrink:0}:host([vertical]) [part=content]{flex-direction:column}:host([vertical]) [part=content] ::slotted(ef-tab){justify-content:flex-start;border:none;border-bottom:1px solid #000}:host(:not([vertical])) [part=content] ::slotted(ef-tab:first-of-type){border-left:1px solid #000}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/tab/themes/solar/pearl';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/button/themes/solar/pearl';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-tab-bar', ':host{position:relative;background-color:#c2c2c2}:host [part=content]{display:flex;overflow:hidden}:host [part=left-btn],:host [part=right-btn]{display:none;position:absolute;height:auto;margin:auto;z-index:2;top:0;bottom:0;background-color:#fafbfc}:host [part=left-btn]:hover,:host [part=right-btn]:hover{background-color:#fafbfc}:host [part=left-btn]:active,:host [part=right-btn]:active{background-color:#e8e9ea}:host [part=left-btn]:focus:not([focused]),:host [part=left-btn][focused=visible],:host [part=right-btn]:focus:not([focused]),:host [part=right-btn][focused=visible]{background-color:#ffb771}:host [part=left-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=left-btn][focused=visible]:not([active]):not(:hover),:host [part=right-btn]:focus:not([focused]):not([active]):not(:hover),:host [part=right-btn][focused=visible]:not([active]):not(:hover){color:#1d1d1d;background-color:#fafbfc}:host [part=left-btn]{left:0}:host [part=right-btn]{right:0}:host([vertical]){width:180px;flex-shrink:0}:host([vertical]) [part=content]{flex-direction:column}:host([vertical]) [part=content] ::slotted(ef-tab){justify-content:flex-start;border:none;border-bottom:1px solid #a9afba}:host(:not([vertical])) [part=content] ::slotted(ef-tab:first-of-type){border-left:1px solid #a9afba}');
|