@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,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/canvas/themes/halo/dark';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/halo/dark';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#F5475B;--mid-point-color:#1A1A1A;--above-point-color:#39C46E;background-color:#1a1a1a;--below-point-color:#F5475B;--mid-point-color:#FFFFFF;--above-point-color:#39C46E}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{color:#ccc;background-color:#262626}:host [part=canvas]{color:#000}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/canvas/themes/halo/light';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/halo/light';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#B63243;--mid-point-color:#FAFAFA;--above-point-color:#246B3E;background-color:#fafafa;--below-point-color:#D94255;--mid-point-color:#FFFFFF;--above-point-color:#309054}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{color:#404040;background-color:#f2f2f2}:host [part=canvas]{color:#fff}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/canvas/themes/solar/charcoal';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/solar/charcoal';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#F5475B;--mid-point-color:#1A1A1C;--above-point-color:#39C46E;background-color:#1a1a1c}:host [part=canvas]{color:rgba(255,255,255,.8)}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{background-color:#212124;color:#c2c2c2}');
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import '@refinitiv-ui/elements/lib/canvas/themes/solar/pearl';
|
|
2
|
+
import '@refinitiv-ui/elements/lib/tooltip/themes/solar/pearl';
|
|
3
|
+
|
|
4
|
+
elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#D94255;--mid-point-color:#FFFFFF;--above-point-color:#309054;background-color:#fff}:host [part=canvas]{color:rgba(0,0,0,.8)}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{background-color:#e4e8ed;color:#484848}');
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "experimental",
|
|
3
|
+
"tags": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ef-icon",
|
|
6
|
+
"attributes": [
|
|
7
|
+
{
|
|
8
|
+
"name": "icon",
|
|
9
|
+
"description": "Name of a known icon to render or URL of SVG icon.",
|
|
10
|
+
"type": "string | null"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "src",
|
|
14
|
+
"description": "Src location of an svg icon.",
|
|
15
|
+
"type": "string | null",
|
|
16
|
+
"deprecatedMessage": "Use `icon` instead"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"properties": [
|
|
20
|
+
{
|
|
21
|
+
"name": "icon",
|
|
22
|
+
"attribute": "icon",
|
|
23
|
+
"description": "Name of a known icon to render or URL of SVG icon.",
|
|
24
|
+
"type": "string | null"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "src",
|
|
28
|
+
"attribute": "src",
|
|
29
|
+
"description": "Src location of an svg icon.",
|
|
30
|
+
"type": "string | null",
|
|
31
|
+
"deprecatedMessage": "Use `icon` instead"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# ef-icon
|
|
2
|
+
|
|
3
|
+
## Properties
|
|
4
|
+
|
|
5
|
+
| Property | Attribute | Type | Description |
|
|
6
|
+
|----------|-----------|------------------|--------------------------------------------------|
|
|
7
|
+
| `icon` | `icon` | `string \| null` | Name of a known icon to render or URL of SVG icon. |
|
|
8
|
+
| `src` | `src` | `string \| null` | Src location of an svg icon. |
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { JSXInterface } from '../jsx';
|
|
2
|
+
import { BasicElement, CSSResultGroup, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
|
|
3
|
+
export { preload } from './utils/IconLoader.js';
|
|
4
|
+
export declare class Icon extends BasicElement {
|
|
5
|
+
/**
|
|
6
|
+
* Element version number
|
|
7
|
+
* @returns version number
|
|
8
|
+
*/
|
|
9
|
+
static get version(): string;
|
|
10
|
+
/**
|
|
11
|
+
* A `CSSResultGroup` that will be used
|
|
12
|
+
* to style the host, slotted children
|
|
13
|
+
* and the internal template of the element.
|
|
14
|
+
* @return CSS template
|
|
15
|
+
*/
|
|
16
|
+
static get styles(): CSSResultGroup;
|
|
17
|
+
private _icon;
|
|
18
|
+
/**
|
|
19
|
+
* Name of a known icon to render or URL of SVG icon.
|
|
20
|
+
* @example heart | https://cdn.io/icons/heart.svg
|
|
21
|
+
*/
|
|
22
|
+
get icon(): string | null;
|
|
23
|
+
set icon(value: string | null);
|
|
24
|
+
private _src;
|
|
25
|
+
/**
|
|
26
|
+
* Src location of an svg icon.
|
|
27
|
+
* @example https://cdn.io/icons/heart.svg
|
|
28
|
+
* @deprecated Use `icon` instead
|
|
29
|
+
*/
|
|
30
|
+
get src(): string | null;
|
|
31
|
+
set src(value: string | null);
|
|
32
|
+
private _template;
|
|
33
|
+
/**
|
|
34
|
+
* The icon template to render
|
|
35
|
+
*/
|
|
36
|
+
private get template();
|
|
37
|
+
private set template(value);
|
|
38
|
+
/**
|
|
39
|
+
* Called after the component is first rendered
|
|
40
|
+
* @param changedProperties Properties which have changed
|
|
41
|
+
* @returns {void}
|
|
42
|
+
*/
|
|
43
|
+
protected firstUpdated(changedProperties: PropertyValues): void;
|
|
44
|
+
/**
|
|
45
|
+
* Helper method, used to set the icon src.
|
|
46
|
+
* @returns {void}
|
|
47
|
+
*/
|
|
48
|
+
private setIconSrc;
|
|
49
|
+
/**
|
|
50
|
+
* Tries to load an icon from the url provided
|
|
51
|
+
* and the renders this into the icon template.
|
|
52
|
+
* @param src Source location of the svg icon.
|
|
53
|
+
* @returns {void}
|
|
54
|
+
*/
|
|
55
|
+
private loadAndRenderIcon;
|
|
56
|
+
/**
|
|
57
|
+
* Get and cache CDN prefix
|
|
58
|
+
* This is a private URL which is set in the theme
|
|
59
|
+
* and should not be configured again via the variable.
|
|
60
|
+
* @returns {void}
|
|
61
|
+
*/
|
|
62
|
+
private setPrefix;
|
|
63
|
+
/**
|
|
64
|
+
* Clears SVG body from the icon template
|
|
65
|
+
* @returns {void}
|
|
66
|
+
*/
|
|
67
|
+
private clearIcon;
|
|
68
|
+
/**
|
|
69
|
+
* A `TemplateResult` that will be used
|
|
70
|
+
* to render the updated internal template.
|
|
71
|
+
* @return Render template
|
|
72
|
+
*/
|
|
73
|
+
protected render(): TemplateResult;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
declare global {
|
|
77
|
+
interface HTMLElementTagNameMap {
|
|
78
|
+
'ef-icon': Icon;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
namespace JSX {
|
|
82
|
+
interface IntrinsicElements {
|
|
83
|
+
'ef-icon': Partial<Icon> | JSXInterface.HTMLAttributes<Icon>;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export {};
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { BasicElement, svg, css } 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 { unsafeSVG } from '@refinitiv-ui/core/lib/directives/unsafe-svg.js';
|
|
6
|
+
import { VERSION } from '../version.js';
|
|
7
|
+
import { IconLoader } from './utils/IconLoader.js';
|
|
8
|
+
export { preload } from './utils/IconLoader.js';
|
|
9
|
+
const EmptyTemplate = svg ``;
|
|
10
|
+
/**
|
|
11
|
+
* Cache for reusing SVG template results across multiple icons.
|
|
12
|
+
* Reusing these templates increases performance dramatically when many icons are rendered.
|
|
13
|
+
* As the cache key is an absolute URL, we can assume no clashes will occur.
|
|
14
|
+
*/
|
|
15
|
+
const iconTemplateCache = new Map();
|
|
16
|
+
let Icon = class Icon extends BasicElement {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this._icon = null;
|
|
20
|
+
this._src = null;
|
|
21
|
+
this._template = EmptyTemplate;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Element version number
|
|
25
|
+
* @returns version number
|
|
26
|
+
*/
|
|
27
|
+
static get version() {
|
|
28
|
+
return VERSION;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A `CSSResultGroup` that will be used
|
|
32
|
+
* to style the host, slotted children
|
|
33
|
+
* and the internal template of the element.
|
|
34
|
+
* @return CSS template
|
|
35
|
+
*/
|
|
36
|
+
static get styles() {
|
|
37
|
+
return css `
|
|
38
|
+
:host {
|
|
39
|
+
display: inline-block;
|
|
40
|
+
line-height: 1;
|
|
41
|
+
width: 1em;
|
|
42
|
+
height: 1em;
|
|
43
|
+
}
|
|
44
|
+
svg {
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: 100%;
|
|
47
|
+
}
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Name of a known icon to render or URL of SVG icon.
|
|
52
|
+
* @example heart | https://cdn.io/icons/heart.svg
|
|
53
|
+
*/
|
|
54
|
+
get icon() {
|
|
55
|
+
return this._icon;
|
|
56
|
+
}
|
|
57
|
+
set icon(value) {
|
|
58
|
+
const oldValue = this._icon;
|
|
59
|
+
if (oldValue !== value) {
|
|
60
|
+
this._icon = value;
|
|
61
|
+
void this.setIconSrc();
|
|
62
|
+
this.requestUpdate('icon', oldValue);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Src location of an svg icon.
|
|
67
|
+
* @example https://cdn.io/icons/heart.svg
|
|
68
|
+
* @deprecated Use `icon` instead
|
|
69
|
+
*/
|
|
70
|
+
get src() {
|
|
71
|
+
return this._src;
|
|
72
|
+
}
|
|
73
|
+
set src(value) {
|
|
74
|
+
if (this.src !== value) {
|
|
75
|
+
this._src = value;
|
|
76
|
+
this.clearIcon();
|
|
77
|
+
if (value) {
|
|
78
|
+
void this.loadAndRenderIcon(value);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* The icon template to render
|
|
84
|
+
*/
|
|
85
|
+
get template() {
|
|
86
|
+
return this._template;
|
|
87
|
+
}
|
|
88
|
+
set template(value) {
|
|
89
|
+
if (this._template !== value) {
|
|
90
|
+
this._template = value;
|
|
91
|
+
this.requestUpdate();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Called after the component is first rendered
|
|
96
|
+
* @param changedProperties Properties which have changed
|
|
97
|
+
* @returns {void}
|
|
98
|
+
*/
|
|
99
|
+
firstUpdated(changedProperties) {
|
|
100
|
+
super.firstUpdated(changedProperties);
|
|
101
|
+
/**
|
|
102
|
+
* We have to call this here because
|
|
103
|
+
* polyfilled browsers only get variables at this point.
|
|
104
|
+
*/
|
|
105
|
+
this.setPrefix();
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Helper method, used to set the icon src.
|
|
109
|
+
* @returns {void}
|
|
110
|
+
*/
|
|
111
|
+
async setIconSrc() {
|
|
112
|
+
this.src = this.icon ? await IconLoader.getSrc(this.icon) : null;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Tries to load an icon from the url provided
|
|
116
|
+
* and the renders this into the icon template.
|
|
117
|
+
* @param src Source location of the svg icon.
|
|
118
|
+
* @returns {void}
|
|
119
|
+
*/
|
|
120
|
+
async loadAndRenderIcon(src) {
|
|
121
|
+
const iconTemplateCacheItem = iconTemplateCache.get(src);
|
|
122
|
+
if (!iconTemplateCacheItem) {
|
|
123
|
+
iconTemplateCache.set(src, IconLoader.loadSVG(src)
|
|
124
|
+
.then(body => svg `${unsafeSVG(body)}`));
|
|
125
|
+
return this.loadAndRenderIcon(src); // Load again and await cache result
|
|
126
|
+
}
|
|
127
|
+
this.template = await iconTemplateCacheItem;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get and cache CDN prefix
|
|
131
|
+
* This is a private URL which is set in the theme
|
|
132
|
+
* and should not be configured again via the variable.
|
|
133
|
+
* @returns {void}
|
|
134
|
+
*/
|
|
135
|
+
setPrefix() {
|
|
136
|
+
if (!IconLoader.isPrefixSet) {
|
|
137
|
+
const CDNPrefix = this.getComputedVariable('--cdn-prefix')
|
|
138
|
+
.replace(/^('|")|('|")$/g, '');
|
|
139
|
+
IconLoader.setCdnPrefix(CDNPrefix);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Clears SVG body from the icon template
|
|
144
|
+
* @returns {void}
|
|
145
|
+
*/
|
|
146
|
+
clearIcon() {
|
|
147
|
+
this.template = EmptyTemplate;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* A `TemplateResult` that will be used
|
|
151
|
+
* to render the updated internal template.
|
|
152
|
+
* @return Render template
|
|
153
|
+
*/
|
|
154
|
+
render() {
|
|
155
|
+
return this.template;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
__decorate([
|
|
159
|
+
property({ type: String, reflect: true })
|
|
160
|
+
], Icon.prototype, "icon", null);
|
|
161
|
+
__decorate([
|
|
162
|
+
property({ type: String })
|
|
163
|
+
], Icon.prototype, "src", null);
|
|
164
|
+
Icon = __decorate([
|
|
165
|
+
customElement('ef-icon', {
|
|
166
|
+
alias: 'coral-icon'
|
|
167
|
+
})
|
|
168
|
+
], Icon);
|
|
169
|
+
export { Icon };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';font-size:16px}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:non-scaling-stroke}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:none;stroke-width:calc(16px/.01em)}}');
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';font-size:16px}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:non-scaling-stroke}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:none;stroke-width:calc(16px/.01em)}}');
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-solar/resources/icons/\'}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}');
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
|
|
2
|
+
elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-solar/resources/icons/\'}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}');
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { CdnLoader } from '@refinitiv-ui/utils/lib/loader.js';
|
|
2
|
+
/**
|
|
3
|
+
* Caches and provides icon SVGs, Loaded either by name from CDN or directly by URL.
|
|
4
|
+
* Uses singleton pattern
|
|
5
|
+
*/
|
|
6
|
+
declare class IconLoader extends CdnLoader {
|
|
7
|
+
private cdnPrefix;
|
|
8
|
+
private _isPrefixSet;
|
|
9
|
+
/**
|
|
10
|
+
* @returns {boolean} clarify whether prefix has been set or not.
|
|
11
|
+
*/
|
|
12
|
+
get isPrefixSet(): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Sets clarify whether prefix has been set or not
|
|
15
|
+
* @param value - new value that is going to set.
|
|
16
|
+
*/
|
|
17
|
+
set isPrefixSet(value: boolean);
|
|
18
|
+
/**
|
|
19
|
+
* @returns promise, which will be resolved with CDN prefix, once set.
|
|
20
|
+
*/
|
|
21
|
+
getCdnPrefix(): Promise<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Sets CDN prefix to load source.
|
|
24
|
+
* Resolves deferred promise with CDN prefix and sets src used to check whether prefix is already set or not.
|
|
25
|
+
* @param prefix - CDN prefix.
|
|
26
|
+
* @returns {void}
|
|
27
|
+
*/
|
|
28
|
+
setCdnPrefix(prefix: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Creates complete source using CDN prefix and src.
|
|
31
|
+
* Waits for CDN prefix to be set.
|
|
32
|
+
* @param iconName - resource path for download
|
|
33
|
+
* @returns Promise, which will be resolved with complete source.
|
|
34
|
+
*/
|
|
35
|
+
getSrc(iconName: string): Promise<string>;
|
|
36
|
+
/**
|
|
37
|
+
* Loads icon and returns the body of the SVG
|
|
38
|
+
* @param icon Icon name to load
|
|
39
|
+
* @returns SVG body of the response
|
|
40
|
+
*/
|
|
41
|
+
loadSVG(icon: string): Promise<string | undefined>;
|
|
42
|
+
}
|
|
43
|
+
declare const iconLoaderInstance: IconLoader;
|
|
44
|
+
export { iconLoaderInstance as IconLoader };
|
|
45
|
+
/**
|
|
46
|
+
* Helper function to preload set of icons.
|
|
47
|
+
* It could help to reduce icon loading delay when ef-icon has a known set of icons that it can use.
|
|
48
|
+
* @param attrs - list of arguments, representing icons.
|
|
49
|
+
* Could be icon names, complete icon URLs or mix of both.
|
|
50
|
+
* @returns Array of promises, which will be resolved with SVG bodies.
|
|
51
|
+
*/
|
|
52
|
+
export declare const preload: (...attrs: string[]) => Promise<string | undefined>[];
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { CdnLoader, Deferred } from '@refinitiv-ui/utils/lib/loader.js';
|
|
2
|
+
const isUrl = (str) => (/^(https?:\/{2}|\.?\/)/i).test(str);
|
|
3
|
+
/**
|
|
4
|
+
* Caches and provides icon SVGs, Loaded either by name from CDN or directly by URL.
|
|
5
|
+
* Uses singleton pattern
|
|
6
|
+
*/
|
|
7
|
+
class IconLoader extends CdnLoader {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.cdnPrefix = new Deferred();
|
|
11
|
+
this._isPrefixSet = false;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @returns {boolean} clarify whether prefix has been set or not.
|
|
15
|
+
*/
|
|
16
|
+
get isPrefixSet() {
|
|
17
|
+
return this._isPrefixSet;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Sets clarify whether prefix has been set or not
|
|
21
|
+
* @param value - new value that is going to set.
|
|
22
|
+
*/
|
|
23
|
+
set isPrefixSet(value) {
|
|
24
|
+
if (this._isPrefixSet !== value) {
|
|
25
|
+
this._isPrefixSet = value;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @returns promise, which will be resolved with CDN prefix, once set.
|
|
30
|
+
*/
|
|
31
|
+
getCdnPrefix() {
|
|
32
|
+
return this.cdnPrefix.promise;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Sets CDN prefix to load source.
|
|
36
|
+
* Resolves deferred promise with CDN prefix and sets src used to check whether prefix is already set or not.
|
|
37
|
+
* @param prefix - CDN prefix.
|
|
38
|
+
* @returns {void}
|
|
39
|
+
*/
|
|
40
|
+
setCdnPrefix(prefix) {
|
|
41
|
+
if (prefix) {
|
|
42
|
+
this.cdnPrefix.resolve(prefix);
|
|
43
|
+
this.isPrefixSet = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Creates complete source using CDN prefix and src.
|
|
48
|
+
* Waits for CDN prefix to be set.
|
|
49
|
+
* @param iconName - resource path for download
|
|
50
|
+
* @returns Promise, which will be resolved with complete source.
|
|
51
|
+
*/
|
|
52
|
+
async getSrc(iconName) {
|
|
53
|
+
if (isUrl(iconName)) {
|
|
54
|
+
return iconName;
|
|
55
|
+
}
|
|
56
|
+
return iconName ? `${await this.getCdnPrefix()}${iconName}.svg` : '';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Loads icon and returns the body of the SVG
|
|
60
|
+
* @param icon Icon name to load
|
|
61
|
+
* @returns SVG body of the response
|
|
62
|
+
*/
|
|
63
|
+
async loadSVG(icon) {
|
|
64
|
+
if (!icon) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
icon = await this.getSrc(icon);
|
|
68
|
+
const response = await this.load(icon);
|
|
69
|
+
if (response && response.status === 200 && response.getResponseHeader('content-type') === 'image/svg+xml') {
|
|
70
|
+
const container = document.createElement('svg');
|
|
71
|
+
container.innerHTML = response.responseText;
|
|
72
|
+
this.stripUnsafeNodes(...container.children);
|
|
73
|
+
const svgRoot = container.firstElementChild;
|
|
74
|
+
if (svgRoot) {
|
|
75
|
+
svgRoot.setAttribute('focusable', 'false'); /* disable IE11 focus on SVG root element */
|
|
76
|
+
}
|
|
77
|
+
return container.innerHTML;
|
|
78
|
+
}
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const iconLoaderInstance = new IconLoader();
|
|
83
|
+
export { iconLoaderInstance as IconLoader };
|
|
84
|
+
/**
|
|
85
|
+
* Helper function to preload set of icons.
|
|
86
|
+
* It could help to reduce icon loading delay when ef-icon has a known set of icons that it can use.
|
|
87
|
+
* @param attrs - list of arguments, representing icons.
|
|
88
|
+
* Could be icon names, complete icon URLs or mix of both.
|
|
89
|
+
* @returns Array of promises, which will be resolved with SVG bodies.
|
|
90
|
+
*/
|
|
91
|
+
export const preload = (...attrs) => {
|
|
92
|
+
return attrs.map(icon => iconLoaderInstance.loadSVG(icon));
|
|
93
|
+
};
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "experimental",
|
|
3
|
+
"tags": [
|
|
4
|
+
{
|
|
5
|
+
"name": "ef-interactive-chart",
|
|
6
|
+
"description": "A charting component that allows you to create several use cases of financial chart.\nBy lightweight-charts library.",
|
|
7
|
+
"attributes": [
|
|
8
|
+
{
|
|
9
|
+
"name": "config",
|
|
10
|
+
"description": "Chart configurations for init chart",
|
|
11
|
+
"type": "InteractiveChartConfig"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"name": "disabled-legend",
|
|
15
|
+
"description": "Hide legend",
|
|
16
|
+
"type": "boolean",
|
|
17
|
+
"default": "false"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "disabled-jump-button",
|
|
21
|
+
"description": "Hide jump to latest data button",
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"default": "false"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"name": "legend-style",
|
|
27
|
+
"description": "Set legend style i.e. `horizontal`, `vertical`.\nDefault is `vertical`.",
|
|
28
|
+
"type": "\"vertical\" | \"horizontal\""
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"properties": [
|
|
32
|
+
{
|
|
33
|
+
"name": "config",
|
|
34
|
+
"attribute": "config",
|
|
35
|
+
"description": "Chart configurations for init chart",
|
|
36
|
+
"type": "InteractiveChartConfig"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "disabledLegend",
|
|
40
|
+
"attribute": "disabled-legend",
|
|
41
|
+
"description": "Hide legend",
|
|
42
|
+
"type": "boolean",
|
|
43
|
+
"default": "false"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "disabledJumpButton",
|
|
47
|
+
"attribute": "disabled-jump-button",
|
|
48
|
+
"description": "Hide jump to latest data button",
|
|
49
|
+
"type": "boolean",
|
|
50
|
+
"default": "false"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "legendStyle",
|
|
54
|
+
"attribute": "legend-style",
|
|
55
|
+
"description": "Set legend style i.e. `horizontal`, `vertical`.\nDefault is `vertical`.",
|
|
56
|
+
"type": "\"vertical\" | \"horizontal\""
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "seriesList",
|
|
60
|
+
"description": "Array of series instances in chart",
|
|
61
|
+
"type": "object",
|
|
62
|
+
"default": "[]"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"events": [
|
|
66
|
+
{
|
|
67
|
+
"name": "initialized",
|
|
68
|
+
"description": "Dispatched when chart is initialized"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"slots": [
|
|
72
|
+
{
|
|
73
|
+
"name": "legend",
|
|
74
|
+
"description": "Slot to use for implementing custom legend."
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"methods": [
|
|
78
|
+
{
|
|
79
|
+
"name": "colors",
|
|
80
|
+
"description": "List of available chart colors from the theme.",
|
|
81
|
+
"params": []
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# ef-interactive-chart
|
|
2
|
+
|
|
3
|
+
A charting component that allows you to create several use cases of financial chart.
|
|
4
|
+
By lightweight-charts library.
|
|
5
|
+
|
|
6
|
+
## Properties
|
|
7
|
+
|
|
8
|
+
| Property | Attribute | Type | Default | Description |
|
|
9
|
+
|----------------------|------------------------|------------------------------|---------|--------------------------------------------------|
|
|
10
|
+
| `config` | `config` | `InteractiveChartConfig` | null | Chart configurations for init chart |
|
|
11
|
+
| `disabledJumpButton` | `disabled-jump-button` | `boolean` | false | Hide jump to latest data button |
|
|
12
|
+
| `disabledLegend` | `disabled-legend` | `boolean` | false | Hide legend |
|
|
13
|
+
| `legendStyle` | `legend-style` | `"vertical" \| "horizontal"` | | Set legend style i.e. `horizontal`, `vertical`.<br />Default is `vertical`. |
|
|
14
|
+
| `seriesList` | | `object` | [] | Array of series instances in chart |
|
|
15
|
+
|
|
16
|
+
## Methods
|
|
17
|
+
|
|
18
|
+
| Method | Type | Description |
|
|
19
|
+
|----------|--------------|------------------------------------------------|
|
|
20
|
+
| `colors` | `(): object` | List of available chart colors from the theme. |
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
| Event | Description |
|
|
25
|
+
|---------------|--------------------------------------|
|
|
26
|
+
| `initialized` | Dispatched when chart is initialized |
|
|
27
|
+
|
|
28
|
+
## Slots
|
|
29
|
+
|
|
30
|
+
| Name | Description |
|
|
31
|
+
|----------|---------------------------------------------|
|
|
32
|
+
| `legend` | Slot to use for implementing custom legend. |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare type UnknownObject = {
|
|
2
|
+
[key: string]: unknown;
|
|
3
|
+
};
|
|
4
|
+
declare type MergeObject = UnknownObject | Array<unknown>;
|
|
5
|
+
/**
|
|
6
|
+
* Merge objects recursively
|
|
7
|
+
*
|
|
8
|
+
* @param {MergeObject} object The destination object.
|
|
9
|
+
* @param {MergeObject} sources The source objects.
|
|
10
|
+
* @param {boolean} force Force merge if a key of destination object is already exists and a value is not object
|
|
11
|
+
* @param {MergeObject[]} record The record object which record merged objects recursively
|
|
12
|
+
* @returns voids
|
|
13
|
+
*/
|
|
14
|
+
declare const merge: (object: MergeObject, sources: MergeObject, force?: boolean, record?: Array<unknown>) => void;
|
|
15
|
+
export { merge, MergeObject };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge objects recursively
|
|
3
|
+
*
|
|
4
|
+
* @param {MergeObject} object The destination object.
|
|
5
|
+
* @param {MergeObject} sources The source objects.
|
|
6
|
+
* @param {boolean} force Force merge if a key of destination object is already exists and a value is not object
|
|
7
|
+
* @param {MergeObject[]} record The record object which record merged objects recursively
|
|
8
|
+
* @returns voids
|
|
9
|
+
*/
|
|
10
|
+
const merge = (object, sources, force = false, record = []) => {
|
|
11
|
+
let value;
|
|
12
|
+
let isObject;
|
|
13
|
+
Object.keys(sources).forEach((key, i) => {
|
|
14
|
+
// Get value and info from merging object
|
|
15
|
+
value = Array.isArray(sources) ? sources[i] : sources[key];
|
|
16
|
+
isObject = (value && typeof value === 'object' && value.toString() === '[object Object]');
|
|
17
|
+
// Merge if found a new key from source or has a force command
|
|
18
|
+
if (!(key in object) || (force && !isObject)) {
|
|
19
|
+
object[key] = value;
|
|
20
|
+
}
|
|
21
|
+
// Deep merge objects
|
|
22
|
+
if (isObject && !record.includes(value)) {
|
|
23
|
+
record.push(value);
|
|
24
|
+
merge(object[key], value, force, record);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
export { merge };
|