@luzmo/analytics-components-kit 1.0.1-alpha.66 → 1.0.1-alpha.67

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.
Files changed (125) hide show
  1. package/angular/README.md +51 -0
  2. package/angular/angular-core-stubs.d.ts +33 -0
  3. package/angular/components/display-settings-binning.component.ts +21 -0
  4. package/angular/components/display-settings-datetime.component.ts +23 -0
  5. package/angular/components/display-settings-grand-totals.component.ts +21 -0
  6. package/angular/components/display-settings-numeric.component.ts +27 -0
  7. package/angular/components/display-settings-period-over-period.component.ts +25 -0
  8. package/angular/components/display-settings.component.ts +45 -0
  9. package/angular/components/draggable-data-item-level.component.ts +37 -0
  10. package/angular/components/draggable-data-item.component.ts +37 -0
  11. package/angular/components/droppable-slot.component.ts +51 -0
  12. package/angular/components/edit-item.component.ts +31 -0
  13. package/angular/components/edit-option-color-picker.component.ts +31 -0
  14. package/angular/components/edit-option-color-range.component.ts +43 -0
  15. package/angular/components/edit-option.component.ts +33 -0
  16. package/angular/components/filter-data-item-picker.component.ts +50 -0
  17. package/angular/components/filter-expression-picker.component.ts +43 -0
  18. package/angular/components/filter-group.component.ts +29 -0
  19. package/angular/components/filter-item.component.ts +41 -0
  20. package/angular/components/filter-parameter-picker.component.ts +27 -0
  21. package/angular/components/filter-value-picker-datetime.component.ts +31 -0
  22. package/angular/components/filter-value-picker-hierarchy.component.ts +37 -0
  23. package/angular/components/filter-value-picker-numeric.component.ts +37 -0
  24. package/angular/components/filter-value-picker.component.ts +41 -0
  25. package/angular/components/grid-item-actions-menu.component.ts +21 -0
  26. package/angular/components/grid.component.ts +49 -0
  27. package/angular/components/slot-contents-picker.component.ts +56 -0
  28. package/angular/components/slot-menu-list.component.ts +25 -0
  29. package/angular/components/slot-menu.component.ts +65 -0
  30. package/angular/esm/components/display-settings-binning.component.d.ts +10 -0
  31. package/angular/esm/components/display-settings-binning.component.js +39 -0
  32. package/angular/esm/components/display-settings-datetime.component.d.ts +12 -0
  33. package/angular/esm/components/display-settings-datetime.component.js +44 -0
  34. package/angular/esm/components/display-settings-grand-totals.component.d.ts +10 -0
  35. package/angular/esm/components/display-settings-grand-totals.component.js +39 -0
  36. package/angular/esm/components/display-settings-numeric.component.d.ts +13 -0
  37. package/angular/esm/components/display-settings-numeric.component.js +54 -0
  38. package/angular/esm/components/display-settings-period-over-period.component.d.ts +15 -0
  39. package/angular/esm/components/display-settings-period-over-period.component.js +49 -0
  40. package/angular/esm/components/display-settings.component.d.ts +23 -0
  41. package/angular/esm/components/display-settings.component.js +99 -0
  42. package/angular/esm/components/draggable-data-item-level.component.d.ts +18 -0
  43. package/angular/esm/components/draggable-data-item-level.component.js +79 -0
  44. package/angular/esm/components/draggable-data-item.component.d.ts +18 -0
  45. package/angular/esm/components/draggable-data-item.component.js +79 -0
  46. package/angular/esm/components/droppable-slot.component.d.ts +26 -0
  47. package/angular/esm/components/droppable-slot.component.js +114 -0
  48. package/angular/esm/components/edit-item.component.d.ts +16 -0
  49. package/angular/esm/components/edit-item.component.js +64 -0
  50. package/angular/esm/components/edit-option-color-picker.component.d.ts +15 -0
  51. package/angular/esm/components/edit-option-color-picker.component.js +64 -0
  52. package/angular/esm/components/edit-option-color-range.component.d.ts +21 -0
  53. package/angular/esm/components/edit-option-color-range.component.js +94 -0
  54. package/angular/esm/components/edit-option.component.d.ts +15 -0
  55. package/angular/esm/components/edit-option.component.js +66 -0
  56. package/angular/esm/components/filter-data-item-picker.component.d.ts +30 -0
  57. package/angular/esm/components/filter-data-item-picker.component.js +99 -0
  58. package/angular/esm/components/filter-expression-picker.component.d.ts +22 -0
  59. package/angular/esm/components/filter-expression-picker.component.js +94 -0
  60. package/angular/esm/components/filter-group.component.d.ts +12 -0
  61. package/angular/esm/components/filter-group.component.js +56 -0
  62. package/angular/esm/components/filter-item.component.d.ts +20 -0
  63. package/angular/esm/components/filter-item.component.js +89 -0
  64. package/angular/esm/components/filter-parameter-picker.component.d.ts +11 -0
  65. package/angular/esm/components/filter-parameter-picker.component.js +51 -0
  66. package/angular/esm/components/filter-value-picker-datetime.component.d.ts +15 -0
  67. package/angular/esm/components/filter-value-picker-datetime.component.js +64 -0
  68. package/angular/esm/components/filter-value-picker-hierarchy.component.d.ts +18 -0
  69. package/angular/esm/components/filter-value-picker-hierarchy.component.js +79 -0
  70. package/angular/esm/components/filter-value-picker-numeric.component.d.ts +18 -0
  71. package/angular/esm/components/filter-value-picker-numeric.component.js +79 -0
  72. package/angular/esm/components/filter-value-picker.component.d.ts +20 -0
  73. package/angular/esm/components/filter-value-picker.component.js +89 -0
  74. package/angular/esm/components/grid-item-actions-menu.component.d.ts +11 -0
  75. package/angular/esm/components/grid-item-actions-menu.component.js +39 -0
  76. package/angular/esm/components/grid.component.d.ts +25 -0
  77. package/angular/esm/components/grid.component.js +109 -0
  78. package/angular/esm/components/slot-contents-picker.component.d.ts +33 -0
  79. package/angular/esm/components/slot-contents-picker.component.js +114 -0
  80. package/angular/esm/components/slot-menu-list.component.d.ts +10 -0
  81. package/angular/esm/components/slot-menu-list.component.js +46 -0
  82. package/angular/esm/components/slot-menu.component.d.ts +33 -0
  83. package/angular/esm/components/slot-menu.component.js +149 -0
  84. package/angular/esm/index.d.ts +55 -0
  85. package/angular/esm/index.js +83 -0
  86. package/angular/esm/types.d.ts +67 -0
  87. package/angular/esm/types.js +13 -0
  88. package/angular/index.ts +85 -0
  89. package/angular/luzmo-stub.d.ts +1 -0
  90. package/angular/package.json +26 -0
  91. package/angular/tsconfig.json +37 -0
  92. package/angular/types.ts +94 -0
  93. package/components/display-settings/display-settings.d.ts +1 -1
  94. package/components/display-settings/index.cjs +1 -1
  95. package/components/display-settings/index.js +1 -1
  96. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +3 -3
  97. package/components/display-settings-period-over-period/index.cjs +2 -2
  98. package/components/display-settings-period-over-period/index.js +13 -13
  99. package/components/droppable-slot/index.cjs +16 -16
  100. package/components/droppable-slot/index.js +232 -144
  101. package/components/filter-data-item-picker/filter-data-item-picker.d.ts +1 -13
  102. package/components/grid/actions.d.ts +1 -19
  103. package/components/grid/grid-item-actions-menu.d.ts +1 -1
  104. package/components/grid/grid.d.ts +1 -21
  105. package/components/index-DtwYU_wx.cjs +190 -0
  106. package/components/index-ROK-0H25.js +868 -0
  107. package/components/index.cjs +1 -1
  108. package/components/index.js +16 -14
  109. package/components/slot-contents-picker/index.cjs +1 -1
  110. package/components/slot-contents-picker/index.js +1 -1
  111. package/components/slot-menu/index.cjs +4 -4
  112. package/components/slot-menu/index.js +3 -4
  113. package/components/types-RxAJdtVT.js +23 -0
  114. package/components/types-VPf7E5dD.cjs +20 -0
  115. package/index.d.ts +1 -0
  116. package/item-definitions/slicer-filter/slicer-filter-options.config.d.ts +1 -1
  117. package/package.json +11 -1
  118. package/types.d.ts +67 -0
  119. package/utils/store/slot-store.d.ts +1 -7
  120. package/components/index-B1gwWEaA.js +0 -506
  121. package/components/index-Br-s-9Jw.cjs +0 -137
  122. package/components/index-CvML4Zth.cjs +0 -73
  123. package/components/index-sI-dN0lQ.js +0 -385
  124. package/components/slot-store-BB7U-BNb.cjs +0 -20
  125. package/components/slot-store-Bpn-Flbp.js +0 -113
