@luzmo/analytics-components-kit 1.0.8-beta.6 → 1.0.8-beta.7
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/index.cjs +1 -1
- package/components/index.js +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/viz-item-menu.d.ts +3 -0
- package/components/{viz-item-menu-Ht6bklNL.js → viz-item-menu-B7yRaSAU.js} +1 -1
- package/components/{viz-item-menu-XHh4qhtn.cjs → viz-item-menu-hLdU-02Q.cjs} +1 -1
- package/custom-elements.json +14 -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 -98
- package/angular/components/ai-chat.ts +0 -440
- package/angular/components/ai-interaction-textarea.ts +0 -283
- 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 -212
- 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 -198
- 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 -107
- package/angular/components/display-settings.ts +0 -227
- package/angular/components/filter-expression-picker.ts +0 -168
- package/angular/components/filter-item.ts +0 -175
- 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 -209
- 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 -39
- package/angular/esm/components/ai-chat-empty-state.js +0 -99
- package/angular/esm/components/ai-chat.d.ts +0 -147
- package/angular/esm/components/ai-chat.js +0 -455
- package/angular/esm/components/ai-interaction-textarea.d.ts +0 -106
- package/angular/esm/components/ai-interaction-textarea.js +0 -305
- 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 -81
- package/angular/esm/components/data-fields-select.js +0 -227
- 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 -70
- package/angular/esm/components/dataset-selector-row.js +0 -197
- 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 -44
- package/angular/esm/components/display-settings-period-over-period.js +0 -107
- 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 -63
- package/angular/esm/components/filter-item.js +0 -187
- 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 -75
- package/angular/esm/components/filters.js +0 -215
- 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/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/index.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/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/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 -39
- 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/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,304 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/slot-menu';
|
|
3
|
-
import type { LuzmoSlotMenu as LuzmoSlotMenuHostElement, InfoVisibilityChangedEventDetail, MeasureColumnsItem, SlotContentsChangedEventDetail, SlotMenuActiveEventDetail, SlotMenuHighlightEventDetail } from '@luzmo/analytics-components-kit/slot-menu';
|
|
4
|
-
export type { InfoVisibilityChangedEventDetail, MeasureColumnsItem, SlotContentChangedEventDetail, SlotContentsChangedEventDetail, SlotListChangedEventDetail, SlotMenuActiveEventDetail, SlotMenuHighlightEventDetail } from '@luzmo/analytics-components-kit/slot-menu';
|
|
5
|
-
import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
|
|
6
|
-
import type { LuzmoDisplaySettings } from '@luzmo/analytics-components-kit/display-settings';
|
|
7
|
-
import type { LuzmoSlotMenuList } from '@luzmo/analytics-components-kit/slot-menu-list';
|
|
8
|
-
import type { SlotContent } from '@luzmo/analytics-components-kit/types';
|
|
9
|
-
import type { SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
|
|
10
|
-
|
|
11
|
-
@Component({
|
|
12
|
-
selector: 'luzmo-slot-menu',
|
|
13
|
-
exportAs: 'luzmoSlotMenu',
|
|
14
|
-
standalone: true,
|
|
15
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
16
|
-
template: '<ng-content />'
|
|
17
|
-
})
|
|
18
|
-
/**
|
|
19
|
-
* Angular wrapper component for <luzmo-slot-menu>
|
|
20
|
-
*/
|
|
21
|
-
export class LuzmoSlotMenu implements OnChanges {
|
|
22
|
-
private readonly elementRef = inject<ElementRef<LuzmoSlotMenuHostElement>>(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(): LuzmoSlotMenuHostElement {
|
|
30
|
-
return this.host;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** The language of the settings interface */
|
|
34
|
-
@Input({ alias: 'language' })
|
|
35
|
-
language?: string;
|
|
36
|
-
|
|
37
|
-
/** The language to use for locale-aware formatting and labels */
|
|
38
|
-
@Input({ alias: 'contentLanguage' })
|
|
39
|
-
contentLanguage?: string;
|
|
40
|
-
|
|
41
|
-
/** The slot type */
|
|
42
|
-
@Input({ alias: 'slotType' })
|
|
43
|
-
slotType?: 'numeric' | 'categorical' | 'mixed';
|
|
44
|
-
|
|
45
|
-
/** The name of the slot being edited. */
|
|
46
|
-
@Input({ alias: 'slotName' })
|
|
47
|
-
slotName?: SlotName;
|
|
48
|
-
|
|
49
|
-
/** The visualization item type that provides slot and option configuration. */
|
|
50
|
-
@Input({ alias: 'itemType' })
|
|
51
|
-
itemType?: VizItemType;
|
|
52
|
-
|
|
53
|
-
/** Whether to show the drag handle and allow dragging */
|
|
54
|
-
@Input({ alias: 'noDrag', transform: booleanAttribute })
|
|
55
|
-
noDrag?: boolean;
|
|
56
|
-
|
|
57
|
-
/** Whether to show the close button */
|
|
58
|
-
@Input({ alias: 'noClose', transform: booleanAttribute })
|
|
59
|
-
noClose?: boolean;
|
|
60
|
-
|
|
61
|
-
/** The variant to show */
|
|
62
|
-
@Input({ alias: 'variant' })
|
|
63
|
-
variant?: 'popup' | 'draggable' | 'default';
|
|
64
|
-
|
|
65
|
-
/** Whether to show the top menu label & delete button */
|
|
66
|
-
@Input({ alias: 'noTopMenuLabel', transform: booleanAttribute })
|
|
67
|
-
noTopMenuLabel?: boolean;
|
|
68
|
-
|
|
69
|
-
/** CSS selector for the boundary element that constrains dragging of the menu. */
|
|
70
|
-
@Input({ alias: 'dragBoundary' })
|
|
71
|
-
dragBoundary?: string;
|
|
72
|
-
|
|
73
|
-
/** Whether grand-totals options are available for this slot. */
|
|
74
|
-
@Input({ alias: 'areGrandTotalsEnabled', transform: booleanAttribute })
|
|
75
|
-
areGrandTotalsEnabled?: boolean;
|
|
76
|
-
|
|
77
|
-
/** Whether datetime display options are available for this slot. */
|
|
78
|
-
@Input({ alias: 'areDatetimeOptionsEnabled', transform: booleanAttribute })
|
|
79
|
-
areDatetimeOptionsEnabled?: boolean;
|
|
80
|
-
|
|
81
|
-
/** Whether numeric binning options are hidden for this slot. */
|
|
82
|
-
@Input({ alias: 'isBinningDisabled', transform: booleanAttribute })
|
|
83
|
-
isBinningDisabled?: boolean;
|
|
84
|
-
|
|
85
|
-
/** Whether aggregation options are hidden for this slot. */
|
|
86
|
-
@Input({ alias: 'isAggregationDisabled', transform: booleanAttribute })
|
|
87
|
-
isAggregationDisabled?: boolean;
|
|
88
|
-
|
|
89
|
-
/** Whether cumulative-sum options are available for this slot. */
|
|
90
|
-
@Input({ alias: 'isCumulativeSumEnabled', transform: booleanAttribute })
|
|
91
|
-
isCumulativeSumEnabled?: boolean;
|
|
92
|
-
|
|
93
|
-
/** The contents (columns/formulas) assigned to this slot. */
|
|
94
|
-
@Input({ alias: 'slotContents' })
|
|
95
|
-
slotContents?: SlotContent[];
|
|
96
|
-
|
|
97
|
-
/** Measure columns available for rate aggregation. */
|
|
98
|
-
@Input({ alias: 'measureColumns' })
|
|
99
|
-
measureColumns?: MeasureColumnsItem[];
|
|
100
|
-
|
|
101
|
-
/** (Optional) If you only want to display a specific content of a slot, you can set the slotIndex to the index of the content you want to display. */
|
|
102
|
-
@Input({ alias: 'slotIndex' })
|
|
103
|
-
slotIndex?: number;
|
|
104
|
-
|
|
105
|
-
/** Reference to the rendered display-settings element. */
|
|
106
|
-
@Input({ alias: 'displaySettingsElement' })
|
|
107
|
-
displaySettingsElement?: LuzmoDisplaySettings;
|
|
108
|
-
|
|
109
|
-
/** Reference to the rendered slot-menu-list element. */
|
|
110
|
-
@Input({ alias: 'slotMenuListElement' })
|
|
111
|
-
slotMenuListElement?: LuzmoSlotMenuList;
|
|
112
|
-
|
|
113
|
-
/** The API URL of the databroker */
|
|
114
|
-
@Input({ alias: 'apiUrl' })
|
|
115
|
-
apiUrl?: string;
|
|
116
|
-
|
|
117
|
-
/** The auth key of the databroker */
|
|
118
|
-
@Input({ alias: 'authKey' })
|
|
119
|
-
authKey?: string;
|
|
120
|
-
|
|
121
|
-
/** The auth token of the databroker */
|
|
122
|
-
@Input({ alias: 'authToken' })
|
|
123
|
-
authToken?: string;
|
|
124
|
-
|
|
125
|
-
/** Datasets used to resolve column names in ad-hoc calculation previews. */
|
|
126
|
-
@Input({ alias: 'datasetsDataFields' })
|
|
127
|
-
datasetsDataFields?: DatasetDataFields[];
|
|
128
|
-
|
|
129
|
-
/** The size of the element */
|
|
130
|
-
@Input({ alias: 'size' })
|
|
131
|
-
size?: 's' | 'm' | 'l' | 'xl';
|
|
132
|
-
|
|
133
|
-
/** Emitted when the slot contents change */
|
|
134
|
-
readonly luzmoSlotContentsChanged = output<CustomEvent<SlotContentsChangedEventDetail>>({ alias: 'luzmoSlotContentsChanged' });
|
|
135
|
-
|
|
136
|
-
/** Emitted when the slot menu is closed */
|
|
137
|
-
readonly luzmoClose = output<CustomEvent<void>>({ alias: 'luzmoClose' });
|
|
138
|
-
|
|
139
|
-
/** Emitted when the slot menu becomes active for a dataset */
|
|
140
|
-
readonly luzmoSlotMenuActive = output<CustomEvent<SlotMenuActiveEventDetail>>({ alias: 'luzmoSlotMenuActive' });
|
|
141
|
-
|
|
142
|
-
/** Emitted to highlight a column or formula in the slot menu */
|
|
143
|
-
readonly luzmoSlotMenuHighlight = output<CustomEvent<SlotMenuHighlightEventDetail>>({ alias: 'luzmoSlotMenuHighlight' });
|
|
144
|
-
|
|
145
|
-
/** Emitted when the menu becomes inactive. */
|
|
146
|
-
readonly luzmoSlotMenuInactive = output<CustomEvent<unknown>>({ alias: 'luzmoSlotMenuInactive' });
|
|
147
|
-
|
|
148
|
-
/** Event that is fired when the info button is clicked in display-settings, includes the visibility state and ID values */
|
|
149
|
-
readonly luzmoInfoVisibilityChanged = output<CustomEvent<InfoVisibilityChangedEventDetail>>({ alias: 'luzmoInfoVisibilityChanged' });
|
|
150
|
-
|
|
151
|
-
constructor() {
|
|
152
|
-
this.bindEvents();
|
|
153
|
-
this.destroyRef.onDestroy(() => {
|
|
154
|
-
for (const cleanup of this.listenerCleanup) {
|
|
155
|
-
cleanup();
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
161
|
-
for (const key of Object.keys(changes)) {
|
|
162
|
-
switch (key) {
|
|
163
|
-
case 'language':
|
|
164
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
165
|
-
break;
|
|
166
|
-
case 'contentLanguage':
|
|
167
|
-
this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
|
|
168
|
-
break;
|
|
169
|
-
case 'slotType':
|
|
170
|
-
this.setHostProperty('slotType', changes['slotType'].currentValue);
|
|
171
|
-
break;
|
|
172
|
-
case 'slotName':
|
|
173
|
-
this.setHostProperty('slotName', changes['slotName'].currentValue);
|
|
174
|
-
break;
|
|
175
|
-
case 'itemType':
|
|
176
|
-
this.setHostProperty('itemType', changes['itemType'].currentValue);
|
|
177
|
-
break;
|
|
178
|
-
case 'noDrag':
|
|
179
|
-
this.setHostProperty('noDrag', changes['noDrag'].currentValue);
|
|
180
|
-
break;
|
|
181
|
-
case 'noClose':
|
|
182
|
-
this.setHostProperty('noClose', changes['noClose'].currentValue);
|
|
183
|
-
break;
|
|
184
|
-
case 'variant':
|
|
185
|
-
this.setHostProperty('variant', changes['variant'].currentValue);
|
|
186
|
-
break;
|
|
187
|
-
case 'noTopMenuLabel':
|
|
188
|
-
this.setHostProperty('noTopMenuLabel', changes['noTopMenuLabel'].currentValue);
|
|
189
|
-
break;
|
|
190
|
-
case 'dragBoundary':
|
|
191
|
-
this.setHostProperty('dragBoundary', changes['dragBoundary'].currentValue);
|
|
192
|
-
break;
|
|
193
|
-
case 'areGrandTotalsEnabled':
|
|
194
|
-
this.setHostProperty('areGrandTotalsEnabled', changes['areGrandTotalsEnabled'].currentValue);
|
|
195
|
-
break;
|
|
196
|
-
case 'areDatetimeOptionsEnabled':
|
|
197
|
-
this.setHostProperty('areDatetimeOptionsEnabled', changes['areDatetimeOptionsEnabled'].currentValue);
|
|
198
|
-
break;
|
|
199
|
-
case 'isBinningDisabled':
|
|
200
|
-
this.setHostProperty('isBinningDisabled', changes['isBinningDisabled'].currentValue);
|
|
201
|
-
break;
|
|
202
|
-
case 'isAggregationDisabled':
|
|
203
|
-
this.setHostProperty('isAggregationDisabled', changes['isAggregationDisabled'].currentValue);
|
|
204
|
-
break;
|
|
205
|
-
case 'isCumulativeSumEnabled':
|
|
206
|
-
this.setHostProperty('isCumulativeSumEnabled', changes['isCumulativeSumEnabled'].currentValue);
|
|
207
|
-
break;
|
|
208
|
-
case 'slotContents':
|
|
209
|
-
this.setHostProperty('slotContents', changes['slotContents'].currentValue);
|
|
210
|
-
break;
|
|
211
|
-
case 'measureColumns':
|
|
212
|
-
this.setHostProperty('measureColumns', changes['measureColumns'].currentValue);
|
|
213
|
-
break;
|
|
214
|
-
case 'slotIndex':
|
|
215
|
-
this.setHostProperty('slotIndex', changes['slotIndex'].currentValue);
|
|
216
|
-
break;
|
|
217
|
-
case 'displaySettingsElement':
|
|
218
|
-
this.setHostProperty('displaySettingsElement', changes['displaySettingsElement'].currentValue);
|
|
219
|
-
break;
|
|
220
|
-
case 'slotMenuListElement':
|
|
221
|
-
this.setHostProperty('slotMenuListElement', changes['slotMenuListElement'].currentValue);
|
|
222
|
-
break;
|
|
223
|
-
case 'apiUrl':
|
|
224
|
-
this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
|
|
225
|
-
break;
|
|
226
|
-
case 'authKey':
|
|
227
|
-
this.setHostProperty('authKey', changes['authKey'].currentValue);
|
|
228
|
-
break;
|
|
229
|
-
case 'authToken':
|
|
230
|
-
this.setHostProperty('authToken', changes['authToken'].currentValue);
|
|
231
|
-
break;
|
|
232
|
-
case 'datasetsDataFields':
|
|
233
|
-
this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
|
|
234
|
-
break;
|
|
235
|
-
case 'size':
|
|
236
|
-
this.setHostProperty('size', changes['size'].currentValue);
|
|
237
|
-
break;
|
|
238
|
-
default:
|
|
239
|
-
break;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
246
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
247
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
248
|
-
* undefined / null by clearing their bindings.
|
|
249
|
-
*/
|
|
250
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
251
|
-
this.renderer.setProperty(this.host, key, value);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
private bindEvents(): void {
|
|
255
|
-
this.listenerCleanup.push(
|
|
256
|
-
this.renderer.listen(this.host, 'luzmo-slot-contents-changed', (event: Event) => {
|
|
257
|
-
const typed = event as CustomEvent<SlotContentsChangedEventDetail>;
|
|
258
|
-
this.luzmoSlotContentsChanged.emit(typed);
|
|
259
|
-
})
|
|
260
|
-
);
|
|
261
|
-
|
|
262
|
-
this.listenerCleanup.push(
|
|
263
|
-
this.renderer.listen(this.host, 'luzmo-close', (event: Event) => {
|
|
264
|
-
const typed = event as CustomEvent<void>;
|
|
265
|
-
this.luzmoClose.emit(typed);
|
|
266
|
-
})
|
|
267
|
-
);
|
|
268
|
-
|
|
269
|
-
this.listenerCleanup.push(
|
|
270
|
-
this.renderer.listen(this.host, 'luzmo-slot-menu-active', (event: Event) => {
|
|
271
|
-
const typed = event as CustomEvent<SlotMenuActiveEventDetail>;
|
|
272
|
-
this.luzmoSlotMenuActive.emit(typed);
|
|
273
|
-
})
|
|
274
|
-
);
|
|
275
|
-
|
|
276
|
-
this.listenerCleanup.push(
|
|
277
|
-
this.renderer.listen(this.host, 'luzmo-slot-menu-highlight', (event: Event) => {
|
|
278
|
-
const typed = event as CustomEvent<SlotMenuHighlightEventDetail>;
|
|
279
|
-
this.luzmoSlotMenuHighlight.emit(typed);
|
|
280
|
-
})
|
|
281
|
-
);
|
|
282
|
-
|
|
283
|
-
this.listenerCleanup.push(
|
|
284
|
-
this.renderer.listen(this.host, 'luzmo-slot-menu-inactive', (event: Event) => {
|
|
285
|
-
const typed = event as CustomEvent<unknown>;
|
|
286
|
-
this.luzmoSlotMenuInactive.emit(typed);
|
|
287
|
-
})
|
|
288
|
-
);
|
|
289
|
-
|
|
290
|
-
this.listenerCleanup.push(
|
|
291
|
-
this.renderer.listen(this.host, 'luzmo-info-visibility-changed', (event: Event) => {
|
|
292
|
-
const typed = event as CustomEvent<InfoVisibilityChangedEventDetail>;
|
|
293
|
-
this.luzmoInfoVisibilityChanged.emit(typed);
|
|
294
|
-
})
|
|
295
|
-
);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
close(): void {
|
|
299
|
-
return (this.host as LuzmoSlotMenuHostElement).close();
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/** The underlying custom element type for LuzmoSlotMenu */
|
|
304
|
-
export type LuzmoSlotMenuElement = LuzmoSlotMenuHostElement;
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/viz-item-menu';
|
|
3
|
-
import type { LuzmoVizItemMenu as LuzmoVizItemMenuHostElement, VizItemMenuButton, VizItemMenuButtonClickedEventDetail, VizItemMenuSelectedChangedEventDetail } from '@luzmo/analytics-components-kit/viz-item-menu';
|
|
4
|
-
export type { VizItemMenuButton, VizItemMenuButtonClickedEventDetail, VizItemMenuSelectedChangedEventDetail } from '@luzmo/analytics-components-kit/viz-item-menu';
|
|
5
|
-
|
|
6
|
-
@Component({
|
|
7
|
-
selector: 'luzmo-viz-item-menu',
|
|
8
|
-
exportAs: 'luzmoVizItemMenu',
|
|
9
|
-
standalone: true,
|
|
10
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11
|
-
template: '<ng-content />'
|
|
12
|
-
})
|
|
13
|
-
/**
|
|
14
|
-
* Angular wrapper component for <luzmo-viz-item-menu>
|
|
15
|
-
*/
|
|
16
|
-
export class LuzmoVizItemMenu implements OnChanges {
|
|
17
|
-
private readonly elementRef = inject<ElementRef<LuzmoVizItemMenuHostElement>>(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(): LuzmoVizItemMenuHostElement {
|
|
25
|
-
return this.host;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** The visualization item ID */
|
|
29
|
-
@Input({ alias: 'vizItemId' })
|
|
30
|
-
vizItemId?: string;
|
|
31
|
-
|
|
32
|
-
/** Array of menu buttons to hide */
|
|
33
|
-
@Input({ alias: 'hiddenButtons' })
|
|
34
|
-
hiddenButtons?: VizItemMenuButton[];
|
|
35
|
-
|
|
36
|
-
/** The currently selected menu button */
|
|
37
|
-
@Input({ alias: 'selectedButton' })
|
|
38
|
-
selectedButton?: VizItemMenuButton | null;
|
|
39
|
-
|
|
40
|
-
/** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
|
|
41
|
-
@Input({ alias: 'language' })
|
|
42
|
-
language?: string;
|
|
43
|
-
|
|
44
|
-
/** Emitted when the selected button changes */
|
|
45
|
-
readonly selectedChanged = output<CustomEvent<VizItemMenuSelectedChangedEventDetail>>({ alias: 'selectedChanged' });
|
|
46
|
-
|
|
47
|
-
/** Emitted when any menu item is clicked */
|
|
48
|
-
readonly buttonClicked = output<CustomEvent<VizItemMenuButtonClickedEventDetail>>({ alias: 'buttonClicked' });
|
|
49
|
-
|
|
50
|
-
/** Emitted when hovering over the edit button */
|
|
51
|
-
readonly editButtonHovered = output<CustomEvent<void>>({ alias: 'editButtonHovered' });
|
|
52
|
-
|
|
53
|
-
constructor() {
|
|
54
|
-
this.bindEvents();
|
|
55
|
-
this.destroyRef.onDestroy(() => {
|
|
56
|
-
for (const cleanup of this.listenerCleanup) {
|
|
57
|
-
cleanup();
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
ngOnChanges(changes: SimpleChanges): void {
|
|
63
|
-
for (const key of Object.keys(changes)) {
|
|
64
|
-
switch (key) {
|
|
65
|
-
case 'vizItemId':
|
|
66
|
-
this.setHostProperty('vizItemId', changes['vizItemId'].currentValue);
|
|
67
|
-
break;
|
|
68
|
-
case 'hiddenButtons':
|
|
69
|
-
this.setHostProperty('hiddenButtons', changes['hiddenButtons'].currentValue);
|
|
70
|
-
break;
|
|
71
|
-
case 'selectedButton':
|
|
72
|
-
this.setHostProperty('selectedButton', changes['selectedButton'].currentValue);
|
|
73
|
-
break;
|
|
74
|
-
case 'language':
|
|
75
|
-
this.setHostProperty('language', changes['language'].currentValue);
|
|
76
|
-
break;
|
|
77
|
-
default:
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
85
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
86
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
87
|
-
* undefined / null by clearing their bindings.
|
|
88
|
-
*/
|
|
89
|
-
private setHostProperty(key: string, value: unknown): void {
|
|
90
|
-
this.renderer.setProperty(this.host, key, value);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
private bindEvents(): void {
|
|
94
|
-
this.listenerCleanup.push(
|
|
95
|
-
this.renderer.listen(this.host, 'selected-changed', (event: Event) => {
|
|
96
|
-
const typed = event as CustomEvent<VizItemMenuSelectedChangedEventDetail>;
|
|
97
|
-
this.selectedChanged.emit(typed);
|
|
98
|
-
})
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
this.listenerCleanup.push(
|
|
102
|
-
this.renderer.listen(this.host, 'button-clicked', (event: Event) => {
|
|
103
|
-
const typed = event as CustomEvent<VizItemMenuButtonClickedEventDetail>;
|
|
104
|
-
this.buttonClicked.emit(typed);
|
|
105
|
-
})
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
this.listenerCleanup.push(
|
|
109
|
-
this.renderer.listen(this.host, 'edit-button-hovered', (event: Event) => {
|
|
110
|
-
const typed = event as CustomEvent<void>;
|
|
111
|
-
this.editButtonHovered.emit(typed);
|
|
112
|
-
})
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/** The underlying custom element type for LuzmoVizItemMenu */
|
|
118
|
-
export type LuzmoVizItemMenuElement = LuzmoVizItemMenuHostElement;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/ai-chat';
|
|
3
|
-
import type { LuzmoAiChatEmptyState as LuzmoAiChatEmptyStateHostElement, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from '@luzmo/analytics-components-kit/ai-chat';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
|
|
6
|
-
export declare class LuzmoAiChatEmptyState implements OnChanges {
|
|
7
|
-
private readonly elementRef;
|
|
8
|
-
private readonly renderer;
|
|
9
|
-
private readonly destroyRef;
|
|
10
|
-
private readonly host;
|
|
11
|
-
private readonly listenerCleanup;
|
|
12
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
13
|
-
get nativeElement(): LuzmoAiChatEmptyStateHostElement;
|
|
14
|
-
/** Heading shown above the suggestions. */
|
|
15
|
-
title?: string;
|
|
16
|
-
/** Supporting text shown above suggestion chips when `suggestions` is non-empty. */
|
|
17
|
-
subtitle?: string;
|
|
18
|
-
/** Suggestion chips rendered with https://lucero.luzmo.com/ | Lucero `luzmo-action-button` (`variant="accent"`). */
|
|
19
|
-
suggestions?: AiChatEmptyStateSuggestion[];
|
|
20
|
-
/** When true, suggestion chips cannot be activated. */
|
|
21
|
-
disabled?: boolean;
|
|
22
|
-
/** Fired when the user selects a suggestion chip */
|
|
23
|
-
readonly luzmoSuggestionSelected: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatEmptyStateSuggestionSelectedDetail>>;
|
|
24
|
-
constructor();
|
|
25
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
26
|
-
/**
|
|
27
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
28
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
29
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
30
|
-
* undefined / null by clearing their bindings.
|
|
31
|
-
*/
|
|
32
|
-
private setHostProperty;
|
|
33
|
-
private bindEvents;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoAiChatEmptyState, never>;
|
|
35
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAiChatEmptyState, "luzmo-ai-chat-empty-state", ["luzmoAiChatEmptyState"], { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "luzmoSuggestionSelected": "luzmoSuggestionSelected"; }, never, ["*"], true, never>;
|
|
36
|
-
static ngAcceptInputType_disabled: unknown;
|
|
37
|
-
}
|
|
38
|
-
/** The underlying custom element type for LuzmoAiChatEmptyState */
|
|
39
|
-
export type LuzmoAiChatEmptyStateElement = LuzmoAiChatEmptyStateHostElement;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
|
|
2
|
-
import '@luzmo/analytics-components-kit/ai-chat';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
const _c0 = ["*"];
|
|
5
|
-
/**
|
|
6
|
-
* Angular wrapper component for <luzmo-ai-chat-empty-state>
|
|
7
|
-
*/
|
|
8
|
-
export class LuzmoAiChatEmptyState {
|
|
9
|
-
elementRef = inject(ElementRef);
|
|
10
|
-
renderer = inject(Renderer2);
|
|
11
|
-
destroyRef = inject(DestroyRef);
|
|
12
|
-
host = this.elementRef.nativeElement;
|
|
13
|
-
listenerCleanup = [];
|
|
14
|
-
/** The underlying custom element instance. Use to call imperative methods. */
|
|
15
|
-
get nativeElement() {
|
|
16
|
-
return this.host;
|
|
17
|
-
}
|
|
18
|
-
/** Heading shown above the suggestions. */
|
|
19
|
-
title;
|
|
20
|
-
/** Supporting text shown above suggestion chips when `suggestions` is non-empty. */
|
|
21
|
-
subtitle;
|
|
22
|
-
/** Suggestion chips rendered with https://lucero.luzmo.com/ | Lucero `luzmo-action-button` (`variant="accent"`). */
|
|
23
|
-
suggestions;
|
|
24
|
-
/** When true, suggestion chips cannot be activated. */
|
|
25
|
-
disabled;
|
|
26
|
-
/** Fired when the user selects a suggestion chip */
|
|
27
|
-
luzmoSuggestionSelected = output({ alias: 'luzmoSuggestionSelected' });
|
|
28
|
-
constructor() {
|
|
29
|
-
this.bindEvents();
|
|
30
|
-
this.destroyRef.onDestroy(() => {
|
|
31
|
-
for (const cleanup of this.listenerCleanup) {
|
|
32
|
-
cleanup();
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnChanges(changes) {
|
|
37
|
-
for (const key of Object.keys(changes)) {
|
|
38
|
-
switch (key) {
|
|
39
|
-
case 'title':
|
|
40
|
-
this.setHostProperty('title', changes['title'].currentValue);
|
|
41
|
-
break;
|
|
42
|
-
case 'subtitle':
|
|
43
|
-
this.setHostProperty('subtitle', changes['subtitle'].currentValue);
|
|
44
|
-
break;
|
|
45
|
-
case 'suggestions':
|
|
46
|
-
this.setHostProperty('suggestions', changes['suggestions'].currentValue);
|
|
47
|
-
break;
|
|
48
|
-
case 'disabled':
|
|
49
|
-
this.setHostProperty('disabled', changes['disabled'].currentValue);
|
|
50
|
-
break;
|
|
51
|
-
default:
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Forward a wrapper @Input to the underlying host element via Renderer2 so
|
|
58
|
-
* the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
|
|
59
|
-
* Unlike a "skip undefined" guard, this lets consumers reset values back to
|
|
60
|
-
* undefined / null by clearing their bindings.
|
|
61
|
-
*/
|
|
62
|
-
setHostProperty(key, value) {
|
|
63
|
-
this.renderer.setProperty(this.host, key, value);
|
|
64
|
-
}
|
|
65
|
-
bindEvents() {
|
|
66
|
-
this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-suggestion-selected', (event) => {
|
|
67
|
-
const typed = event;
|
|
68
|
-
this.luzmoSuggestionSelected.emit(typed);
|
|
69
|
-
}));
|
|
70
|
-
}
|
|
71
|
-
static ɵfac = function LuzmoAiChatEmptyState_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoAiChatEmptyState)(); };
|
|
72
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAiChatEmptyState, selectors: [["luzmo-ai-chat-empty-state"]], inputs: { title: "title", subtitle: "subtitle", suggestions: "suggestions", disabled: [2, "disabled", "disabled", booleanAttribute] }, outputs: { luzmoSuggestionSelected: "luzmoSuggestionSelected" }, exportAs: ["luzmoAiChatEmptyState"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAiChatEmptyState_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
-
i0.ɵɵprojectionDef();
|
|
74
|
-
i0.ɵɵprojection(0);
|
|
75
|
-
} }, encapsulation: 2 });
|
|
76
|
-
}
|
|
77
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoAiChatEmptyState, [{
|
|
78
|
-
type: Component,
|
|
79
|
-
args: [{
|
|
80
|
-
selector: 'luzmo-ai-chat-empty-state',
|
|
81
|
-
exportAs: 'luzmoAiChatEmptyState',
|
|
82
|
-
standalone: true,
|
|
83
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
84
|
-
template: '<ng-content />'
|
|
85
|
-
}]
|
|
86
|
-
}], () => [], { title: [{
|
|
87
|
-
type: Input,
|
|
88
|
-
args: [{ alias: 'title' }]
|
|
89
|
-
}], subtitle: [{
|
|
90
|
-
type: Input,
|
|
91
|
-
args: [{ alias: 'subtitle' }]
|
|
92
|
-
}], suggestions: [{
|
|
93
|
-
type: Input,
|
|
94
|
-
args: [{ alias: 'suggestions' }]
|
|
95
|
-
}], disabled: [{
|
|
96
|
-
type: Input,
|
|
97
|
-
args: [{ alias: 'disabled', transform: booleanAttribute }]
|
|
98
|
-
}], luzmoSuggestionSelected: [{ type: i0.Output, args: ["luzmoSuggestionSelected"] }] }); })();
|
|
99
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoAiChatEmptyState, { className: "LuzmoAiChatEmptyState", filePath: "components/ai-chat-empty-state.ts", lineNumber: 16 }); })();
|