@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.
Files changed (514) hide show
  1. package/components/ai-chat/ai-chat-events.d.ts +139 -0
  2. package/components/ai-chat/ai-chat-request.d.ts +25 -0
  3. package/components/ai-chat/ai-chat.d.ts +356 -0
  4. package/components/ai-chat/ai-prompt-types.d.ts +133 -0
  5. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +53 -0
  6. package/components/ai-chat/empty-state/index.d.ts +8 -0
  7. package/components/ai-chat/empty-state/types.d.ts +14 -0
  8. package/components/ai-chat/helpers/agent-config.d.ts +12 -0
  9. package/components/ai-chat/helpers/elicitation-template.d.ts +20 -0
  10. package/components/ai-chat/index.d.ts +24 -0
  11. package/components/ai-chat/session/ai-chat-session-controller.d.ts +60 -0
  12. package/components/ai-chat/session/ai-chat-session-types.d.ts +119 -0
  13. package/components/ai-chat/session/ai-chat-session.d.ts +119 -0
  14. package/components/ai-chat/session/index.d.ts +2 -0
  15. package/components/ai-chat/stream/chunk-extractors.d.ts +29 -0
  16. package/components/ai-chat/stream/index.d.ts +53 -0
  17. package/components/ai-chat/stream/progress.d.ts +3 -0
  18. package/components/ai-chat/stream/registry.d.ts +6 -0
  19. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  20. package/components/ai-chat/stream/transport.d.ts +26 -0
  21. package/components/ai-chat/stream/types.d.ts +59 -0
  22. package/components/ai-chat/types.d.ts +24 -0
  23. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +239 -0
  24. package/components/ai-interaction-textarea/index.d.ts +10 -0
  25. package/components/ai-interaction-textarea/types.d.ts +12 -0
  26. package/components/data-field/data-field.d.ts +31 -0
  27. package/components/data-field/index.d.ts +9 -0
  28. package/components/data-field/types.d.ts +4 -0
  29. package/components/data-field-level/data-field-level.d.ts +40 -0
  30. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  31. package/components/data-field-level/index.d.ts +8 -0
  32. package/components/data-field-panel/data-field-panel.d.ts +231 -0
  33. package/components/data-field-panel/index.d.ts +9 -0
  34. package/components/data-field-panel/types.d.ts +27 -0
  35. package/components/data-fields-select/data-fields-select.d.ts +137 -0
  36. package/components/data-fields-select/index.d.ts +9 -0
  37. package/components/data-fields-select/types.d.ts +4 -0
  38. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  39. package/components/dataset-icon/index.d.ts +8 -0
  40. package/components/dataset-icon/types.d.ts +11 -0
  41. package/components/dataset-selector-list/dataset-selector-list.d.ts +106 -0
  42. package/components/dataset-selector-list/index.d.ts +8 -0
  43. package/components/dataset-selector-row/dataset-selector-row.d.ts +144 -0
  44. package/components/dataset-selector-row/index.d.ts +9 -0
  45. package/components/display-settings/display-settings.d.ts +117 -0
  46. package/components/display-settings/index.d.ts +8 -0
  47. package/components/display-settings/types.d.ts +9 -0
  48. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  49. package/components/display-settings-binning/index.d.ts +8 -0
  50. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  51. package/components/display-settings-datetime/index.d.ts +8 -0
  52. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  53. package/components/display-settings-grand-totals/index.d.ts +8 -0
  54. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  55. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  56. package/components/display-settings-numeric/index.d.ts +8 -0
  57. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +76 -0
  58. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  59. package/components/display-settings-period-over-period/index.d.ts +8 -0
  60. package/components/filter-expression-picker/filter-expression-picker.d.ts +77 -0
  61. package/components/filter-expression-picker/index.d.ts +7 -0
  62. package/components/filter-item/filter-item.d.ts +142 -0
  63. package/components/filter-item/index.d.ts +8 -0
  64. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +91 -0
  65. package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
  66. package/components/filter-parameter-picker/index.d.ts +9 -0
  67. package/components/filter-parameter-picker/types.d.ts +4 -0
  68. package/components/filter-value-picker/filter-value-picker.d.ts +72 -0
  69. package/components/filter-value-picker/index.d.ts +7 -0
  70. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +51 -0
  71. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  72. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +105 -0
  73. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  74. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +89 -0
  75. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  76. package/components/filters/filters.d.ts +182 -0
  77. package/components/filters/index.d.ts +12 -0
  78. package/components/filters/transformations/clean-filters.d.ts +37 -0
  79. package/components/filters/transformations/filter-format.d.ts +54 -0
  80. package/components/filters/transformations/transform-filters.d.ts +52 -0
  81. package/components/filters/types.d.ts +65 -0
  82. package/components/formula/formula.d.ts +66 -0
  83. package/components/formula/index.d.ts +7 -0
  84. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  85. package/components/formula-codemirror/index.d.ts +7 -0
  86. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  87. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  88. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  89. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  90. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  91. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  92. package/components/formula-draggable-field/index.d.ts +8 -0
  93. package/components/formula-draggable-field/types.d.ts +24 -0
  94. package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
  95. package/components/formula-editor/formula-datasets-list.d.ts +37 -0
  96. package/components/formula-editor/formula-description.d.ts +17 -0
  97. package/components/formula-editor/formula-editor.d.ts +85 -0
  98. package/components/formula-editor/formula-functions-list.d.ts +28 -0
  99. package/components/formula-editor/index.d.ts +12 -0
  100. package/components/formula-field/formula-field.d.ts +20 -0
  101. package/components/formula-field/index.d.ts +7 -0
  102. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  103. package/components/interactive-viz-item/index.d.ts +10 -0
  104. package/components/interactive-viz-item/interactive-viz-item.d.ts +97 -0
  105. package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
  106. package/components/interactive-viz-item/types.d.ts +117 -0
  107. package/components/item-grid/actions.d.ts +3 -0
  108. package/components/item-grid/helpers/grid-effects.d.ts +1 -0
  109. package/components/item-grid/helpers/grid-events.d.ts +56 -0
  110. package/components/item-grid/helpers/grid-interactions.d.ts +88 -0
  111. package/components/item-grid/helpers/grid-item-management.d.ts +30 -0
  112. package/components/item-grid/helpers/grid-item-popover.d.ts +21 -0
  113. package/components/item-grid/helpers/grid-items.d.ts +9 -0
  114. package/components/item-grid/helpers/grid-keyboard-updates.d.ts +18 -0
  115. package/components/item-grid/helpers/grid-keydown-event.d.ts +18 -0
  116. package/components/item-grid/helpers/grid-popover-cleanup.d.ts +4 -0
  117. package/components/item-grid/helpers/grid-rendering.d.ts +69 -0
  118. package/components/item-grid/helpers/grid-stack-lifecycle.d.ts +26 -0
  119. package/components/item-grid/helpers/grid-theme.d.ts +16 -0
  120. package/components/item-grid/helpers/grid-update-cycle.d.ts +22 -0
  121. package/components/item-grid/index.d.ts +12 -0
  122. package/components/item-grid/item-grid-item-actions-menu.d.ts +35 -0
  123. package/components/item-grid/item-grid.d.ts +251 -0
  124. package/components/item-grid/types.d.ts +57 -0
  125. package/components/item-menu/item-list/item-list.d.ts +37 -0
  126. package/components/item-option/helpers/control-markup.d.ts +14 -0
  127. package/components/item-option/helpers/control-templates/action-button-group-template.d.ts +2 -0
  128. package/components/item-option/helpers/control-templates/color-palette-picker-template.d.ts +2 -0
  129. package/components/item-option/helpers/control-templates/color-picker-template.d.ts +2 -0
  130. package/components/item-option/helpers/control-templates/color-range-template.d.ts +2 -0
  131. package/components/item-option/helpers/control-templates/guidelines-template.d.ts +3 -0
  132. package/components/item-option/helpers/control-templates/multi-language-field-template.d.ts +8 -0
  133. package/components/item-option/helpers/control-templates/number-field-template.d.ts +2 -0
  134. package/components/item-option/helpers/control-templates/picker-template.d.ts +2 -0
  135. package/components/item-option/helpers/control-templates/position-picker-template.d.ts +2 -0
  136. package/components/item-option/helpers/control-templates/positions-number-field-template.d.ts +2 -0
  137. package/components/item-option/helpers/control-templates/radio-button-group.d.ts +2 -0
  138. package/components/item-option/helpers/control-templates/slider-template.d.ts +2 -0
  139. package/components/item-option/helpers/control-templates/switch-template.d.ts +2 -0
  140. package/components/item-option/helpers/control-templates/text-field-template.d.ts +7 -0
  141. package/components/item-option/helpers/enum-values.d.ts +7 -0
  142. package/components/item-option/helpers/generate-callback.d.ts +1 -0
  143. package/components/item-option/helpers/get-control-by-key.d.ts +1 -0
  144. package/components/item-option/helpers/get-default-value.d.ts +1 -0
  145. package/components/item-option/helpers/get-enum-values.d.ts +1 -0
  146. package/components/item-option/helpers/get-extra-label-values.d.ts +7 -0
  147. package/components/item-option/helpers/get-value-by-key.d.ts +1 -0
  148. package/components/item-option/index.d.ts +8 -0
  149. package/components/item-option/item-option.d.ts +59 -0
  150. package/components/item-option/types.d.ts +8 -0
  151. package/components/item-option-action-button-group/index.d.ts +8 -0
  152. package/components/item-option-action-button-group/item-option-action-button-group.d.ts +36 -0
  153. package/components/item-option-base/item-option-base.d.ts +23 -0
  154. package/components/item-option-color-palette-picker/index.d.ts +8 -0
  155. package/components/item-option-color-palette-picker/item-option-color-palette-picker.d.ts +46 -0
  156. package/components/item-option-color-picker/index.d.ts +8 -0
  157. package/components/item-option-color-picker/item-option-color-picker.d.ts +33 -0
  158. package/components/item-option-color-range/index.d.ts +8 -0
  159. package/components/item-option-color-range/item-option-color-range.d.ts +99 -0
  160. package/components/item-option-guidelines/helpers/guidelines-value.d.ts +12 -0
  161. package/components/item-option-guidelines/index.d.ts +10 -0
  162. package/components/item-option-guidelines/item-option-guidelines.d.ts +74 -0
  163. package/components/item-option-guidelines/types.d.ts +25 -0
  164. package/components/item-option-multi-language-field/index.d.ts +8 -0
  165. package/components/item-option-multi-language-field/item-option-multi-language-field.d.ts +30 -0
  166. package/components/item-option-number-field/index.d.ts +8 -0
  167. package/components/item-option-number-field/item-option-number-field.d.ts +38 -0
  168. package/components/item-option-panel/index.d.ts +8 -0
  169. package/components/item-option-panel/item-option-panel.d.ts +77 -0
  170. package/components/item-option-picker/index.d.ts +8 -0
  171. package/components/item-option-picker/item-option-picker.d.ts +29 -0
  172. package/components/item-option-position-picker/index.d.ts +8 -0
  173. package/components/item-option-position-picker/item-option-position-picker.d.ts +22 -0
  174. package/components/item-option-positions-number-field/index.d.ts +8 -0
  175. package/components/item-option-positions-number-field/item-option-positions-number-field.d.ts +44 -0
  176. package/components/item-option-radio-button-group/index.d.ts +8 -0
  177. package/components/item-option-radio-button-group/item-option-radio-button-group.d.ts +29 -0
  178. package/components/item-option-slider/index.d.ts +8 -0
  179. package/components/item-option-slider/item-option-slider.d.ts +33 -0
  180. package/components/item-option-switch/index.d.ts +8 -0
  181. package/components/item-option-switch/item-option-switch.d.ts +19 -0
  182. package/components/item-option-text-field/index.d.ts +8 -0
  183. package/components/item-option-text-field/item-option-text-field.d.ts +25 -0
  184. package/components/item-slot-drop/index.d.ts +11 -0
  185. package/components/item-slot-drop/item-slot-drop.d.ts +113 -0
  186. package/components/item-slot-drop/types.d.ts +5 -0
  187. package/components/item-slot-drop-panel/index.d.ts +8 -0
  188. package/components/item-slot-drop-panel/item-slot-drop-panel.d.ts +180 -0
  189. package/components/item-slot-picker/index.d.ts +8 -0
  190. package/components/item-slot-picker/item-slot-picker.d.ts +149 -0
  191. package/components/item-slot-picker-panel/index.d.ts +9 -0
  192. package/components/item-slot-picker-panel/item-slot-picker-panel.d.ts +230 -0
  193. package/components/slot-menu/index.d.ts +10 -0
  194. package/components/slot-menu/slot-menu.d.ts +148 -0
  195. package/components/slot-menu/types.d.ts +24 -0
  196. package/components/slot-menu-list/index.d.ts +8 -0
  197. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  198. package/components/viz-item-menu/index.d.ts +8 -0
  199. package/components/viz-item-menu/types.d.ts +9 -0
  200. package/components/viz-item-menu/viz-item-menu.d.ts +85 -0
  201. package/package.json +1 -1
  202. package/react/package.json +2 -2
  203. package/angular/README.md +0 -40
  204. package/angular/components/ai-chat-empty-state.ts +0 -105
  205. package/angular/components/ai-chat.ts +0 -447
  206. package/angular/components/ai-interaction-textarea.ts +0 -290
  207. package/angular/components/data-field-level.ts +0 -130
  208. package/angular/components/data-field-panel.ts +0 -256
  209. package/angular/components/data-field.ts +0 -130
  210. package/angular/components/data-fields-select.ts +0 -226
  211. package/angular/components/dataset-icon.ts +0 -83
  212. package/angular/components/dataset-selector-list.ts +0 -147
  213. package/angular/components/dataset-selector-row.ts +0 -205
  214. package/angular/components/display-settings-binning.ts +0 -92
  215. package/angular/components/display-settings-datetime.ts +0 -100
  216. package/angular/components/display-settings-grand-totals.ts +0 -92
  217. package/angular/components/display-settings-numeric.ts +0 -113
  218. package/angular/components/display-settings-period-over-period.ts +0 -121
  219. package/angular/components/display-settings.ts +0 -227
  220. package/angular/components/filter-expression-picker.ts +0 -168
  221. package/angular/components/filter-item.ts +0 -207
  222. package/angular/components/filter-parameter-picker.ts +0 -155
  223. package/angular/components/filter-value-picker-datetime.ts +0 -125
  224. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  225. package/angular/components/filter-value-picker-numeric.ts +0 -146
  226. package/angular/components/filter-value-picker.ts +0 -160
  227. package/angular/components/filters.ts +0 -241
  228. package/angular/components/formula-editor.ts +0 -229
  229. package/angular/components/formula-field.ts +0 -198
  230. package/angular/components/formula.ts +0 -170
  231. package/angular/components/interactive-viz-item.ts +0 -186
  232. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  233. package/angular/components/item-grid.ts +0 -242
  234. package/angular/components/item-option-action-button-group.ts +0 -105
  235. package/angular/components/item-option-color-palette-picker.ts +0 -126
  236. package/angular/components/item-option-color-picker.ts +0 -134
  237. package/angular/components/item-option-color-range.ts +0 -168
  238. package/angular/components/item-option-guidelines.ts +0 -84
  239. package/angular/components/item-option-multi-language-field.ts +0 -133
  240. package/angular/components/item-option-number-field.ts +0 -161
  241. package/angular/components/item-option-panel.ts +0 -149
  242. package/angular/components/item-option-picker.ts +0 -120
  243. package/angular/components/item-option-position-picker.ts +0 -98
  244. package/angular/components/item-option-positions-number-field.ts +0 -140
  245. package/angular/components/item-option-radio-button-group.ts +0 -119
  246. package/angular/components/item-option-slider.ts +0 -126
  247. package/angular/components/item-option-switch.ts +0 -98
  248. package/angular/components/item-option-text-field.ts +0 -112
  249. package/angular/components/item-option.ts +0 -163
  250. package/angular/components/item-slot-drop-panel.ts +0 -236
  251. package/angular/components/item-slot-drop.ts +0 -231
  252. package/angular/components/item-slot-picker-panel.ts +0 -299
  253. package/angular/components/item-slot-picker.ts +0 -241
  254. package/angular/components/slot-menu-list.ts +0 -121
  255. package/angular/components/slot-menu.ts +0 -304
  256. package/angular/components/viz-item-menu.ts +0 -118
  257. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -41
  258. package/angular/esm/components/ai-chat-empty-state.js +0 -107
  259. package/angular/esm/components/ai-chat.d.ts +0 -149
  260. package/angular/esm/components/ai-chat.js +0 -463
  261. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -108
  262. package/angular/esm/components/ai-interaction-textarea.js +0 -313
  263. package/angular/esm/components/data-field-level.d.ts +0 -50
  264. package/angular/esm/components/data-field-level.js +0 -129
  265. package/angular/esm/components/data-field-panel.d.ts +0 -86
  266. package/angular/esm/components/data-field-panel.js +0 -268
  267. package/angular/esm/components/data-field.d.ts +0 -50
  268. package/angular/esm/components/data-field.js +0 -129
  269. package/angular/esm/components/data-fields-select.d.ts +0 -87
  270. package/angular/esm/components/data-fields-select.js +0 -243
  271. package/angular/esm/components/dataset-icon.d.ts +0 -34
  272. package/angular/esm/components/dataset-icon.js +0 -86
  273. package/angular/esm/components/dataset-selector-list.d.ts +0 -56
  274. package/angular/esm/components/dataset-selector-list.js +0 -155
  275. package/angular/esm/components/dataset-selector-row.d.ts +0 -72
  276. package/angular/esm/components/dataset-selector-row.js +0 -205
  277. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  278. package/angular/esm/components/display-settings-binning.js +0 -91
  279. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  280. package/angular/esm/components/display-settings-datetime.js +0 -99
  281. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  282. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  283. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  284. package/angular/esm/components/display-settings-numeric.js +0 -115
  285. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -50
  286. package/angular/esm/components/display-settings-period-over-period.js +0 -123
  287. package/angular/esm/components/display-settings.d.ts +0 -83
  288. package/angular/esm/components/display-settings.js +0 -231
  289. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  290. package/angular/esm/components/filter-expression-picker.js +0 -179
  291. package/angular/esm/components/filter-item.d.ts +0 -74
  292. package/angular/esm/components/filter-item.js +0 -222
  293. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  294. package/angular/esm/components/filter-parameter-picker.js +0 -151
  295. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  296. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  297. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  298. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  299. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  300. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  301. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  302. package/angular/esm/components/filter-value-picker.js +0 -171
  303. package/angular/esm/components/filters.d.ts +0 -85
  304. package/angular/esm/components/filters.js +0 -251
  305. package/angular/esm/components/formula-editor.d.ts +0 -78
  306. package/angular/esm/components/formula-editor.js +0 -236
  307. package/angular/esm/components/formula-field.d.ts +0 -70
  308. package/angular/esm/components/formula-field.js +0 -209
  309. package/angular/esm/components/formula.d.ts +0 -60
  310. package/angular/esm/components/formula.js +0 -177
  311. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  312. package/angular/esm/components/interactive-viz-item.js +0 -188
  313. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  314. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  315. package/angular/esm/components/item-grid.d.ts +0 -80
  316. package/angular/esm/components/item-grid.js +0 -245
  317. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  318. package/angular/esm/components/item-option-action-button-group.js +0 -107
  319. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  320. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  321. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  322. package/angular/esm/components/item-option-color-picker.js +0 -139
  323. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  324. package/angular/esm/components/item-option-color-range.js +0 -179
  325. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  326. package/angular/esm/components/item-option-guidelines.js +0 -83
  327. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  328. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  329. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  330. package/angular/esm/components/item-option-number-field.js +0 -171
  331. package/angular/esm/components/item-option-panel.d.ts +0 -54
  332. package/angular/esm/components/item-option-panel.js +0 -155
  333. package/angular/esm/components/item-option-picker.d.ts +0 -46
  334. package/angular/esm/components/item-option-picker.js +0 -123
  335. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  336. package/angular/esm/components/item-option-position-picker.js +0 -99
  337. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  338. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  339. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  340. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  341. package/angular/esm/components/item-option-slider.d.ts +0 -46
  342. package/angular/esm/components/item-option-slider.js +0 -131
  343. package/angular/esm/components/item-option-switch.d.ts +0 -40
  344. package/angular/esm/components/item-option-switch.js +0 -99
  345. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  346. package/angular/esm/components/item-option-text-field.js +0 -115
  347. package/angular/esm/components/item-option.d.ts +0 -58
  348. package/angular/esm/components/item-option.js +0 -171
  349. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  350. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  351. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  352. package/angular/esm/components/item-slot-drop.js +0 -227
  353. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  354. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  355. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  356. package/angular/esm/components/item-slot-picker.js +0 -259
  357. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  358. package/angular/esm/components/slot-menu-list.js +0 -123
  359. package/angular/esm/components/slot-menu.d.ts +0 -104
  360. package/angular/esm/components/slot-menu.js +0 -300
  361. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  362. package/angular/esm/components/viz-item-menu.js +0 -111
  363. package/angular/esm/index.d.ts +0 -109
  364. package/angular/esm/index.js +0 -217
  365. package/angular/index.ts +0 -223
  366. package/angular/package.json +0 -40
  367. package/angular/tsconfig.json +0 -36
  368. package/angular/type-fallbacks.d.ts +0 -0
  369. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  370. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  371. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  372. package/angular/utils/ai-prompt/index.d.ts +0 -6
  373. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
  374. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  375. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  376. package/angular/utils/base/base.d.ts +0 -16
  377. package/angular/utils/base/focus-visible.d.ts +0 -29
  378. package/angular/utils/base/focusable.d.ts +0 -58
  379. package/angular/utils/base/index.d.ts +0 -5
  380. package/angular/utils/base/localized-mixin.d.ts +0 -22
  381. package/angular/utils/base/sized-mixin.d.ts +0 -17
  382. package/angular/utils/color/color-palettes.d.ts +0 -17
  383. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  384. package/angular/utils/create-lazy-loader.d.ts +0 -5
  385. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  386. package/angular/utils/data-broker/index.d.ts +0 -263
  387. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  388. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  389. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  390. package/angular/utils/drag/draggable.d.ts +0 -13
  391. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  392. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  393. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  394. package/angular/utils/filters/expressions.d.ts +0 -15
  395. package/angular/utils/filters/filter-text.d.ts +0 -64
  396. package/angular/utils/filters/index.d.ts +0 -2
  397. package/angular/utils/filters/presentation.d.ts +0 -4
  398. package/angular/utils/filters/tests/filter-text.test.d.ts +0 -1
  399. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  400. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  401. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  402. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  403. package/angular/utils/formatter/formats/da.d.ts +0 -20
  404. package/angular/utils/formatter/formats/de.d.ts +0 -21
  405. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  406. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  407. package/angular/utils/formatter/formats/en.d.ts +0 -1
  408. package/angular/utils/formatter/formats/es.d.ts +0 -54
  409. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  410. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  411. package/angular/utils/formatter/formats/he.d.ts +0 -20
  412. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  413. package/angular/utils/formatter/formats/it.d.ts +0 -54
  414. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  415. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  416. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  417. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  418. package/angular/utils/formatter/formats/no.d.ts +0 -21
  419. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  420. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  421. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  422. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  423. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  424. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  425. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  426. package/angular/utils/formatter/formatter.d.ts +0 -9
  427. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  428. package/angular/utils/formatter/get-localized-name.d.ts +0 -4
  429. package/angular/utils/formatter/localize.d.ts +0 -3
  430. package/angular/utils/formatter/localized-template.d.ts +0 -4
  431. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  432. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  433. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  434. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  435. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  436. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
  437. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  438. package/angular/utils/formatter/tests/localized-template.test.d.ts +0 -1
  439. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  440. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  441. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  442. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  443. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  444. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  445. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  446. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  447. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  448. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  449. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  450. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  451. package/angular/utils/formula/config/functions.d.ts +0 -3
  452. package/angular/utils/formula/config/groupings.d.ts +0 -9
  453. package/angular/utils/formula/config/regex.d.ts +0 -39
  454. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  455. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  456. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  457. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  458. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  459. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  460. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  461. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  462. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  463. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  464. package/angular/utils/get-css-variable.d.ts +0 -1
  465. package/angular/utils/index.d.ts +0 -10
  466. package/angular/utils/localize/set-locale.d.ts +0 -7
  467. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  468. package/angular/utils/set-nested-value.d.ts +0 -6
  469. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  470. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  471. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  472. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  473. package/angular/utils/slot-state/slot-store.d.ts +0 -43
  474. package/angular/utils/slot-state/tests/slot-store.test.d.ts +0 -1
  475. package/angular/utils/store/base-store.d.ts +0 -158
  476. package/angular/utils/store/dashboard-store.d.ts +0 -49
  477. package/angular/utils/store/index.d.ts +0 -135
  478. package/angular/utils/store/item-store.d.ts +0 -33
  479. package/angular/utils/store/store-registry.d.ts +0 -170
  480. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  481. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  482. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  483. package/angular/utils/store/types.d.ts +0 -270
  484. package/angular/utils/switch-item/index.d.ts +0 -34
  485. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  486. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  487. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  488. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  489. package/angular/utils/tests/create-lazy-loader.test.d.ts +0 -1
  490. package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
  491. package/angular/utils/themes/bliss.d.ts +0 -2
  492. package/angular/utils/themes/classic-dark.d.ts +0 -2
  493. package/angular/utils/themes/classic.d.ts +0 -2
  494. package/angular/utils/themes/default-dark.d.ts +0 -2
  495. package/angular/utils/themes/default.d.ts +0 -2
  496. package/angular/utils/themes/index.d.ts +0 -4
  497. package/angular/utils/themes/orion.d.ts +0 -2
  498. package/angular/utils/themes/pinky.d.ts +0 -2
  499. package/angular/utils/themes/radiant.d.ts +0 -2
  500. package/angular/utils/themes/royale.d.ts +0 -2
  501. package/angular/utils/themes/seasonal.d.ts +0 -2
  502. package/angular/utils/themes/urban.d.ts +0 -2
  503. package/angular/utils/themes/vivid.d.ts +0 -2
  504. package/angular/utils/time/formats.const.d.ts +0 -4
  505. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  506. package/angular/utils/time/periods.const.d.ts +0 -15
  507. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  508. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  509. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  510. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  511. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  512. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  513. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  514. package/angular/utils/types/type-check.d.ts +0 -28
