@refinitiv-ui/elements 5.0.0-beta.3 → 5.0.0-dev.204
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 +325 -73
- package/README.md +13 -2
- package/lib/accordion/custom-elements.json +0 -13
- package/lib/accordion/custom-elements.md +18 -0
- package/lib/accordion/index.d.ts +13 -10
- package/lib/accordion/index.js +15 -18
- package/lib/appstate-bar/custom-elements.json +1 -1
- package/lib/appstate-bar/custom-elements.md +22 -0
- package/lib/appstate-bar/index.d.ts +15 -6
- package/lib/appstate-bar/index.js +17 -11
- package/lib/autosuggest/custom-elements.json +24 -4
- package/lib/autosuggest/custom-elements.md +54 -0
- package/lib/autosuggest/helpers/types.d.ts +22 -1
- package/lib/autosuggest/helpers/types.js +0 -1
- package/lib/autosuggest/helpers/utils.d.ts +2 -2
- package/lib/autosuggest/helpers/utils.js +1 -3
- package/lib/autosuggest/index.d.ts +21 -9
- package/lib/autosuggest/index.js +45 -31
- package/lib/button/custom-elements.json +3 -3
- package/lib/button/custom-elements.md +23 -0
- package/lib/button/index.d.ts +27 -20
- package/lib/button/index.js +92 -74
- package/lib/button/themes/halo/dark/index.js +1 -1
- package/lib/button/themes/halo/light/index.js +1 -1
- package/lib/button/themes/solar/charcoal/index.js +1 -1
- package/lib/button/themes/solar/pearl/index.js +1 -1
- package/lib/button-bar/custom-elements.md +9 -0
- package/lib/button-bar/index.d.ts +60 -4
- package/lib/button-bar/index.js +164 -19
- package/lib/calendar/constants.d.ts +26 -0
- package/lib/calendar/constants.js +28 -0
- package/lib/calendar/custom-elements.json +8 -6
- package/lib/calendar/custom-elements.md +35 -0
- package/lib/calendar/index.d.ts +119 -21
- package/lib/calendar/index.js +512 -157
- package/lib/calendar/locales.d.ts +1 -31
- package/lib/calendar/locales.js +3 -107
- package/lib/calendar/themes/halo/dark/index.js +1 -1
- package/lib/calendar/themes/halo/light/index.js +1 -1
- package/lib/calendar/themes/solar/charcoal/index.js +1 -1
- package/lib/calendar/themes/solar/pearl/index.js +1 -1
- package/lib/calendar/types.d.ts +12 -13
- package/lib/calendar/types.js +1 -7
- package/lib/calendar/utils.d.ts +31 -1
- package/lib/calendar/utils.js +105 -3
- package/lib/canvas/custom-elements.json +9 -7
- package/lib/canvas/custom-elements.md +27 -0
- package/lib/canvas/index.d.ts +14 -6
- package/lib/canvas/index.js +17 -12
- package/lib/card/custom-elements.json +21 -9
- package/lib/card/custom-elements.md +24 -0
- package/lib/card/helpers/types.d.ts +1 -1
- package/lib/card/helpers/types.js +0 -1
- package/lib/card/index.d.ts +67 -20
- package/lib/card/index.js +132 -35
- package/lib/card/themes/halo/dark/index.js +1 -1
- package/lib/card/themes/halo/light/index.js +1 -1
- package/lib/card/themes/solar/charcoal/index.js +1 -1
- package/lib/card/themes/solar/pearl/index.js +1 -1
- package/lib/chart/custom-elements.json +3 -3
- 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 +2 -2
- package/lib/chart/helpers/legend.js +2 -3
- package/lib/chart/helpers/merge.d.ts +15 -0
- package/lib/chart/helpers/merge.js +28 -0
- package/lib/chart/helpers/types.d.ts +40 -12
- package/lib/chart/helpers/types.js +0 -1
- package/lib/chart/index.d.ts +34 -26
- package/lib/chart/index.js +58 -55
- package/lib/chart/plugins/doughnut-center-label.js +4 -5
- package/lib/checkbox/custom-elements.json +4 -4
- package/lib/checkbox/custom-elements.md +18 -0
- package/lib/checkbox/index.d.ts +29 -14
- package/lib/checkbox/index.js +65 -34
- package/lib/checkbox/themes/halo/dark/index.js +1 -1
- package/lib/checkbox/themes/halo/light/index.js +1 -1
- package/lib/clock/custom-elements.json +21 -4
- package/lib/clock/custom-elements.md +28 -0
- package/lib/clock/index.d.ts +25 -6
- package/lib/clock/index.js +44 -18
- package/lib/clock/themes/halo/dark/index.js +1 -1
- package/lib/clock/themes/halo/light/index.js +1 -1
- package/lib/clock/themes/solar/charcoal/index.js +1 -1
- package/lib/clock/themes/solar/pearl/index.js +1 -1
- package/lib/clock/utils/TickManager.js +2 -3
- package/lib/clock/utils/timestamps.js +0 -1
- package/lib/collapse/custom-elements.md +27 -0
- package/lib/collapse/index.d.ts +15 -8
- package/lib/collapse/index.js +18 -13
- package/lib/color-dialog/custom-elements.json +29 -16
- package/lib/color-dialog/custom-elements.md +39 -0
- package/lib/color-dialog/elements/color-palettes.d.ts +13 -6
- package/lib/color-dialog/elements/color-palettes.js +16 -13
- package/lib/color-dialog/elements/grayscale-palettes.d.ts +13 -6
- package/lib/color-dialog/elements/grayscale-palettes.js +17 -13
- package/lib/color-dialog/elements/palettes.d.ts +15 -3
- package/lib/color-dialog/elements/palettes.js +65 -45
- package/lib/color-dialog/helpers/color-helpers.d.ts +7 -53
- package/lib/color-dialog/helpers/color-helpers.js +12 -110
- package/lib/color-dialog/helpers/value-model.d.ts +1 -1
- package/lib/color-dialog/helpers/value-model.js +18 -17
- package/lib/color-dialog/index.d.ts +27 -20
- package/lib/color-dialog/index.js +54 -45
- package/lib/combo-box/custom-elements.json +51 -17
- package/lib/combo-box/custom-elements.md +42 -0
- package/lib/combo-box/helpers/filter.d.ts +4 -4
- package/lib/combo-box/helpers/filter.js +0 -1
- package/lib/combo-box/helpers/keyboard-event.js +0 -1
- 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 +2 -2
- package/lib/combo-box/helpers/types.js +0 -1
- package/lib/combo-box/index.d.ts +63 -32
- package/lib/combo-box/index.js +102 -60
- package/lib/combo-box/themes/halo/dark/index.js +2 -3
- package/lib/combo-box/themes/halo/light/index.js +2 -3
- package/lib/combo-box/themes/solar/charcoal/index.js +2 -3
- package/lib/combo-box/themes/solar/pearl/index.js +2 -3
- package/lib/counter/custom-elements.json +39 -0
- package/lib/counter/custom-elements.md +11 -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/custom-elements.json +53 -24
- package/lib/datetime-picker/custom-elements.md +57 -0
- package/lib/datetime-picker/index.d.ts +34 -16
- package/lib/datetime-picker/index.js +56 -38
- package/lib/datetime-picker/locales.d.ts +1 -1
- package/lib/datetime-picker/locales.js +12 -2
- package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
- package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
- package/lib/datetime-picker/types.d.ts +1 -1
- package/lib/datetime-picker/types.js +0 -1
- package/lib/datetime-picker/utils.js +1 -2
- package/lib/dialog/custom-elements.json +34 -12
- package/lib/dialog/custom-elements.md +47 -0
- package/lib/dialog/draggable-element.js +25 -16
- package/lib/dialog/index.d.ts +25 -21
- package/lib/dialog/index.js +36 -32
- package/lib/email-field/custom-elements.json +81 -94
- package/lib/email-field/custom-elements.md +37 -0
- package/lib/email-field/index.d.ts +47 -112
- package/lib/email-field/index.js +48 -241
- package/lib/email-field/themes/halo/dark/index.js +1 -1
- package/lib/email-field/themes/halo/light/index.js +1 -1
- package/lib/email-field/themes/solar/charcoal/index.js +1 -1
- package/lib/email-field/themes/solar/pearl/index.js +1 -1
- package/lib/events.d.ts +121 -0
- package/lib/events.js +1 -0
- package/lib/flag/custom-elements.md +10 -0
- package/lib/flag/index.d.ts +14 -5
- package/lib/flag/index.js +19 -12
- package/lib/flag/utils/FlagLoader.d.ts +1 -1
- package/lib/flag/utils/FlagLoader.js +1 -2
- package/lib/header/custom-elements.md +18 -0
- package/lib/header/index.d.ts +10 -3
- package/lib/header/index.js +12 -8
- package/lib/heatmap/custom-elements.json +13 -0
- package/lib/heatmap/custom-elements.md +26 -0
- package/lib/heatmap/helpers/color.d.ts +1 -1
- package/lib/heatmap/helpers/color.js +1 -2
- package/lib/heatmap/helpers/text.d.ts +1 -1
- package/lib/heatmap/helpers/text.js +0 -1
- package/lib/heatmap/helpers/track.js +2 -3
- package/lib/heatmap/helpers/types.js +0 -1
- package/lib/heatmap/index.d.ts +32 -13
- package/lib/heatmap/index.js +61 -35
- package/lib/icon/custom-elements.json +6 -4
- package/lib/icon/custom-elements.md +8 -0
- package/lib/icon/index.d.ts +17 -7
- package/lib/icon/index.js +36 -18
- package/lib/icon/utils/IconLoader.d.ts +6 -1
- package/lib/icon/utils/IconLoader.js +24 -18
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -1
- package/lib/interactive-chart/custom-elements.json +5 -11
- package/lib/interactive-chart/custom-elements.md +31 -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 +10 -9
- package/lib/interactive-chart/helpers/types.js +6 -2
- package/lib/interactive-chart/index.d.ts +37 -18
- package/lib/interactive-chart/index.js +61 -51
- package/lib/item/custom-elements.json +4 -4
- package/lib/item/custom-elements.md +29 -0
- package/lib/item/helpers/types.d.ts +1 -1
- package/lib/item/helpers/types.js +0 -1
- package/lib/item/index.d.ts +26 -9
- package/lib/item/index.js +43 -16
- package/lib/label/custom-elements.json +7 -16
- package/lib/label/custom-elements.md +11 -0
- package/lib/label/index.d.ts +41 -73
- package/lib/label/index.js +150 -187
- package/lib/layout/custom-elements.md +26 -0
- package/lib/layout/index.d.ts +11 -4
- package/lib/layout/index.js +13 -9
- package/lib/led-gauge/custom-elements.json +4 -4
- package/lib/led-gauge/custom-elements.md +17 -0
- package/lib/led-gauge/index.d.ts +13 -5
- package/lib/led-gauge/index.js +16 -11
- package/lib/list/custom-elements.json +37 -5
- package/lib/list/custom-elements.md +33 -0
- package/lib/list/extensible-function.js +2 -1
- package/lib/list/helpers/list-renderer.d.ts +2 -2
- package/lib/list/helpers/list-renderer.js +4 -3
- package/lib/list/helpers/types.d.ts +2 -2
- package/lib/list/helpers/types.js +0 -1
- package/lib/list/index.d.ts +47 -12
- package/lib/list/index.js +100 -39
- package/lib/list/renderer.d.ts +2 -2
- package/lib/list/renderer.js +1 -2
- package/lib/loader/custom-elements.md +5 -0
- package/lib/loader/index.d.ts +8 -1
- package/lib/loader/index.js +11 -8
- package/lib/multi-input/custom-elements.json +7 -6
- package/lib/multi-input/custom-elements.md +43 -0
- package/lib/multi-input/helpers/types.d.ts +1 -1
- package/lib/multi-input/helpers/types.js +0 -1
- package/lib/multi-input/index.d.ts +19 -8
- package/lib/multi-input/index.js +28 -18
- package/lib/multi-input/themes/solar/charcoal/index.js +1 -1
- package/lib/multi-input/themes/solar/pearl/index.js +1 -1
- package/lib/notification/custom-elements.md +26 -0
- package/lib/notification/elements/notification-tray.d.ts +10 -4
- package/lib/notification/elements/notification-tray.js +15 -11
- package/lib/notification/elements/notification.d.ts +19 -7
- package/lib/notification/elements/notification.js +25 -13
- package/lib/notification/helpers/status.d.ts +1 -1
- package/lib/notification/helpers/status.js +1 -2
- package/lib/notification/helpers/types.d.ts +1 -1
- package/lib/notification/helpers/types.js +0 -1
- package/lib/notification/index.d.ts +2 -2
- package/lib/notification/index.js +2 -3
- package/lib/number-field/custom-elements.json +99 -54
- package/lib/number-field/custom-elements.md +42 -0
- package/lib/number-field/index.d.ts +104 -52
- package/lib/number-field/index.js +129 -88
- package/lib/number-field/themes/halo/dark/index.js +1 -1
- package/lib/number-field/themes/halo/light/index.js +1 -1
- package/lib/number-field/themes/solar/charcoal/index.js +1 -1
- package/lib/number-field/themes/solar/pearl/index.js +1 -1
- package/lib/overlay/custom-elements.json +26 -13
- package/lib/overlay/custom-elements.md +54 -0
- package/lib/overlay/elements/overlay-backdrop.d.ts +12 -5
- package/lib/overlay/elements/overlay-backdrop.js +13 -9
- package/lib/overlay/elements/overlay-viewport.d.ts +11 -4
- package/lib/overlay/elements/overlay-viewport.js +12 -9
- package/lib/overlay/elements/overlay.d.ts +18 -6
- package/lib/overlay/elements/overlay.js +35 -28
- package/lib/overlay/helpers/functions.js +0 -1
- package/lib/overlay/helpers/types.js +0 -1
- package/lib/overlay/index.d.ts +2 -2
- package/lib/overlay/index.js +1 -2
- package/lib/overlay/managers/backdrop-manager.d.ts +2 -2
- package/lib/overlay/managers/backdrop-manager.js +2 -3
- package/lib/overlay/managers/close-manager.d.ts +1 -1
- package/lib/overlay/managers/close-manager.js +1 -2
- package/lib/overlay/managers/focus-manager.d.ts +1 -1
- package/lib/overlay/managers/focus-manager.js +3 -5
- package/lib/overlay/managers/interaction-lock-manager.js +2 -3
- package/lib/overlay/managers/viewport-manager.d.ts +3 -3
- package/lib/overlay/managers/viewport-manager.js +6 -3
- package/lib/overlay/managers/zindex-manager.d.ts +1 -1
- package/lib/overlay/managers/zindex-manager.js +1 -4
- package/lib/overlay-menu/custom-elements.json +126 -12
- package/lib/overlay-menu/custom-elements.md +44 -0
- package/lib/overlay-menu/helpers/types.d.ts +3 -3
- package/lib/overlay-menu/helpers/types.js +0 -1
- package/lib/overlay-menu/index.d.ts +44 -12
- package/lib/overlay-menu/index.js +66 -35
- package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
- package/lib/overlay-menu/managers/menu-manager.js +8 -8
- package/lib/pagination/custom-elements.json +16 -33
- package/lib/pagination/custom-elements.md +26 -0
- package/lib/pagination/index.d.ts +156 -81
- package/lib/pagination/index.js +373 -214
- package/lib/pagination/themes/halo/dark/index.js +1 -1
- package/lib/pagination/themes/halo/light/index.js +1 -1
- package/lib/pagination/themes/solar/charcoal/index.js +1 -1
- package/lib/pagination/themes/solar/pearl/index.js +1 -1
- package/lib/panel/custom-elements.md +11 -0
- package/lib/panel/index.d.ts +11 -4
- package/lib/panel/index.js +13 -9
- package/lib/password-field/custom-elements.json +62 -67
- package/lib/password-field/custom-elements.md +39 -0
- package/lib/password-field/index.d.ts +46 -90
- package/lib/password-field/index.js +52 -190
- package/lib/password-field/themes/halo/dark/index.js +1 -1
- package/lib/password-field/themes/halo/light/index.js +1 -1
- package/lib/password-field/themes/solar/charcoal/index.js +1 -1
- package/lib/password-field/themes/solar/pearl/index.js +1 -1
- package/lib/pill/custom-elements.json +9 -7
- package/lib/pill/custom-elements.md +22 -0
- package/lib/pill/index.d.ts +15 -7
- package/lib/pill/index.js +21 -27
- package/lib/pill/themes/halo/dark/index.js +1 -1
- package/lib/pill/themes/halo/light/index.js +1 -1
- package/lib/progress-bar/custom-elements.md +18 -0
- package/lib/progress-bar/index.d.ts +11 -15
- package/lib/progress-bar/index.js +14 -25
- package/lib/radio-button/custom-elements.json +4 -4
- package/lib/radio-button/custom-elements.md +19 -0
- package/lib/radio-button/index.d.ts +33 -9
- package/lib/radio-button/index.js +97 -24
- package/lib/radio-button/radio-button-registry.d.ts +3 -2
- package/lib/radio-button/radio-button-registry.js +57 -5
- package/lib/radio-button/themes/halo/dark/index.js +1 -1
- package/lib/radio-button/themes/halo/light/index.js +1 -1
- package/lib/rating/custom-elements.md +17 -0
- package/lib/rating/index.d.ts +11 -4
- package/lib/rating/index.js +16 -10
- package/lib/search-field/custom-elements.json +70 -74
- package/lib/search-field/custom-elements.md +41 -0
- package/lib/search-field/index.d.ts +47 -97
- package/lib/search-field/index.js +50 -212
- package/lib/search-field/themes/halo/dark/index.js +1 -1
- package/lib/search-field/themes/halo/light/index.js +1 -1
- package/lib/search-field/themes/solar/charcoal/index.js +1 -1
- package/lib/search-field/themes/solar/pearl/index.js +1 -1
- package/lib/select/custom-elements.json +5 -4
- package/lib/select/custom-elements.md +24 -0
- package/lib/select/helpers/types.d.ts +1 -1
- package/lib/select/helpers/types.js +0 -1
- package/lib/select/index.d.ts +26 -11
- package/lib/select/index.js +93 -52
- package/lib/select/themes/halo/dark/index.js +1 -1
- package/lib/select/themes/halo/light/index.js +1 -1
- package/lib/sidebar-layout/custom-elements.json +2 -6
- package/lib/sidebar-layout/custom-elements.md +21 -0
- package/lib/sidebar-layout/index.d.ts +15 -7
- package/lib/sidebar-layout/index.js +16 -10
- package/lib/slider/custom-elements.json +4 -4
- package/lib/slider/custom-elements.md +28 -0
- package/lib/slider/index.d.ts +18 -5
- package/lib/slider/index.js +69 -16
- package/lib/sparkline/custom-elements.json +4 -4
- package/lib/sparkline/custom-elements.md +16 -0
- package/lib/sparkline/index.d.ts +14 -5
- package/lib/sparkline/index.js +17 -10
- package/lib/swing-gauge/const.d.ts +22 -0
- package/lib/swing-gauge/const.js +26 -0
- package/lib/swing-gauge/custom-elements.json +51 -22
- 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 +220 -72
- package/lib/swing-gauge/index.js +648 -168
- package/lib/swing-gauge/themes/halo/dark/index.js +1 -1
- package/lib/swing-gauge/themes/halo/light/index.js +1 -1
- package/lib/swing-gauge/themes/solar/charcoal/index.js +1 -1
- package/lib/swing-gauge/themes/solar/pearl/index.js +1 -1
- package/lib/swing-gauge/types.d.ts +34 -0
- package/lib/swing-gauge/types.js +1 -0
- package/lib/tab/custom-elements.json +10 -21
- package/lib/tab/custom-elements.md +22 -0
- package/lib/tab/index.d.ts +19 -14
- package/lib/tab/index.js +31 -40
- package/lib/tab/themes/halo/dark/index.js +1 -1
- package/lib/tab/themes/halo/light/index.js +1 -1
- package/lib/tab/themes/solar/charcoal/index.js +1 -1
- package/lib/tab/themes/solar/pearl/index.js +1 -1
- package/lib/tab-bar/custom-elements.json +0 -6
- package/lib/tab-bar/custom-elements.md +11 -0
- package/lib/tab-bar/helpers/animate.d.ts +1 -1
- package/lib/tab-bar/helpers/animate.js +5 -2
- package/lib/tab-bar/index.d.ts +12 -5
- package/lib/tab-bar/index.js +18 -21
- package/lib/tab-bar/themes/solar/charcoal/index.js +1 -1
- package/lib/tab-bar/themes/solar/pearl/index.js +1 -1
- package/lib/text-field/custom-elements.json +78 -89
- package/lib/text-field/custom-elements.md +35 -0
- package/lib/text-field/index.d.ts +67 -80
- package/lib/text-field/index.js +106 -157
- package/lib/text-field/themes/halo/dark/index.js +1 -1
- package/lib/text-field/themes/halo/light/index.js +1 -1
- package/lib/text-field/themes/solar/charcoal/index.js +1 -1
- package/lib/text-field/themes/solar/pearl/index.js +1 -1
- package/lib/time-picker/custom-elements.json +6 -8
- package/lib/time-picker/custom-elements.md +28 -0
- package/lib/time-picker/index.d.ts +105 -65
- package/lib/time-picker/index.js +297 -169
- package/lib/time-picker/themes/solar/charcoal/index.js +1 -1
- package/lib/time-picker/themes/solar/pearl/index.js +1 -1
- package/lib/toggle/custom-elements.json +4 -4
- package/lib/toggle/custom-elements.md +19 -0
- package/lib/toggle/index.d.ts +22 -5
- package/lib/toggle/index.js +58 -13
- package/lib/toggle/themes/halo/dark/index.js +1 -1
- package/lib/toggle/themes/halo/light/index.js +1 -1
- package/lib/toggle/themes/solar/charcoal/index.js +1 -1
- package/lib/toggle/themes/solar/pearl/index.js +1 -1
- package/lib/tooltip/custom-elements.md +14 -0
- package/lib/tooltip/elements/title-tooltip.js +2 -3
- package/lib/tooltip/elements/tooltip-element.d.ts +2 -3
- package/lib/tooltip/elements/tooltip-element.js +0 -2
- package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
- package/lib/tooltip/helpers/overflow-tooltip.js +1 -2
- package/lib/tooltip/helpers/renderer.d.ts +1 -1
- package/lib/tooltip/helpers/renderer.js +0 -1
- package/lib/tooltip/helpers/types.d.ts +1 -1
- package/lib/tooltip/helpers/types.js +0 -1
- package/lib/tooltip/index.d.ts +18 -11
- package/lib/tooltip/index.js +27 -23
- package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
- package/lib/tooltip/managers/tooltip-manager.js +17 -11
- package/lib/tornado-chart/custom-elements.md +18 -0
- package/lib/tornado-chart/elements/tornado-chart.d.ts +12 -5
- package/lib/tornado-chart/elements/tornado-chart.js +15 -11
- package/lib/tornado-chart/elements/tornado-item.d.ts +13 -6
- package/lib/tornado-chart/elements/tornado-item.js +17 -12
- package/lib/tornado-chart/index.d.ts +2 -2
- package/lib/tornado-chart/index.js +2 -3
- package/lib/tree/custom-elements.json +30 -2
- package/lib/tree/custom-elements.md +32 -0
- package/lib/tree/elements/tree-item.d.ts +53 -5
- package/lib/tree/elements/tree-item.js +114 -34
- package/lib/tree/elements/tree.d.ts +65 -20
- package/lib/tree/elements/tree.js +151 -34
- package/lib/tree/helpers/filter.d.ts +8 -0
- package/lib/tree/helpers/filter.js +33 -0
- package/lib/tree/helpers/renderer.d.ts +2 -2
- package/lib/tree/helpers/renderer.js +4 -4
- package/lib/tree/helpers/types.d.ts +13 -1
- package/lib/tree/helpers/types.js +0 -1
- package/lib/tree/index.d.ts +4 -4
- package/lib/tree/index.js +3 -4
- package/lib/tree/managers/tree-manager.d.ts +22 -10
- package/lib/tree/managers/tree-manager.js +56 -41
- package/lib/tree/themes/halo/dark/index.js +1 -1
- package/lib/tree/themes/halo/light/index.js +1 -1
- package/lib/tree/themes/solar/charcoal/index.js +1 -1
- package/lib/tree/themes/solar/pearl/index.js +1 -1
- package/lib/tree-select/custom-elements.json +14 -5
- package/lib/tree-select/custom-elements.md +26 -0
- package/lib/tree-select/helpers/types.d.ts +2 -2
- package/lib/tree-select/helpers/types.js +0 -1
- package/lib/tree-select/index.d.ts +55 -27
- package/lib/tree-select/index.js +107 -45
- package/lib/tree-select/themes/halo/dark/index.js +3 -2
- package/lib/tree-select/themes/halo/light/index.js +3 -2
- package/lib/tree-select/themes/solar/charcoal/index.js +3 -2
- package/lib/tree-select/themes/solar/pearl/index.js +3 -2
- package/lib/version.d.ts +1 -0
- package/lib/version.js +1 -0
- package/package.json +601 -25
- package/lib/accordion/index.js.map +0 -1
- package/lib/appstate-bar/index.js.map +0 -1
- package/lib/autosuggest/helpers/const.d.ts +0 -2
- package/lib/autosuggest/helpers/const.js +0 -4
- package/lib/autosuggest/helpers/const.js.map +0 -1
- package/lib/autosuggest/helpers/types.js.map +0 -1
- package/lib/autosuggest/helpers/utils.js.map +0 -1
- package/lib/autosuggest/index.js.map +0 -1
- package/lib/button/index.js.map +0 -1
- package/lib/button-bar/index.js.map +0 -1
- package/lib/calendar/index.js.map +0 -1
- package/lib/calendar/locales.js.map +0 -1
- package/lib/calendar/types.js.map +0 -1
- package/lib/calendar/utils.js.map +0 -1
- package/lib/canvas/index.js.map +0 -1
- package/lib/card/helpers/types.js.map +0 -1
- package/lib/card/index.js.map +0 -1
- package/lib/chart/helpers/legend.js.map +0 -1
- package/lib/chart/helpers/types.js.map +0 -1
- package/lib/chart/index.js.map +0 -1
- package/lib/chart/plugins/doughnut-center-label.js.map +0 -1
- package/lib/checkbox/index.js.map +0 -1
- package/lib/clock/index.js.map +0 -1
- package/lib/clock/utils/TickManager.js.map +0 -1
- package/lib/clock/utils/timestamps.js.map +0 -1
- package/lib/collapse/index.js.map +0 -1
- package/lib/color-dialog/elements/color-palettes.js.map +0 -1
- package/lib/color-dialog/elements/grayscale-palettes.js.map +0 -1
- package/lib/color-dialog/elements/palettes.js.map +0 -1
- package/lib/color-dialog/helpers/color-helpers.js.map +0 -1
- package/lib/color-dialog/helpers/value-model.js.map +0 -1
- package/lib/color-dialog/index.js.map +0 -1
- package/lib/combo-box/helpers/filter.js.map +0 -1
- package/lib/combo-box/helpers/keyboard-event.js.map +0 -1
- package/lib/combo-box/helpers/types.js.map +0 -1
- package/lib/combo-box/index.js.map +0 -1
- package/lib/datetime-picker/index.js.map +0 -1
- package/lib/datetime-picker/locales.js.map +0 -1
- package/lib/datetime-picker/types.js.map +0 -1
- package/lib/datetime-picker/utils.js.map +0 -1
- package/lib/dialog/draggable-element.js.map +0 -1
- package/lib/dialog/index.js.map +0 -1
- package/lib/email-field/index.js.map +0 -1
- package/lib/flag/index.js.map +0 -1
- package/lib/flag/utils/FlagLoader.js.map +0 -1
- package/lib/header/index.js.map +0 -1
- package/lib/heatmap/helpers/color.js.map +0 -1
- package/lib/heatmap/helpers/text.js.map +0 -1
- package/lib/heatmap/helpers/track.js.map +0 -1
- package/lib/heatmap/helpers/types.js.map +0 -1
- package/lib/heatmap/index.js.map +0 -1
- package/lib/icon/index.js.map +0 -1
- package/lib/icon/utils/IconLoader.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/interactive-chart/helpers/types.js.map +0 -1
- package/lib/interactive-chart/index.js.map +0 -1
- package/lib/item/helpers/types.js.map +0 -1
- package/lib/item/index.js.map +0 -1
- package/lib/label/helpers/text.d.ts +0 -35
- package/lib/label/helpers/text.js +0 -57
- package/lib/label/helpers/text.js.map +0 -1
- package/lib/label/index.js.map +0 -1
- package/lib/layout/index.js.map +0 -1
- package/lib/led-gauge/index.js.map +0 -1
- package/lib/list/extensible-function.js.map +0 -1
- package/lib/list/helpers/list-renderer.js.map +0 -1
- package/lib/list/helpers/types.js.map +0 -1
- package/lib/list/index.js.map +0 -1
- package/lib/list/renderer.js.map +0 -1
- package/lib/loader/index.js.map +0 -1
- package/lib/multi-input/helpers/types.js.map +0 -1
- package/lib/multi-input/index.js.map +0 -1
- package/lib/notification/elements/notification-tray.js.map +0 -1
- package/lib/notification/elements/notification.js.map +0 -1
- package/lib/notification/helpers/status.js.map +0 -1
- package/lib/notification/helpers/types.js.map +0 -1
- package/lib/notification/index.js.map +0 -1
- package/lib/number-field/index.js.map +0 -1
- package/lib/overlay/elements/overlay-backdrop.js.map +0 -1
- package/lib/overlay/elements/overlay-viewport.js.map +0 -1
- package/lib/overlay/elements/overlay.js.map +0 -1
- package/lib/overlay/helpers/functions.js.map +0 -1
- package/lib/overlay/helpers/types.js.map +0 -1
- package/lib/overlay/index.js.map +0 -1
- package/lib/overlay/managers/backdrop-manager.js.map +0 -1
- package/lib/overlay/managers/close-manager.js.map +0 -1
- package/lib/overlay/managers/focus-manager.js.map +0 -1
- package/lib/overlay/managers/interaction-lock-manager.js.map +0 -1
- package/lib/overlay/managers/viewport-manager.js.map +0 -1
- package/lib/overlay/managers/zindex-manager.js.map +0 -1
- package/lib/overlay-menu/helpers/types.js.map +0 -1
- package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
- package/lib/overlay-menu/helpers/uuid.js +0 -14
- package/lib/overlay-menu/helpers/uuid.js.map +0 -1
- package/lib/overlay-menu/index.js.map +0 -1
- package/lib/overlay-menu/managers/menu-manager.js.map +0 -1
- package/lib/pagination/helpers/types.d.ts +0 -9
- package/lib/pagination/helpers/types.js +0 -2
- package/lib/pagination/helpers/types.js.map +0 -1
- package/lib/pagination/index.js.map +0 -1
- package/lib/panel/index.js.map +0 -1
- package/lib/password-field/index.js.map +0 -1
- package/lib/pill/index.js.map +0 -1
- package/lib/progress-bar/index.js.map +0 -1
- package/lib/radio-button/index.js.map +0 -1
- package/lib/radio-button/radio-button-registry.js.map +0 -1
- package/lib/rating/index.js.map +0 -1
- package/lib/search-field/index.js.map +0 -1
- package/lib/select/helpers/types.js.map +0 -1
- package/lib/select/index.js.map +0 -1
- package/lib/sidebar-layout/index.js.map +0 -1
- package/lib/slider/index.js.map +0 -1
- package/lib/sparkline/index.js.map +0 -1
- package/lib/swing-gauge/helpers/canvas.d.ts +0 -8
- package/lib/swing-gauge/helpers/canvas.js +0 -115
- package/lib/swing-gauge/helpers/canvas.js.map +0 -1
- package/lib/swing-gauge/helpers/types.d.ts +0 -33
- package/lib/swing-gauge/helpers/types.js +0 -2
- package/lib/swing-gauge/helpers/types.js.map +0 -1
- package/lib/swing-gauge/index.js.map +0 -1
- package/lib/tab/index.js.map +0 -1
- package/lib/tab-bar/helpers/animate.js.map +0 -1
- package/lib/tab-bar/index.js.map +0 -1
- package/lib/text-field/index.js.map +0 -1
- package/lib/time-picker/index.js.map +0 -1
- package/lib/toggle/index.js.map +0 -1
- package/lib/tooltip/elements/title-tooltip.js.map +0 -1
- package/lib/tooltip/elements/tooltip-element.js.map +0 -1
- package/lib/tooltip/helpers/overflow-tooltip.js.map +0 -1
- package/lib/tooltip/helpers/renderer.js.map +0 -1
- package/lib/tooltip/helpers/types.js.map +0 -1
- package/lib/tooltip/index.js.map +0 -1
- package/lib/tooltip/managers/tooltip-manager.js.map +0 -1
- package/lib/tornado-chart/elements/tornado-chart.js.map +0 -1
- package/lib/tornado-chart/elements/tornado-item.js.map +0 -1
- package/lib/tornado-chart/index.js.map +0 -1
- package/lib/tree/elements/tree-item.js.map +0 -1
- package/lib/tree/elements/tree.js.map +0 -1
- package/lib/tree/helpers/renderer.js.map +0 -1
- package/lib/tree/helpers/types.js.map +0 -1
- package/lib/tree/index.js.map +0 -1
- package/lib/tree/managers/tree-manager.js.map +0 -1
- package/lib/tree-select/helpers/types.js.map +0 -1
- package/lib/tree-select/index.js.map +0 -1
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
import '../../
|
|
9
|
-
import {
|
|
10
|
-
import '../../checkbox';
|
|
11
|
-
import { CheckedState } from '../managers/tree-manager';
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, ControlElement } from '@refinitiv-ui/core';
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
|
|
5
|
+
import { VERSION } from '../../version.js';
|
|
6
|
+
import '../../icon/index.js';
|
|
7
|
+
import { preload } from '../../icon/index.js';
|
|
8
|
+
import '../../checkbox/index.js';
|
|
9
|
+
import { CheckedState } from '../managers/tree-manager.js';
|
|
12
10
|
preload('right');
|
|
13
11
|
const emptyTemplate = html ``;
|
|
14
12
|
/**
|
|
@@ -18,6 +16,7 @@ const emptyTemplate = html ``;
|
|
|
18
16
|
let TreeItem = class TreeItem extends ControlElement {
|
|
19
17
|
constructor() {
|
|
20
18
|
super(...arguments);
|
|
19
|
+
this.defaultRole = 'treeitem';
|
|
21
20
|
/**
|
|
22
21
|
* Checked state of the item
|
|
23
22
|
*/
|
|
@@ -42,12 +41,23 @@ let TreeItem = class TreeItem extends ControlElement {
|
|
|
42
41
|
* Label of the item
|
|
43
42
|
*/
|
|
44
43
|
this.label = '';
|
|
44
|
+
/**
|
|
45
|
+
* Icon of the item
|
|
46
|
+
*/
|
|
47
|
+
this.icon = '';
|
|
45
48
|
/**
|
|
46
49
|
* Highlighted state of the item.
|
|
47
50
|
* This is for showing which item is currently being interacted with.
|
|
48
51
|
*/
|
|
49
52
|
this.highlighted = false;
|
|
50
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Element version number
|
|
56
|
+
* @returns version number
|
|
57
|
+
*/
|
|
58
|
+
static get version() {
|
|
59
|
+
return VERSION;
|
|
60
|
+
}
|
|
51
61
|
/**
|
|
52
62
|
* Template for rendering the indentation element
|
|
53
63
|
*/
|
|
@@ -61,10 +71,7 @@ let TreeItem = class TreeItem extends ControlElement {
|
|
|
61
71
|
*/
|
|
62
72
|
get toggleTemplate() {
|
|
63
73
|
return html `
|
|
64
|
-
<div
|
|
65
|
-
expand-toggle
|
|
66
|
-
part="toggle"
|
|
67
|
-
style="pointer-events:all;visibility:${this.parent ? 'visible' : 'hidden'}">
|
|
74
|
+
<div expand-toggle part="toggle" style="pointer-events:all;visibility:${this.parent ? 'visible' : 'hidden'}">
|
|
68
75
|
<ef-icon part="toggle-icon${this.expanded ? ' toggle-icon-expanded' : ''}" icon="right"></ef-icon>
|
|
69
76
|
</div>
|
|
70
77
|
`;
|
|
@@ -78,15 +85,25 @@ let TreeItem = class TreeItem extends ControlElement {
|
|
|
78
85
|
}
|
|
79
86
|
return html `
|
|
80
87
|
<ef-checkbox
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
part="checkbox"
|
|
89
|
+
tabindex="-1"
|
|
90
|
+
.disabled="${this.disabled}"
|
|
91
|
+
.readonly="${this.readonly}"
|
|
92
|
+
.indeterminate="${this.indeterminate}"
|
|
93
|
+
.checked="${this.checked}"
|
|
94
|
+
style="pointer-events:none">
|
|
95
|
+
</ef-checkbox>
|
|
88
96
|
`;
|
|
89
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Template for rendering the icon
|
|
100
|
+
*/
|
|
101
|
+
get iconTemplate() {
|
|
102
|
+
if (typeof this.icon === 'undefined') {
|
|
103
|
+
return emptyTemplate;
|
|
104
|
+
}
|
|
105
|
+
return html `<ef-icon part="label-icon" icon="${this.icon}"></ef-icon>`;
|
|
106
|
+
}
|
|
90
107
|
/**
|
|
91
108
|
* Is the item fully checked?
|
|
92
109
|
*/
|
|
@@ -99,26 +116,87 @@ let TreeItem = class TreeItem extends ControlElement {
|
|
|
99
116
|
get indeterminate() {
|
|
100
117
|
return this.checkedState === CheckedState.INDETERMINATE;
|
|
101
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Handles aria-checked and aria-selected when mode changes
|
|
121
|
+
* aria-checked is used for multiple mode due to tri-state support
|
|
122
|
+
* @returns {void}
|
|
123
|
+
**/
|
|
124
|
+
multipleChanged() {
|
|
125
|
+
this.removeAttribute(this.multiple ? 'aria-selected' : 'aria-checked');
|
|
126
|
+
this.checkedChanged();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Handles selected and aria attribute changes
|
|
130
|
+
* @returns {void}
|
|
131
|
+
*/
|
|
132
|
+
checkedChanged() {
|
|
133
|
+
switch (this.checkedState) {
|
|
134
|
+
case CheckedState.CHECKED:
|
|
135
|
+
this.setAttribute('selected', '');
|
|
136
|
+
this.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
|
|
137
|
+
break;
|
|
138
|
+
case CheckedState.INDETERMINATE:
|
|
139
|
+
this.setAttribute('selected', 'indeterminate');
|
|
140
|
+
this.setAttribute('aria-checked', 'mixed');
|
|
141
|
+
break;
|
|
142
|
+
default:
|
|
143
|
+
this.removeAttribute('selected');
|
|
144
|
+
// In single mode, only children nodes are selectable
|
|
145
|
+
if (this.parent && !this.multiple) {
|
|
146
|
+
this.removeAttribute('aria-selected');
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
this.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'false');
|
|
150
|
+
}
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Handles aria-expanded when expanded state changes
|
|
156
|
+
* @returns {void}
|
|
157
|
+
*/
|
|
158
|
+
expandedChanged() {
|
|
159
|
+
if (this.parent) {
|
|
160
|
+
this.setAttribute('aria-expanded', this.expanded ? 'true' : 'false');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Called after the component is first rendered
|
|
165
|
+
* @param changedProperties Properties which have changed
|
|
166
|
+
* @returns {void}
|
|
167
|
+
*/
|
|
168
|
+
firstUpdated(changedProperties) {
|
|
169
|
+
super.firstUpdated(changedProperties);
|
|
170
|
+
this.setAttribute('aria-level', String(this.depth + 1));
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Invoked whenever the element is updated
|
|
174
|
+
* @param changedProperties Map of changed properties with old values
|
|
175
|
+
* @returns {void}
|
|
176
|
+
*/
|
|
102
177
|
update(changedProperties) {
|
|
103
178
|
super.update(changedProperties);
|
|
104
179
|
if (changedProperties.has('checkedState')) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
default:
|
|
113
|
-
this.removeAttribute('selected');
|
|
114
|
-
}
|
|
180
|
+
this.checkedChanged();
|
|
181
|
+
}
|
|
182
|
+
if (changedProperties.has('multiple') && changedProperties.get('multiple') !== undefined) {
|
|
183
|
+
this.multipleChanged();
|
|
184
|
+
}
|
|
185
|
+
if (changedProperties.has('expanded')) {
|
|
186
|
+
this.expandedChanged();
|
|
115
187
|
}
|
|
116
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* A `TemplateResult` that will be used
|
|
191
|
+
* to render the updated internal template.
|
|
192
|
+
* @returns Render template
|
|
193
|
+
*/
|
|
117
194
|
render() {
|
|
118
195
|
return html `
|
|
119
196
|
${this.indentTemplate}
|
|
120
197
|
${this.toggleTemplate}
|
|
121
198
|
${this.checkboxTemplate}
|
|
199
|
+
${this.iconTemplate}
|
|
122
200
|
<div part="label">
|
|
123
201
|
<slot>${this.label}</slot>
|
|
124
202
|
</div>
|
|
@@ -138,11 +216,14 @@ __decorate([
|
|
|
138
216
|
property({ type: Boolean })
|
|
139
217
|
], TreeItem.prototype, "expanded", void 0);
|
|
140
218
|
__decorate([
|
|
141
|
-
property({
|
|
219
|
+
property({ type: Number, reflect: true })
|
|
142
220
|
], TreeItem.prototype, "depth", void 0);
|
|
143
221
|
__decorate([
|
|
144
222
|
property({ type: String })
|
|
145
223
|
], TreeItem.prototype, "label", void 0);
|
|
224
|
+
__decorate([
|
|
225
|
+
property({ type: String })
|
|
226
|
+
], TreeItem.prototype, "icon", void 0);
|
|
146
227
|
__decorate([
|
|
147
228
|
property({ attribute: false })
|
|
148
229
|
], TreeItem.prototype, "item", void 0);
|
|
@@ -155,4 +236,3 @@ TreeItem = __decorate([
|
|
|
155
236
|
})
|
|
156
237
|
], TreeItem);
|
|
157
238
|
export { TreeItem };
|
|
158
|
-
//# sourceMappingURL=tree-item.js.map
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { JSXInterface } from '../../jsx';
|
|
2
2
|
import { PropertyValues, TapEvent } from '@refinitiv-ui/core';
|
|
3
|
-
import { CollectionComposer } from '@refinitiv-ui/utils';
|
|
4
|
-
import { List } from '../../list';
|
|
5
|
-
import { TreeRenderer } from '../helpers/renderer';
|
|
6
|
-
import { TreeData, TreeDataItem } from '../helpers/types';
|
|
7
|
-
import { TreeManagerMode } from '../managers/tree-manager';
|
|
3
|
+
import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
|
|
4
|
+
import { List } from '../../list/index.js';
|
|
5
|
+
import { TreeRenderer } from '../helpers/renderer.js';
|
|
6
|
+
import type { TreeData, TreeDataItem, TreeFilter } from '../helpers/types';
|
|
7
|
+
import { TreeManagerMode } from '../managers/tree-manager.js';
|
|
8
8
|
/**
|
|
9
9
|
* Displays a tree structure
|
|
10
10
|
* to be used for menus and group selections
|
|
11
11
|
*
|
|
12
12
|
* @fires value-changed - Fired when the users changed selection item.
|
|
13
|
+
* @fires expanded-changed - Fired when an item's expanded state has changed.
|
|
14
|
+
*
|
|
15
|
+
* @attr {boolean} [stateless=false] - Disable selections
|
|
16
|
+
* @prop {boolean} [stateless=false] - Disable selections
|
|
17
|
+
*
|
|
13
18
|
*/
|
|
14
19
|
export declare class Tree<T extends TreeDataItem = TreeDataItem> extends List<T> {
|
|
20
|
+
/**
|
|
21
|
+
* Element version number
|
|
22
|
+
* @returns version number
|
|
23
|
+
*/
|
|
24
|
+
static get version(): string;
|
|
25
|
+
protected readonly defaultRole: string | null;
|
|
15
26
|
/**
|
|
16
27
|
* Tree manager used for manipulation
|
|
17
28
|
*/
|
|
@@ -25,6 +36,16 @@ export declare class Tree<T extends TreeDataItem = TreeDataItem> extends List<T>
|
|
|
25
36
|
* selection mode is enabled
|
|
26
37
|
*/
|
|
27
38
|
noRelation: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Query string applied to tree
|
|
41
|
+
*/
|
|
42
|
+
query: string;
|
|
43
|
+
/**
|
|
44
|
+
* Custom filter for static data
|
|
45
|
+
* @type {TreeFilter<T> | null}
|
|
46
|
+
* @ignore set to protected for now and need to discuss before set to public API
|
|
47
|
+
*/
|
|
48
|
+
protected filter: TreeFilter<T> | null;
|
|
28
49
|
/**
|
|
29
50
|
* Renderer used for generating tree items
|
|
30
51
|
* @type {TreeRenderer}
|
|
@@ -45,25 +66,11 @@ export declare class Tree<T extends TreeDataItem = TreeDataItem> extends List<T>
|
|
|
45
66
|
* @returns {void}
|
|
46
67
|
*/
|
|
47
68
|
checkAll(): void;
|
|
48
|
-
/**
|
|
49
|
-
* Checks all editable items
|
|
50
|
-
* @returns {void}
|
|
51
|
-
* @deprecated
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
selectAll(): void;
|
|
55
69
|
/**
|
|
56
70
|
* Unchecks all editable items
|
|
57
71
|
* @returns {void}
|
|
58
72
|
*/
|
|
59
73
|
uncheckAll(): void;
|
|
60
|
-
/**
|
|
61
|
-
* Unchecks all editable items
|
|
62
|
-
* @returns {void}
|
|
63
|
-
* @deprecated
|
|
64
|
-
* @ignore
|
|
65
|
-
*/
|
|
66
|
-
deselectAll(): void;
|
|
67
74
|
/**
|
|
68
75
|
* @override
|
|
69
76
|
* @ignore
|
|
@@ -121,10 +128,46 @@ export declare class Tree<T extends TreeDataItem = TreeDataItem> extends List<T>
|
|
|
121
128
|
* @override
|
|
122
129
|
*/
|
|
123
130
|
protected update(changedProperties: PropertyValues): void;
|
|
131
|
+
/**
|
|
132
|
+
* Filter the internal items by query changes items' hidden state
|
|
133
|
+
* @returns {void}
|
|
134
|
+
*/
|
|
135
|
+
protected filterItems(): void;
|
|
136
|
+
/**
|
|
137
|
+
* Utility method
|
|
138
|
+
* Adds descendants for each item passed
|
|
139
|
+
* @param items List of child items
|
|
140
|
+
* @returns {void}
|
|
141
|
+
*/
|
|
142
|
+
protected addItemDescendantsToRender(items: T[]): void;
|
|
143
|
+
/**
|
|
144
|
+
* Utility method
|
|
145
|
+
* Add nested children of item list
|
|
146
|
+
* @param items List of items
|
|
147
|
+
* @param excludeItems List of exclude items
|
|
148
|
+
* @param [includeHidden=false] Include hidden items
|
|
149
|
+
* @returns {void}
|
|
150
|
+
*/
|
|
151
|
+
protected addNestedItemsToRender(items: readonly T[], excludeItems: readonly T[], includeHidden?: boolean): void;
|
|
152
|
+
/**
|
|
153
|
+
* Utility method
|
|
154
|
+
* Adds ancestors for each item passed and expand
|
|
155
|
+
* @param items List of child items
|
|
156
|
+
* @returns {void}
|
|
157
|
+
*/
|
|
158
|
+
protected addExpandedAncestorsToRender(items: T[]): void;
|
|
159
|
+
/**
|
|
160
|
+
* Utility method
|
|
161
|
+
* Adds parent and expands
|
|
162
|
+
* @param ancestor parent item
|
|
163
|
+
* @returns {void}
|
|
164
|
+
*/
|
|
165
|
+
protected addExpandedAncestorToRender(ancestor: T): void;
|
|
124
166
|
/**
|
|
125
167
|
* Selected items in tree
|
|
126
168
|
* @override
|
|
127
169
|
* @type {string[]}
|
|
170
|
+
* @default []
|
|
128
171
|
*/
|
|
129
172
|
get values(): string[];
|
|
130
173
|
set values(value: string[]);
|
|
@@ -155,4 +198,6 @@ declare global {
|
|
|
155
198
|
'ef-tree': Partial<Tree> | JSXInterface.HTMLAttributes<Tree>;
|
|
156
199
|
}
|
|
157
200
|
}
|
|
158
|
-
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export {};
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { TreeRenderer } from '../helpers/renderer';
|
|
10
|
-
import { TreeManager, TreeManagerMode } from '../managers/tree-manager';
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
|
|
3
|
+
import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
|
|
4
|
+
import { VERSION } from '../../version.js';
|
|
5
|
+
import { List } from '../../list/index.js';
|
|
6
|
+
import { TreeRenderer } from '../helpers/renderer.js';
|
|
7
|
+
import { defaultFilter } from '../helpers/filter.js';
|
|
8
|
+
import { TreeManager, TreeManagerMode } from '../managers/tree-manager.js';
|
|
11
9
|
const EXPAND_TOGGLE_ATTR = 'expand-toggle';
|
|
12
|
-
const selectAllDeprecation = new DeprecationNotice('selectAll is deprecated, use checkAll instead.');
|
|
13
|
-
const deselectAllDeprecation = new DeprecationNotice('deselectAll is deprecated, use uncheckAll instead.');
|
|
14
10
|
/**
|
|
15
11
|
* Displays a tree structure
|
|
16
12
|
* to be used for menus and group selections
|
|
17
13
|
*
|
|
18
14
|
* @fires value-changed - Fired when the users changed selection item.
|
|
15
|
+
* @fires expanded-changed - Fired when an item's expanded state has changed.
|
|
16
|
+
*
|
|
17
|
+
* @attr {boolean} [stateless=false] - Disable selections
|
|
18
|
+
* @prop {boolean} [stateless=false] - Disable selections
|
|
19
|
+
*
|
|
19
20
|
*/
|
|
20
21
|
let Tree = class Tree extends List {
|
|
21
22
|
constructor() {
|
|
22
23
|
super(...arguments);
|
|
24
|
+
this.defaultRole = 'tree';
|
|
23
25
|
/**
|
|
24
26
|
* Tree manager used for manipulation
|
|
25
27
|
*/
|
|
@@ -33,12 +35,29 @@ let Tree = class Tree extends List {
|
|
|
33
35
|
* selection mode is enabled
|
|
34
36
|
*/
|
|
35
37
|
this.noRelation = false;
|
|
38
|
+
/**
|
|
39
|
+
* Query string applied to tree
|
|
40
|
+
*/
|
|
41
|
+
this.query = '';
|
|
42
|
+
/**
|
|
43
|
+
* Custom filter for static data
|
|
44
|
+
* @type {TreeFilter<T> | null}
|
|
45
|
+
* @ignore set to protected for now and need to discuss before set to public API
|
|
46
|
+
*/
|
|
47
|
+
this.filter = defaultFilter(this);
|
|
36
48
|
/**
|
|
37
49
|
* Renderer used for generating tree items
|
|
38
50
|
* @type {TreeRenderer}
|
|
39
51
|
*/
|
|
40
52
|
this.renderer = new TreeRenderer(this);
|
|
41
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Element version number
|
|
56
|
+
* @returns version number
|
|
57
|
+
*/
|
|
58
|
+
static get version() {
|
|
59
|
+
return VERSION;
|
|
60
|
+
}
|
|
42
61
|
/**
|
|
43
62
|
* Expands all groups
|
|
44
63
|
* @returns {void}
|
|
@@ -63,16 +82,6 @@ let Tree = class Tree extends List {
|
|
|
63
82
|
}
|
|
64
83
|
this.manager.checkAllItems();
|
|
65
84
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Checks all editable items
|
|
68
|
-
* @returns {void}
|
|
69
|
-
* @deprecated
|
|
70
|
-
* @ignore
|
|
71
|
-
*/
|
|
72
|
-
selectAll() {
|
|
73
|
-
selectAllDeprecation.once();
|
|
74
|
-
this.checkAll();
|
|
75
|
-
}
|
|
76
85
|
/**
|
|
77
86
|
* Unchecks all editable items
|
|
78
87
|
* @returns {void}
|
|
@@ -80,16 +89,6 @@ let Tree = class Tree extends List {
|
|
|
80
89
|
uncheckAll() {
|
|
81
90
|
this.manager.uncheckAllItems();
|
|
82
91
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Unchecks all editable items
|
|
85
|
-
* @returns {void}
|
|
86
|
-
* @deprecated
|
|
87
|
-
* @ignore
|
|
88
|
-
*/
|
|
89
|
-
deselectAll() {
|
|
90
|
-
deselectAllDeprecation.once();
|
|
91
|
-
this.uncheckAll();
|
|
92
|
-
}
|
|
93
92
|
/**
|
|
94
93
|
* @override
|
|
95
94
|
* @ignore
|
|
@@ -124,7 +123,6 @@ let Tree = class Tree extends List {
|
|
|
124
123
|
*/
|
|
125
124
|
dispatchExpandedChangedEvent(item) {
|
|
126
125
|
/**
|
|
127
|
-
* @fires expanded-changed Fired when an item's expanded state has changed.
|
|
128
126
|
* Property `detail.value` is the current expanded state.
|
|
129
127
|
* Property `detail.item` is the original data item of which the property has been modified.
|
|
130
128
|
*/
|
|
@@ -240,12 +238,129 @@ let Tree = class Tree extends List {
|
|
|
240
238
|
if (changedProperties.has('noRelation') || changedProperties.has('multiple')) {
|
|
241
239
|
this.manager.setMode(this.mode);
|
|
242
240
|
}
|
|
241
|
+
if (changedProperties.has('query') || changedProperties.has('data')) {
|
|
242
|
+
this.filterItems();
|
|
243
|
+
}
|
|
243
244
|
super.update(changedProperties);
|
|
244
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Filter the internal items by query changes items' hidden state
|
|
248
|
+
* @returns {void}
|
|
249
|
+
*/
|
|
250
|
+
filterItems() {
|
|
251
|
+
// if filter is null, it is off and external app is responsible
|
|
252
|
+
if (this.filter) {
|
|
253
|
+
const filter = this.filter;
|
|
254
|
+
const items = this.queryItems((item) => {
|
|
255
|
+
// Do not filter hidden items
|
|
256
|
+
if (item.hidden) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
const result = filter(item);
|
|
260
|
+
if (result) {
|
|
261
|
+
this.manager.includeItem(item);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
this.manager.excludeItem(item);
|
|
265
|
+
}
|
|
266
|
+
return result;
|
|
267
|
+
}).slice();
|
|
268
|
+
// Do not expand tree if there is no filter applied
|
|
269
|
+
if (this.query) {
|
|
270
|
+
/**
|
|
271
|
+
* Add all descendants of item list to make the descendants
|
|
272
|
+
* are accessible which user can navigate into the nested data
|
|
273
|
+
*/
|
|
274
|
+
this.addItemDescendantsToRender(items);
|
|
275
|
+
/**
|
|
276
|
+
* Add all parents of item list which they must be shown
|
|
277
|
+
* when some descendant is shown.
|
|
278
|
+
*/
|
|
279
|
+
this.addExpandedAncestorsToRender(items);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Utility method
|
|
285
|
+
* Adds descendants for each item passed
|
|
286
|
+
* @param items List of child items
|
|
287
|
+
* @returns {void}
|
|
288
|
+
*/
|
|
289
|
+
addItemDescendantsToRender(items) {
|
|
290
|
+
items.forEach((item) => {
|
|
291
|
+
/**
|
|
292
|
+
* Collapse an item to prevent tree show too many nested expanded
|
|
293
|
+
*/
|
|
294
|
+
if (this.manager.isItemExpanded(item)) {
|
|
295
|
+
this.manager.collapseItem(item);
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* show all descendants of items to make them all are selectable
|
|
299
|
+
* and user can navigate into nested data
|
|
300
|
+
*/
|
|
301
|
+
const children = this.composer.getItemChildren(item);
|
|
302
|
+
if (children.length) {
|
|
303
|
+
this.addNestedItemsToRender(children, items, false);
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Utility method
|
|
309
|
+
* Add nested children of item list
|
|
310
|
+
* @param items List of items
|
|
311
|
+
* @param excludeItems List of exclude items
|
|
312
|
+
* @param [includeHidden=false] Include hidden items
|
|
313
|
+
* @returns {void}
|
|
314
|
+
*/
|
|
315
|
+
addNestedItemsToRender(items, excludeItems, includeHidden = false) {
|
|
316
|
+
items.forEach(item => {
|
|
317
|
+
// Skip hidden and exclude item
|
|
318
|
+
if (!item.hidden && !excludeItems.includes(item)) {
|
|
319
|
+
// Add item and nested children
|
|
320
|
+
this.manager.includeItem(item);
|
|
321
|
+
const children = this.manager.getItemChildren(item);
|
|
322
|
+
if (children.length) {
|
|
323
|
+
this.addNestedItemsToRender(children, excludeItems, includeHidden);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Utility method
|
|
330
|
+
* Adds ancestors for each item passed and expand
|
|
331
|
+
* @param items List of child items
|
|
332
|
+
* @returns {void}
|
|
333
|
+
*/
|
|
334
|
+
addExpandedAncestorsToRender(items) {
|
|
335
|
+
// Establish unique ancestors set
|
|
336
|
+
const ancestors = new Set();
|
|
337
|
+
// we iterate each item match so as to find ancestors
|
|
338
|
+
items.forEach((item) => {
|
|
339
|
+
// Get the ancestors
|
|
340
|
+
const parent = this.manager.getItemParent(item);
|
|
341
|
+
if (parent && !ancestors.has(parent)) {
|
|
342
|
+
this.manager.getItemAncestors(item).forEach((ancestor) => {
|
|
343
|
+
ancestors.add(ancestor); // track ancestors
|
|
344
|
+
this.addExpandedAncestorToRender(ancestor);
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Utility method
|
|
351
|
+
* Adds parent and expands
|
|
352
|
+
* @param ancestor parent item
|
|
353
|
+
* @returns {void}
|
|
354
|
+
*/
|
|
355
|
+
addExpandedAncestorToRender(ancestor) {
|
|
356
|
+
this.manager.includeItem(ancestor);
|
|
357
|
+
this.manager.expandItem(ancestor);
|
|
358
|
+
}
|
|
245
359
|
/**
|
|
246
360
|
* Selected items in tree
|
|
247
361
|
* @override
|
|
248
362
|
* @type {string[]}
|
|
363
|
+
* @default []
|
|
249
364
|
*/
|
|
250
365
|
get values() {
|
|
251
366
|
return this.manager.checkedItems.map(item => {
|
|
@@ -287,6 +402,9 @@ __decorate([
|
|
|
287
402
|
__decorate([
|
|
288
403
|
property({ attribute: 'no-relation', type: Boolean })
|
|
289
404
|
], Tree.prototype, "noRelation", void 0);
|
|
405
|
+
__decorate([
|
|
406
|
+
property({ type: String })
|
|
407
|
+
], Tree.prototype, "query", void 0);
|
|
290
408
|
__decorate([
|
|
291
409
|
property({ attribute: false })
|
|
292
410
|
], Tree.prototype, "renderer", void 0);
|
|
@@ -294,4 +412,3 @@ Tree = __decorate([
|
|
|
294
412
|
customElement('ef-tree')
|
|
295
413
|
], Tree);
|
|
296
414
|
export { Tree };
|
|
297
|
-
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Tree, TreeDataItem } from '../index';
|
|
2
|
+
import type { TreeFilter } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Default filter used by tree
|
|
5
|
+
* @param el Tree instance to filter
|
|
6
|
+
* @returns Filter accepting an item
|
|
7
|
+
*/
|
|
8
|
+
export declare const defaultFilter: <T extends TreeDataItem = TreeDataItem>(el: Tree<T>) => TreeFilter<T>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default filter used by tree
|
|
3
|
+
* @param el Tree instance to filter
|
|
4
|
+
* @returns Filter accepting an item
|
|
5
|
+
*/
|
|
6
|
+
export const defaultFilter = (el) => {
|
|
7
|
+
// reference query string for validating queryRegExp cache state
|
|
8
|
+
let query = '';
|
|
9
|
+
// cache RegExp
|
|
10
|
+
let queryRegExp;
|
|
11
|
+
// Get current RegExp, or renew if out of date
|
|
12
|
+
// this is fetched on demand by filter/renderer
|
|
13
|
+
// only created once per query
|
|
14
|
+
const getRegularExpressionOfQuery = () => {
|
|
15
|
+
if (el.query !== query || !queryRegExp) {
|
|
16
|
+
query = el.query || '';
|
|
17
|
+
queryRegExp = new RegExp(query.replace(/(\W)/g, '\\$1'), 'i');
|
|
18
|
+
}
|
|
19
|
+
return queryRegExp;
|
|
20
|
+
};
|
|
21
|
+
// return scoped custom filter
|
|
22
|
+
return (item) => {
|
|
23
|
+
const label = item.label;
|
|
24
|
+
if (!label) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const regex = getRegularExpressionOfQuery();
|
|
28
|
+
const result = regex.test(label);
|
|
29
|
+
// this regex uses global scope, so the index needs resetting
|
|
30
|
+
regex.lastIndex = 0;
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { TreeManager, TreeManagerMode, CheckedState } from '../managers/tree-manager';
|
|
2
|
-
import { Renderer } from '../../list/renderer';
|
|
3
|
-
import '../elements/tree-item';
|
|
1
|
+
import { TreeManager, TreeManagerMode, CheckedState } from '../managers/tree-manager.js';
|
|
2
|
+
import { Renderer } from '../../list/renderer.js';
|
|
3
|
+
import '../elements/tree-item.js';
|
|
4
4
|
export class TreeRenderer extends Renderer {
|
|
5
5
|
constructor(scope) {
|
|
6
6
|
let manager;
|
|
@@ -22,6 +22,7 @@ export class TreeRenderer extends Renderer {
|
|
|
22
22
|
el.parent = composer.getItemChildren(item).length > 0;
|
|
23
23
|
el.expanded = manager.isItemExpanded(item);
|
|
24
24
|
el.checkedState = !multiple && el.parent ? CheckedState.UNCHECKED : manager.getItemCheckedState(item);
|
|
25
|
+
el.icon = composer.getItemPropertyValue(item, 'icon');
|
|
25
26
|
el.label = composer.getItemPropertyValue(item, 'label');
|
|
26
27
|
el.disabled = composer.getItemPropertyValue(item, 'disabled') === true;
|
|
27
28
|
el.readonly = composer.getItemPropertyValue(item, 'readonly') === true;
|
|
@@ -30,4 +31,3 @@ export class TreeRenderer extends Renderer {
|
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
//# sourceMappingURL=renderer.js.map
|