@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,229 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/formula-editor';
3
- import type { LuzmoFormulaEditor as LuzmoFormulaEditorHostElement } from '@luzmo/analytics-components-kit/formula-editor';
4
- export type { LuzmoFormulaCodeMirror } from '@luzmo/analytics-components-kit/formula-editor';
5
- import type { ValidityChangedEventDetail } from '@luzmo/analytics-components-kit/types';
6
-
7
- @Component({
8
- selector: 'luzmo-formula-editor',
9
- exportAs: 'luzmoFormulaEditor',
10
- standalone: true,
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- template: '<ng-content />'
13
- })
14
- /**
15
- * Angular wrapper component for <luzmo-formula-editor>
16
- *
17
- * @csspart formula-editor - Root editor layout (input, validation feedback, lists).
18
- * @csspart validating - In-flight validation status row (spinner + "Validating…" text).
19
- * @csspart error - Validation error message row shown after a settled invalid result.
20
- * @csspart lists - Side panel hosting aggregations, datasets, functions (and optional description).
21
- */
22
- export class LuzmoFormulaEditor implements OnChanges {
23
- private readonly elementRef = inject<ElementRef<LuzmoFormulaEditorHostElement>>(ElementRef);
24
- private readonly renderer = inject<Renderer2>(Renderer2);
25
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
26
- private readonly host = this.elementRef.nativeElement;
27
- private readonly listenerCleanup: Array<() => void> = [];
28
-
29
- /** The underlying custom element instance. Use to call imperative methods. */
30
- get nativeElement(): LuzmoFormulaEditorHostElement {
31
- return this.host;
32
- }
33
-
34
- /** Whether the expression is validated as a column or a formula. */
35
- @Input({ alias: 'expressionResource' })
36
- expressionResource?: 'column' | 'formula';
37
-
38
- /** How function / aggregation explanations are surfaced: as hover `tooltip`s on the list items (default), or in a dedicated `description` region. With `tooltip` there is no description, so the remaining lists spread across the full width. */
39
- @Input({ alias: 'explanationDisplay' })
40
- explanationDisplay?: 'tooltip' | 'description';
41
-
42
- /** Renders the field display-only (no editing). */
43
- @Input({ alias: 'readonly', transform: booleanAttribute })
44
- readonly?: boolean;
45
-
46
- /** Placeholder text shown in the editable input when the expression is empty. */
47
- @Input({ alias: 'placeholder' })
48
- placeholder?: string;
49
-
50
- /** Number of text lines the input is sized to start with. Defaults to 3. */
51
- @Input({ alias: 'rows' })
52
- rows?: number;
53
-
54
- /** Maximum number of text lines before a scrollbar appears (only when `grows`). */
55
- @Input({ alias: 'maxRows' })
56
- maxRows?: number;
57
-
58
- /** Whether the input grows in height with its content (up to `maxRows` if set). */
59
- @Input({ alias: 'grows', transform: booleanAttribute })
60
- grows?: boolean;
61
-
62
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
63
- @Input({ alias: 'language' })
64
- language?: string;
65
-
66
- /** The formula expression (function syntax), e.g. `SUM({datasetId:columnId})`. */
67
- @Input({ alias: 'expression' })
68
- expression?: string;
69
-
70
- /** Datasets and their data fields, provided directly (takes preference over `datasetIds`). */
71
- @Input({ alias: 'datasetsDataFields' })
72
- datasetsDataFields?: unknown;
73
-
74
- /** Dataset ids to fetch from the Luzmo API (auth attributes optional for public datasets). */
75
- @Input({ alias: 'datasetIds' })
76
- datasetIds?: string[];
77
-
78
- /** Base URL of the Luzmo API used to fetch datasets by id. */
79
- @Input({ alias: 'apiUrl' })
80
- apiUrl?: string;
81
-
82
- /** Luzmo API authorization key, used with `authToken` to fetch datasets by id. */
83
- @Input({ alias: 'authKey' })
84
- authKey?: string;
85
-
86
- /** Luzmo API authorization token, used with `authKey` to fetch datasets by id. */
87
- @Input({ alias: 'authToken' })
88
- authToken?: string;
89
-
90
- /** Whether aggregation functions are offered (in the autocompletion, and - for the editor - via the aggregations list and pills). Defaults to `true`. Note: as a boolean attribute defaulting to `true` it cannot be turned off via markup (an absent attribute keeps the default); set the `.showAggregations` property to `false` to disable. */
91
- @Input({ alias: 'showAggregations', transform: booleanAttribute })
92
- showAggregations?: boolean;
93
-
94
- /** Language used for data labels (column / dataset names). */
95
- @Input({ alias: 'contentLanguage' })
96
- contentLanguage?: string;
97
-
98
- /** When true, aggregations render as multi-stage nested widgets. */
99
- @Input({ alias: 'multiStageAggregation', transform: booleanAttribute })
100
- multiStageAggregation?: boolean;
101
-
102
- /** When true, aggregations can be nested inside other aggregations. */
103
- @Input({ alias: 'nestedAggregation', transform: booleanAttribute })
104
- nestedAggregation?: boolean;
105
-
106
- /** The size of the element */
107
- @Input({ alias: 'size' })
108
- size?: 's' | 'm' | 'l' | 'xl';
109
-
110
- /** Fired when expression validity changes, including when backend validation starts (`detail.validating`) or settles. */
111
- readonly luzmoValidityChanged = output<CustomEvent<ValidityChangedEventDetail>>({ alias: 'luzmoValidityChanged' });
112
-
113
- /** Fired (debounced) when the expression changes. */
114
- readonly luzmoExpressionChanged = output<CustomEvent<unknown>>({ alias: 'luzmoExpressionChanged' });
115
-
116
- /** Fired when fetching datasets by id fails. */
117
- readonly luzmoDatasetsError = output<CustomEvent<unknown>>({ alias: 'luzmoDatasetsError' });
118
-
119
- constructor() {
120
- this.bindEvents();
121
- this.destroyRef.onDestroy(() => {
122
- for (const cleanup of this.listenerCleanup) {
123
- cleanup();
124
- }
125
- });
126
- }
127
-
128
- ngOnChanges(changes: SimpleChanges): void {
129
- for (const key of Object.keys(changes)) {
130
- switch (key) {
131
- case 'expressionResource':
132
- this.setHostProperty('expressionResource', changes['expressionResource'].currentValue);
133
- break;
134
- case 'explanationDisplay':
135
- this.setHostProperty('explanationDisplay', changes['explanationDisplay'].currentValue);
136
- break;
137
- case 'readonly':
138
- this.setHostProperty('readonly', changes['readonly'].currentValue);
139
- break;
140
- case 'placeholder':
141
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
142
- break;
143
- case 'rows':
144
- this.setHostProperty('rows', changes['rows'].currentValue);
145
- break;
146
- case 'maxRows':
147
- this.setHostProperty('maxRows', changes['maxRows'].currentValue);
148
- break;
149
- case 'grows':
150
- this.setHostProperty('grows', changes['grows'].currentValue);
151
- break;
152
- case 'language':
153
- this.setHostProperty('language', changes['language'].currentValue);
154
- break;
155
- case 'expression':
156
- this.setHostProperty('expression', changes['expression'].currentValue);
157
- break;
158
- case 'datasetsDataFields':
159
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
160
- break;
161
- case 'datasetIds':
162
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
163
- break;
164
- case 'apiUrl':
165
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
166
- break;
167
- case 'authKey':
168
- this.setHostProperty('authKey', changes['authKey'].currentValue);
169
- break;
170
- case 'authToken':
171
- this.setHostProperty('authToken', changes['authToken'].currentValue);
172
- break;
173
- case 'showAggregations':
174
- this.setHostProperty('showAggregations', changes['showAggregations'].currentValue);
175
- break;
176
- case 'contentLanguage':
177
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
178
- break;
179
- case 'multiStageAggregation':
180
- this.setHostProperty('multiStageAggregation', changes['multiStageAggregation'].currentValue);
181
- break;
182
- case 'nestedAggregation':
183
- this.setHostProperty('nestedAggregation', changes['nestedAggregation'].currentValue);
184
- break;
185
- case 'size':
186
- this.setHostProperty('size', changes['size'].currentValue);
187
- break;
188
- default:
189
- break;
190
- }
191
- }
192
- }
193
-
194
- /**
195
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
196
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
197
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
198
- * undefined / null by clearing their bindings.
199
- */
200
- private setHostProperty(key: string, value: unknown): void {
201
- this.renderer.setProperty(this.host, key, value);
202
- }
203
-
204
- private bindEvents(): void {
205
- this.listenerCleanup.push(
206
- this.renderer.listen(this.host, 'luzmo-validity-changed', (event: Event) => {
207
- const typed = event as CustomEvent<ValidityChangedEventDetail>;
208
- this.luzmoValidityChanged.emit(typed);
209
- })
210
- );
211
-
212
- this.listenerCleanup.push(
213
- this.renderer.listen(this.host, 'luzmo-expression-changed', (event: Event) => {
214
- const typed = event as CustomEvent<unknown>;
215
- this.luzmoExpressionChanged.emit(typed);
216
- })
217
- );
218
-
219
- this.listenerCleanup.push(
220
- this.renderer.listen(this.host, 'luzmo-datasets-error', (event: Event) => {
221
- const typed = event as CustomEvent<unknown>;
222
- this.luzmoDatasetsError.emit(typed);
223
- })
224
- );
225
- }
226
- }
227
-
228
- /** The underlying custom element type for LuzmoFormulaEditor */
229
- export type LuzmoFormulaEditorElement = LuzmoFormulaEditorHostElement;
@@ -1,198 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/formula-field';
3
- import type { LuzmoFormulaField as LuzmoFormulaFieldHostElement } from '@luzmo/analytics-components-kit/formula-field';
4
-
5
- @Component({
6
- selector: 'luzmo-formula-field',
7
- exportAs: 'luzmoFormulaField',
8
- standalone: true,
9
- changeDetection: ChangeDetectionStrategy.OnPush,
10
- template: '<ng-content />'
11
- })
12
- /**
13
- * Angular wrapper component for <luzmo-formula-field>
14
- */
15
- export class LuzmoFormulaField implements OnChanges {
16
- private readonly elementRef = inject<ElementRef<LuzmoFormulaFieldHostElement>>(ElementRef);
17
- private readonly renderer = inject<Renderer2>(Renderer2);
18
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
19
- private readonly host = this.elementRef.nativeElement;
20
- private readonly listenerCleanup: Array<() => void> = [];
21
-
22
- /** The underlying custom element instance. Use to call imperative methods. */
23
- get nativeElement(): LuzmoFormulaFieldHostElement {
24
- return this.host;
25
- }
26
-
27
- /** Renders the field display-only (no editing). */
28
- @Input({ alias: 'readonly', transform: booleanAttribute })
29
- readonly?: boolean;
30
-
31
- /** Placeholder text shown in the editable input when the expression is empty. */
32
- @Input({ alias: 'placeholder' })
33
- placeholder?: string;
34
-
35
- /** Number of text lines the input is sized to start with. Defaults to 3. */
36
- @Input({ alias: 'rows' })
37
- rows?: number;
38
-
39
- /** Maximum number of text lines before a scrollbar appears (only when `grows`). */
40
- @Input({ alias: 'maxRows' })
41
- maxRows?: number;
42
-
43
- /** Whether the input grows in height with its content (up to `maxRows` if set). */
44
- @Input({ alias: 'grows', transform: booleanAttribute })
45
- grows?: boolean;
46
-
47
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
48
- @Input({ alias: 'language' })
49
- language?: string;
50
-
51
- /** The formula expression (function syntax), e.g. `SUM({datasetId:columnId})`. */
52
- @Input({ alias: 'expression' })
53
- expression?: string;
54
-
55
- /** Datasets and their data fields, provided directly (takes preference over `datasetIds`). */
56
- @Input({ alias: 'datasetsDataFields' })
57
- datasetsDataFields?: unknown;
58
-
59
- /** Dataset ids to fetch from the Luzmo API (auth attributes optional for public datasets). */
60
- @Input({ alias: 'datasetIds' })
61
- datasetIds?: string[];
62
-
63
- /** Base URL of the Luzmo API used to fetch datasets by id. */
64
- @Input({ alias: 'apiUrl' })
65
- apiUrl?: string;
66
-
67
- /** Luzmo API authorization key, used with `authToken` to fetch datasets by id. */
68
- @Input({ alias: 'authKey' })
69
- authKey?: string;
70
-
71
- /** Luzmo API authorization token, used with `authKey` to fetch datasets by id. */
72
- @Input({ alias: 'authToken' })
73
- authToken?: string;
74
-
75
- /** Whether aggregation functions are offered (in the autocompletion, and - for the editor - via the aggregations list and pills). Defaults to `true`. Note: as a boolean attribute defaulting to `true` it cannot be turned off via markup (an absent attribute keeps the default); set the `.showAggregations` property to `false` to disable. */
76
- @Input({ alias: 'showAggregations', transform: booleanAttribute })
77
- showAggregations?: boolean;
78
-
79
- /** Language used for data labels (column / dataset names). */
80
- @Input({ alias: 'contentLanguage' })
81
- contentLanguage?: string;
82
-
83
- /** When true, aggregations render as multi-stage nested widgets. */
84
- @Input({ alias: 'multiStageAggregation', transform: booleanAttribute })
85
- multiStageAggregation?: boolean;
86
-
87
- /** When true, aggregations can be nested inside other aggregations. */
88
- @Input({ alias: 'nestedAggregation', transform: booleanAttribute })
89
- nestedAggregation?: boolean;
90
-
91
- /** The size of the element */
92
- @Input({ alias: 'size' })
93
- size?: 's' | 'm' | 'l' | 'xl';
94
-
95
- /** Fired (debounced) when the expression changes (only when not readonly). */
96
- readonly luzmoExpressionChanged = output<CustomEvent<unknown>>({ alias: 'luzmoExpressionChanged' });
97
-
98
- /** Fired when fetching datasets by id fails. */
99
- readonly luzmoDatasetsError = output<CustomEvent<unknown>>({ alias: 'luzmoDatasetsError' });
100
-
101
- constructor() {
102
- this.bindEvents();
103
- this.destroyRef.onDestroy(() => {
104
- for (const cleanup of this.listenerCleanup) {
105
- cleanup();
106
- }
107
- });
108
- }
109
-
110
- ngOnChanges(changes: SimpleChanges): void {
111
- for (const key of Object.keys(changes)) {
112
- switch (key) {
113
- case 'readonly':
114
- this.setHostProperty('readonly', changes['readonly'].currentValue);
115
- break;
116
- case 'placeholder':
117
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
118
- break;
119
- case 'rows':
120
- this.setHostProperty('rows', changes['rows'].currentValue);
121
- break;
122
- case 'maxRows':
123
- this.setHostProperty('maxRows', changes['maxRows'].currentValue);
124
- break;
125
- case 'grows':
126
- this.setHostProperty('grows', changes['grows'].currentValue);
127
- break;
128
- case 'language':
129
- this.setHostProperty('language', changes['language'].currentValue);
130
- break;
131
- case 'expression':
132
- this.setHostProperty('expression', changes['expression'].currentValue);
133
- break;
134
- case 'datasetsDataFields':
135
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
136
- break;
137
- case 'datasetIds':
138
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
139
- break;
140
- case 'apiUrl':
141
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
142
- break;
143
- case 'authKey':
144
- this.setHostProperty('authKey', changes['authKey'].currentValue);
145
- break;
146
- case 'authToken':
147
- this.setHostProperty('authToken', changes['authToken'].currentValue);
148
- break;
149
- case 'showAggregations':
150
- this.setHostProperty('showAggregations', changes['showAggregations'].currentValue);
151
- break;
152
- case 'contentLanguage':
153
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
154
- break;
155
- case 'multiStageAggregation':
156
- this.setHostProperty('multiStageAggregation', changes['multiStageAggregation'].currentValue);
157
- break;
158
- case 'nestedAggregation':
159
- this.setHostProperty('nestedAggregation', changes['nestedAggregation'].currentValue);
160
- break;
161
- case 'size':
162
- this.setHostProperty('size', changes['size'].currentValue);
163
- break;
164
- default:
165
- break;
166
- }
167
- }
168
- }
169
-
170
- /**
171
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
172
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
173
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
174
- * undefined / null by clearing their bindings.
175
- */
176
- private setHostProperty(key: string, value: unknown): void {
177
- this.renderer.setProperty(this.host, key, value);
178
- }
179
-
180
- private bindEvents(): void {
181
- this.listenerCleanup.push(
182
- this.renderer.listen(this.host, 'luzmo-expression-changed', (event: Event) => {
183
- const typed = event as CustomEvent<unknown>;
184
- this.luzmoExpressionChanged.emit(typed);
185
- })
186
- );
187
-
188
- this.listenerCleanup.push(
189
- this.renderer.listen(this.host, 'luzmo-datasets-error', (event: Event) => {
190
- const typed = event as CustomEvent<unknown>;
191
- this.luzmoDatasetsError.emit(typed);
192
- })
193
- );
194
- }
195
- }
196
-
197
- /** The underlying custom element type for LuzmoFormulaField */
198
- export type LuzmoFormulaFieldElement = LuzmoFormulaFieldHostElement;
@@ -1,170 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/formula';
3
- import type { LuzmoFormula as LuzmoFormulaHostElement } from '@luzmo/analytics-components-kit/formula';
4
-
5
- @Component({
6
- selector: 'luzmo-formula',
7
- exportAs: 'luzmoFormula',
8
- standalone: true,
9
- changeDetection: ChangeDetectionStrategy.OnPush,
10
- template: '<ng-content />'
11
- })
12
- /**
13
- * Angular wrapper component for <luzmo-formula>
14
- */
15
- export class LuzmoFormula implements OnChanges {
16
- private readonly elementRef = inject<ElementRef<LuzmoFormulaHostElement>>(ElementRef);
17
- private readonly renderer = inject<Renderer2>(Renderer2);
18
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
19
- private readonly host = this.elementRef.nativeElement;
20
- private readonly listenerCleanup: Array<() => void> = [];
21
-
22
- /** The underlying custom element instance. Use to call imperative methods. */
23
- get nativeElement(): LuzmoFormulaHostElement {
24
- return this.host;
25
- }
26
-
27
- /** Rendering mode. `rich` (default) renders read-only column / aggregation pills; `text` renders plain text with an inline type icon per column. Both are always read-only. */
28
- @Input({ alias: 'display' })
29
- display?: 'rich' | 'text';
30
-
31
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
32
- @Input({ alias: 'language' })
33
- language?: string;
34
-
35
- /** The formula expression (function syntax), e.g. `SUM({datasetId:columnId})`. */
36
- @Input({ alias: 'expression' })
37
- expression?: string;
38
-
39
- /** Datasets and their data fields, provided directly (takes preference over `datasetIds`). */
40
- @Input({ alias: 'datasetsDataFields' })
41
- datasetsDataFields?: unknown;
42
-
43
- /** Dataset ids to fetch from the Luzmo API (auth attributes optional for public datasets). */
44
- @Input({ alias: 'datasetIds' })
45
- datasetIds?: string[];
46
-
47
- /** Base URL of the Luzmo API used to fetch datasets by id. */
48
- @Input({ alias: 'apiUrl' })
49
- apiUrl?: string;
50
-
51
- /** Luzmo API authorization key, used with `authToken` to fetch datasets by id. */
52
- @Input({ alias: 'authKey' })
53
- authKey?: string;
54
-
55
- /** Luzmo API authorization token, used with `authKey` to fetch datasets by id. */
56
- @Input({ alias: 'authToken' })
57
- authToken?: string;
58
-
59
- /** Whether aggregation functions are offered (in the autocompletion, and - for the editor - via the aggregations list and pills). Defaults to `true`. Note: as a boolean attribute defaulting to `true` it cannot be turned off via markup (an absent attribute keeps the default); set the `.showAggregations` property to `false` to disable. */
60
- @Input({ alias: 'showAggregations', transform: booleanAttribute })
61
- showAggregations?: boolean;
62
-
63
- /** Language used for data labels (column / dataset names). */
64
- @Input({ alias: 'contentLanguage' })
65
- contentLanguage?: string;
66
-
67
- /** When true, aggregations render as multi-stage nested widgets. */
68
- @Input({ alias: 'multiStageAggregation', transform: booleanAttribute })
69
- multiStageAggregation?: boolean;
70
-
71
- /** When true, aggregations can be nested inside other aggregations. */
72
- @Input({ alias: 'nestedAggregation', transform: booleanAttribute })
73
- nestedAggregation?: boolean;
74
-
75
- /** The size of the element */
76
- @Input({ alias: 'size' })
77
- size?: 's' | 'm' | 'l' | 'xl';
78
-
79
- /** Fired (debounced) when the formula expression changes; `detail.expression` holds the new expression. */
80
- readonly luzmoExpressionChanged = output<CustomEvent<unknown>>({ alias: 'luzmoExpressionChanged' });
81
-
82
- /** Fired when fetching datasets by id fails. */
83
- readonly luzmoDatasetsError = output<CustomEvent<unknown>>({ alias: 'luzmoDatasetsError' });
84
-
85
- constructor() {
86
- this.bindEvents();
87
- this.destroyRef.onDestroy(() => {
88
- for (const cleanup of this.listenerCleanup) {
89
- cleanup();
90
- }
91
- });
92
- }
93
-
94
- ngOnChanges(changes: SimpleChanges): void {
95
- for (const key of Object.keys(changes)) {
96
- switch (key) {
97
- case 'display':
98
- this.setHostProperty('display', changes['display'].currentValue);
99
- break;
100
- case 'language':
101
- this.setHostProperty('language', changes['language'].currentValue);
102
- break;
103
- case 'expression':
104
- this.setHostProperty('expression', changes['expression'].currentValue);
105
- break;
106
- case 'datasetsDataFields':
107
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
108
- break;
109
- case 'datasetIds':
110
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
111
- break;
112
- case 'apiUrl':
113
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
114
- break;
115
- case 'authKey':
116
- this.setHostProperty('authKey', changes['authKey'].currentValue);
117
- break;
118
- case 'authToken':
119
- this.setHostProperty('authToken', changes['authToken'].currentValue);
120
- break;
121
- case 'showAggregations':
122
- this.setHostProperty('showAggregations', changes['showAggregations'].currentValue);
123
- break;
124
- case 'contentLanguage':
125
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
126
- break;
127
- case 'multiStageAggregation':
128
- this.setHostProperty('multiStageAggregation', changes['multiStageAggregation'].currentValue);
129
- break;
130
- case 'nestedAggregation':
131
- this.setHostProperty('nestedAggregation', changes['nestedAggregation'].currentValue);
132
- break;
133
- case 'size':
134
- this.setHostProperty('size', changes['size'].currentValue);
135
- break;
136
- default:
137
- break;
138
- }
139
- }
140
- }
141
-
142
- /**
143
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
144
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
145
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
146
- * undefined / null by clearing their bindings.
147
- */
148
- private setHostProperty(key: string, value: unknown): void {
149
- this.renderer.setProperty(this.host, key, value);
150
- }
151
-
152
- private bindEvents(): void {
153
- this.listenerCleanup.push(
154
- this.renderer.listen(this.host, 'luzmo-expression-changed', (event: Event) => {
155
- const typed = event as CustomEvent<unknown>;
156
- this.luzmoExpressionChanged.emit(typed);
157
- })
158
- );
159
-
160
- this.listenerCleanup.push(
161
- this.renderer.listen(this.host, 'luzmo-datasets-error', (event: Event) => {
162
- const typed = event as CustomEvent<unknown>;
163
- this.luzmoDatasetsError.emit(typed);
164
- })
165
- );
166
- }
167
- }
168
-
169
- /** The underlying custom element type for LuzmoFormula */
170
- export type LuzmoFormulaElement = LuzmoFormulaHostElement;