@luzmo/analytics-components-kit 1.0.9-beta.7 → 1.0.9-beta.8
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/components/ai-chat/ai-chat-events.d.ts +139 -0
- package/components/ai-chat/ai-chat-request.d.ts +25 -0
- package/components/ai-chat/ai-chat.d.ts +356 -0
- package/components/ai-chat/ai-prompt-types.d.ts +133 -0
- package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +53 -0
- package/components/ai-chat/empty-state/index.d.ts +8 -0
- package/components/ai-chat/empty-state/types.d.ts +14 -0
- package/components/ai-chat/helpers/agent-config.d.ts +12 -0
- package/components/ai-chat/helpers/elicitation-template.d.ts +20 -0
- package/components/ai-chat/index.d.ts +24 -0
- package/components/ai-chat/session/ai-chat-session-controller.d.ts +60 -0
- package/components/ai-chat/session/ai-chat-session-types.d.ts +119 -0
- package/components/ai-chat/session/ai-chat-session.d.ts +119 -0
- package/components/ai-chat/session/index.d.ts +2 -0
- package/components/ai-chat/stream/chunk-extractors.d.ts +29 -0
- package/components/ai-chat/stream/index.d.ts +53 -0
- package/components/ai-chat/stream/progress.d.ts +3 -0
- package/components/ai-chat/stream/registry.d.ts +6 -0
- package/components/ai-chat/stream/stream-processor.d.ts +2 -0
- package/components/ai-chat/stream/transport.d.ts +26 -0
- package/components/ai-chat/stream/types.d.ts +59 -0
- package/components/ai-chat/types.d.ts +24 -0
- package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +239 -0
- package/components/ai-interaction-textarea/index.d.ts +10 -0
- package/components/ai-interaction-textarea/types.d.ts +12 -0
- package/components/data-field/data-field.d.ts +31 -0
- package/components/data-field/index.d.ts +9 -0
- package/components/data-field/types.d.ts +4 -0
- package/components/data-field-level/data-field-level.d.ts +40 -0
- package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
- package/components/data-field-level/index.d.ts +8 -0
- package/components/data-field-panel/data-field-panel.d.ts +231 -0
- package/components/data-field-panel/index.d.ts +9 -0
- package/components/data-field-panel/types.d.ts +27 -0
- package/components/data-fields-select/data-fields-select.d.ts +137 -0
- package/components/data-fields-select/index.d.ts +9 -0
- package/components/data-fields-select/types.d.ts +4 -0
- package/components/dataset-icon/dataset-icon.d.ts +45 -0
- package/components/dataset-icon/index.d.ts +8 -0
- package/components/dataset-icon/types.d.ts +11 -0
- package/components/dataset-selector-list/dataset-selector-list.d.ts +106 -0
- package/components/dataset-selector-list/index.d.ts +8 -0
- package/components/dataset-selector-row/dataset-selector-row.d.ts +144 -0
- package/components/dataset-selector-row/index.d.ts +9 -0
- package/components/display-settings/display-settings.d.ts +117 -0
- package/components/display-settings/index.d.ts +8 -0
- package/components/display-settings/types.d.ts +9 -0
- package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
- package/components/display-settings-binning/index.d.ts +8 -0
- package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
- package/components/display-settings-datetime/index.d.ts +8 -0
- package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
- package/components/display-settings-grand-totals/index.d.ts +8 -0
- package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
- package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
- package/components/display-settings-numeric/index.d.ts +8 -0
- package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +76 -0
- package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
- package/components/display-settings-period-over-period/index.d.ts +8 -0
- package/components/filter-expression-picker/filter-expression-picker.d.ts +77 -0
- package/components/filter-expression-picker/index.d.ts +7 -0
- package/components/filter-item/filter-item.d.ts +142 -0
- package/components/filter-item/index.d.ts +8 -0
- package/components/filter-parameter-picker/filter-parameter-picker.d.ts +91 -0
- package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
- package/components/filter-parameter-picker/index.d.ts +9 -0
- package/components/filter-parameter-picker/types.d.ts +4 -0
- package/components/filter-value-picker/filter-value-picker.d.ts +72 -0
- package/components/filter-value-picker/index.d.ts +7 -0
- package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +51 -0
- package/components/filter-value-picker-datetime/index.d.ts +7 -0
- package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +105 -0
- package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
- package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +89 -0
- package/components/filter-value-picker-numeric/index.d.ts +7 -0
- package/components/filters/filters.d.ts +182 -0
- package/components/filters/index.d.ts +12 -0
- package/components/filters/transformations/clean-filters.d.ts +37 -0
- package/components/filters/transformations/filter-format.d.ts +54 -0
- package/components/filters/transformations/transform-filters.d.ts +52 -0
- package/components/filters/types.d.ts +65 -0
- package/components/formula/formula.d.ts +66 -0
- package/components/formula/index.d.ts +7 -0
- package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
- package/components/formula-codemirror/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
- package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
- package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
- package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
- package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
- package/components/formula-draggable-field/index.d.ts +8 -0
- package/components/formula-draggable-field/types.d.ts +24 -0
- package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
- package/components/formula-editor/formula-datasets-list.d.ts +37 -0
- package/components/formula-editor/formula-description.d.ts +17 -0
- package/components/formula-editor/formula-editor.d.ts +85 -0
- package/components/formula-editor/formula-functions-list.d.ts +28 -0
- package/components/formula-editor/index.d.ts +12 -0
- package/components/formula-field/formula-field.d.ts +20 -0
- package/components/formula-field/index.d.ts +7 -0
- package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
- package/components/interactive-viz-item/index.d.ts +10 -0
- package/components/interactive-viz-item/interactive-viz-item.d.ts +97 -0
- package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
- package/components/interactive-viz-item/types.d.ts +117 -0
- package/components/item-grid/actions.d.ts +3 -0
- package/components/item-grid/helpers/grid-effects.d.ts +1 -0
- package/components/item-grid/helpers/grid-events.d.ts +56 -0
- package/components/item-grid/helpers/grid-interactions.d.ts +88 -0
- package/components/item-grid/helpers/grid-item-management.d.ts +30 -0
- package/components/item-grid/helpers/grid-item-popover.d.ts +21 -0
- package/components/item-grid/helpers/grid-items.d.ts +9 -0
- package/components/item-grid/helpers/grid-keyboard-updates.d.ts +18 -0
- package/components/item-grid/helpers/grid-keydown-event.d.ts +18 -0
- package/components/item-grid/helpers/grid-popover-cleanup.d.ts +4 -0
- package/components/item-grid/helpers/grid-rendering.d.ts +69 -0
- package/components/item-grid/helpers/grid-stack-lifecycle.d.ts +26 -0
- package/components/item-grid/helpers/grid-theme.d.ts +16 -0
- package/components/item-grid/helpers/grid-update-cycle.d.ts +22 -0
- package/components/item-grid/index.d.ts +12 -0
- package/components/item-grid/item-grid-item-actions-menu.d.ts +35 -0
- package/components/item-grid/item-grid.d.ts +251 -0
- package/components/item-grid/types.d.ts +57 -0
- package/components/item-menu/item-list/item-list.d.ts +37 -0
- package/components/item-option/helpers/control-markup.d.ts +14 -0
- package/components/item-option/helpers/control-templates/action-button-group-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-palette-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/color-range-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/guidelines-template.d.ts +3 -0
- package/components/item-option/helpers/control-templates/multi-language-field-template.d.ts +8 -0
- package/components/item-option/helpers/control-templates/number-field-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/position-picker-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/positions-number-field-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/radio-button-group.d.ts +2 -0
- package/components/item-option/helpers/control-templates/slider-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/switch-template.d.ts +2 -0
- package/components/item-option/helpers/control-templates/text-field-template.d.ts +7 -0
- package/components/item-option/helpers/enum-values.d.ts +7 -0
- package/components/item-option/helpers/generate-callback.d.ts +1 -0
- package/components/item-option/helpers/get-control-by-key.d.ts +1 -0
- package/components/item-option/helpers/get-default-value.d.ts +1 -0
- package/components/item-option/helpers/get-enum-values.d.ts +1 -0
- package/components/item-option/helpers/get-extra-label-values.d.ts +7 -0
- package/components/item-option/helpers/get-value-by-key.d.ts +1 -0
- package/components/item-option/index.d.ts +8 -0
- package/components/item-option/item-option.d.ts +59 -0
- package/components/item-option/types.d.ts +8 -0
- package/components/item-option-action-button-group/index.d.ts +8 -0
- package/components/item-option-action-button-group/item-option-action-button-group.d.ts +36 -0
- package/components/item-option-base/item-option-base.d.ts +23 -0
- package/components/item-option-color-palette-picker/index.d.ts +8 -0
- package/components/item-option-color-palette-picker/item-option-color-palette-picker.d.ts +46 -0
- package/components/item-option-color-picker/index.d.ts +8 -0
- package/components/item-option-color-picker/item-option-color-picker.d.ts +33 -0
- package/components/item-option-color-range/index.d.ts +8 -0
- package/components/item-option-color-range/item-option-color-range.d.ts +99 -0
- package/components/item-option-guidelines/helpers/guidelines-value.d.ts +12 -0
- package/components/item-option-guidelines/index.d.ts +10 -0
- package/components/item-option-guidelines/item-option-guidelines.d.ts +74 -0
- package/components/item-option-guidelines/types.d.ts +25 -0
- package/components/item-option-multi-language-field/index.d.ts +8 -0
- package/components/item-option-multi-language-field/item-option-multi-language-field.d.ts +30 -0
- package/components/item-option-number-field/index.d.ts +8 -0
- package/components/item-option-number-field/item-option-number-field.d.ts +38 -0
- package/components/item-option-panel/index.d.ts +8 -0
- package/components/item-option-panel/item-option-panel.d.ts +77 -0
- package/components/item-option-picker/index.d.ts +8 -0
- package/components/item-option-picker/item-option-picker.d.ts +29 -0
- package/components/item-option-position-picker/index.d.ts +8 -0
- package/components/item-option-position-picker/item-option-position-picker.d.ts +22 -0
- package/components/item-option-positions-number-field/index.d.ts +8 -0
- package/components/item-option-positions-number-field/item-option-positions-number-field.d.ts +44 -0
- package/components/item-option-radio-button-group/index.d.ts +8 -0
- package/components/item-option-radio-button-group/item-option-radio-button-group.d.ts +29 -0
- package/components/item-option-slider/index.d.ts +8 -0
- package/components/item-option-slider/item-option-slider.d.ts +33 -0
- package/components/item-option-switch/index.d.ts +8 -0
- package/components/item-option-switch/item-option-switch.d.ts +19 -0
- package/components/item-option-text-field/index.d.ts +8 -0
- package/components/item-option-text-field/item-option-text-field.d.ts +25 -0
- package/components/item-slot-drop/index.d.ts +11 -0
- package/components/item-slot-drop/item-slot-drop.d.ts +113 -0
- package/components/item-slot-drop/types.d.ts +5 -0
- package/components/item-slot-drop-panel/index.d.ts +8 -0
- package/components/item-slot-drop-panel/item-slot-drop-panel.d.ts +180 -0
- package/components/item-slot-picker/index.d.ts +8 -0
- package/components/item-slot-picker/item-slot-picker.d.ts +149 -0
- package/components/item-slot-picker-panel/index.d.ts +9 -0
- package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +230 -0
- package/components/slot-menu/index.d.ts +10 -0
- package/components/slot-menu/slot-menu.d.ts +148 -0
- package/components/slot-menu/types.d.ts +24 -0
- package/components/slot-menu-list/index.d.ts +8 -0
- package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
- package/components/viz-item-menu/index.d.ts +8 -0
- package/components/viz-item-menu/types.d.ts +9 -0
- package/components/viz-item-menu/viz-item-menu.d.ts +85 -0
- package/package.json +1 -1
- package/react/package.json +2 -2
- package/angular/README.md +0 -40
- package/angular/components/ai-chat-empty-state.ts +0 -105
- package/angular/components/ai-chat.ts +0 -447
- package/angular/components/ai-interaction-textarea.ts +0 -290
- package/angular/components/data-field-level.ts +0 -130
- package/angular/components/data-field-panel.ts +0 -256
- package/angular/components/data-field.ts +0 -130
- package/angular/components/data-fields-select.ts +0 -226
- package/angular/components/dataset-icon.ts +0 -83
- package/angular/components/dataset-selector-list.ts +0 -147
- package/angular/components/dataset-selector-row.ts +0 -205
- package/angular/components/display-settings-binning.ts +0 -92
- package/angular/components/display-settings-datetime.ts +0 -100
- package/angular/components/display-settings-grand-totals.ts +0 -92
- package/angular/components/display-settings-numeric.ts +0 -113
- package/angular/components/display-settings-period-over-period.ts +0 -121
- package/angular/components/display-settings.ts +0 -227
- package/angular/components/filter-expression-picker.ts +0 -168
- package/angular/components/filter-item.ts +0 -207
- package/angular/components/filter-parameter-picker.ts +0 -155
- package/angular/components/filter-value-picker-datetime.ts +0 -125
- package/angular/components/filter-value-picker-hierarchy.ts +0 -146
- package/angular/components/filter-value-picker-numeric.ts +0 -146
- package/angular/components/filter-value-picker.ts +0 -160
- package/angular/components/filters.ts +0 -241
- package/angular/components/formula-editor.ts +0 -229
- package/angular/components/formula-field.ts +0 -198
- package/angular/components/formula.ts +0 -170
- package/angular/components/interactive-viz-item.ts +0 -186
- package/angular/components/item-grid-item-actions-menu.ts +0 -113
- package/angular/components/item-grid.ts +0 -242
- package/angular/components/item-option-action-button-group.ts +0 -105
- package/angular/components/item-option-color-palette-picker.ts +0 -126
- package/angular/components/item-option-color-picker.ts +0 -134
- package/angular/components/item-option-color-range.ts +0 -168
- package/angular/components/item-option-guidelines.ts +0 -84
- package/angular/components/item-option-multi-language-field.ts +0 -133
- package/angular/components/item-option-number-field.ts +0 -161
- package/angular/components/item-option-panel.ts +0 -149
- package/angular/components/item-option-picker.ts +0 -120
- package/angular/components/item-option-position-picker.ts +0 -98
- package/angular/components/item-option-positions-number-field.ts +0 -140
- package/angular/components/item-option-radio-button-group.ts +0 -119
- package/angular/components/item-option-slider.ts +0 -126
- package/angular/components/item-option-switch.ts +0 -98
- package/angular/components/item-option-text-field.ts +0 -112
- package/angular/components/item-option.ts +0 -163
- package/angular/components/item-slot-drop-panel.ts +0 -236
- package/angular/components/item-slot-drop.ts +0 -231
- package/angular/components/item-slot-picker-panel.ts +0 -299
- package/angular/components/item-slot-picker.ts +0 -241
- package/angular/components/slot-menu-list.ts +0 -121
- package/angular/components/slot-menu.ts +0 -304
- package/angular/components/viz-item-menu.ts +0 -118
- package/angular/esm/components/ai-chat-empty-state.d.ts +0 -41
- package/angular/esm/components/ai-chat-empty-state.js +0 -107
- package/angular/esm/components/ai-chat.d.ts +0 -149
- package/angular/esm/components/ai-chat.js +0 -463
- package/angular/esm/components/ai-interaction-textarea.d.ts +0 -108
- package/angular/esm/components/ai-interaction-textarea.js +0 -313
- package/angular/esm/components/data-field-level.d.ts +0 -50
- package/angular/esm/components/data-field-level.js +0 -129
- package/angular/esm/components/data-field-panel.d.ts +0 -86
- package/angular/esm/components/data-field-panel.js +0 -268
- package/angular/esm/components/data-field.d.ts +0 -50
- package/angular/esm/components/data-field.js +0 -129
- package/angular/esm/components/data-fields-select.d.ts +0 -87
- package/angular/esm/components/data-fields-select.js +0 -243
- package/angular/esm/components/dataset-icon.d.ts +0 -34
- package/angular/esm/components/dataset-icon.js +0 -86
- package/angular/esm/components/dataset-selector-list.d.ts +0 -56
- package/angular/esm/components/dataset-selector-list.js +0 -155
- package/angular/esm/components/dataset-selector-row.d.ts +0 -72
- package/angular/esm/components/dataset-selector-row.js +0 -205
- package/angular/esm/components/display-settings-binning.d.ts +0 -37
- package/angular/esm/components/display-settings-binning.js +0 -91
- package/angular/esm/components/display-settings-datetime.d.ts +0 -40
- package/angular/esm/components/display-settings-datetime.js +0 -99
- package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
- package/angular/esm/components/display-settings-grand-totals.js +0 -91
- package/angular/esm/components/display-settings-numeric.d.ts +0 -45
- package/angular/esm/components/display-settings-numeric.js +0 -115
- package/angular/esm/components/display-settings-period-over-period.d.ts +0 -50
- package/angular/esm/components/display-settings-period-over-period.js +0 -123
- package/angular/esm/components/display-settings.d.ts +0 -83
- package/angular/esm/components/display-settings.js +0 -231
- package/angular/esm/components/filter-expression-picker.d.ts +0 -64
- package/angular/esm/components/filter-expression-picker.js +0 -179
- package/angular/esm/components/filter-item.d.ts +0 -74
- package/angular/esm/components/filter-item.js +0 -222
- package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
- package/angular/esm/components/filter-parameter-picker.js +0 -151
- package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
- package/angular/esm/components/filter-value-picker-datetime.js +0 -131
- package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
- package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
- package/angular/esm/components/filter-value-picker-numeric.js +0 -155
- package/angular/esm/components/filter-value-picker.d.ts +0 -57
- package/angular/esm/components/filter-value-picker.js +0 -171
- package/angular/esm/components/filters.d.ts +0 -85
- package/angular/esm/components/filters.js +0 -251
- package/angular/esm/components/formula-editor.d.ts +0 -78
- package/angular/esm/components/formula-editor.js +0 -236
- package/angular/esm/components/formula-field.d.ts +0 -70
- package/angular/esm/components/formula-field.js +0 -209
- package/angular/esm/components/formula.d.ts +0 -60
- package/angular/esm/components/formula.js +0 -177
- package/angular/esm/components/interactive-viz-item.d.ts +0 -63
- package/angular/esm/components/interactive-viz-item.js +0 -188
- package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
- package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
- package/angular/esm/components/item-grid.d.ts +0 -80
- package/angular/esm/components/item-grid.js +0 -245
- package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
- package/angular/esm/components/item-option-action-button-group.js +0 -107
- package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
- package/angular/esm/components/item-option-color-palette-picker.js +0 -131
- package/angular/esm/components/item-option-color-picker.d.ts +0 -51
- package/angular/esm/components/item-option-color-picker.js +0 -139
- package/angular/esm/components/item-option-color-range.d.ts +0 -66
- package/angular/esm/components/item-option-color-range.js +0 -179
- package/angular/esm/components/item-option-guidelines.d.ts +0 -34
- package/angular/esm/components/item-option-guidelines.js +0 -83
- package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
- package/angular/esm/components/item-option-multi-language-field.js +0 -139
- package/angular/esm/components/item-option-number-field.d.ts +0 -58
- package/angular/esm/components/item-option-number-field.js +0 -171
- package/angular/esm/components/item-option-panel.d.ts +0 -54
- package/angular/esm/components/item-option-panel.js +0 -155
- package/angular/esm/components/item-option-picker.d.ts +0 -46
- package/angular/esm/components/item-option-picker.js +0 -123
- package/angular/esm/components/item-option-position-picker.d.ts +0 -39
- package/angular/esm/components/item-option-position-picker.js +0 -99
- package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
- package/angular/esm/components/item-option-positions-number-field.js +0 -147
- package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
- package/angular/esm/components/item-option-radio-button-group.js +0 -123
- package/angular/esm/components/item-option-slider.d.ts +0 -46
- package/angular/esm/components/item-option-slider.js +0 -131
- package/angular/esm/components/item-option-switch.d.ts +0 -40
- package/angular/esm/components/item-option-switch.js +0 -99
- package/angular/esm/components/item-option-text-field.d.ts +0 -44
- package/angular/esm/components/item-option-text-field.js +0 -115
- package/angular/esm/components/item-option.d.ts +0 -58
- package/angular/esm/components/item-option.js +0 -171
- package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
- package/angular/esm/components/item-slot-drop-panel.js +0 -249
- package/angular/esm/components/item-slot-drop.d.ts +0 -77
- package/angular/esm/components/item-slot-drop.js +0 -227
- package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
- package/angular/esm/components/item-slot-picker-panel.js +0 -309
- package/angular/esm/components/item-slot-picker.d.ts +0 -86
- package/angular/esm/components/item-slot-picker.js +0 -259
- package/angular/esm/components/slot-menu-list.d.ts +0 -46
- package/angular/esm/components/slot-menu-list.js +0 -123
- package/angular/esm/components/slot-menu.d.ts +0 -104
- package/angular/esm/components/slot-menu.js +0 -300
- package/angular/esm/components/viz-item-menu.d.ts +0 -42
- package/angular/esm/components/viz-item-menu.js +0 -111
- package/angular/esm/index.d.ts +0 -109
- package/angular/esm/index.js +0 -217
- package/angular/index.ts +0 -223
- package/angular/package.json +0 -40
- package/angular/tsconfig.json +0 -36
- package/angular/type-fallbacks.d.ts +0 -0
- package/angular/utils/ai-prompt/attachments.d.ts +0 -10
- package/angular/utils/ai-prompt/dictation.d.ts +0 -50
- package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
- package/angular/utils/ai-prompt/index.d.ts +0 -6
- package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
- package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
- package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
- package/angular/utils/base/base.d.ts +0 -16
- package/angular/utils/base/focus-visible.d.ts +0 -29
- package/angular/utils/base/focusable.d.ts +0 -58
- package/angular/utils/base/index.d.ts +0 -5
- package/angular/utils/base/localized-mixin.d.ts +0 -22
- package/angular/utils/base/sized-mixin.d.ts +0 -17
- package/angular/utils/color/color-palettes.d.ts +0 -17
- package/angular/utils/color/extrapolate-color.d.ts +0 -1
- package/angular/utils/create-lazy-loader.d.ts +0 -5
- package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
- package/angular/utils/data-broker/index.d.ts +0 -263
- package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
- package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
- package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
- package/angular/utils/drag/draggable.d.ts +0 -13
- package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
- package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
- package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
- package/angular/utils/filters/expressions.d.ts +0 -15
- package/angular/utils/filters/filter-text.d.ts +0 -64
- package/angular/utils/filters/index.d.ts +0 -2
- package/angular/utils/filters/presentation.d.ts +0 -4
- package/angular/utils/filters/tests/filter-text.test.d.ts +0 -1
- package/angular/utils/formatter/calculate-duration.d.ts +0 -2
- package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
- package/angular/utils/formatter/default-local-formats.d.ts +0 -20
- package/angular/utils/formatter/formats/cs.d.ts +0 -20
- package/angular/utils/formatter/formats/da.d.ts +0 -20
- package/angular/utils/formatter/formats/de.d.ts +0 -21
- package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
- package/angular/utils/formatter/formats/en-US.d.ts +0 -1
- package/angular/utils/formatter/formats/en.d.ts +0 -1
- package/angular/utils/formatter/formats/es.d.ts +0 -54
- package/angular/utils/formatter/formats/fi.d.ts +0 -20
- package/angular/utils/formatter/formats/fr.d.ts +0 -54
- package/angular/utils/formatter/formats/he.d.ts +0 -20
- package/angular/utils/formatter/formats/hu.d.ts +0 -20
- package/angular/utils/formatter/formats/it.d.ts +0 -54
- package/angular/utils/formatter/formats/ja.d.ts +0 -20
- package/angular/utils/formatter/formats/ko.d.ts +0 -20
- package/angular/utils/formatter/formats/mk.d.ts +0 -20
- package/angular/utils/formatter/formats/nl.d.ts +0 -21
- package/angular/utils/formatter/formats/no.d.ts +0 -21
- package/angular/utils/formatter/formats/pl.d.ts +0 -20
- package/angular/utils/formatter/formats/pt.d.ts +0 -20
- package/angular/utils/formatter/formats/ru.d.ts +0 -20
- package/angular/utils/formatter/formats/sv.d.ts +0 -20
- package/angular/utils/formatter/formats/tr.d.ts +0 -21
- package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
- package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
- package/angular/utils/formatter/formatter.d.ts +0 -9
- package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
- package/angular/utils/formatter/get-localized-name.d.ts +0 -4
- package/angular/utils/formatter/localize.d.ts +0 -3
- package/angular/utils/formatter/localized-template.d.ts +0 -4
- package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
- package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
- package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
- package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
- package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
- package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
- package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
- package/angular/utils/formatter/tests/localized-template.test.d.ts +0 -1
- package/angular/utils/formula/base/formula-base.d.ts +0 -117
- package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
- package/angular/utils/formula/codemirror/actions.d.ts +0 -47
- package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
- package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
- package/angular/utils/formula/codemirror/parser.d.ts +0 -16
- package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
- package/angular/utils/formula/codemirror/theme.d.ts +0 -20
- package/angular/utils/formula/codemirror/widget.d.ts +0 -18
- package/angular/utils/formula/config/aggregations.d.ts +0 -9
- package/angular/utils/formula/config/build-datasets.d.ts +0 -10
- package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
- package/angular/utils/formula/config/functions.d.ts +0 -3
- package/angular/utils/formula/config/groupings.d.ts +0 -9
- package/angular/utils/formula/config/regex.d.ts +0 -39
- package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
- package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
- package/angular/utils/formula/config/validate-expression.d.ts +0 -19
- package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
- package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
- package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
- package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
- package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
- package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
- package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
- package/angular/utils/get-css-variable.d.ts +0 -1
- package/angular/utils/index.d.ts +0 -10
- package/angular/utils/localize/set-locale.d.ts +0 -7
- package/angular/utils/map-tile-providers/index.d.ts +0 -93
- package/angular/utils/set-nested-value.d.ts +0 -6
- package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
- package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
- package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
- package/angular/utils/slot-state/slot-context.d.ts +0 -4
- package/angular/utils/slot-state/slot-store.d.ts +0 -43
- package/angular/utils/slot-state/tests/slot-store.test.d.ts +0 -1
- package/angular/utils/store/base-store.d.ts +0 -158
- package/angular/utils/store/dashboard-store.d.ts +0 -49
- package/angular/utils/store/index.d.ts +0 -135
- package/angular/utils/store/item-store.d.ts +0 -33
- package/angular/utils/store/store-registry.d.ts +0 -170
- package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
- package/angular/utils/store/tests/item-store.test.d.ts +0 -1
- package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
- package/angular/utils/store/types.d.ts +0 -270
- package/angular/utils/switch-item/index.d.ts +0 -34
- package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
- package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
- package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
- package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
- package/angular/utils/tests/create-lazy-loader.test.d.ts +0 -1
- package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
- package/angular/utils/themes/bliss.d.ts +0 -2
- package/angular/utils/themes/classic-dark.d.ts +0 -2
- package/angular/utils/themes/classic.d.ts +0 -2
- package/angular/utils/themes/default-dark.d.ts +0 -2
- package/angular/utils/themes/default.d.ts +0 -2
- package/angular/utils/themes/index.d.ts +0 -4
- package/angular/utils/themes/orion.d.ts +0 -2
- package/angular/utils/themes/pinky.d.ts +0 -2
- package/angular/utils/themes/radiant.d.ts +0 -2
- package/angular/utils/themes/royale.d.ts +0 -2
- package/angular/utils/themes/seasonal.d.ts +0 -2
- package/angular/utils/themes/urban.d.ts +0 -2
- package/angular/utils/themes/vivid.d.ts +0 -2
- package/angular/utils/time/formats.const.d.ts +0 -4
- package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
- package/angular/utils/time/periods.const.d.ts +0 -15
- package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
- package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
- package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
- package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
- package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
- package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
- package/angular/utils/types/tests/type-check.test.d.ts +0 -1
- package/angular/utils/types/type-check.d.ts +0 -28
|
@@ -1,290 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/ai-interaction-textarea';
|
|
3
|
-
import type { LuzmoAiInteractionTextarea as LuzmoAiInteractionTextareaHostElement, Agent, Dataset, PromptBoxFileIcons, PromptSubmittedEventDetail } from '@luzmo/analytics-components-kit/ai-interaction-textarea';
|
|
4
|
-
export type { Agent, Dataset, PromptBoxAttachment, PromptBoxFileIcons, PromptSubmittedEventDetail } from '@luzmo/analytics-components-kit/ai-interaction-textarea';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-ai-interaction-textarea',
|
|
8
|
-
exportAs: 'luzmoAiInteractionTextarea',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* Angular wrapper component for <luzmo-ai-interaction-textarea>
|
|
15
|
-
*/
|
|
16
|
-
export class LuzmoAiInteractionTextarea implements OnChanges {
|
|
17
|
-
private readonly elementRef = inject<ElementRef<LuzmoAiInteractionTextareaHostElement>>(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(): LuzmoAiInteractionTextareaHostElement {
|
|
25
|
-
return this.host;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Placeholder text for the textarea */
|
|
29
|
-
@Input({ alias: 'placeholder' })
|
|
30
|
-
placeholder?: string;
|
|
31
|
-
|
|
32
|
-
/** Array of selected datasets */
|
|
33
|
-
@Input({ alias: 'selectedDatasets' })
|
|
34
|
-
selectedDatasets?: Dataset[];
|
|
35
|
-
|
|
36
|
-
/** Auth key for DataBroker authentication */
|
|
37
|
-
@Input({ alias: 'authKey' })
|
|
38
|
-
authKey?: string;
|
|
39
|
-
|
|
40
|
-
/** Auth token for DataBroker authentication */
|
|
41
|
-
@Input({ alias: 'authToken' })
|
|
42
|
-
authToken?: string;
|
|
43
|
-
|
|
44
|
-
/** API URL for DataBroker */
|
|
45
|
-
@Input({ alias: 'apiUrl' })
|
|
46
|
-
apiUrl?: string;
|
|
47
|
-
|
|
48
|
-
/** The URL of the app server for thumbnails and assets */
|
|
49
|
-
@Input({ alias: 'appServer' })
|
|
50
|
-
appServer?: string;
|
|
51
|
-
|
|
52
|
-
/** When true, shows public datasets alongside the user's other datasets. */
|
|
53
|
-
@Input({ alias: 'includePublicDatasets', transform: booleanAttribute })
|
|
54
|
-
includePublicDatasets?: boolean;
|
|
55
|
-
|
|
56
|
-
/** Alias for includePublicDatasets. */
|
|
57
|
-
@Input({ alias: 'flagOpendata', transform: booleanAttribute })
|
|
58
|
-
flagOpendata?: boolean;
|
|
59
|
-
|
|
60
|
-
/** When true, disables the entire component (opacity 60%, no interactions) */
|
|
61
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
62
|
-
disabled?: boolean;
|
|
63
|
-
|
|
64
|
-
/** When true, starts in compact single-line mode and auto-expands as needed */
|
|
65
|
-
@Input({ alias: 'singleLine', transform: booleanAttribute })
|
|
66
|
-
singleLine?: boolean;
|
|
67
|
-
|
|
68
|
-
/** When true, hides the "+ Add dataset" button */
|
|
69
|
-
@Input({ alias: 'hideDatasetButton', transform: booleanAttribute })
|
|
70
|
-
hideDatasetButton?: boolean;
|
|
71
|
-
|
|
72
|
-
/** When true, hides dataset-specific icons in selector tags and @ mention dataset headers */
|
|
73
|
-
@Input({ alias: 'hideDatasetIcons', transform: booleanAttribute })
|
|
74
|
-
hideDatasetIcons?: boolean;
|
|
75
|
-
|
|
76
|
-
/** Maximum number of selected dataset tags shown before the overflow control. */
|
|
77
|
-
@Input({ alias: 'maxVisibleSelectedDatasets' })
|
|
78
|
-
maxVisibleSelectedDatasets?: number;
|
|
79
|
-
|
|
80
|
-
/** The saved Agent the prompt is scoped to, or null */
|
|
81
|
-
@Input({ alias: 'selectedAgent' })
|
|
82
|
-
selectedAgent?: Agent | null;
|
|
83
|
-
|
|
84
|
-
/** When true, hides the Agents section in the add dropdown and ignores `selectedAgent` for `require-dataset` and `prompt-submitted` */
|
|
85
|
-
@Input({ alias: 'hideAgents', transform: booleanAttribute })
|
|
86
|
-
hideAgents?: boolean;
|
|
87
|
-
|
|
88
|
-
/** When true, disables the "+ Add dataset" button and disables dataset pill removal */
|
|
89
|
-
@Input({ alias: 'disableDatasetModification', transform: booleanAttribute })
|
|
90
|
-
disableDatasetModification?: boolean;
|
|
91
|
-
|
|
92
|
-
/** When true, hides the dataset row entirely */
|
|
93
|
-
@Input({ alias: 'hideSelectedDatasets', transform: booleanAttribute })
|
|
94
|
-
hideSelectedDatasets?: boolean;
|
|
95
|
-
|
|
96
|
-
/** When true, disables @ trigger mentions completely */
|
|
97
|
-
@Input({ alias: 'disableColumnMentions', transform: booleanAttribute })
|
|
98
|
-
disableColumnMentions?: boolean;
|
|
99
|
-
|
|
100
|
-
/** When true, shows a spinning loader icon instead of the submit arrow */
|
|
101
|
-
@Input({ alias: 'isGenerating', transform: booleanAttribute })
|
|
102
|
-
isGenerating?: boolean;
|
|
103
|
-
|
|
104
|
-
/** When true, shows a stop control while `is-generating` is true */
|
|
105
|
-
@Input({ alias: 'stoppable', transform: booleanAttribute })
|
|
106
|
-
stoppable?: boolean;
|
|
107
|
-
|
|
108
|
-
/** The current value of the textarea (can be controlled from parent to clear or set text) */
|
|
109
|
-
@Input({ alias: 'value' })
|
|
110
|
-
value?: string;
|
|
111
|
-
|
|
112
|
-
/** When true, retains the input value after submitting a prompt (default: false) When false (default), clears the textarea value after submission */
|
|
113
|
-
@Input({ alias: 'retainOnSubmit', transform: booleanAttribute })
|
|
114
|
-
retainOnSubmit?: boolean;
|
|
115
|
-
|
|
116
|
-
/** When true, a selected agent or at least one selected dataset is required before the prompt can be submitted */
|
|
117
|
-
@Input({ alias: 'requireDataset', transform: booleanAttribute })
|
|
118
|
-
requireDataset?: boolean;
|
|
119
|
-
|
|
120
|
-
/** When true, enables image attachments via paste or the file picker. */
|
|
121
|
-
@Input({ alias: 'allowImages', transform: booleanAttribute })
|
|
122
|
-
allowImages?: boolean;
|
|
123
|
-
|
|
124
|
-
/** When true, shows Lucero's mic control; the `POST /aidictation` transcript is inserted, never auto-sent. */
|
|
125
|
-
@Input({ alias: 'allowVoiceInput', transform: booleanAttribute })
|
|
126
|
-
allowVoiceInput?: boolean;
|
|
127
|
-
|
|
128
|
-
/** Accepted attachment MIME types or extensions. */
|
|
129
|
-
@Input({ alias: 'acceptedFileTypes' })
|
|
130
|
-
acceptedFileTypes?: string[];
|
|
131
|
-
|
|
132
|
-
/** API version for built-in `POST /upload` and `POST /aidictation` (default `0.1.0`). */
|
|
133
|
-
@Input({ alias: 'apiVersion' })
|
|
134
|
-
apiVersion?: string;
|
|
135
|
-
|
|
136
|
-
/** Optional override for eager image upload on attach; return one signed URL per file */
|
|
137
|
-
@Input({ alias: 'uploadAttachments' })
|
|
138
|
-
uploadAttachments?: unknown;
|
|
139
|
-
|
|
140
|
-
/** Custom icons for non-image attachment tiles, keyed by extension. */
|
|
141
|
-
@Input({ alias: 'fileIcons' })
|
|
142
|
-
fileIcons?: PromptBoxFileIcons;
|
|
143
|
-
|
|
144
|
-
/** Size of the prompt box, its dataset row and its attachment button: `s`, `m` (default), `l` or `xl` */
|
|
145
|
-
@Input({ alias: 'size' })
|
|
146
|
-
size?: unknown;
|
|
147
|
-
|
|
148
|
-
/** Fired when a prompt is submitted with selected datasets */
|
|
149
|
-
readonly promptSubmitted = output<CustomEvent<PromptSubmittedEventDetail>>({ alias: 'promptSubmitted' });
|
|
150
|
-
|
|
151
|
-
/** Fired when a running prompt is stopped */
|
|
152
|
-
readonly promptStopped = output<CustomEvent<void>>({ alias: 'promptStopped' });
|
|
153
|
-
|
|
154
|
-
constructor() {
|
|
155
|
-
this.bindEvents();
|
|
156
|
-
this.destroyRef.onDestroy(() => {
|
|
157
|
-
for (const cleanup of this.listenerCleanup) {
|
|
158
|
-
cleanup();
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
164
|
-
for (const key of Object.keys(changes)) {
|
|
165
|
-
switch (key) {
|
|
166
|
-
case 'placeholder':
|
|
167
|
-
this.setHostProperty('placeholder', changes['placeholder'].currentValue);
|
|
168
|
-
break;
|
|
169
|
-
case 'selectedDatasets':
|
|
170
|
-
this.setHostProperty('selectedDatasets', changes['selectedDatasets'].currentValue);
|
|
171
|
-
break;
|
|
172
|
-
case 'authKey':
|
|
173
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
174
|
-
break;
|
|
175
|
-
case 'authToken':
|
|
176
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
177
|
-
break;
|
|
178
|
-
case 'apiUrl':
|
|
179
|
-
this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
|
|
180
|
-
break;
|
|
181
|
-
case 'appServer':
|
|
182
|
-
this.setHostProperty('appServer', changes['appServer'].currentValue);
|
|
183
|
-
break;
|
|
184
|
-
case 'includePublicDatasets':
|
|
185
|
-
this.setHostProperty('includePublicDatasets', changes['includePublicDatasets'].currentValue);
|
|
186
|
-
break;
|
|
187
|
-
case 'flagOpendata':
|
|
188
|
-
this.setHostProperty('flagOpendata', changes['flagOpendata'].currentValue);
|
|
189
|
-
break;
|
|
190
|
-
case 'disabled':
|
|
191
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
192
|
-
break;
|
|
193
|
-
case 'singleLine':
|
|
194
|
-
this.setHostProperty('singleLine', changes['singleLine'].currentValue);
|
|
195
|
-
break;
|
|
196
|
-
case 'hideDatasetButton':
|
|
197
|
-
this.setHostProperty('hideDatasetButton', changes['hideDatasetButton'].currentValue);
|
|
198
|
-
break;
|
|
199
|
-
case 'hideDatasetIcons':
|
|
200
|
-
this.setHostProperty('hideDatasetIcons', changes['hideDatasetIcons'].currentValue);
|
|
201
|
-
break;
|
|
202
|
-
case 'maxVisibleSelectedDatasets':
|
|
203
|
-
this.setHostProperty('maxVisibleSelectedDatasets', changes['maxVisibleSelectedDatasets'].currentValue);
|
|
204
|
-
break;
|
|
205
|
-
case 'selectedAgent':
|
|
206
|
-
this.setHostProperty('selectedAgent', changes['selectedAgent'].currentValue);
|
|
207
|
-
break;
|
|
208
|
-
case 'hideAgents':
|
|
209
|
-
this.setHostProperty('hideAgents', changes['hideAgents'].currentValue);
|
|
210
|
-
break;
|
|
211
|
-
case 'disableDatasetModification':
|
|
212
|
-
this.setHostProperty('disableDatasetModification', changes['disableDatasetModification'].currentValue);
|
|
213
|
-
break;
|
|
214
|
-
case 'hideSelectedDatasets':
|
|
215
|
-
this.setHostProperty('hideSelectedDatasets', changes['hideSelectedDatasets'].currentValue);
|
|
216
|
-
break;
|
|
217
|
-
case 'disableColumnMentions':
|
|
218
|
-
this.setHostProperty('disableColumnMentions', changes['disableColumnMentions'].currentValue);
|
|
219
|
-
break;
|
|
220
|
-
case 'isGenerating':
|
|
221
|
-
this.setHostProperty('isGenerating', changes['isGenerating'].currentValue);
|
|
222
|
-
break;
|
|
223
|
-
case 'stoppable':
|
|
224
|
-
this.setHostProperty('stoppable', changes['stoppable'].currentValue);
|
|
225
|
-
break;
|
|
226
|
-
case 'value':
|
|
227
|
-
this.setHostProperty('value', changes['value'].currentValue);
|
|
228
|
-
break;
|
|
229
|
-
case 'retainOnSubmit':
|
|
230
|
-
this.setHostProperty('retainOnSubmit', changes['retainOnSubmit'].currentValue);
|
|
231
|
-
break;
|
|
232
|
-
case 'requireDataset':
|
|
233
|
-
this.setHostProperty('requireDataset', changes['requireDataset'].currentValue);
|
|
234
|
-
break;
|
|
235
|
-
case 'allowImages':
|
|
236
|
-
this.setHostProperty('allowImages', changes['allowImages'].currentValue);
|
|
237
|
-
break;
|
|
238
|
-
case 'allowVoiceInput':
|
|
239
|
-
this.setHostProperty('allowVoiceInput', changes['allowVoiceInput'].currentValue);
|
|
240
|
-
break;
|
|
241
|
-
case 'acceptedFileTypes':
|
|
242
|
-
this.setHostProperty('acceptedFileTypes', changes['acceptedFileTypes'].currentValue);
|
|
243
|
-
break;
|
|
244
|
-
case 'apiVersion':
|
|
245
|
-
this.setHostProperty('apiVersion', changes['apiVersion'].currentValue);
|
|
246
|
-
break;
|
|
247
|
-
case 'uploadAttachments':
|
|
248
|
-
this.setHostProperty('uploadAttachments', changes['uploadAttachments'].currentValue);
|
|
249
|
-
break;
|
|
250
|
-
case 'fileIcons':
|
|
251
|
-
this.setHostProperty('fileIcons', changes['fileIcons'].currentValue);
|
|
252
|
-
break;
|
|
253
|
-
case 'size':
|
|
254
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
255
|
-
break;
|
|
256
|
-
default:
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
/**
|
|
263
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
264
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
265
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
266
|
-
* undefined / null by clearing their bindings.
|
|
267
|
-
*/
|
|
268
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
269
|
-
this.renderer.setProperty(this.host, key, value);
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
private bindEvents(): void {
|
|
273
|
-
this.listenerCleanup.push(
|
|
274
|
-
this.renderer.listen(this.host, 'prompt-submitted', (event: Event) => {
|
|
275
|
-
const typed = event as CustomEvent<PromptSubmittedEventDetail>;
|
|
276
|
-
this.promptSubmitted.emit(typed);
|
|
277
|
-
})
|
|
278
|
-
);
|
|
279
|
-
|
|
280
|
-
this.listenerCleanup.push(
|
|
281
|
-
this.renderer.listen(this.host, 'prompt-stopped', (event: Event) => {
|
|
282
|
-
const typed = event as CustomEvent<void>;
|
|
283
|
-
this.promptStopped.emit(typed);
|
|
284
|
-
})
|
|
285
|
-
);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
/** The underlying custom element type for LuzmoAiInteractionTextarea */
|
|
290
|
-
export type LuzmoAiInteractionTextareaElement = LuzmoAiInteractionTextareaHostElement;
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/data-field-level';
|
|
3
|
-
import type { LuzmoDataFieldLevel as LuzmoDataFieldLevelHostElement, DataFieldDragStartedEventDetail, DataFieldDroppedEventDetail } from '@luzmo/analytics-components-kit/data-field-level';
|
|
4
|
-
export type { DataFieldDragStartedEventDetail, DataFieldDroppedEventDetail } from '@luzmo/analytics-components-kit/data-field-level';
|
|
5
|
-
import type { DatasetDataField } from '@luzmo/analytics-components-kit/types';
|
|
6
|
-
|
|
7
|
-
@Component({
|
|
8
|
-
selector: 'luzmo-data-field-level',
|
|
9
|
-
exportAs: 'luzmoDataFieldLevel',
|
|
10
|
-
standalone: true,
|
|
11
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
12
|
-
template: '<ng-content />'
|
|
13
|
-
})
|
|
14
|
-
/**
|
|
15
|
-
* Angular wrapper component for <luzmo-data-field-level>
|
|
16
|
-
*/
|
|
17
|
-
export class LuzmoDataFieldLevel implements OnChanges {
|
|
18
|
-
private readonly elementRef = inject<ElementRef<LuzmoDataFieldLevelHostElement>>(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(): LuzmoDataFieldLevelHostElement {
|
|
26
|
-
return this.host;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/** Visual treatment of the level: `highlight` to emphasize it, or `normal`. */
|
|
30
|
-
@Input({ alias: 'variant' })
|
|
31
|
-
variant?: 'highlight' | 'normal';
|
|
32
|
-
|
|
33
|
-
/** Hides the data type icon shown before the level label. */
|
|
34
|
-
@Input({ alias: 'hideTypeIcon', transform: booleanAttribute })
|
|
35
|
-
hideTypeIcon?: boolean;
|
|
36
|
-
|
|
37
|
-
/** Whether this is rendered as a nested sublevel row (indented under a parent field). */
|
|
38
|
-
@Input({ alias: 'sublevel', transform: booleanAttribute })
|
|
39
|
-
sublevel?: boolean;
|
|
40
|
-
|
|
41
|
-
/** The language in which to display the level labels. */
|
|
42
|
-
@Input({ alias: 'language' })
|
|
43
|
-
language?: string;
|
|
44
|
-
|
|
45
|
-
/** Whether the level is disabled (non-interactive and visually muted). */
|
|
46
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
47
|
-
disabled?: boolean;
|
|
48
|
-
|
|
49
|
-
/** The dataset data field descriptor (column or formula field) this level represents. */
|
|
50
|
-
@Input({ alias: 'data' })
|
|
51
|
-
data?: DatasetDataField;
|
|
52
|
-
|
|
53
|
-
/** The size of the element */
|
|
54
|
-
@Input({ alias: 'size' })
|
|
55
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
56
|
-
|
|
57
|
-
/** Announces that the data field has been dropped */
|
|
58
|
-
readonly luzmoDataFieldDropped = output<CustomEvent<DataFieldDroppedEventDetail>>({ alias: 'luzmoDataFieldDropped' });
|
|
59
|
-
|
|
60
|
-
/** Announces that the drag is started on the data field */
|
|
61
|
-
readonly luzmoDataFieldDragStarted = output<CustomEvent<DataFieldDragStartedEventDetail>>({ alias: 'luzmoDataFieldDragStarted' });
|
|
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 'variant':
|
|
76
|
-
this.setHostProperty('variant', changes['variant'].currentValue);
|
|
77
|
-
break;
|
|
78
|
-
case 'hideTypeIcon':
|
|
79
|
-
this.setHostProperty('hideTypeIcon', changes['hideTypeIcon'].currentValue);
|
|
80
|
-
break;
|
|
81
|
-
case 'sublevel':
|
|
82
|
-
this.setHostProperty('sublevel', changes['sublevel'].currentValue);
|
|
83
|
-
break;
|
|
84
|
-
case 'language':
|
|
85
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
86
|
-
break;
|
|
87
|
-
case 'disabled':
|
|
88
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
89
|
-
break;
|
|
90
|
-
case 'data':
|
|
91
|
-
this.setHostProperty('data', changes['data'].currentValue);
|
|
92
|
-
break;
|
|
93
|
-
case 'size':
|
|
94
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
95
|
-
break;
|
|
96
|
-
default:
|
|
97
|
-
break;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
104
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
105
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
106
|
-
* undefined / null by clearing their bindings.
|
|
107
|
-
*/
|
|
108
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
109
|
-
this.renderer.setProperty(this.host, key, value);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
private bindEvents(): void {
|
|
113
|
-
this.listenerCleanup.push(
|
|
114
|
-
this.renderer.listen(this.host, 'luzmo-data-field-dropped', (event: Event) => {
|
|
115
|
-
const typed = event as CustomEvent<DataFieldDroppedEventDetail>;
|
|
116
|
-
this.luzmoDataFieldDropped.emit(typed);
|
|
117
|
-
})
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
this.listenerCleanup.push(
|
|
121
|
-
this.renderer.listen(this.host, 'luzmo-data-field-drag-started', (event: Event) => {
|
|
122
|
-
const typed = event as CustomEvent<DataFieldDragStartedEventDetail>;
|
|
123
|
-
this.luzmoDataFieldDragStarted.emit(typed);
|
|
124
|
-
})
|
|
125
|
-
);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/** The underlying custom element type for LuzmoDataFieldLevel */
|
|
130
|
-
export type LuzmoDataFieldLevelElement = LuzmoDataFieldLevelHostElement;
|
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/data-field-panel';
|
|
3
|
-
import type { LuzmoDataFieldPanel as LuzmoDataFieldPanelHostElement, DataFieldDragStartedEventDetail, DataFieldDroppedEventDetail, DatasetChangedEventDetail, DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
|
|
4
|
-
export type { DataFieldDragStartedEventDetail, DataFieldDroppedEventDetail, DatasetChangedEventDetail, DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-data-field-panel',
|
|
8
|
-
exportAs: 'luzmoDataFieldPanel',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* A panel component that displays a list of data fields from a dataset.
|
|
15
|
-
* Optionally includes a dataset picker dropdown to switch between datasets.
|
|
16
|
-
*
|
|
17
|
-
* Data can be provided in two ways:
|
|
18
|
-
* 1. `datasetsDataFields` - Direct data, takes preference when provided
|
|
19
|
-
* 2. `datasetIds` + auth props - Fetches data automatically using the Luzmo API
|
|
20
|
-
*/
|
|
21
|
-
export class LuzmoDataFieldPanel implements OnChanges {
|
|
22
|
-
private readonly elementRef = inject<ElementRef<LuzmoDataFieldPanelHostElement>>(ElementRef);
|
|
23
|
-
private readonly renderer = inject<Renderer2>(Renderer2);
|
|
24
|
-
private readonly destroyRef = inject<DestroyRef>(DestroyRef);
|
|
25
|
-
private readonly host = this.elementRef.nativeElement;
|
|
26
|
-
private readonly listenerCleanup: Array<() => void> = [];
|
|
27
|
-
|
|
28
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
29
|
-
get nativeElement(): LuzmoDataFieldPanelHostElement {
|
|
30
|
-
return this.host;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Array of dataset IDs to fetch and display. Used as an alternative to datasetsDataFields - when provided (and datasetsDataFields is empty), the component will fetch the dataset metadata automatically. Requires apiUrl, authKey, and authToken to be set. */
|
|
34
|
-
@Input({ alias: 'datasetIds' })
|
|
35
|
-
datasetIds?: string[];
|
|
36
|
-
|
|
37
|
-
/** The datasets and their data fields (columns and formulas) to display. Takes preference over datasetIds when provided. */
|
|
38
|
-
@Input({ alias: 'datasetsDataFields' })
|
|
39
|
-
datasetsDataFields?: DatasetDataFields[];
|
|
40
|
-
|
|
41
|
-
/** The currently selected dataset ID. If not provided, defaults to the first available dataset. */
|
|
42
|
-
@Input({ alias: 'selectedDatasetId' })
|
|
43
|
-
selectedDatasetId?: string;
|
|
44
|
-
|
|
45
|
-
/** Whether to show the dataset picker dropdown. */
|
|
46
|
-
@Input({ alias: 'datasetPicker', transform: booleanAttribute })
|
|
47
|
-
datasetPicker?: boolean;
|
|
48
|
-
|
|
49
|
-
/** Whether the panel is disabled. */
|
|
50
|
-
@Input({ alias: 'disabled', transform: booleanAttribute })
|
|
51
|
-
disabled?: boolean;
|
|
52
|
-
|
|
53
|
-
/** Whether the panel is in a pending/loading state. When true, shows a loading indicator instead of data fields. */
|
|
54
|
-
@Input({ alias: 'pending', transform: booleanAttribute })
|
|
55
|
-
pending?: boolean;
|
|
56
|
-
|
|
57
|
-
/** Visual variant for the draggable items. */
|
|
58
|
-
@Input({ alias: 'dataFieldVariant' })
|
|
59
|
-
dataFieldVariant?: 'highlight' | 'normal';
|
|
60
|
-
|
|
61
|
-
/** Whether the search input should use quiet styling. */
|
|
62
|
-
@Input({ alias: 'searchQuiet', transform: booleanAttribute })
|
|
63
|
-
searchQuiet?: boolean;
|
|
64
|
-
|
|
65
|
-
/** Whether to hide the type icons on data fields. */
|
|
66
|
-
@Input({ alias: 'hideTypeIcon', transform: booleanAttribute })
|
|
67
|
-
hideTypeIcon?: boolean;
|
|
68
|
-
|
|
69
|
-
/** Whether to hide the sublevels (datetime levels, hierarchy levels) on data fields. */
|
|
70
|
-
@Input({ alias: 'hideSublevels', transform: booleanAttribute })
|
|
71
|
-
hideSublevels?: boolean;
|
|
72
|
-
|
|
73
|
-
/** Placeholder text for the dataset picker. */
|
|
74
|
-
@Input({ alias: 'datasetPickerPlaceholder' })
|
|
75
|
-
datasetPickerPlaceholder?: string;
|
|
76
|
-
|
|
77
|
-
/** The Luzmo API URL. Required when using datasetIds. */
|
|
78
|
-
@Input({ alias: 'apiUrl' })
|
|
79
|
-
apiUrl?: string;
|
|
80
|
-
|
|
81
|
-
/** Authentication key for the Luzmo API. Required when using datasetIds. */
|
|
82
|
-
@Input({ alias: 'authKey' })
|
|
83
|
-
authKey?: string;
|
|
84
|
-
|
|
85
|
-
/** Authentication token for the Luzmo API. Required when using datasetIds. */
|
|
86
|
-
@Input({ alias: 'authToken' })
|
|
87
|
-
authToken?: string;
|
|
88
|
-
|
|
89
|
-
/** The search input container */
|
|
90
|
-
@Input({ alias: 'search' })
|
|
91
|
-
search?: 'on' | 'off' | 'auto';
|
|
92
|
-
|
|
93
|
-
/** Placeholder text for the search input. */
|
|
94
|
-
@Input({ alias: 'searchPlaceholder' })
|
|
95
|
-
searchPlaceholder?: string;
|
|
96
|
-
|
|
97
|
-
/** Threshold for auto-showing search (number of items). */
|
|
98
|
-
@Input({ alias: 'searchThreshold' })
|
|
99
|
-
searchThreshold?: number;
|
|
100
|
-
|
|
101
|
-
/** The main container element */
|
|
102
|
-
@Input({ alias: 'container' })
|
|
103
|
-
container?: string;
|
|
104
|
-
|
|
105
|
-
/** The scrollable list of data fields */
|
|
106
|
-
@Input({ alias: 'dataFieldsList' })
|
|
107
|
-
datafieldslist?: string;
|
|
108
|
-
|
|
109
|
-
/** The pending state container with progress circle */
|
|
110
|
-
@Input({ alias: 'pendingState' })
|
|
111
|
-
pendingstate?: string;
|
|
112
|
-
|
|
113
|
-
/** The empty state container when no data fields are available */
|
|
114
|
-
@Input({ alias: 'emptyState' })
|
|
115
|
-
emptystate?: string;
|
|
116
|
-
|
|
117
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
118
|
-
@Input({ alias: 'language' })
|
|
119
|
-
language?: string;
|
|
120
|
-
|
|
121
|
-
/** The size of the element */
|
|
122
|
-
@Input({ alias: 'size' })
|
|
123
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
124
|
-
|
|
125
|
-
/** Announces that the selected dataset has changed */
|
|
126
|
-
readonly luzmoDatasetChanged = output<CustomEvent<DatasetChangedEventDetail>>({ alias: 'luzmoDatasetChanged' });
|
|
127
|
-
|
|
128
|
-
/** Announces that a data field has been dropped */
|
|
129
|
-
readonly luzmoDataFieldDropped = output<CustomEvent<DataFieldDroppedEventDetail>>({ alias: 'luzmoDataFieldDropped' });
|
|
130
|
-
|
|
131
|
-
/** Announces that a drag has started on a data field */
|
|
132
|
-
readonly luzmoDataFieldDragStarted = output<CustomEvent<DataFieldDragStartedEventDetail>>({ alias: 'luzmoDataFieldDragStarted' });
|
|
133
|
-
|
|
134
|
-
constructor() {
|
|
135
|
-
this.bindEvents();
|
|
136
|
-
this.destroyRef.onDestroy(() => {
|
|
137
|
-
for (const cleanup of this.listenerCleanup) {
|
|
138
|
-
cleanup();
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
144
|
-
for (const key of Object.keys(changes)) {
|
|
145
|
-
switch (key) {
|
|
146
|
-
case 'datasetIds':
|
|
147
|
-
this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
|
|
148
|
-
break;
|
|
149
|
-
case 'datasetsDataFields':
|
|
150
|
-
this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
|
|
151
|
-
break;
|
|
152
|
-
case 'selectedDatasetId':
|
|
153
|
-
this.setHostProperty('selectedDatasetId', changes['selectedDatasetId'].currentValue);
|
|
154
|
-
break;
|
|
155
|
-
case 'datasetPicker':
|
|
156
|
-
this.setHostProperty('datasetPicker', changes['datasetPicker'].currentValue);
|
|
157
|
-
break;
|
|
158
|
-
case 'disabled':
|
|
159
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
160
|
-
break;
|
|
161
|
-
case 'pending':
|
|
162
|
-
this.setHostProperty('pending', changes['pending'].currentValue);
|
|
163
|
-
break;
|
|
164
|
-
case 'dataFieldVariant':
|
|
165
|
-
this.setHostProperty('dataFieldVariant', changes['dataFieldVariant'].currentValue);
|
|
166
|
-
break;
|
|
167
|
-
case 'searchQuiet':
|
|
168
|
-
this.setHostProperty('searchQuiet', changes['searchQuiet'].currentValue);
|
|
169
|
-
break;
|
|
170
|
-
case 'hideTypeIcon':
|
|
171
|
-
this.setHostProperty('hideTypeIcon', changes['hideTypeIcon'].currentValue);
|
|
172
|
-
break;
|
|
173
|
-
case 'hideSublevels':
|
|
174
|
-
this.setHostProperty('hideSublevels', changes['hideSublevels'].currentValue);
|
|
175
|
-
break;
|
|
176
|
-
case 'datasetPickerPlaceholder':
|
|
177
|
-
this.setHostProperty('datasetPickerPlaceholder', changes['datasetPickerPlaceholder'].currentValue);
|
|
178
|
-
break;
|
|
179
|
-
case 'apiUrl':
|
|
180
|
-
this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
|
|
181
|
-
break;
|
|
182
|
-
case 'authKey':
|
|
183
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
184
|
-
break;
|
|
185
|
-
case 'authToken':
|
|
186
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
187
|
-
break;
|
|
188
|
-
case 'search':
|
|
189
|
-
this.setHostProperty('search', changes['search'].currentValue);
|
|
190
|
-
break;
|
|
191
|
-
case 'searchPlaceholder':
|
|
192
|
-
this.setHostProperty('searchPlaceholder', changes['searchPlaceholder'].currentValue);
|
|
193
|
-
break;
|
|
194
|
-
case 'searchThreshold':
|
|
195
|
-
this.setHostProperty('searchThreshold', changes['searchThreshold'].currentValue);
|
|
196
|
-
break;
|
|
197
|
-
case 'container':
|
|
198
|
-
this.setHostProperty('container', changes['container'].currentValue);
|
|
199
|
-
break;
|
|
200
|
-
case 'datafieldslist':
|
|
201
|
-
this.setHostProperty('data-fields-list', changes['datafieldslist'].currentValue);
|
|
202
|
-
break;
|
|
203
|
-
case 'pendingstate':
|
|
204
|
-
this.setHostProperty('pending-state', changes['pendingstate'].currentValue);
|
|
205
|
-
break;
|
|
206
|
-
case 'emptystate':
|
|
207
|
-
this.setHostProperty('empty-state', changes['emptystate'].currentValue);
|
|
208
|
-
break;
|
|
209
|
-
case 'language':
|
|
210
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
211
|
-
break;
|
|
212
|
-
case 'size':
|
|
213
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
214
|
-
break;
|
|
215
|
-
default:
|
|
216
|
-
break;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
223
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
224
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
225
|
-
* undefined / null by clearing their bindings.
|
|
226
|
-
*/
|
|
227
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
228
|
-
this.renderer.setProperty(this.host, key, value);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
private bindEvents(): void {
|
|
232
|
-
this.listenerCleanup.push(
|
|
233
|
-
this.renderer.listen(this.host, 'luzmo-dataset-changed', (event: Event) => {
|
|
234
|
-
const typed = event as CustomEvent<DatasetChangedEventDetail>;
|
|
235
|
-
this.luzmoDatasetChanged.emit(typed);
|
|
236
|
-
})
|
|
237
|
-
);
|
|
238
|
-
|
|
239
|
-
this.listenerCleanup.push(
|
|
240
|
-
this.renderer.listen(this.host, 'luzmo-data-field-dropped', (event: Event) => {
|
|
241
|
-
const typed = event as CustomEvent<DataFieldDroppedEventDetail>;
|
|
242
|
-
this.luzmoDataFieldDropped.emit(typed);
|
|
243
|
-
})
|
|
244
|
-
);
|
|
245
|
-
|
|
246
|
-
this.listenerCleanup.push(
|
|
247
|
-
this.renderer.listen(this.host, 'luzmo-data-field-drag-started', (event: Event) => {
|
|
248
|
-
const typed = event as CustomEvent<DataFieldDragStartedEventDetail>;
|
|
249
|
-
this.luzmoDataFieldDragStarted.emit(typed);
|
|
250
|
-
})
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/** The underlying custom element type for LuzmoDataFieldPanel */
|
|
256
|
-
export type LuzmoDataFieldPanelElement = LuzmoDataFieldPanelHostElement;
|