@@ -0,0 +1,51 @@
1
+ # Luzmo Analytics Components - Angular wrappers
2
+
3
+ > **Framework size: <2 kB per component (tree-shakeable)**
4
+
5
+ This sub-package is generated automatically. Each wrapper is a thin
6
+ layer produced by the internal `createComponent` helper which preserves the exact typing
7
+ information of the underlying web component.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ pnpm add @luzmo/analytics-components-kit @luzmo/analytics-components-kit-angular
13
+ ```
14
+
15
+ ## Usage (Angular 17+ standalone)
16
+
17
+ ```ts
18
+ import { bootstrapApplication } from '@angular/platform-browser';
19
+ import { DisplaySettingsComponent } from '@luzmo/analytics-components-kit-angular';
20
+
21
+ bootstrapApplication(DisplaySettingsComponent);
22
+ ```
23
+
24
+ ## Available components
25
+ - `DisplaySettingsComponent` → <luzmo-display-settings>
26
+ - `DisplaySettingsBinningComponent` → <luzmo-display-settings-binning>
27
+ - `DisplaySettingsDatetimeComponent` → <luzmo-display-settings-datetime>
28
+ - `DisplaySettingsGrandTotalsComponent` → <luzmo-display-settings-grand-totals>
29
+ - `DisplaySettingsNumericComponent` → <luzmo-display-settings-numeric>
30
+ - `DisplaySettingsPeriodOverPeriodComponent` → <luzmo-display-settings-period-over-period>
31
+ - `DraggableDataItemComponent` → <luzmo-draggable-data-item>
32
+ - `DraggableDataItemLevelComponent` → <luzmo-draggable-data-item-level>
33
+ - `DroppableSlotComponent` → <luzmo-droppable-slot>
34
+ - `EditItemComponent` → <luzmo-edit-item>
35
+ - `EditOptionComponent` → <luzmo-edit-option>
36
+ - `EditOptionColorPickerComponent` → <luzmo-edit-option-color-picker>
37
+ - `EditOptionColorRangeComponent` → <luzmo-edit-option-color-range>
38
+ - `FilterDataItemPickerComponent` → <luzmo-filter-data-item-picker>
39
+ - `FilterExpressionPickerComponent` → <luzmo-filter-expression-picker>
40
+ - `FilterGroupComponent` → <luzmo-filter-group>
41
+ - `FilterItemComponent` → <luzmo-filter-item>
42
+ - `FilterParameterPickerComponent` → <luzmo-filter-parameter-picker>
43
+ - `FilterValuePickerComponent` → <luzmo-filter-value-picker>
44
+ - `FilterValuePickerDatetimeComponent` → <luzmo-filter-value-picker-datetime>
45
+ - `FilterValuePickerHierarchyComponent` → <luzmo-filter-value-picker-hierarchy>
46
+ - `FilterValuePickerNumericComponent` → <luzmo-filter-value-picker-numeric>
47
+ - `GridComponent` → <luzmo-grid>
48
+ - `GridItemActionsMenuComponent` → <luzmo-grid-item-actions-menu>
49
+ - `SlotContentsPickerComponent` → <luzmo-slot-contents-picker>
50
+ - `SlotMenuComponent` → <luzmo-slot-menu>
51
+ - `SlotMenuListComponent` → <luzmo-slot-menu-list>
@@ -0,0 +1,33 @@
1
+ declare module '@angular/core' {
2
+ // Runtime enums represented as const enums for compile-time evaluation
3
+ export enum ViewEncapsulation {
4
+ Emulated = 0,
5
+ None = 2,
6
+ ShadowDom = 3
7
+ }
8
+
9
+ export enum ChangeDetectionStrategy {
10
+ OnPush = 0,
11
+ Default = 1
12
+ }
13
+
14
+ export const CUSTOM_ELEMENTS_SCHEMA: any;
15
+
16
+ export function Component(meta: any): any;
17
+ export function Input(): any;
18
+ export function Output(): any;
19
+ export class EventEmitter<T = any> { emit(value?: T): void; }
20
+ export const ɵɵdefineComponent: any;
21
+ export const ɵɵdefineNgModule: any;
22
+ export const ɵɵdefineDirective: any;
23
+ export const ɵɵdefineInjector: any;
24
+ export const ɵɵdirectiveInject: any;
25
+ export const ɵɵelementStart: any;
26
+ export const ɵɵelementEnd: any;
27
+ export const ɵɵelement: any;
28
+ export const ɵɵtext: any;
29
+ export const ɵɵproperty: any;
30
+ export const ɵɵadvance: any;
31
+ export const ɵsetClassMetadata: any;
32
+ export const ɵɵlistener: any;
33
+ }
@@ -0,0 +1,21 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings-binning',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings-binning
9
+ [attr.language]="language"
10
+ [attr.slotContent]="slotContent"
11
+ [attr.size]="size"
12
+ (slot-content-changed)="slotContentChanged.emit($event)">
13
+ <ng-content></ng-content>
14
+ </luzmo-display-settings-binning>`
15
+ })
16
+ export class DisplaySettingsBinningComponent {
17
+ @Input() language?: string;
18
+ @Input() slotContent?: any;
19
+ @Input() size?: any;
20
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
21
+ }
@@ -0,0 +1,23 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { ElementSize } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings-datetime',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings-datetime
9
+ [attr.language]="language"
10
+ [attr.contentLanguage]="contentLanguage"
11
+ [attr.size]="size"
12
+ [attr.slotContent]="slotContent"
13
+ (slot-content-changed)="slotContentChanged.emit($event)">
14
+ <ng-content></ng-content>
15
+ </luzmo-display-settings-datetime>`
16
+ })
17
+ export class DisplaySettingsDatetimeComponent {
18
+ @Input() language?: string;
19
+ @Input() contentLanguage?: string;
20
+ @Input() size?: ElementSize;
21
+ @Input() slotContent?: any;
22
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
23
+ }
@@ -0,0 +1,21 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings-grand-totals',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings-grand-totals
9
+ [attr.language]="language"
10
+ [attr.slotContent]="slotContent"
11
+ [attr.size]="size"
12
+ (slot-content-changed)="slotContentChanged.emit($event)">
13
+ <ng-content></ng-content>
14
+ </luzmo-display-settings-grand-totals>`
15
+ })
16
+ export class DisplaySettingsGrandTotalsComponent {
17
+ @Input() language?: string;
18
+ @Input() slotContent?: any;
19
+ @Input() size?: any;
20
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
21
+ }
@@ -0,0 +1,27 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings-numeric',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings-numeric
9
+ [attr.language]="language"
10
+ [attr.slotContent]="slotContent"
11
+ [attr.measureColumns]="measureColumns"
12
+ [attr.isAggregationDisabled]="isAggregationDisabled"
13
+ [attr.isCumulativeSumEnabled]="isCumulativeSumEnabled"
14
+ [attr.size]="size"
15
+ (slot-content-changed)="slotContentChanged.emit($event)">
16
+ <ng-content></ng-content>
17
+ </luzmo-display-settings-numeric>`
18
+ })
19
+ export class DisplaySettingsNumericComponent {
20
+ @Input() language?: string;
21
+ @Input() slotContent?: any;
22
+ @Input() measureColumns?: any[];
23
+ @Input() isAggregationDisabled?: boolean;
24
+ @Input() isCumulativeSumEnabled?: boolean;
25
+ @Input() size?: any;
26
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
27
+ }
@@ -0,0 +1,25 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { PeriodOverPeriodCondition, Column } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings-period-over-period',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings-period-over-period
9
+ [attr.language]="language"
10
+ [attr.slot-content]="slotContent"
11
+ [attr.period-over-period-type]="periodOverPeriodType"
12
+ [attr.linked-dataset-datetime-columns]="linkedDatasetDatetimeColumns"
13
+ [attr.size]="size"
14
+ (slot-content-changed)="slotContentChanged.emit($event)">
15
+ <ng-content></ng-content>
16
+ </luzmo-display-settings-period-over-period>`
17
+ })
18
+ export class DisplaySettingsPeriodOverPeriodComponent {
19
+ @Input() language?: string;
20
+ @Input() slotContent?: any;
21
+ @Input() periodOverPeriodType?: PeriodOverPeriodCondition;
22
+ @Input() linkedDatasetDatetimeColumns?: (Column & { datasetId: string })[];
23
+ @Input() size?: any;
24
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
25
+ }
@@ -0,0 +1,45 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { PeriodOverPeriodCondition } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-display-settings',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-display-settings
9
+ [attr.language]="language"
10
+ [attr.content-language]="contentLanguage"
11
+ [attr.hide-display-settings]="hideDisplaySettings"
12
+ [attr.isBinningDisabled]="isBinningDisabled"
13
+ [attr.areDatetimeOptionsEnabled]="areDatetimeOptionsEnabled"
14
+ [attr.areGrandTotalsEnabled]="areGrandTotalsEnabled"
15
+ [attr.isAggregationDisabled]="isAggregationDisabled"
16
+ [attr.isCumulativeSumEnabled]="isCumulativeSumEnabled"
17
+ [attr.periodOverPeriodUiType]="periodOverPeriodUiType"
18
+ [attr.show-remove-button]="showRemoveButton"
19
+ [attr.slot-type]="slotType"
20
+ [attr.slotContent]="slotContent"
21
+ [attr.measureColumns]="measureColumns"
22
+ [attr.size]="size"
23
+ (slot-content-changed)="slotContentChanged.emit($event)"
24
+ (remove-slot-content)="removeSlotContent.emit($event)">
25
+ <ng-content></ng-content>
26
+ </luzmo-display-settings>`
27
+ })
28
+ export class DisplaySettingsComponent {
29
+ @Input() language?: string;
30
+ @Input() contentLanguage?: string;
31
+ @Input() hideDisplaySettings?: boolean;
32
+ @Input() isBinningDisabled?: boolean;
33
+ @Input() areDatetimeOptionsEnabled?: boolean;
34
+ @Input() areGrandTotalsEnabled?: boolean;
35
+ @Input() isAggregationDisabled?: boolean;
36
+ @Input() isCumulativeSumEnabled?: boolean;
37
+ @Input() periodOverPeriodUiType?: PeriodOverPeriodCondition | null;
38
+ @Input() showRemoveButton?: boolean;
39
+ @Input() slotType?: string;
40
+ @Input() slotContent?: any;
41
+ @Input() measureColumns?: any[];
42
+ @Input() size?: any;
43
+ @Output() slotContentChanged = new EventEmitter<CustomEvent>();
44
+ @Output() removeSlotContent = new EventEmitter<CustomEvent>();
45
+ }
@@ -0,0 +1,37 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-draggable-data-item-level',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-draggable-data-item-level
9
+ [attr.variant]="variant"
10
+ [attr.hide-type-icon]="hideTypeIcon"
11
+ [attr.sublevel]="sublevel"
12
+ [attr.language]="language"
13
+ [attr.disabled]="disabled"
14
+ [attr.label]="label"
15
+ [attr.description]="description"
16
+ [attr.secondary-icon-type]="secondaryIconType"
17
+ [attr.data]="data"
18
+ [attr.size]="size"
19
+ (data-item-dropped)="dataItemDropped.emit($event)"
20
+ (data-item-drag-started)="dataItemDragStarted.emit($event)">
21
+ <ng-content></ng-content>
22
+ </luzmo-draggable-data-item-level>`
23
+ })
24
+ export class DraggableDataItemLevelComponent {
25
+ @Input() variant?: 'highlight' | 'normal';
26
+ @Input() hideTypeIcon?: boolean;
27
+ @Input() sublevel?: boolean;
28
+ @Input() language?: string;
29
+ @Input() disabled?: boolean;
30
+ @Input() label?: string;
31
+ @Input() description?: string;
32
+ @Input() secondaryIconType?: 'derived' | 'formula';
33
+ @Input() data?: any;
34
+ @Input() size?: any;
35
+ @Output() dataItemDropped = new EventEmitter<CustomEvent>();
36
+ @Output() dataItemDragStarted = new EventEmitter<CustomEvent>();
37
+ }
@@ -0,0 +1,37 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-draggable-data-item',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-draggable-data-item
9
+ [attr.variant]="variant"
10
+ [attr.language]="language"
11
+ [attr.disabled]="disabled"
12
+ [attr.hide-sublevels]="hideSublevels"
13
+ [attr.hide-type-icon]="hideTypeIcon"
14
+ [attr.secondary-icon-type]="secondaryIconType"
15
+ [attr.label]="label"
16
+ [attr.description]="description"
17
+ [attr.data]="data"
18
+ [attr.size]="size"
19
+ (data-item-dropped)="dataItemDropped.emit($event)"
20
+ (data-item-drag-started)="dataItemDragStarted.emit($event)">
21
+ <ng-content></ng-content>
22
+ </luzmo-draggable-data-item>`
23
+ })
24
+ export class DraggableDataItemComponent {
25
+ @Input() variant?: 'highlight' | 'normal';
26
+ @Input() language?: string;
27
+ @Input() disabled?: boolean;
28
+ @Input() hideSublevels?: boolean;
29
+ @Input() hideTypeIcon?: boolean;
30
+ @Input() secondaryIconType?: 'derived' | 'formula';
31
+ @Input() label?: string;
32
+ @Input() description?: string;
33
+ @Input() data?: any;
34
+ @Input() size?: any;
35
+ @Output() dataItemDropped = new EventEmitter<CustomEvent>();
36
+ @Output() dataItemDragStarted = new EventEmitter<CustomEvent>();
37
+ }
@@ -0,0 +1,51 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { ItemType, SlotName, VizItemSlots, Placement } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-droppable-slot',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-droppable-slot
9
+ [attr.item-type]="itemType"
10
+ [attr.slot-name]="slotName"
11
+ [attr.slotConfiguration]="slotConfiguration"
12
+ [attr.slotsContents]="slotsContents"
13
+ [attr.label]="label"
14
+ [attr.language]="language"
15
+ [attr.drag-boundary]="dragBoundary"
16
+ [attr.api-url]="apiUrl"
17
+ [attr.auth-key]="authKey"
18
+ [attr.auth-token]="authToken"
19
+ [attr.menu]="menu"
20
+ [attr.placement]="placement"
21
+ [attr.hide-delete]="hideDelete"
22
+ [attr.hide-configuration]="hideConfiguration"
23
+ [attr.size]="size"
24
+ (slot-menu-inactive)="slotMenuInactive.emit($event)"
25
+ (slot-menu-active)="slotMenuActive.emit($event)"
26
+ (slot-menu-highlight)="slotMenuHighlight.emit($event)"
27
+ (slot-contents-changed)="slotContentsChanged.emit($event)">
28
+ <ng-content></ng-content>
29
+ </luzmo-droppable-slot>`
30
+ })
31
+ export class DroppableSlotComponent {
32
+ @Input() itemType?: ItemType;
33
+ @Input() slotName?: SlotName;
34
+ @Input() slotConfiguration?: any;
35
+ @Input() slotsContents?: VizItemSlots;
36
+ @Input() label?: string;
37
+ @Input() language?: string;
38
+ @Input() dragBoundary?: string;
39
+ @Input() apiUrl?: string;
40
+ @Input() authKey?: string;
41
+ @Input() authToken?: string;
42
+ @Input() menu?: 'default' | 'draggable' | 'event-only';
43
+ @Input() placement?: Placement;
44
+ @Input() hideDelete?: boolean;
45
+ @Input() hideConfiguration?: boolean;
46
+ @Input() size?: any;
47
+ @Output() slotMenuInactive = new EventEmitter<CustomEvent>();
48
+ @Output() slotMenuActive = new EventEmitter<CustomEvent>();
49
+ @Output() slotMenuHighlight = new EventEmitter<CustomEvent>();
50
+ @Output() slotContentsChanged = new EventEmitter<CustomEvent>();
51
+ }
@@ -0,0 +1,31 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { ElementSize } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-edit-item',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-edit-item
9
+ [attr.language]="language"
10
+ [attr.item-type]="itemType"
11
+ [attr.options]="options"
12
+ [attr.slots]="slots"
13
+ [attr.customOptionsConfiguration]="customOptionsConfiguration"
14
+ [attr.customTranslations]="customTranslations"
15
+ [attr.theme]="theme"
16
+ [attr.size]="size"
17
+ (options-changed)="optionsChanged.emit($event)">
18
+ <ng-content></ng-content>
19
+ </luzmo-edit-item>`
20
+ })
21
+ export class EditItemComponent {
22
+ @Input() language?: string;
23
+ @Input() itemType?: string;
24
+ @Input() options?: any;
25
+ @Input() slots?: any;
26
+ @Input() customOptionsConfiguration?: any;
27
+ @Input() customTranslations?: any;
28
+ @Input() theme?: any;
29
+ @Input() size?: ElementSize;
30
+ @Output() optionsChanged = new EventEmitter<CustomEvent>();
31
+ }
@@ -0,0 +1,31 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-edit-option-color-picker',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-edit-option-color-picker
9
+ [attr.swatches]="swatches"
10
+ [attr.rounding]="rounding"
11
+ [attr.shape]="shape"
12
+ [attr.debounce]="debounce"
13
+ [attr.placement]="placement"
14
+ [attr.value]="value"
15
+ [attr.disabled]="disabled"
16
+ [attr.noAlphaChannel]="noAlphaChannel"
17
+ (option-changed)="optionChanged.emit($event)">
18
+ <ng-content></ng-content>
19
+ </luzmo-edit-option-color-picker>`
20
+ })
21
+ export class EditOptionColorPickerComponent {
22
+ @Input() swatches?: string[];
23
+ @Input() rounding?: 'full' | 'light' | 'none';
24
+ @Input() shape?: 'circle' | 'rectangle';
25
+ @Input() debounce?: number;
26
+ @Input() placement?: any;
27
+ @Input() value?: any;
28
+ @Input() disabled?: any;
29
+ @Input() noAlphaChannel?: any;
30
+ @Output() optionChanged = new EventEmitter<CustomEvent>();
31
+ }
@@ -0,0 +1,43 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-edit-option-color-range',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-edit-option-color-range
9
+ [attr.value]="value"
10
+ [attr.default]="default"
11
+ [attr.disabled]="disabled"
12
+ [attr.percentage]="percentage"
13
+ [attr.no-alpha-channel]="noAlphaChannel"
14
+ [attr.edit-range-size]="editRangeSize"
15
+ [attr.no-values]="noValues"
16
+ [attr.minimum-range-size]="minimumRangeSize"
17
+ [attr.negative-infinity-value]="negativeInfinityValue"
18
+ [attr.read-only-color-picker]="readOnlyColorPicker"
19
+ [attr.reverse]="reverse"
20
+ [attr.debounce]="debounce"
21
+ [attr.parseValue]="parseValue"
22
+ [attr.toValue]="toValue"
23
+ (option-changed)="optionChanged.emit($event)">
24
+ <ng-content></ng-content>
25
+ </luzmo-edit-option-color-range>`
26
+ })
27
+ export class EditOptionColorRangeComponent {
28
+ @Input() value?: any;
29
+ @Input() default?: any;
30
+ @Input() disabled?: any;
31
+ @Input() percentage?: any;
32
+ @Input() noAlphaChannel?: any;
33
+ @Input() editRangeSize?: any;
34
+ @Input() noValues?: any;
35
+ @Input() minimumRangeSize?: any;
36
+ @Input() negativeInfinityValue?: any;
37
+ @Input() readOnlyColorPicker?: any;
38
+ @Input() reverse?: any;
39
+ @Input() debounce?: any;
40
+ @Input() parseValue?: any;
41
+ @Input() toValue?: any;
42
+ @Output() optionChanged = new EventEmitter<CustomEvent>();
43
+ }
@@ -0,0 +1,33 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { ElementSize } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-edit-option',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-edit-option
9
+ [attr.language]="language"
10
+ [attr.item-type]="itemType"
11
+ [attr.option-key]="optionKey"
12
+ [attr.customOptionConfiguration]="customOptionConfiguration"
13
+ [attr.customTranslations]="customTranslations"
14
+ [attr.options]="options"
15
+ [attr.slots]="slots"
16
+ [attr.theme]="theme"
17
+ [attr.size]="size"
18
+ >
19
+ <ng-content></ng-content>
20
+ </luzmo-edit-option>`
21
+ })
22
+ export class EditOptionComponent {
23
+ @Input() language?: string;
24
+ @Input() itemType?: string;
25
+ @Input() optionKey?: string;
26
+ @Input() customOptionConfiguration?: any;
27
+ @Input() customTranslations?: any;
28
+ @Input() options?: any;
29
+ @Input() slots?: any;
30
+ @Input() theme?: any;
31
+ @Input() size?: ElementSize;
32
+
33
+ }
@@ -0,0 +1,50 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { DataItem } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-filter-data-item-picker',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-filter-data-item-picker
9
+ [attr.language]="language"
10
+ [attr.content-language]="contentLanguage"
11
+ [attr.has-label]="hasLabel"
12
+ [attr.label]="label"
13
+ [attr.icons]="icons"
14
+ [attr.allow-empty]="allowEmpty"
15
+ [attr.placeholder]="placeholder"
16
+ [attr.data-item-id]="dataItemId"
17
+ [attr.loading]="loading"
18
+ [attr.invalid]="invalid"
19
+ [attr.datasetsDataItems]="datasetsDataItems"
20
+ [attr.size]="size"
21
+ [attr.disabled]="disabled"
22
+ [attr.autofocus]="autofocus"
23
+ [attr.tabIndex]="tabIndex"
24
+ (data-item-selected)="dataItemSelected.emit($event)">
25
+ <ng-content></ng-content>
26
+ </luzmo-filter-data-item-picker>`
27
+ })
28
+ export class FilterDataItemPickerComponent {
29
+ @Input() language?: string;
30
+ @Input() contentLanguage?: string;
31
+ @Input() hasLabel?: boolean;
32
+ @Input() label?: string;
33
+ @Input() icons?: 'none' | 'only-menu' | 'all';
34
+ @Input() allowEmpty?: boolean;
35
+ @Input() placeholder?: string;
36
+ @Input() dataItemId?: string;
37
+ @Input() loading?: boolean;
38
+ @Input() invalid?: boolean;
39
+ @Input() datasetsDataItems?: {
40
+ id: string;
41
+ name: { [key: string]: string };
42
+ columns: DataItem[];
43
+ formulas: DataItem[];
44
+ }[];
45
+ @Input() size?: any;
46
+ @Input() disabled?: any;
47
+ @Input() autofocus?: any;
48
+ @Input() tabIndex?: any;
49
+ @Output() dataItemSelected = new EventEmitter<CustomEvent>();
50
+ }
@@ -0,0 +1,43 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import type { ColumnType, ColumnSubtype } from '../types';
3
+
4
+ @Component({
5
+ selector: 'luzmo-filter-expression-picker',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-filter-expression-picker
9
+ [attr.language]="language"
10
+ [attr.filter]="filter"
11
+ [attr.has-label]="hasLabel"
12
+ [attr.label]="label"
13
+ [attr.allow-empty]="allowEmpty"
14
+ [attr.placeholder]="placeholder"
15
+ [attr.disabled]="disabled"
16
+ [attr.type]="type"
17
+ [attr.subtype]="subtype"
18
+ [attr.invalid]="invalid"
19
+ [attr.is-formula]="isFormula"
20
+ [attr.size]="size"
21
+ [attr.autofocus]="autofocus"
22
+ [attr.tabIndex]="tabIndex"
23
+ (expression-selected)="expressionSelected.emit($event)">
24
+ <ng-content></ng-content>
25
+ </luzmo-filter-expression-picker>`
26
+ })
27
+ export class FilterExpressionPickerComponent {
28
+ @Input() language?: string;
29
+ @Input() filter?: any;
30
+ @Input() hasLabel?: boolean;
31
+ @Input() label?: string;
32
+ @Input() allowEmpty?: boolean;
33
+ @Input() placeholder?: string;
34
+ @Input() disabled?: boolean;
35
+ @Input() type?: ColumnType;
36
+ @Input() subtype?: ColumnSubtype;
37
+ @Input() invalid?: boolean;
38
+ @Input() isFormula?: boolean;
39
+ @Input() size?: any;
40
+ @Input() autofocus?: any;
41
+ @Input() tabIndex?: any;
42
+ @Output() expressionSelected = new EventEmitter<CustomEvent>();
43
+ }
@@ -0,0 +1,29 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+
3
+
4
+ @Component({
5
+ selector: 'luzmo-filter-group',
6
+ standalone: true,
7
+ changeDetection: ChangeDetectionStrategy.OnPush,
8
+ template: `<luzmo-filter-group
9
+ [attr.language]="language"
10
+ [attr.content-language]="contentLanguage"
11
+ [attr.filters]="filters"
12
+ [attr.size]="size"
13
+ [attr.disabled]="disabled"
14
+ [attr.autofocus]="autofocus"
15
+ [attr.tabIndex]="tabIndex"
16
+ >
17
+ <ng-content></ng-content>
18
+ </luzmo-filter-group>`
19
+ })
20
+ export class FilterGroupComponent {
21
+ @Input() language?: string;
22
+ @Input() contentLanguage?: string;
23
+ @Input() filters?: any[];
24
+ @Input() size?: any;
25
+ @Input() disabled?: any;
26
+ @Input() autofocus?: any;
27
+ @Input() tabIndex?: any;
28
+
29
+ }