@luzmo/analytics-components-kit 1.0.8-beta.5 → 1.0.8-beta.6
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/angular/README.md +40 -0
- package/angular/components/ai-chat-empty-state.ts +98 -0
- package/angular/components/ai-chat.ts +440 -0
- package/angular/components/ai-interaction-textarea.ts +283 -0
- package/angular/components/data-field-level.ts +130 -0
- package/angular/components/data-field-panel.ts +256 -0
- package/angular/components/data-field.ts +130 -0
- package/angular/components/data-fields-select.ts +212 -0
- package/angular/components/dataset-icon.ts +83 -0
- package/angular/components/dataset-selector-list.ts +147 -0
- package/angular/components/dataset-selector-row.ts +198 -0
- package/angular/components/display-settings-binning.ts +92 -0
- package/angular/components/display-settings-datetime.ts +100 -0
- package/angular/components/display-settings-grand-totals.ts +92 -0
- package/angular/components/display-settings-numeric.ts +113 -0
- package/angular/components/display-settings-period-over-period.ts +107 -0
- package/angular/components/display-settings.ts +227 -0
- package/angular/components/filter-expression-picker.ts +168 -0
- package/angular/components/filter-item.ts +175 -0
- package/angular/components/filter-parameter-picker.ts +155 -0
- package/angular/components/filter-value-picker-datetime.ts +125 -0
- package/angular/components/filter-value-picker-hierarchy.ts +146 -0
- package/angular/components/filter-value-picker-numeric.ts +146 -0
- package/angular/components/filter-value-picker.ts +160 -0
- package/angular/components/filters.ts +209 -0
- package/angular/components/formula-editor.ts +229 -0
- package/angular/components/formula-field.ts +198 -0
- package/angular/components/formula.ts +170 -0
- package/angular/components/interactive-viz-item.ts +186 -0
- package/angular/components/item-grid-item-actions-menu.ts +113 -0
- package/angular/components/item-grid.ts +242 -0
- package/angular/components/item-option-action-button-group.ts +105 -0
- package/angular/components/item-option-color-palette-picker.ts +126 -0
- package/angular/components/item-option-color-picker.ts +134 -0
- package/angular/components/item-option-color-range.ts +168 -0
- package/angular/components/item-option-guidelines.ts +84 -0
- package/angular/components/item-option-multi-language-field.ts +133 -0
- package/angular/components/item-option-number-field.ts +161 -0
- package/angular/components/item-option-panel.ts +149 -0
- package/angular/components/item-option-picker.ts +120 -0
- package/angular/components/item-option-position-picker.ts +98 -0
- package/angular/components/item-option-positions-number-field.ts +140 -0
- package/angular/components/item-option-radio-button-group.ts +119 -0
- package/angular/components/item-option-slider.ts +126 -0
- package/angular/components/item-option-switch.ts +98 -0
- package/angular/components/item-option-text-field.ts +112 -0
- package/angular/components/item-option.ts +163 -0
- package/angular/components/item-slot-drop-panel.ts +236 -0
- package/angular/components/item-slot-drop.ts +231 -0
- package/angular/components/item-slot-picker-panel.ts +299 -0
- package/angular/components/item-slot-picker.ts +241 -0
- package/angular/components/slot-menu-list.ts +121 -0
- package/angular/components/slot-menu.ts +304 -0
- package/angular/components/viz-item-menu.ts +118 -0
- package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
- package/angular/esm/components/ai-chat-empty-state.js +99 -0
- package/angular/esm/components/ai-chat.d.ts +147 -0
- package/angular/esm/components/ai-chat.js +455 -0
- package/angular/esm/components/ai-interaction-textarea.d.ts +106 -0
- package/angular/esm/components/ai-interaction-textarea.js +305 -0
- package/angular/esm/components/data-field-level.d.ts +50 -0
- package/angular/esm/components/data-field-level.js +129 -0
- package/angular/esm/components/data-field-panel.d.ts +86 -0
- package/angular/esm/components/data-field-panel.js +268 -0
- package/angular/esm/components/data-field.d.ts +50 -0
- package/angular/esm/components/data-field.js +129 -0
- package/angular/esm/components/data-fields-select.d.ts +81 -0
- package/angular/esm/components/data-fields-select.js +227 -0
- package/angular/esm/components/dataset-icon.d.ts +34 -0
- package/angular/esm/components/dataset-icon.js +86 -0
- package/angular/esm/components/dataset-selector-list.d.ts +56 -0
- package/angular/esm/components/dataset-selector-list.js +155 -0
- package/angular/esm/components/dataset-selector-row.d.ts +70 -0
- package/angular/esm/components/dataset-selector-row.js +197 -0
- package/angular/esm/components/display-settings-binning.d.ts +37 -0
- package/angular/esm/components/display-settings-binning.js +91 -0
- package/angular/esm/components/display-settings-datetime.d.ts +40 -0
- package/angular/esm/components/display-settings-datetime.js +99 -0
- package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
- package/angular/esm/components/display-settings-grand-totals.js +91 -0
- package/angular/esm/components/display-settings-numeric.d.ts +45 -0
- package/angular/esm/components/display-settings-numeric.js +115 -0
- package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
- package/angular/esm/components/display-settings-period-over-period.js +107 -0
- package/angular/esm/components/display-settings.d.ts +83 -0
- package/angular/esm/components/display-settings.js +231 -0
- package/angular/esm/components/filter-expression-picker.d.ts +64 -0
- package/angular/esm/components/filter-expression-picker.js +179 -0
- package/angular/esm/components/filter-item.d.ts +63 -0
- package/angular/esm/components/filter-item.js +187 -0
- package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
- package/angular/esm/components/filter-parameter-picker.js +151 -0
- package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
- package/angular/esm/components/filter-value-picker-datetime.js +131 -0
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
- package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
- package/angular/esm/components/filter-value-picker-numeric.js +155 -0
- package/angular/esm/components/filter-value-picker.d.ts +57 -0
- package/angular/esm/components/filter-value-picker.js +171 -0
- package/angular/esm/components/filters.d.ts +75 -0
- package/angular/esm/components/filters.js +215 -0
- package/angular/esm/components/formula-editor.d.ts +78 -0
- package/angular/esm/components/formula-editor.js +236 -0
- package/angular/esm/components/formula-field.d.ts +70 -0
- package/angular/esm/components/formula-field.js +209 -0
- package/angular/esm/components/formula.d.ts +60 -0
- package/angular/esm/components/formula.js +177 -0
- package/angular/esm/components/interactive-viz-item.d.ts +63 -0
- package/angular/esm/components/interactive-viz-item.js +188 -0
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
- package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
- package/angular/esm/components/item-grid.d.ts +80 -0
- package/angular/esm/components/item-grid.js +245 -0
- package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
- package/angular/esm/components/item-option-action-button-group.js +107 -0
- package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
- package/angular/esm/components/item-option-color-palette-picker.js +131 -0
- package/angular/esm/components/item-option-color-picker.d.ts +51 -0
- package/angular/esm/components/item-option-color-picker.js +139 -0
- package/angular/esm/components/item-option-color-range.d.ts +66 -0
- package/angular/esm/components/item-option-color-range.js +179 -0
- package/angular/esm/components/item-option-guidelines.d.ts +34 -0
- package/angular/esm/components/item-option-guidelines.js +83 -0
- package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
- package/angular/esm/components/item-option-multi-language-field.js +139 -0
- package/angular/esm/components/item-option-number-field.d.ts +58 -0
- package/angular/esm/components/item-option-number-field.js +171 -0
- package/angular/esm/components/item-option-panel.d.ts +54 -0
- package/angular/esm/components/item-option-panel.js +155 -0
- package/angular/esm/components/item-option-picker.d.ts +46 -0
- package/angular/esm/components/item-option-picker.js +123 -0
- package/angular/esm/components/item-option-position-picker.d.ts +39 -0
- package/angular/esm/components/item-option-position-picker.js +99 -0
- package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
- package/angular/esm/components/item-option-positions-number-field.js +147 -0
- package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
- package/angular/esm/components/item-option-radio-button-group.js +123 -0
- package/angular/esm/components/item-option-slider.d.ts +46 -0
- package/angular/esm/components/item-option-slider.js +131 -0
- package/angular/esm/components/item-option-switch.d.ts +40 -0
- package/angular/esm/components/item-option-switch.js +99 -0
- package/angular/esm/components/item-option-text-field.d.ts +44 -0
- package/angular/esm/components/item-option-text-field.js +115 -0
- package/angular/esm/components/item-option.d.ts +58 -0
- package/angular/esm/components/item-option.js +171 -0
- package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
- package/angular/esm/components/item-slot-drop-panel.js +249 -0
- package/angular/esm/components/item-slot-drop.d.ts +77 -0
- package/angular/esm/components/item-slot-drop.js +227 -0
- package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
- package/angular/esm/components/item-slot-picker-panel.js +309 -0
- package/angular/esm/components/item-slot-picker.d.ts +86 -0
- package/angular/esm/components/item-slot-picker.js +259 -0
- package/angular/esm/components/slot-menu-list.d.ts +46 -0
- package/angular/esm/components/slot-menu-list.js +123 -0
- package/angular/esm/components/slot-menu.d.ts +104 -0
- package/angular/esm/components/slot-menu.js +300 -0
- package/angular/esm/components/viz-item-menu.d.ts +42 -0
- package/angular/esm/components/viz-item-menu.js +111 -0
- package/angular/esm/index.d.ts +109 -0
- package/angular/esm/index.js +217 -0
- package/angular/index.ts +223 -0
- package/angular/package.json +40 -0
- package/angular/tsconfig.json +36 -0
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +10 -0
- package/angular/utils/ai-prompt/dictation.d.ts +50 -0
- package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
- package/angular/utils/ai-prompt/index.d.ts +6 -0
- package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
- package/angular/utils/base/base.d.ts +16 -0
- package/angular/utils/base/focus-visible.d.ts +29 -0
- package/angular/utils/base/focusable.d.ts +58 -0
- package/angular/utils/base/index.d.ts +5 -0
- package/angular/utils/base/localized-mixin.d.ts +22 -0
- package/angular/utils/base/sized-mixin.d.ts +17 -0
- package/angular/utils/color/color-palettes.d.ts +17 -0
- package/angular/utils/color/extrapolate-color.d.ts +1 -0
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
- package/angular/utils/data-broker/index.d.ts +263 -0
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
- package/angular/utils/drag/draggable.d.ts +13 -0
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
- package/angular/utils/filters/expressions.d.ts +15 -0
- package/angular/utils/filters/index.d.ts +1 -0
- package/angular/utils/formatter/calculate-duration.d.ts +2 -0
- package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
- package/angular/utils/formatter/default-local-formats.d.ts +20 -0
- package/angular/utils/formatter/formats/cs.d.ts +20 -0
- package/angular/utils/formatter/formats/da.d.ts +20 -0
- package/angular/utils/formatter/formats/de.d.ts +21 -0
- package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
- package/angular/utils/formatter/formats/en-US.d.ts +1 -0
- package/angular/utils/formatter/formats/en.d.ts +1 -0
- package/angular/utils/formatter/formats/es.d.ts +54 -0
- package/angular/utils/formatter/formats/fi.d.ts +20 -0
- package/angular/utils/formatter/formats/fr.d.ts +54 -0
- package/angular/utils/formatter/formats/he.d.ts +20 -0
- package/angular/utils/formatter/formats/hu.d.ts +20 -0
- package/angular/utils/formatter/formats/it.d.ts +54 -0
- package/angular/utils/formatter/formats/ja.d.ts +20 -0
- package/angular/utils/formatter/formats/ko.d.ts +20 -0
- package/angular/utils/formatter/formats/mk.d.ts +20 -0
- package/angular/utils/formatter/formats/nl.d.ts +21 -0
- package/angular/utils/formatter/formats/no.d.ts +21 -0
- package/angular/utils/formatter/formats/pl.d.ts +20 -0
- package/angular/utils/formatter/formats/pt.d.ts +20 -0
- package/angular/utils/formatter/formats/ru.d.ts +20 -0
- package/angular/utils/formatter/formats/sv.d.ts +20 -0
- package/angular/utils/formatter/formats/tr.d.ts +21 -0
- package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
- package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
- package/angular/utils/formatter/formatter.d.ts +9 -0
- package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
- package/angular/utils/formatter/get-localized-name.d.ts +4 -0
- package/angular/utils/formatter/localize.d.ts +3 -0
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
- package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
- package/angular/utils/formatter/tests/get-localized-name.test.d.ts +1 -0
- package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
- package/angular/utils/formula/base/formula-base.d.ts +117 -0
- package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
- package/angular/utils/formula/codemirror/actions.d.ts +47 -0
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
- package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
- package/angular/utils/formula/codemirror/parser.d.ts +16 -0
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
- package/angular/utils/formula/codemirror/theme.d.ts +20 -0
- package/angular/utils/formula/codemirror/widget.d.ts +18 -0
- package/angular/utils/formula/config/aggregations.d.ts +9 -0
- package/angular/utils/formula/config/build-datasets.d.ts +10 -0
- package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
- package/angular/utils/formula/config/functions.d.ts +3 -0
- package/angular/utils/formula/config/groupings.d.ts +9 -0
- package/angular/utils/formula/config/regex.d.ts +39 -0
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
- package/angular/utils/formula/config/validate-expression.d.ts +19 -0
- package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
- package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
- package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
- package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
- package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
- package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
- package/angular/utils/get-css-variable.d.ts +1 -0
- package/angular/utils/index.d.ts +10 -0
- package/angular/utils/localize/set-locale.d.ts +7 -0
- package/angular/utils/map-tile-providers/index.d.ts +93 -0
- package/angular/utils/set-nested-value.d.ts +6 -0
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
- package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
- package/angular/utils/slot-state/slot-context.d.ts +4 -0
- package/angular/utils/slot-state/slot-store.d.ts +39 -0
- package/angular/utils/store/base-store.d.ts +158 -0
- package/angular/utils/store/dashboard-store.d.ts +49 -0
- package/angular/utils/store/index.d.ts +135 -0
- package/angular/utils/store/item-store.d.ts +33 -0
- package/angular/utils/store/store-registry.d.ts +170 -0
- package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
- package/angular/utils/store/tests/item-store.test.d.ts +1 -0
- package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
- package/angular/utils/store/types.d.ts +270 -0
- package/angular/utils/switch-item/index.d.ts +34 -0
- package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
- package/angular/utils/tests/set-nested-value.test.d.ts +1 -0
- package/angular/utils/themes/bliss.d.ts +2 -0
- package/angular/utils/themes/classic-dark.d.ts +2 -0
- package/angular/utils/themes/classic.d.ts +2 -0
- package/angular/utils/themes/default-dark.d.ts +2 -0
- package/angular/utils/themes/default.d.ts +2 -0
- package/angular/utils/themes/index.d.ts +4 -0
- package/angular/utils/themes/orion.d.ts +2 -0
- package/angular/utils/themes/pinky.d.ts +2 -0
- package/angular/utils/themes/radiant.d.ts +2 -0
- package/angular/utils/themes/royale.d.ts +2 -0
- package/angular/utils/themes/seasonal.d.ts +2 -0
- package/angular/utils/themes/urban.d.ts +2 -0
- package/angular/utils/themes/vivid.d.ts +2 -0
- package/angular/utils/time/formats.const.d.ts +4 -0
- package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
- package/angular/utils/time/periods.const.d.ts +15 -0
- package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
- package/angular/utils/types/tests/type-check.test.d.ts +1 -0
- package/angular/utils/types/type-check.d.ts +28 -0
- package/components/ai-chat/ai-chat-events.d.ts +19 -3
- package/components/ai-chat/ai-chat-request.d.ts +5 -0
- package/components/ai-chat/ai-chat.d.ts +24 -5
- package/components/ai-chat/ai-prompt-types.d.ts +17 -2
- package/components/ai-chat/helpers/agent-config.d.ts +12 -0
- package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.d.ts +2 -1
- package/components/ai-chat/index.js +3 -3
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +3 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +19 -3
- package/components/ai-chat/session/ai-chat-session.d.ts +17 -1
- package/components/ai-chat/stream/chunk-extractors.d.ts +3 -1
- package/components/ai-chat/stream/index.d.ts +1 -0
- package/components/ai-chat/stream/types.d.ts +5 -1
- package/components/ai-chat/types.d.ts +24 -0
- package/components/ai-chat-CG-eIiBr.cjs +337 -0
- package/components/{ai-chat-CI9l8ZOE.js → ai-chat-CMc_9Oo2.js} +917 -694
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +1 -1
- package/components/{ai-interaction-textarea-Crcz4rCV.cjs → ai-interaction-textarea-B6tZgh5k.cjs} +1 -1
- package/components/{ai-interaction-textarea-BbVH-aF4.js → ai-interaction-textarea-D9g9G0T1.js} +3 -3
- package/components/{area-chart-positioning.config-DT7OiLe4.js → area-chart-positioning.config-BEwDQj3T.js} +1 -1
- package/components/{area-chart-positioning.config-D8_KYS-h.cjs → area-chart-positioning.config-CS-5H8-C.cjs} +1 -1
- package/components/{bar-chart-positioning.config-FEwWvMF6.js → bar-chart-positioning.config-CBbTYesB.js} +1 -1
- package/components/{bar-chart-positioning.config-CnMHGk5K.cjs → bar-chart-positioning.config-DkIvwJI5.cjs} +1 -1
- package/components/{base-XtzYH7G4.cjs → base-D6QPZnpu.cjs} +1 -1
- package/components/{base-BkD2CWTy.js → base-DSeXdW9S.js} +1 -1
- package/components/{box-plot-positioning.config-DxRLb2qS.js → box-plot-positioning.config-CNC-RTwl.js} +1 -1
- package/components/{box-plot-positioning.config-Cij5pfeH.cjs → box-plot-positioning.config-o5D-mRFr.cjs} +1 -1
- package/components/{bubble-chart-positioning.config-CVnk6LlN.js → bubble-chart-positioning.config-3ilPXLpZ.js} +1 -1
- package/components/{bubble-chart-positioning.config-BmNR5EQH.cjs → bubble-chart-positioning.config-CtreNdST.cjs} +1 -1
- package/components/{bullet-chart-positioning.config-7sPWksMT.js → bullet-chart-positioning.config-CkFhShBk.js} +1 -1
- package/components/{bullet-chart-positioning.config-CNkU3bzI.cjs → bullet-chart-positioning.config-dHj3YrT_.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CljoQanM.cjs → choropleth-map-positioning.config-BSs-bRGv.cjs} +1 -1
- package/components/{choropleth-map-positioning.config-CuaL7fSP.js → choropleth-map-positioning.config-DOt86t59.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-maqHu5T2.js → circle-pack-chart-positioning.config-BkFATJjC.js} +1 -1
- package/components/{circle-pack-chart-positioning.config-CiF6h2TX.cjs → circle-pack-chart-positioning.config-CVNdIYau.cjs} +1 -1
- package/components/{circular-gauge-positioning.config-e9_VgpRY.js → circular-gauge-positioning.config-BV2xb5TF.js} +1 -1
- package/components/{circular-gauge-positioning.config-BK2YSDr1.cjs → circular-gauge-positioning.config-SrbCaaOr.cjs} +1 -1
- package/components/{column-chart-positioning.config-DdiwInY-.cjs → column-chart-positioning.config-DTQe3h_H.cjs} +1 -1
- package/components/{column-chart-positioning.config-DpPXllzx.js → column-chart-positioning.config-T7juV3XT.js} +1 -1
- package/components/{combination-chart-positioning.config-D7c6z5j6.js → combination-chart-positioning.config-78C7wKnS.js} +1 -1
- package/components/{combination-chart-positioning.config-5Qnm4ZYG.cjs → combination-chart-positioning.config-BrSmdan-.cjs} +1 -1
- package/components/{conditional-number-positioning.config-Bmc5b4Hr.cjs → conditional-number-positioning.config-_9ySKU1z.cjs} +1 -1
- package/components/{conditional-number-positioning.config-BnMcO9mu.js → conditional-number-positioning.config-z_eEfpud.js} +1 -1
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +1 -1
- package/components/{data-field-BmpgtPX8.cjs → data-field-9ZZFw68C.cjs} +1 -1
- package/components/{data-field-DTQxvpeM.js → data-field-D1WW_V0N.js} +3 -3
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +1 -1
- package/components/{data-field-level-EOj5KvoG.js → data-field-level-DR_dXjnL.js} +1 -1
- package/components/{data-field-level-D0RZHwqF.cjs → data-field-level-Dc-EMhC3.cjs} +1 -1
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +1 -1
- package/components/{data-field-panel-Bc_4pQwc.cjs → data-field-panel-DFA97_8o.cjs} +1 -1
- package/components/{data-field-panel-Dya_9wHn.js → data-field-panel-U-5Q-TRp.js} +3 -3
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +1 -1
- package/components/{data-fields-select-2Da7XC6m.js → data-fields-select-BYhAzdA6.js} +1 -1
- package/components/{data-fields-select-D4Sxxb_Z.cjs → data-fields-select-BtXNFZy9.cjs} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +1 -1
- package/components/{dataset-selector-list-m1XmVt8T.cjs → dataset-selector-list-BXg6DIKI.cjs} +1 -1
- package/components/{dataset-selector-list-CK9KzC1a.js → dataset-selector-list-q6qWA7B-.js} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +1 -1
- package/components/{dataset-selector-row-gBQl1Bza.js → dataset-selector-row-ZKET7lVc.js} +2 -2
- package/components/{dataset-selector-row-B78ZLWQS.cjs → dataset-selector-row-bqwY3zaf.cjs} +1 -1
- package/components/{de-_-1hLVI0.js → de-C5CMIy08.js} +3 -0
- package/components/de-CdZnQbKI.cjs +20 -0
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/{display-settings-DLWnhQe0.cjs → display-settings-BlMhlvVS.cjs} +1 -1
- package/components/{display-settings-DgOPeUie.js → display-settings-D_wBgzm1.js} +2 -2
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +1 -1
- package/components/{display-settings-binning-CE4hmdtx.js → display-settings-binning-GIE6ww1Q.js} +2 -2
- package/components/{display-settings-binning-CYM7FpXw.cjs → display-settings-binning-HrXOdGwO.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +1 -1
- package/components/{display-settings-datetime-h8CvoTZ8.cjs → display-settings-datetime-DNeLEl3L.cjs} +1 -1
- package/components/{display-settings-datetime-D4f_o6NK.js → display-settings-datetime-YS7_TUet.js} +2 -2
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +1 -1
- package/components/{display-settings-grand-totals-CnP8P-cu.js → display-settings-grand-totals-Bt_ju8jp.js} +2 -2
- package/components/{display-settings-grand-totals-D0YsVbSs.cjs → display-settings-grand-totals-C-7s1Tyo.cjs} +1 -1
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +1 -1
- package/components/{display-settings-numeric-DF4zjmZj.cjs → display-settings-numeric--uwJWzC1.cjs} +1 -1
- package/components/{display-settings-numeric-DyAFuYTz.js → display-settings-numeric-OHmktQsz.js} +2 -2
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +1 -1
- package/components/{display-settings-period-over-period-B634a88N.js → display-settings-period-over-period-B1_IJjWK.js} +2 -2
- package/components/{display-settings-period-over-period-DXuRHg-1.cjs → display-settings-period-over-period-C4X8c-_R.cjs} +1 -1
- package/components/{donut-chart-positioning.config-BhIwOPI0.cjs → donut-chart-positioning.config-BY2TIeeY.cjs} +1 -1
- package/components/{donut-chart-positioning.config-Peq3v9qK.js → donut-chart-positioning.config-D34HegyZ.js} +1 -1
- package/components/es-7RD7O4q3.cjs +20 -0
- package/components/{es-Cdl4GvQt.js → es-BCur0-77.js} +3 -0
- package/components/{evolution-number-positioning.config-ClGlayIt.cjs → evolution-number-positioning.config-BBvULr59.cjs} +1 -1
- package/components/{evolution-number-positioning.config-e90XUBQG.js → evolution-number-positioning.config-CKzCTjdO.js} +1 -1
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/{filter-expression-picker-COCoT5LG.cjs → filter-expression-picker-BOLyxG2r.cjs} +1 -1
- package/components/{filter-expression-picker-BPAwOijt.js → filter-expression-picker-DurfSgRY.js} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +1 -1
- package/components/{filter-item-CbDbNmni.js → filter-item-C58zIpPh.js} +5 -5
- package/components/{filter-item-cyApfc9M.cjs → filter-item-obyHcs9f.cjs} +1 -1
- package/components/filter-parameter-picker/index.cjs +1 -1
- package/components/filter-parameter-picker/index.js +1 -1
- package/components/{filter-parameter-picker-CCd77cYS.js → filter-parameter-picker-BWNBc8BI.js} +1 -1
- package/components/{filter-parameter-picker-F68BatwD.cjs → filter-parameter-picker-DSYaE9Sv.cjs} +1 -1
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +1 -1
- package/components/{filter-value-picker-DADia7jo.cjs → filter-value-picker-DYl_1pis.cjs} +1 -1
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +1 -1
- package/components/{filter-value-picker-datetime-CuMmWJFV.cjs → filter-value-picker-datetime-BFbmCKs3.cjs} +1 -1
- package/components/{filter-value-picker-datetime-DM2K7Nrv.js → filter-value-picker-datetime-CP5__ua6.js} +1 -1
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +1 -1
- package/components/{filter-value-picker-hierarchy-BQTrc0ZU.cjs → filter-value-picker-hierarchy-BTf992WX.cjs} +1 -1
- package/components/{filter-value-picker-hierarchy-W-a9ycWV.js → filter-value-picker-hierarchy-j0LRYW1c.js} +2 -2
- package/components/{filter-value-picker-CLUUhn1d.js → filter-value-picker-kzIrnmdp.js} +4 -4
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +1 -1
- package/components/{filter-value-picker-numeric-DL5cqR8I.js → filter-value-picker-numeric-BmKmeOol.js} +1 -1
- package/components/{filter-value-picker-numeric-CXfgDZ4W.cjs → filter-value-picker-numeric-DJi0Utk_.cjs} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +1 -1
- package/components/{filters-bruSosZt.js → filters-BddhKRZC.js} +2 -2
- package/components/{filters-Dj4mQklp.cjs → filters-Dx6g0xl9.cjs} +1 -1
- package/components/formula/index.cjs +1 -1
- package/components/formula/index.js +1 -1
- package/components/{formula-CbApVbw7.js → formula-BYx4gH6i.js} +2 -2
- package/components/{formula-DkANj6Hi.cjs → formula-cc2AaiLt.cjs} +1 -1
- package/components/{formula-codemirror-C_wCMc2M.js → formula-codemirror-CVzyYNLO.js} +4 -4
- package/components/{formula-codemirror-DGxXJYCi.cjs → formula-codemirror-EMK3MCNZ.cjs} +1 -1
- package/components/{formula-display-store-SkrNDfyG.js → formula-display-store-BPn9m5TL.js} +3 -3
- package/components/{formula-display-store-B2DUrVwh.cjs → formula-display-store-DER7C0GG.cjs} +1 -1
- package/components/formula-editor/index.cjs +1 -1
- package/components/formula-editor/index.js +3 -3
- package/components/{formula-editor-DX5FRb2v.js → formula-editor-BxoIkARr.js} +5 -5
- package/components/{formula-editor-Dv4UIAe_.cjs → formula-editor-CWKXcUTF.cjs} +1 -1
- package/components/formula-field/index.cjs +1 -1
- package/components/formula-field/index.js +1 -1
- package/components/{formula-field-CwnAHHpw.js → formula-field-BtvaOWki.js} +1 -1
- package/components/{formula-field-tJsQsXic.cjs → formula-field-CzS2pKJI.cjs} +1 -1
- package/components/{formula-input-base-6iVykYb0.cjs → formula-input-base-CvD0b2cO.cjs} +1 -1
- package/components/{formula-input-base-mKhAiYM0.js → formula-input-base-DVtGLoyA.js} +1 -1
- package/components/{fr-qv7EjBRo.js → fr-BnECl1nx.js} +3 -0
- package/components/fr-CGw2IwXh.cjs +20 -0
- package/components/{funnel-chart-positioning.config-PrEIQPXg.cjs → funnel-chart-positioning.config-BPSmV76y.cjs} +1 -1
- package/components/{funnel-chart-positioning.config-Havc4gNs.js → funnel-chart-positioning.config-CvhpE7rN.js} +1 -1
- package/components/{get-dataset-name-CIf7x0nh.js → get-dataset-name-D53TN7N9.js} +1 -1
- package/components/{get-dataset-name-BR_H1MNL.cjs → get-dataset-name-DYLdbEs-.cjs} +1 -1
- package/components/{groupings-BKSBZ34s.cjs → groupings-Bn9384Zw.cjs} +1 -1
- package/components/{groupings-CIVQITJp.js → groupings-BtmmUlPK.js} +1 -1
- package/components/{heat-map-positioning.config-CF6XNksR.js → heat-map-positioning.config-AOHTEJf7.js} +1 -1
- package/components/{heat-map-positioning.config-L91C9c0t.cjs → heat-map-positioning.config-CHDHFIo2.cjs} +1 -1
- package/components/{heat-table-positioning.config-BuH8txu-.cjs → heat-table-positioning.config-DCLE9cy4.cjs} +1 -1
- package/components/{heat-table-positioning.config-0YNV-Whw.js → heat-table-positioning.config-DprOfmlW.js} +1 -1
- package/components/{hexbin-map-positioning.config-wKi8qbMF.js → hexbin-map-positioning.config-BjxkoqGh.js} +1 -1
- package/components/{hexbin-map-positioning.config-Dx42tGRj.cjs → hexbin-map-positioning.config-BmLljWez.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +67 -67
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/{interactive-viz-item-DMOsdrLN.js → interactive-viz-item-DL5aqkvx.js} +5 -5
- package/components/{interactive-viz-item-YwkjBGtN.cjs → interactive-viz-item-DTr14-9-.cjs} +1 -1
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +1 -1
- package/components/{item-grid-iYxxuvvA.js → item-grid-C_OTtv4T.js} +6 -6
- package/components/{item-grid-B1ColM8x.cjs → item-grid-CcwnD_u5.cjs} +4 -4
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +1 -1
- package/components/{item-option-BIWC5VRT.js → item-option-DRWLN89_.js} +1 -1
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +1 -1
- package/components/{item-option-action-button-group-TPUU3sts.js → item-option-action-button-group-B9ghoHeh.js} +1 -1
- package/components/{item-option-action-button-group-Dq6xKpHi.cjs → item-option-action-button-group-Byg9h7uo.cjs} +1 -1
- package/components/{item-option-base-BKo7DBxK.cjs → item-option-base-Dwf3dByS.cjs} +1 -1
- package/components/{item-option-base-DcZILy3S.js → item-option-base-pYrkqt6q.js} +1 -1
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +1 -1
- package/components/{item-option-color-palette-picker-i6Tnv4qN.js → item-option-color-palette-picker-DnVqGnm4.js} +1 -1
- package/components/{item-option-color-palette-picker-C_Jx5Prb.cjs → item-option-color-palette-picker-v6TBE-I0.cjs} +1 -1
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/{item-option-color-picker-Co3iTjwo.cjs → item-option-color-picker-CNkNZ1p-.cjs} +1 -1
- package/components/{item-option-color-picker-BSXsKzZ-.js → item-option-color-picker-CO-OAFOs.js} +1 -1
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/{item-option-color-range-CUYGCwQG.cjs → item-option-color-range-BveD6fsp.cjs} +1 -1
- package/components/{item-option-color-range-DE8-UNxr.js → item-option-color-range-bdYUxgQ9.js} +1 -1
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/{item-option-guidelines-DWdPS45K.js → item-option-guidelines-Ce88dTV-.js} +3 -3
- package/components/{item-option-guidelines-DUjfN-eB.cjs → item-option-guidelines-D8UjylMx.cjs} +1 -1
- package/components/{item-option-Cz10G9yw.cjs → item-option-h8URFjZ2.cjs} +1 -1
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +1 -1
- package/components/{item-option-multi-language-field-D5e36e1G.js → item-option-multi-language-field-0qfdBanp.js} +1 -1
- package/components/{item-option-multi-language-field-CWE9WrxP.cjs → item-option-multi-language-field-D0jRPAjY.cjs} +1 -1
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +1 -1
- package/components/{item-option-number-field-BElZmdUU.js → item-option-number-field-CcEav5C3.js} +1 -1
- package/components/{item-option-number-field-RJ88VAyR.cjs → item-option-number-field-DYJ0eIf7.cjs} +1 -1
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/{item-option-panel-BmaT4y_2.cjs → item-option-panel-6Voh87nt.cjs} +1 -1
- package/components/{item-option-panel-D7klHx03.js → item-option-panel-DrI7HYrY.js} +2 -2
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +1 -1
- package/components/{item-option-picker-DnWKHPYS.js → item-option-picker-Bv4aGaCO.js} +1 -1
- package/components/{item-option-picker-C3M-7kWF.cjs → item-option-picker-DkEgfEE7.cjs} +1 -1
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +1 -1
- package/components/{item-option-position-picker-CUTrYLPj.js → item-option-position-picker-1d7qZmDv.js} +1 -1
- package/components/{item-option-position-picker-B2qUrVJd.cjs → item-option-position-picker-CKgaqFJR.cjs} +1 -1
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +1 -1
- package/components/{item-option-positions-number-field-EXPp_Vr4.cjs → item-option-positions-number-field-BJXer0y5.cjs} +1 -1
- package/components/{item-option-positions-number-field-B4zcS62B.js → item-option-positions-number-field-DUlBsbUL.js} +1 -1
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +1 -1
- package/components/{item-option-radio-button-group-D8GbkHVX.cjs → item-option-radio-button-group-ChtTIO3B.cjs} +1 -1
- package/components/{item-option-radio-button-group-Cs1sSCVM.js → item-option-radio-button-group-DuMcIZvr.js} +1 -1
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/{item-option-slider-Bo1ALP8q.cjs → item-option-slider-CBSnkHVq.cjs} +1 -1
- package/components/{item-option-slider-CcKLS-V5.js → item-option-slider-CWxRoAbA.js} +1 -1
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +1 -1
- package/components/{item-option-switch-Ch6u9CAm.js → item-option-switch-DvMLATBO.js} +1 -1
- package/components/{item-option-switch-CpeC7Eh7.cjs → item-option-switch-dO66fjoD.cjs} +1 -1
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +1 -1
- package/components/{item-option-text-field-DAbQegOZ.js → item-option-text-field-DS-gn_Gc.js} +1 -1
- package/components/{item-option-text-field-BxvQAHf3.cjs → item-option-text-field-Furz80ho.cjs} +1 -1
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +1 -1
- package/components/{item-slot-drop-DDffbp-i.js → item-slot-drop-DE90FDdS.js} +5 -5
- package/components/{item-slot-drop-mKhyjodt.cjs → item-slot-drop-f8jm-34W.cjs} +1 -1
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +1 -1
- package/components/{item-slot-drop-panel-BtrZehGL.js → item-slot-drop-panel-CyfhbUlE.js} +39 -39
- package/components/{item-slot-drop-panel-CKXMQCyt.cjs → item-slot-drop-panel-DLqyYvKj.cjs} +1 -1
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +1 -1
- package/components/{item-slot-picker-CWqeOJ8R.js → item-slot-picker-BM03UNRE.js} +6 -6
- package/components/{item-slot-picker-CwMjRpkT.cjs → item-slot-picker-CgEtqhqe.cjs} +1 -1
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +1 -1
- package/components/{item-slot-picker-panel-C6Hpc2rT.cjs → item-slot-picker-panel-CuH3OcmV.cjs} +1 -1
- package/components/{item-slot-picker-panel-cD3DvPbA.js → item-slot-picker-panel-DPaabfv5.js} +3 -3
- package/components/{line-chart-positioning.config-ZZid30rm.cjs → line-chart-positioning.config-BnDYCjGX.cjs} +1 -1
- package/components/{line-chart-positioning.config-DoHg1rwA.js → line-chart-positioning.config-CPGyHeJF.js} +1 -1
- package/components/{localized-mixin-DZFYG6RG.cjs → localized-mixin-CtNoCjjI.cjs} +1 -1
- package/components/{localized-mixin-CSF-kZFt.js → localized-mixin-DBUkUh0o.js} +1 -1
- package/components/{marker-map-positioning.config-DGZWoFAk.cjs → marker-map-positioning.config-Bq1EPg3J.cjs} +1 -1
- package/components/{marker-map-positioning.config-DX6bFQld.js → marker-map-positioning.config-CBERtxkG.js} +1 -1
- package/components/nl-BnzS_ZtB.cjs +20 -0
- package/components/{nl-MWgzbW0R.js → nl-h9vVAk2e.js} +3 -0
- package/components/{ohlc-chart-positioning.config-DaEUcXBJ.js → ohlc-chart-positioning.config-CpPJyyLB.js} +1 -1
- package/components/{ohlc-chart-positioning.config-Bev8Atsx.cjs → ohlc-chart-positioning.config-aCf-SEt7.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-DJ7K-dVp.cjs → parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs} +1 -1
- package/components/{parallel-coordinates-plot-positioning.config-NWEEOd4d.js → parallel-coordinates-plot-positioning.config-DsNDp1G7.js} +1 -1
- package/components/{pivot-table-positioning.config-DpMiUVtd.js → pivot-table-positioning.config-BFWS3Yk_.js} +1 -1
- package/components/{pivot-table-positioning.config-U-M08Rwc.cjs → pivot-table-positioning.config-gBHM1_-K.cjs} +1 -1
- package/components/{pyramid-chart-positioning.config-CZwx_f40.js → pyramid-chart-positioning.config-B8dbZhvt.js} +1 -1
- package/components/{pyramid-chart-positioning.config-BpdI6jmg.cjs → pyramid-chart-positioning.config-DD64vCwl.cjs} +1 -1
- package/components/{radar-chart-positioning.config-IFacftgi.js → radar-chart-positioning.config-C2DWQu8V.js} +1 -1
- package/components/{radar-chart-positioning.config-IcaEKe9Q.cjs → radar-chart-positioning.config-DN51_Tzb.cjs} +1 -1
- package/components/{route-map-positioning.config-CHfz0eM_.js → route-map-positioning.config-D7X6QuWY.js} +1 -1
- package/components/{route-map-positioning.config-DKZvRmfJ.cjs → route-map-positioning.config-ryk_dUkh.cjs} +1 -1
- package/components/{sankey-diagram-positioning.config-BaCoBJXV.js → sankey-diagram-positioning.config-A_7xM06n.js} +1 -1
- package/components/{sankey-diagram-positioning.config-DJaK2xJX.cjs → sankey-diagram-positioning.config-CJfGpnPS.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-DaNI54rh.cjs → scatter-plot-positioning.config-Duao2ftU.cjs} +1 -1
- package/components/{scatter-plot-positioning.config-PC47tloI.js → scatter-plot-positioning.config-qpwrugRe.js} +1 -1
- package/components/{set-locale-v6POkwmC.cjs → set-locale-B-GvqA1H.cjs} +1 -1
- package/components/{set-locale-Jz3DhqaW.js → set-locale-CgCeLPlb.js} +4 -4
- package/components/{slicer-filter-positioning.config-DMqYOG9Z.js → slicer-filter-positioning.config-93hC7jID.js} +1 -1
- package/components/{slicer-filter-positioning.config-KANe71ep.cjs → slicer-filter-positioning.config-DxhC39ak.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +1 -1
- package/components/{slot-menu-CWMA97fn.cjs → slot-menu-CPxyyKSe.cjs} +6 -6
- package/components/{slot-menu-Cwee5fNa.js → slot-menu-DHJtAZ5_.js} +16 -16
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +1 -1
- package/components/{slot-menu-list-BEou0QhK.cjs → slot-menu-list-CeWcE4KK.cjs} +1 -1
- package/components/{slot-menu-list-De2q0GGZ.js → slot-menu-list-QltpaoWh.js} +1 -1
- package/components/{speedometer-chart-positioning.config-CYVK0VnJ.js → speedometer-chart-positioning.config-CZbwyYsk.js} +1 -1
- package/components/{speedometer-chart-positioning.config-DW3dJD7n.cjs → speedometer-chart-positioning.config-DtRG3-e5.cjs} +1 -1
- package/components/{spike-map-positioning.config-Dl-Uf_O6.cjs → spike-map-positioning.config-CevjyQ5F.cjs} +1 -1
- package/components/{spike-map-positioning.config-CfVFEygx.js → spike-map-positioning.config-LBqSYD2n.js} +1 -1
- package/components/{strip-plot-positioning.config-eJ5MbyBk.cjs → strip-plot-positioning.config-DF5VxzvB.cjs} +1 -1
- package/components/{strip-plot-positioning.config-BMNtb-to.js → strip-plot-positioning.config-cCdQxMM_.js} +1 -1
- package/components/{sunburst-chart-positioning.config-CJgmPm-9.cjs → sunburst-chart-positioning.config-CERBvfoF.cjs} +1 -1
- package/components/{sunburst-chart-positioning.config-BRWF7dVf.js → sunburst-chart-positioning.config-DmkZEexM.js} +1 -1
- package/components/{symbol-map-positioning.config-_8L-oDxW.js → symbol-map-positioning.config-BwG_G6He.js} +1 -1
- package/components/{symbol-map-positioning.config-ONSN27l9.cjs → symbol-map-positioning.config-DhYxG8RC.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-DrCRoNzf.cjs → treemap-chart-positioning.config-BwrrXs4a.cjs} +1 -1
- package/components/{treemap-chart-positioning.config-Bggn7Mqz.js → treemap-chart-positioning.config-arjPT6b_.js} +1 -1
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/{utils-B2Eqs5i5.js → utils-B_rE5b7a.js} +1 -1
- package/components/{utils-CNH9xGyk.cjs → utils-BwJNkc-z.cjs} +1 -1
- package/components/utils.cjs +1 -1
- package/components/utils.js +2 -2
- package/components/{venn-diagram-positioning.config-BoH0wNEM.js → venn-diagram-positioning.config-DSh3Ns9L.js} +1 -1
- package/components/{venn-diagram-positioning.config-B-prEVEc.cjs → venn-diagram-positioning.config-GGLCcrqp.cjs} +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +1 -1
- package/components/{viz-item-menu-BUSjo6j_.js → viz-item-menu-Ht6bklNL.js} +1 -1
- package/components/{viz-item-menu-C-kpX-Ft.cjs → viz-item-menu-XHh4qhtn.cjs} +1 -1
- package/components/{wordcloud-chart-positioning.config-B6pvD7_a.js → wordcloud-chart-positioning.config-B8ZzwIdd.js} +1 -1
- package/components/{wordcloud-chart-positioning.config-BJi5SVYf.cjs → wordcloud-chart-positioning.config-Cxyhs6gk.cjs} +1 -1
- package/custom-elements.json +254 -5
- package/package.json +1 -1
- package/react/components/ai-chat.component.ts +2 -2
- package/react/esm/components/ai-chat.component.d.ts +2 -2
- package/react/esm/components/ai-chat.component.js +2 -2
- package/react/package.json +2 -2
- package/types/ai-chat.types.d.ts +9 -0
- package/components/ai-chat-7kHoMVeu.cjs +0 -321
- package/components/de-g8uRTFxZ.cjs +0 -20
- package/components/es-C3dhJP2H.cjs +0 -20
- package/components/fr-WdV_fXl_.cjs +0 -20
- package/components/nl-D3gRr88b.cjs +0 -20
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/analytics-components-kit/item-grid';
|
|
3
|
+
import type { LuzmoItemGrid as LuzmoItemGridHostElement, ClonedItemPositioning, GridItemActionEventDetail, GridItemData, GridItemRenderer, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
|
|
4
|
+
export type { Action, ActionGroup, AddGridItemInput, ClonedItemPositioning, DefaultActionType, GridItemActionEventDetail, GridItemData, GridItemPatch, GridItemPosition, GridItemPositionPatch, GridItemRenderer, GridItemSizePatch, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
|
|
5
|
+
import type { ThemeConfig } from '@luzmo/dashboard-contents-types';
|
|
6
|
+
import type { Placement } from '@luzmo/lucero';
|
|
7
|
+
|
|
8
|
+
@Component({
|
|
9
|
+
selector: 'luzmo-item-grid',
|
|
10
|
+
exportAs: 'luzmoItemGrid',
|
|
11
|
+
standalone: true,
|
|
12
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
13
|
+
template: '<ng-content />'
|
|
14
|
+
})
|
|
15
|
+
/**
|
|
16
|
+
* Angular wrapper component for <luzmo-item-grid>
|
|
17
|
+
*/
|
|
18
|
+
export class LuzmoItemGrid implements OnChanges {
|
|
19
|
+
private readonly elementRef = inject<ElementRef<LuzmoItemGridHostElement>>(ElementRef);
|
|
20
|
+
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
21
|
+
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
22
|
+
private readonly host = this.elementRef.nativeElement;
|
|
23
|
+
private readonly listenerCleanup: Array<() => void> = [];
|
|
24
|
+
|
|
25
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
26
|
+
get nativeElement(): LuzmoItemGridHostElement {
|
|
27
|
+
return this.host;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/** The URL of the app server */
|
|
31
|
+
@Input({ alias: 'appServer' })
|
|
32
|
+
appServer?: string;
|
|
33
|
+
|
|
34
|
+
/** The API Host of the databroker */
|
|
35
|
+
@Input({ alias: 'apiHost' })
|
|
36
|
+
apiHost?: string;
|
|
37
|
+
|
|
38
|
+
/** The auth key of the databroker */
|
|
39
|
+
@Input({ alias: 'authKey' })
|
|
40
|
+
authKey?: string;
|
|
41
|
+
|
|
42
|
+
/** The auth token of the databroker */
|
|
43
|
+
@Input({ alias: 'authToken' })
|
|
44
|
+
authToken?: string;
|
|
45
|
+
|
|
46
|
+
/** The cache time of the databroker */
|
|
47
|
+
@Input({ alias: 'cacheTime' })
|
|
48
|
+
cacheTime?: number;
|
|
49
|
+
|
|
50
|
+
/** The language of the settings interface */
|
|
51
|
+
@Input({ alias: 'language' })
|
|
52
|
+
language?: string;
|
|
53
|
+
|
|
54
|
+
/** The language to use for locale-aware formatting and labels */
|
|
55
|
+
@Input({ alias: 'contentLanguage' })
|
|
56
|
+
contentLanguage?: string;
|
|
57
|
+
|
|
58
|
+
/** The number of columns in the grid. */
|
|
59
|
+
@Input({ alias: 'columns' })
|
|
60
|
+
columns?: number;
|
|
61
|
+
|
|
62
|
+
/** The height of each row in pixels in the grid. */
|
|
63
|
+
@Input({ alias: 'rowHeight' })
|
|
64
|
+
rowHeight?: number;
|
|
65
|
+
|
|
66
|
+
/** Whether the grid is in view mode. When true, dragging, resizing and action buttons are disabled. */
|
|
67
|
+
@Input({ alias: 'viewMode', transform: booleanAttribute })
|
|
68
|
+
viewMode?: boolean;
|
|
69
|
+
|
|
70
|
+
/** When true (default), the item actions menu uses the Document Popover API (`popover="manual"`), which paints in the top layer. Set to false when embedding the grid next to another UI that also uses a document popover (e.g. an analyst side pane) so the actions menu stays in normal stacking with `position: fixed` + Floating UI instead. */
|
|
71
|
+
@Input({ alias: 'itemActionsDocumentPopover', transform: booleanAttribute })
|
|
72
|
+
itemActionsDocumentPopover?: boolean;
|
|
73
|
+
|
|
74
|
+
/** The placement of the item actions menu. */
|
|
75
|
+
@Input({ alias: 'placementItemActionsMenu' })
|
|
76
|
+
placementItemActionsMenu?: Placement;
|
|
77
|
+
|
|
78
|
+
/** The default item actions menu. */
|
|
79
|
+
@Input({ alias: 'defaultItemActionsMenu' })
|
|
80
|
+
defaultItemActionsMenu?: InputActionGroup[];
|
|
81
|
+
|
|
82
|
+
/** Where to position a cloned item in the grid. - `'below-item'` (default): places the clone directly below the original item, shifting other items down. - `'auto-position'`: lets the grid engine find the first available space (row-major scan, then compact upward). */
|
|
83
|
+
@Input({ alias: 'clonedItemPositioning' })
|
|
84
|
+
clonedItemPositioning?: ClonedItemPositioning;
|
|
85
|
+
|
|
86
|
+
/** Grid options configuration */
|
|
87
|
+
@Input({ alias: 'theme' })
|
|
88
|
+
theme?: ThemeConfig;
|
|
89
|
+
|
|
90
|
+
/** Items to add to the grid. The array is cloned on set so the component never mutates the caller's data. */
|
|
91
|
+
@Input({ alias: 'items' })
|
|
92
|
+
items?: GridItemData[];
|
|
93
|
+
|
|
94
|
+
/** Seed value for uncontrolled items mode. The component manages item changes internally from this starting point. Ignored when `items` is set. */
|
|
95
|
+
@Input({ alias: 'initialItems' })
|
|
96
|
+
initialItems?: GridItemData[];
|
|
97
|
+
|
|
98
|
+
/** Custom renderers for different item types */
|
|
99
|
+
@Input({ alias: 'renderers' })
|
|
100
|
+
renderers?: Record<string, GridItemRenderer>;
|
|
101
|
+
|
|
102
|
+
/** Controlled item states. When set, the component becomes controlled: it only reflects what the parent provides and does not update internal state on user interaction. */
|
|
103
|
+
@Input({ alias: 'itemStates' })
|
|
104
|
+
itemStates?: ItemStates;
|
|
105
|
+
|
|
106
|
+
/** Seed value for uncontrolled mode. The component manages state internally from this starting point. Ignored if `itemStates` is set. Only one item with one active action is supported. If multiple items or actions are provided, a warning is emitted and only the first item with its first action is applied. Use controlled mode (`itemStates`) for multiple simultaneous active items. */
|
|
107
|
+
@Input({ alias: 'initialItemStates' })
|
|
108
|
+
initialItemStates?: ItemStates;
|
|
109
|
+
|
|
110
|
+
/** Fired when an item action is performed */
|
|
111
|
+
readonly luzmoItemGridItemAction = output<CustomEvent<GridItemActionEventDetail>>({ alias: 'luzmoItemGridItemAction' });
|
|
112
|
+
|
|
113
|
+
/** Fired when the grid layout is changed */
|
|
114
|
+
readonly luzmoItemGridLayoutChanged = output<CustomEvent<GridLifecycleEventDetail>>({ alias: 'luzmoItemGridLayoutChanged' });
|
|
115
|
+
|
|
116
|
+
/** Fired when the grid is ready */
|
|
117
|
+
readonly luzmoItemGridReady = output<CustomEvent<GridLifecycleEventDetail>>({ alias: 'luzmoItemGridReady' });
|
|
118
|
+
|
|
119
|
+
/** Fired when item states change (controlled and uncontrolled mode) */
|
|
120
|
+
readonly luzmoItemGridItemStatesChanged = output<CustomEvent<GridItemStatesChangedEventDetail>>({ alias: 'luzmoItemGridItemStatesChanged' });
|
|
121
|
+
|
|
122
|
+
constructor() {
|
|
123
|
+
this.bindEvents();
|
|
124
|
+
this.destroyRef.onDestroy(() => {
|
|
125
|
+
for (const cleanup of this.listenerCleanup) {
|
|
126
|
+
cleanup();
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
132
|
+
for (const key of Object.keys(changes)) {
|
|
133
|
+
switch (key) {
|
|
134
|
+
case 'appServer':
|
|
135
|
+
this.setHostProperty('appServer', changes['appServer'].currentValue);
|
|
136
|
+
break;
|
|
137
|
+
case 'apiHost':
|
|
138
|
+
this.setHostProperty('apiHost', changes['apiHost'].currentValue);
|
|
139
|
+
break;
|
|
140
|
+
case 'authKey':
|
|
141
|
+
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
142
|
+
break;
|
|
143
|
+
case 'authToken':
|
|
144
|
+
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
145
|
+
break;
|
|
146
|
+
case 'cacheTime':
|
|
147
|
+
this.setHostProperty('cacheTime', changes['cacheTime'].currentValue);
|
|
148
|
+
break;
|
|
149
|
+
case 'language':
|
|
150
|
+
this.setHostProperty('language', changes['language'].currentValue);
|
|
151
|
+
break;
|
|
152
|
+
case 'contentLanguage':
|
|
153
|
+
this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
|
|
154
|
+
break;
|
|
155
|
+
case 'columns':
|
|
156
|
+
this.setHostProperty('columns', changes['columns'].currentValue);
|
|
157
|
+
break;
|
|
158
|
+
case 'rowHeight':
|
|
159
|
+
this.setHostProperty('rowHeight', changes['rowHeight'].currentValue);
|
|
160
|
+
break;
|
|
161
|
+
case 'viewMode':
|
|
162
|
+
this.setHostProperty('viewMode', changes['viewMode'].currentValue);
|
|
163
|
+
break;
|
|
164
|
+
case 'itemActionsDocumentPopover':
|
|
165
|
+
this.setHostProperty('itemActionsDocumentPopover', changes['itemActionsDocumentPopover'].currentValue);
|
|
166
|
+
break;
|
|
167
|
+
case 'placementItemActionsMenu':
|
|
168
|
+
this.setHostProperty('placementItemActionsMenu', changes['placementItemActionsMenu'].currentValue);
|
|
169
|
+
break;
|
|
170
|
+
case 'defaultItemActionsMenu':
|
|
171
|
+
this.setHostProperty('defaultItemActionsMenu', changes['defaultItemActionsMenu'].currentValue);
|
|
172
|
+
break;
|
|
173
|
+
case 'clonedItemPositioning':
|
|
174
|
+
this.setHostProperty('clonedItemPositioning', changes['clonedItemPositioning'].currentValue);
|
|
175
|
+
break;
|
|
176
|
+
case 'theme':
|
|
177
|
+
this.setHostProperty('theme', changes['theme'].currentValue);
|
|
178
|
+
break;
|
|
179
|
+
case 'items':
|
|
180
|
+
this.setHostProperty('items', changes['items'].currentValue);
|
|
181
|
+
break;
|
|
182
|
+
case 'initialItems':
|
|
183
|
+
this.setHostProperty('initialItems', changes['initialItems'].currentValue);
|
|
184
|
+
break;
|
|
185
|
+
case 'renderers':
|
|
186
|
+
this.setHostProperty('renderers', changes['renderers'].currentValue);
|
|
187
|
+
break;
|
|
188
|
+
case 'itemStates':
|
|
189
|
+
this.setHostProperty('itemStates', changes['itemStates'].currentValue);
|
|
190
|
+
break;
|
|
191
|
+
case 'initialItemStates':
|
|
192
|
+
this.setHostProperty('initialItemStates', changes['initialItemStates'].currentValue);
|
|
193
|
+
break;
|
|
194
|
+
default:
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
202
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
203
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
204
|
+
* undefined / null by clearing their bindings.
|
|
205
|
+
*/
|
|
206
|
+
private setHostProperty(key: string, value: unknown): void {
|
|
207
|
+
this.renderer.setProperty(this.host, key, value);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
private bindEvents(): void {
|
|
211
|
+
this.listenerCleanup.push(
|
|
212
|
+
this.renderer.listen(this.host, 'luzmo-item-grid-item-action', (event: Event) => {
|
|
213
|
+
const typed = event as CustomEvent<GridItemActionEventDetail>;
|
|
214
|
+
this.luzmoItemGridItemAction.emit(typed);
|
|
215
|
+
})
|
|
216
|
+
);
|
|
217
|
+
|
|
218
|
+
this.listenerCleanup.push(
|
|
219
|
+
this.renderer.listen(this.host, 'luzmo-item-grid-layout-changed', (event: Event) => {
|
|
220
|
+
const typed = event as CustomEvent<GridLifecycleEventDetail>;
|
|
221
|
+
this.luzmoItemGridLayoutChanged.emit(typed);
|
|
222
|
+
})
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
this.listenerCleanup.push(
|
|
226
|
+
this.renderer.listen(this.host, 'luzmo-item-grid-ready', (event: Event) => {
|
|
227
|
+
const typed = event as CustomEvent<GridLifecycleEventDetail>;
|
|
228
|
+
this.luzmoItemGridReady.emit(typed);
|
|
229
|
+
})
|
|
230
|
+
);
|
|
231
|
+
|
|
232
|
+
this.listenerCleanup.push(
|
|
233
|
+
this.renderer.listen(this.host, 'luzmo-item-grid-item-states-changed', (event: Event) => {
|
|
234
|
+
const typed = event as CustomEvent<GridItemStatesChangedEventDetail>;
|
|
235
|
+
this.luzmoItemGridItemStatesChanged.emit(typed);
|
|
236
|
+
})
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/** The underlying custom element type for LuzmoItemGrid */
|
|
242
|
+
export type LuzmoItemGridElement = LuzmoItemGridHostElement;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
3
|
+
import type { LuzmoItemOptionActionButtonGroup as LuzmoItemOptionActionButtonGroupHostElement, ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
4
|
+
export type { ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-action-button-group';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'luzmo-item-option-action-button-group',
|
|
8
|
+
exportAs: 'luzmoItemOptionActionButtonGroup',
|
|
9
|
+
standalone: true,
|
|
10
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
+
template: '<ng-content />'
|
|
12
|
+
})
|
|
13
|
+
/**
|
|
14
|
+
* Angular wrapper component for <luzmo-item-option-action-button-group>
|
|
15
|
+
*/
|
|
16
|
+
export class LuzmoItemOptionActionButtonGroup implements OnChanges {
|
|
17
|
+
private readonly elementRef = inject<ElementRef<LuzmoItemOptionActionButtonGroupHostElement>>(ElementRef);
|
|
18
|
+
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
19
|
+
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
20
|
+
private readonly host = this.elementRef.nativeElement;
|
|
21
|
+
private readonly listenerCleanup: Array<() => void> = [];
|
|
22
|
+
|
|
23
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
24
|
+
get nativeElement(): LuzmoItemOptionActionButtonGroupHostElement {
|
|
25
|
+
return this.host;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** The available buttons to choose from (key → button content). */
|
|
29
|
+
@Input({ alias: 'values' })
|
|
30
|
+
values?: unknown;
|
|
31
|
+
|
|
32
|
+
/** Whether the control is disabled (non-interactive). */
|
|
33
|
+
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
|
|
36
|
+
/** Selection mode: `single` or `multiple`. */
|
|
37
|
+
@Input({ alias: 'selects' })
|
|
38
|
+
selects?: 'single' | 'multiple';
|
|
39
|
+
|
|
40
|
+
/** The currently selected button key(s). */
|
|
41
|
+
@Input({ alias: 'value' })
|
|
42
|
+
value?: [string];
|
|
43
|
+
|
|
44
|
+
/** The default selection used when no value is set. */
|
|
45
|
+
@Input({ alias: 'default' })
|
|
46
|
+
default?: [string];
|
|
47
|
+
|
|
48
|
+
/** Emitted when the option value changes. */
|
|
49
|
+
readonly luzmoOptionChanged = output<CustomEvent<ItemOptionChangedEventDetail>>({ alias: 'luzmoOptionChanged' });
|
|
50
|
+
|
|
51
|
+
constructor() {
|
|
52
|
+
this.bindEvents();
|
|
53
|
+
this.destroyRef.onDestroy(() => {
|
|
54
|
+
for (const cleanup of this.listenerCleanup) {
|
|
55
|
+
cleanup();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
61
|
+
for (const key of Object.keys(changes)) {
|
|
62
|
+
switch (key) {
|
|
63
|
+
case 'values':
|
|
64
|
+
this.setHostProperty('values', changes['values'].currentValue);
|
|
65
|
+
break;
|
|
66
|
+
case 'disabled':
|
|
67
|
+
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
68
|
+
break;
|
|
69
|
+
case 'selects':
|
|
70
|
+
this.setHostProperty('selects', changes['selects'].currentValue);
|
|
71
|
+
break;
|
|
72
|
+
case 'value':
|
|
73
|
+
this.setHostProperty('value', changes['value'].currentValue);
|
|
74
|
+
break;
|
|
75
|
+
case 'default':
|
|
76
|
+
this.setHostProperty('default', changes['default'].currentValue);
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
86
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
87
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
88
|
+
* undefined / null by clearing their bindings.
|
|
89
|
+
*/
|
|
90
|
+
private setHostProperty(key: string, value: unknown): void {
|
|
91
|
+
this.renderer.setProperty(this.host, key, value);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
private bindEvents(): void {
|
|
95
|
+
this.listenerCleanup.push(
|
|
96
|
+
this.renderer.listen(this.host, 'luzmo-option-changed', (event: Event) => {
|
|
97
|
+
const typed = event as CustomEvent<ItemOptionChangedEventDetail>;
|
|
98
|
+
this.luzmoOptionChanged.emit(typed);
|
|
99
|
+
})
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/** The underlying custom element type for LuzmoItemOptionActionButtonGroup */
|
|
105
|
+
export type LuzmoItemOptionActionButtonGroupElement = LuzmoItemOptionActionButtonGroupHostElement;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/analytics-components-kit/item-option-color-palette-picker';
|
|
3
|
+
import type { LuzmoItemOptionColorPalettePicker as LuzmoItemOptionColorPalettePickerHostElement, ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-color-palette-picker';
|
|
4
|
+
export type { ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-color-palette-picker';
|
|
5
|
+
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'luzmo-item-option-color-palette-picker',
|
|
8
|
+
exportAs: 'luzmoItemOptionColorPalettePicker',
|
|
9
|
+
standalone: true,
|
|
10
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
+
template: '<ng-content />'
|
|
12
|
+
})
|
|
13
|
+
/**
|
|
14
|
+
* Angular wrapper component for <luzmo-item-option-color-palette-picker>
|
|
15
|
+
*/
|
|
16
|
+
export class LuzmoItemOptionColorPalettePicker implements OnChanges {
|
|
17
|
+
private readonly elementRef = inject<ElementRef<LuzmoItemOptionColorPalettePickerHostElement>>(ElementRef);
|
|
18
|
+
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
19
|
+
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
20
|
+
private readonly host = this.elementRef.nativeElement;
|
|
21
|
+
private readonly listenerCleanup: Array<() => void> = [];
|
|
22
|
+
|
|
23
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
24
|
+
get nativeElement(): LuzmoItemOptionColorPalettePickerHostElement {
|
|
25
|
+
return this.host;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** The selected color palette key of the picker */
|
|
29
|
+
@Input({ alias: 'value' })
|
|
30
|
+
value?: string;
|
|
31
|
+
|
|
32
|
+
/** The default color palette key of the picker */
|
|
33
|
+
@Input({ alias: 'default' })
|
|
34
|
+
default?: string;
|
|
35
|
+
|
|
36
|
+
/** The color palette keys of the picker */
|
|
37
|
+
@Input({ alias: 'values' })
|
|
38
|
+
values?: string[];
|
|
39
|
+
|
|
40
|
+
/** Whether the picker is disabled */
|
|
41
|
+
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
42
|
+
disabled?: boolean;
|
|
43
|
+
|
|
44
|
+
/** Whether the picker is horizontal */
|
|
45
|
+
@Input({ alias: 'horizontal', transform: booleanAttribute })
|
|
46
|
+
horizontal?: boolean;
|
|
47
|
+
|
|
48
|
+
/** The function to parse the value */
|
|
49
|
+
@Input({ alias: 'parseValue' })
|
|
50
|
+
parseValue?: unknown;
|
|
51
|
+
|
|
52
|
+
/** The function to convert the value to a string */
|
|
53
|
+
@Input({ alias: 'toValue' })
|
|
54
|
+
toValue?: unknown;
|
|
55
|
+
|
|
56
|
+
/** The number of colors to display */
|
|
57
|
+
@Input({ alias: 'numberOfColors' })
|
|
58
|
+
numberOfColors?: number;
|
|
59
|
+
|
|
60
|
+
/** Emitted when the option value changes. */
|
|
61
|
+
readonly luzmoOptionChanged = output<CustomEvent<ItemOptionChangedEventDetail>>({ alias: 'luzmoOptionChanged' });
|
|
62
|
+
|
|
63
|
+
constructor() {
|
|
64
|
+
this.bindEvents();
|
|
65
|
+
this.destroyRef.onDestroy(() => {
|
|
66
|
+
for (const cleanup of this.listenerCleanup) {
|
|
67
|
+
cleanup();
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
73
|
+
for (const key of Object.keys(changes)) {
|
|
74
|
+
switch (key) {
|
|
75
|
+
case 'value':
|
|
76
|
+
this.setHostProperty('value', changes['value'].currentValue);
|
|
77
|
+
break;
|
|
78
|
+
case 'default':
|
|
79
|
+
this.setHostProperty('default', changes['default'].currentValue);
|
|
80
|
+
break;
|
|
81
|
+
case 'values':
|
|
82
|
+
this.setHostProperty('values', changes['values'].currentValue);
|
|
83
|
+
break;
|
|
84
|
+
case 'disabled':
|
|
85
|
+
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
86
|
+
break;
|
|
87
|
+
case 'horizontal':
|
|
88
|
+
this.setHostProperty('horizontal', changes['horizontal'].currentValue);
|
|
89
|
+
break;
|
|
90
|
+
case 'parseValue':
|
|
91
|
+
this.setHostProperty('parseValue', changes['parseValue'].currentValue);
|
|
92
|
+
break;
|
|
93
|
+
case 'toValue':
|
|
94
|
+
this.setHostProperty('toValue', changes['toValue'].currentValue);
|
|
95
|
+
break;
|
|
96
|
+
case 'numberOfColors':
|
|
97
|
+
this.setHostProperty('numberOfColors', changes['numberOfColors'].currentValue);
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
107
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
108
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
109
|
+
* undefined / null by clearing their bindings.
|
|
110
|
+
*/
|
|
111
|
+
private setHostProperty(key: string, value: unknown): void {
|
|
112
|
+
this.renderer.setProperty(this.host, key, value);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
private bindEvents(): void {
|
|
116
|
+
this.listenerCleanup.push(
|
|
117
|
+
this.renderer.listen(this.host, 'luzmo-option-changed', (event: Event) => {
|
|
118
|
+
const typed = event as CustomEvent<ItemOptionChangedEventDetail>;
|
|
119
|
+
this.luzmoOptionChanged.emit(typed);
|
|
120
|
+
})
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** The underlying custom element type for LuzmoItemOptionColorPalettePicker */
|
|
126
|
+
export type LuzmoItemOptionColorPalettePickerElement = LuzmoItemOptionColorPalettePickerHostElement;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
+
import '@luzmo/analytics-components-kit/item-option-color-picker';
|
|
3
|
+
import type { LuzmoItemOptionColorPicker as LuzmoItemOptionColorPickerHostElement, ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-color-picker';
|
|
4
|
+
export type { ItemOptionChangedEventDetail } from '@luzmo/analytics-components-kit/item-option-color-picker';
|
|
5
|
+
import type { Placement } from '@luzmo/lucero';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
selector: 'luzmo-item-option-color-picker',
|
|
9
|
+
exportAs: 'luzmoItemOptionColorPicker',
|
|
10
|
+
standalone: true,
|
|
11
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
+
template: '<ng-content />'
|
|
13
|
+
})
|
|
14
|
+
/**
|
|
15
|
+
* Angular wrapper component for <luzmo-item-option-color-picker>
|
|
16
|
+
*/
|
|
17
|
+
export class LuzmoItemOptionColorPicker implements OnChanges {
|
|
18
|
+
private readonly elementRef = inject<ElementRef<LuzmoItemOptionColorPickerHostElement>>(ElementRef);
|
|
19
|
+
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
20
|
+
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
21
|
+
private readonly host = this.elementRef.nativeElement;
|
|
22
|
+
private readonly listenerCleanup: Array<() => void> = [];
|
|
23
|
+
|
|
24
|
+
/** The underlying custom element instance. Use to call imperative methods. */
|
|
25
|
+
get nativeElement(): LuzmoItemOptionColorPickerHostElement {
|
|
26
|
+
return this.host;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/** Preset colors offered as quick-pick swatches. */
|
|
30
|
+
@Input({ alias: 'swatches' })
|
|
31
|
+
swatches?: string[];
|
|
32
|
+
|
|
33
|
+
/** Corner rounding of the color swatch: `full`, `light`, or `none`. */
|
|
34
|
+
@Input({ alias: 'rounding' })
|
|
35
|
+
rounding?: 'full' | 'light' | 'none';
|
|
36
|
+
|
|
37
|
+
/** Shape of the color swatch: `circle` or `rectangle`. */
|
|
38
|
+
@Input({ alias: 'shape' })
|
|
39
|
+
shape?: 'circle' | 'rectangle';
|
|
40
|
+
|
|
41
|
+
/** Delay in milliseconds before the change event is emitted after the user stops interacting. */
|
|
42
|
+
@Input({ alias: 'debounce' })
|
|
43
|
+
debounce?: number;
|
|
44
|
+
|
|
45
|
+
/** Internal timer handle used to debounce change events. */
|
|
46
|
+
@Input({ alias: 'debounceTimeout' })
|
|
47
|
+
debounceTimeout?: any;
|
|
48
|
+
|
|
49
|
+
/** The current color value. */
|
|
50
|
+
@Input({ alias: 'value' })
|
|
51
|
+
value?: string;
|
|
52
|
+
|
|
53
|
+
/** Whether the control is disabled (non-interactive). */
|
|
54
|
+
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
55
|
+
disabled?: boolean;
|
|
56
|
+
|
|
57
|
+
/** Disables the alpha (opacity) channel in the color picker. */
|
|
58
|
+
@Input({ alias: 'noAlphaChannel', transform: booleanAttribute })
|
|
59
|
+
noAlphaChannel?: boolean;
|
|
60
|
+
|
|
61
|
+
/** Placement of the color picker dropdown relative to its trigger. */
|
|
62
|
+
@Input({ alias: 'placement' })
|
|
63
|
+
placement?: Placement;
|
|
64
|
+
|
|
65
|
+
/** Emitted when the option value changes. */
|
|
66
|
+
readonly luzmoOptionChanged = output<CustomEvent<ItemOptionChangedEventDetail>>({ alias: 'luzmoOptionChanged' });
|
|
67
|
+
|
|
68
|
+
constructor() {
|
|
69
|
+
this.bindEvents();
|
|
70
|
+
this.destroyRef.onDestroy(() => {
|
|
71
|
+
for (const cleanup of this.listenerCleanup) {
|
|
72
|
+
cleanup();
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
ngOnChanges(changes: SimpleChanges): void {
|
|
78
|
+
for (const key of Object.keys(changes)) {
|
|
79
|
+
switch (key) {
|
|
80
|
+
case 'swatches':
|
|
81
|
+
this.setHostProperty('swatches', changes['swatches'].currentValue);
|
|
82
|
+
break;
|
|
83
|
+
case 'rounding':
|
|
84
|
+
this.setHostProperty('rounding', changes['rounding'].currentValue);
|
|
85
|
+
break;
|
|
86
|
+
case 'shape':
|
|
87
|
+
this.setHostProperty('shape', changes['shape'].currentValue);
|
|
88
|
+
break;
|
|
89
|
+
case 'debounce':
|
|
90
|
+
this.setHostProperty('debounce', changes['debounce'].currentValue);
|
|
91
|
+
break;
|
|
92
|
+
case 'debounceTimeout':
|
|
93
|
+
this.setHostProperty('debounceTimeout', changes['debounceTimeout'].currentValue);
|
|
94
|
+
break;
|
|
95
|
+
case 'value':
|
|
96
|
+
this.setHostProperty('value', changes['value'].currentValue);
|
|
97
|
+
break;
|
|
98
|
+
case 'disabled':
|
|
99
|
+
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
100
|
+
break;
|
|
101
|
+
case 'noAlphaChannel':
|
|
102
|
+
this.setHostProperty('noAlphaChannel', changes['noAlphaChannel'].currentValue);
|
|
103
|
+
break;
|
|
104
|
+
case 'placement':
|
|
105
|
+
this.setHostProperty('placement', changes['placement'].currentValue);
|
|
106
|
+
break;
|
|
107
|
+
default:
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
115
|
+
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
116
|
+
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
117
|
+
* undefined / null by clearing their bindings.
|
|
118
|
+
*/
|
|
119
|
+
private setHostProperty(key: string, value: unknown): void {
|
|
120
|
+
this.renderer.setProperty(this.host, key, value);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
private bindEvents(): void {
|
|
124
|
+
this.listenerCleanup.push(
|
|
125
|
+
this.renderer.listen(this.host, 'luzmo-option-changed', (event: Event) => {
|
|
126
|
+
const typed = event as CustomEvent<ItemOptionChangedEventDetail>;
|
|
127
|
+
this.luzmoOptionChanged.emit(typed);
|
|
128
|
+
})
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/** The underlying custom element type for LuzmoItemOptionColorPicker */
|
|
134
|
+
export type LuzmoItemOptionColorPickerElement = LuzmoItemOptionColorPickerHostElement;
|