@@ -1,236 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-slot-drop-panel';
3
- import type { LuzmoItemSlotDropPanel as LuzmoItemSlotDropPanelHostElement, SlotConstraintTriggeredEventDetail, SlotsContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-drop-panel';
4
- export type { DatasetConstraintTriggeredEventDetail, SlotConstraintTriggeredEventDetail, SlotsContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-drop-panel';
5
- import type { Placement } from '@floating-ui/dom';
6
- import type { SlotConfig, SlotPositioningConfig, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
7
-
8
- @Component({
9
- selector: 'luzmo-item-slot-drop-panel',
10
- exportAs: 'luzmoItemSlotDropPanel',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- template: '<ng-content />'
14
- })
15
- /**
16
- * Angular wrapper component for <luzmo-item-slot-drop-panel>
17
- */
18
- export class LuzmoItemSlotDropPanel implements OnChanges {
19
- private readonly elementRef = inject<ElementRef<LuzmoItemSlotDropPanelHostElement>>(ElementRef);
20
- private readonly renderer = inject<Renderer2>(Renderer2);
21
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
22
- private readonly host = this.elementRef.nativeElement;
23
- private readonly listenerCleanup: Array<() => void> = [];
24
-
25
- /** The underlying custom element instance. Use to call imperative methods. */
26
- get nativeElement(): LuzmoItemSlotDropPanelHostElement {
27
- return this.host;
28
- }
29
-
30
- /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
31
- @Input({ alias: 'itemType' })
32
- itemType?: VizItemType | string;
33
-
34
- /** The language to use for locale-aware formatting and labels */
35
- @Input({ alias: 'contentLanguage' })
36
- contentLanguage?: string;
37
-
38
- /** Optional custom slots configuration (overrides loaded config from item-type). Each slot defines what data types it accepts and its behavior. */
39
- @Input({ alias: 'slotsConfiguration' })
40
- slotsConfiguration?: SlotConfig[];
41
-
42
- /** Optional custom positioning configuration for grid layout (overrides loaded config). Only used when `positioned` attribute is true. */
43
- @Input({ alias: 'positioningConfiguration' })
44
- positioningConfiguration?: SlotPositioningConfig;
45
-
46
- /** The contents of all slots. Each entry maps a slot name to its content items. Content items typically contain column/formula references and dataset IDs. */
47
- @Input({ alias: 'slotsContents' })
48
- slotsContents?: VizItemSlot[];
49
-
50
- /** Whether to use grid-based positioning for slots When true, loads the positioning config and renders slots in a CSS grid */
51
- @Input({ alias: 'positioned', transform: booleanAttribute })
52
- positioned?: boolean;
53
-
54
- /** Boundary element selector for drag operations */
55
- @Input({ alias: 'dragBoundary' })
56
- dragBoundary?: string;
57
-
58
- /** Placement of the slot menu popover */
59
- @Input({ alias: 'slotMenuPlacement' })
60
- slotMenuPlacement?: Placement;
61
-
62
- /** Whether to hide the delete button on item slot drop targets */
63
- @Input({ alias: 'hideDelete', transform: booleanAttribute })
64
- hideDelete?: boolean;
65
-
66
- /** Whether to hide the configuration button on item slot drop targets */
67
- @Input({ alias: 'hideConfiguration', transform: booleanAttribute })
68
- hideConfiguration?: boolean;
69
-
70
- /** Whether the item slot drop targets grow to full width */
71
- @Input({ alias: 'grows', transform: booleanAttribute })
72
- grows?: boolean;
73
-
74
- /** Controls how slot constraints are handled - 'auto': Constraints are applied immediately (default) - 'event-only': Emit event with constraint details, let consumer decide */
75
- @Input({ alias: 'constraintMode' })
76
- constraintMode?: 'auto' | 'event-only';
77
-
78
- /** The type of menu interaction for item slot drop targets */
79
- @Input({ alias: 'slotMenuMode' })
80
- slotMenuMode?: 'default' | 'draggable' | 'event-only';
81
-
82
- /** The API URL of the databroker */
83
- @Input({ alias: 'apiUrl' })
84
- apiUrl?: string;
85
-
86
- /** The auth key of the databroker */
87
- @Input({ alias: 'authKey' })
88
- authKey?: string;
89
-
90
- /** The auth token of the databroker */
91
- @Input({ alias: 'authToken' })
92
- authToken?: string;
93
-
94
- /** The main container for all slots */
95
- @Input({ alias: 'slotsPanel' })
96
- slotspanel?: string;
97
-
98
- /** The grid container when positioned mode is enabled */
99
- @Input({ alias: 'slotsGrid' })
100
- slotsgrid?: string;
101
-
102
- /** The grid cell wrapper for each slot when positioned */
103
- @Input({ alias: 'slotCell' })
104
- slotcell?: string;
105
-
106
- /** The item slot drop element */
107
- @Input({ alias: 'itemSlotDrop' })
108
- itemslotdrop?: string;
109
-
110
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
111
- @Input({ alias: 'language' })
112
- language?: string;
113
-
114
- /** The size of the element */
115
- @Input({ alias: 'size' })
116
- size?: 's' | 'm' | 'l' | 'xl';
117
-
118
- /** Emitted when constraint-mode is 'event-only' and a change would trigger constraints */
119
- readonly luzmoSlotConstraintTriggered = output<CustomEvent<SlotConstraintTriggeredEventDetail>>({ alias: 'luzmoSlotConstraintTriggered' });
120
-
121
- /** Announces that the slots contents have changed */
122
- readonly luzmoSlotsContentsChanged = output<CustomEvent<SlotsContentsChangedEventDetail>>({ alias: 'luzmoSlotsContentsChanged' });
123
-
124
- constructor() {
125
- this.bindEvents();
126
- this.destroyRef.onDestroy(() => {
127
- for (const cleanup of this.listenerCleanup) {
128
- cleanup();
129
- }
130
- });
131
- }
132
-
133
- ngOnChanges(changes: SimpleChanges): void {
134
- for (const key of Object.keys(changes)) {
135
- switch (key) {
136
- case 'itemType':
137
- this.setHostProperty('itemType', changes['itemType'].currentValue);
138
- break;
139
- case 'contentLanguage':
140
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
141
- break;
142
- case 'slotsConfiguration':
143
- this.setHostProperty('slotsConfiguration', changes['slotsConfiguration'].currentValue);
144
- break;
145
- case 'positioningConfiguration':
146
- this.setHostProperty('positioningConfiguration', changes['positioningConfiguration'].currentValue);
147
- break;
148
- case 'slotsContents':
149
- this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
150
- break;
151
- case 'positioned':
152
- this.setHostProperty('positioned', changes['positioned'].currentValue);
153
- break;
154
- case 'dragBoundary':
155
- this.setHostProperty('dragBoundary', changes['dragBoundary'].currentValue);
156
- break;
157
- case 'slotMenuPlacement':
158
- this.setHostProperty('slotMenuPlacement', changes['slotMenuPlacement'].currentValue);
159
- break;
160
- case 'hideDelete':
161
- this.setHostProperty('hideDelete', changes['hideDelete'].currentValue);
162
- break;
163
- case 'hideConfiguration':
164
- this.setHostProperty('hideConfiguration', changes['hideConfiguration'].currentValue);
165
- break;
166
- case 'grows':
167
- this.setHostProperty('grows', changes['grows'].currentValue);
168
- break;
169
- case 'constraintMode':
170
- this.setHostProperty('constraintMode', changes['constraintMode'].currentValue);
171
- break;
172
- case 'slotMenuMode':
173
- this.setHostProperty('slotMenuMode', changes['slotMenuMode'].currentValue);
174
- break;
175
- case 'apiUrl':
176
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
177
- break;
178
- case 'authKey':
179
- this.setHostProperty('authKey', changes['authKey'].currentValue);
180
- break;
181
- case 'authToken':
182
- this.setHostProperty('authToken', changes['authToken'].currentValue);
183
- break;
184
- case 'slotspanel':
185
- this.setHostProperty('slots-panel', changes['slotspanel'].currentValue);
186
- break;
187
- case 'slotsgrid':
188
- this.setHostProperty('slots-grid', changes['slotsgrid'].currentValue);
189
- break;
190
- case 'slotcell':
191
- this.setHostProperty('slot-cell', changes['slotcell'].currentValue);
192
- break;
193
- case 'itemslotdrop':
194
- this.setHostProperty('item-slot-drop', changes['itemslotdrop'].currentValue);
195
- break;
196
- case 'language':
197
- this.setHostProperty('language', changes['language'].currentValue);
198
- break;
199
- case 'size':
200
- this.setHostProperty('size', changes['size'].currentValue);
201
- break;
202
- default:
203
- break;
204
- }
205
- }
206
- }
207
-
208
- /**
209
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
210
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
211
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
212
- * undefined / null by clearing their bindings.
213
- */
214
- private setHostProperty(key: string, value: unknown): void {
215
- this.renderer.setProperty(this.host, key, value);
216
- }
217
-
218
- private bindEvents(): void {
219
- this.listenerCleanup.push(
220
- this.renderer.listen(this.host, 'luzmo-slot-constraint-triggered', (event: Event) => {
221
- const typed = event as CustomEvent<SlotConstraintTriggeredEventDetail>;
222
- this.luzmoSlotConstraintTriggered.emit(typed);
223
- })
224
- );
225
-
226
- this.listenerCleanup.push(
227
- this.renderer.listen(this.host, 'luzmo-slots-contents-changed', (event: Event) => {
228
- const typed = event as CustomEvent<SlotsContentsChangedEventDetail>;
229
- this.luzmoSlotsContentsChanged.emit(typed);
230
- })
231
- );
232
- }
233
- }
234
-
235
- /** The underlying custom element type for LuzmoItemSlotDropPanel */
236
- export type LuzmoItemSlotDropPanelElement = LuzmoItemSlotDropPanelHostElement;
@@ -1,231 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-slot-drop';
3
- import type { LuzmoItemSlotDrop as LuzmoItemSlotDropHostElement, InfoVisibilityChangedEventDetail, SlotConfig, SlotContentsChangedEventDetail, SlotMenuActiveEventDetail, SlotMenuHighlightEventDetail } from '@luzmo/analytics-components-kit/item-slot-drop';
4
- export type { InfoVisibilityChangedEventDetail, SlotConfig, SlotContentsChangedEventDetail, SlotMenuActiveEventDetail, SlotMenuHighlightEventDetail } from '@luzmo/analytics-components-kit/item-slot-drop';
5
- import type { SlotName, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
6
- import type { Placement } from '@luzmo/lucero';
7
-
8
- @Component({
9
- selector: 'luzmo-item-slot-drop',
10
- exportAs: 'luzmoItemSlotDrop',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- template: '<ng-content />'
14
- })
15
- /**
16
- * Angular wrapper component for <luzmo-item-slot-drop>
17
- */
18
- export class LuzmoItemSlotDrop implements OnChanges {
19
- private readonly elementRef = inject<ElementRef<LuzmoItemSlotDropHostElement>>(ElementRef);
20
- private readonly renderer = inject<Renderer2>(Renderer2);
21
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
22
- private readonly host = this.elementRef.nativeElement;
23
- private readonly listenerCleanup: Array<() => void> = [];
24
-
25
- /** The underlying custom element instance. Use to call imperative methods. */
26
- get nativeElement(): LuzmoItemSlotDropHostElement {
27
- return this.host;
28
- }
29
-
30
- /** The visualization item type that determines the available slots and their configuration. */
31
- @Input({ alias: 'itemType' })
32
- itemType?: VizItemType;
33
-
34
- /** The name of the slot this drop target represents. */
35
- @Input({ alias: 'slotName' })
36
- slotName?: SlotName;
37
-
38
- /** The configuration for this slot (accepted field types, options, label, etc.). */
39
- @Input({ alias: 'slotConfiguration' })
40
- slotConfiguration?: SlotConfig;
41
-
42
- /** The full set of slot contents for the item; the entry matching `slotName` is rendered here. */
43
- @Input({ alias: 'slotsContents' })
44
- slotsContents?: VizItemSlot[];
45
-
46
- /** Overrides the slot's default label. */
47
- @Input({ alias: 'label' })
48
- label?: string;
49
-
50
- /** The language to use for locale-aware formatting of content labels (e.g. column names). When different from `language`, UI chrome uses `language` while data labels use `contentLanguage`. */
51
- @Input({ alias: 'contentLanguage' })
52
- contentLanguage?: string;
53
-
54
- /** CSS selector for the boundary element that constrains dragging within the slot menu. */
55
- @Input({ alias: 'dragBoundary' })
56
- dragBoundary?: string;
57
-
58
- /** Renders the slot vertically. */
59
- @Input({ alias: 'rotate', transform: booleanAttribute })
60
- rotate?: boolean;
61
-
62
- /** The API URL of the databroker */
63
- @Input({ alias: 'apiUrl' })
64
- apiUrl?: string;
65
-
66
- /** The auth key of the databroker */
67
- @Input({ alias: 'authKey' })
68
- authKey?: string;
69
-
70
- /** The auth token of the databroker */
71
- @Input({ alias: 'authToken' })
72
- authToken?: string;
73
-
74
- /** The type of config interaction */
75
- @Input({ alias: 'menu' })
76
- menu?: 'default' | 'draggable' | 'event-only';
77
-
78
- /** Placement of the slot menu. Only relevant for 'popup' and 'draggable' menu type */
79
- @Input({ alias: 'placement' })
80
- placement?: Placement;
81
-
82
- /** Hides the delete button on filled slots. */
83
- @Input({ alias: 'hideDelete', transform: booleanAttribute })
84
- hideDelete?: boolean;
85
-
86
- /** Hides the edit/configuration button and disables opening the slot menu. */
87
- @Input({ alias: 'hideConfiguration', transform: booleanAttribute })
88
- hideConfiguration?: boolean;
89
-
90
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
91
- @Input({ alias: 'language' })
92
- language?: string;
93
-
94
- /** The size of the element */
95
- @Input({ alias: 'size' })
96
- size?: 's' | 'm' | 'l' | 'xl';
97
-
98
- /** Emitted when the slot menu overlay closes / becomes inactive. */
99
- readonly luzmoSlotMenuInactive = output<CustomEvent<unknown>>({ alias: 'luzmoSlotMenuInactive' });
100
-
101
- /** Emitted when the slot menu overlay opens for a slot */
102
- readonly luzmoSlotMenuActive = output<CustomEvent<SlotMenuActiveEventDetail>>({ alias: 'luzmoSlotMenuActive' });
103
-
104
- /** Emitted to highlight the active column or formula in the slot menu */
105
- readonly luzmoSlotMenuHighlight = output<CustomEvent<SlotMenuHighlightEventDetail>>({ alias: 'luzmoSlotMenuHighlight' });
106
-
107
- /** Event that is fired when the info button is clicked in display-settings, includes the visibility state and ID values */
108
- readonly luzmoInfoVisibilityChanged = output<CustomEvent<InfoVisibilityChangedEventDetail>>({ alias: 'luzmoInfoVisibilityChanged' });
109
-
110
- /** Announces that the slot contents has changed */
111
- readonly luzmoSlotContentsChanged = output<CustomEvent<SlotContentsChangedEventDetail>>({ alias: 'luzmoSlotContentsChanged' });
112
-
113
- constructor() {
114
- this.bindEvents();
115
- this.destroyRef.onDestroy(() => {
116
- for (const cleanup of this.listenerCleanup) {
117
- cleanup();
118
- }
119
- });
120
- }
121
-
122
- ngOnChanges(changes: SimpleChanges): void {
123
- for (const key of Object.keys(changes)) {
124
- switch (key) {
125
- case 'itemType':
126
- this.setHostProperty('itemType', changes['itemType'].currentValue);
127
- break;
128
- case 'slotName':
129
- this.setHostProperty('slotName', changes['slotName'].currentValue);
130
- break;
131
- case 'slotConfiguration':
132
- this.setHostProperty('slotConfiguration', changes['slotConfiguration'].currentValue);
133
- break;
134
- case 'slotsContents':
135
- this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
136
- break;
137
- case 'label':
138
- this.setHostProperty('label', changes['label'].currentValue);
139
- break;
140
- case 'contentLanguage':
141
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
142
- break;
143
- case 'dragBoundary':
144
- this.setHostProperty('dragBoundary', changes['dragBoundary'].currentValue);
145
- break;
146
- case 'rotate':
147
- this.setHostProperty('rotate', changes['rotate'].currentValue);
148
- break;
149
- case 'apiUrl':
150
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
151
- break;
152
- case 'authKey':
153
- this.setHostProperty('authKey', changes['authKey'].currentValue);
154
- break;
155
- case 'authToken':
156
- this.setHostProperty('authToken', changes['authToken'].currentValue);
157
- break;
158
- case 'menu':
159
- this.setHostProperty('menu', changes['menu'].currentValue);
160
- break;
161
- case 'placement':
162
- this.setHostProperty('placement', changes['placement'].currentValue);
163
- break;
164
- case 'hideDelete':
165
- this.setHostProperty('hideDelete', changes['hideDelete'].currentValue);
166
- break;
167
- case 'hideConfiguration':
168
- this.setHostProperty('hideConfiguration', changes['hideConfiguration'].currentValue);
169
- break;
170
- case 'language':
171
- this.setHostProperty('language', changes['language'].currentValue);
172
- break;
173
- case 'size':
174
- this.setHostProperty('size', changes['size'].currentValue);
175
- break;
176
- default:
177
- break;
178
- }
179
- }
180
- }
181
-
182
- /**
183
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
184
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
185
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
186
- * undefined / null by clearing their bindings.
187
- */
188
- private setHostProperty(key: string, value: unknown): void {
189
- this.renderer.setProperty(this.host, key, value);
190
- }
191
-
192
- private bindEvents(): void {
193
- this.listenerCleanup.push(
194
- this.renderer.listen(this.host, 'luzmo-slot-menu-inactive', (event: Event) => {
195
- const typed = event as CustomEvent<unknown>;
196
- this.luzmoSlotMenuInactive.emit(typed);
197
- })
198
- );
199
-
200
- this.listenerCleanup.push(
201
- this.renderer.listen(this.host, 'luzmo-slot-menu-active', (event: Event) => {
202
- const typed = event as CustomEvent<SlotMenuActiveEventDetail>;
203
- this.luzmoSlotMenuActive.emit(typed);
204
- })
205
- );
206
-
207
- this.listenerCleanup.push(
208
- this.renderer.listen(this.host, 'luzmo-slot-menu-highlight', (event: Event) => {
209
- const typed = event as CustomEvent<SlotMenuHighlightEventDetail>;
210
- this.luzmoSlotMenuHighlight.emit(typed);
211
- })
212
- );
213
-
214
- this.listenerCleanup.push(
215
- this.renderer.listen(this.host, 'luzmo-info-visibility-changed', (event: Event) => {
216
- const typed = event as CustomEvent<InfoVisibilityChangedEventDetail>;
217
- this.luzmoInfoVisibilityChanged.emit(typed);
218
- })
219
- );
220
-
221
- this.listenerCleanup.push(
222
- this.renderer.listen(this.host, 'luzmo-slot-contents-changed', (event: Event) => {
223
- const typed = event as CustomEvent<SlotContentsChangedEventDetail>;
224
- this.luzmoSlotContentsChanged.emit(typed);
225
- })
226
- );
227
- }
228
- }
229
-
230
- /** The underlying custom element type for LuzmoItemSlotDrop */
231
- export type LuzmoItemSlotDropElement = LuzmoItemSlotDropHostElement;