@luzmo/analytics-components-kit 1.0.8-beta.5 → 1.0.8-beta.6

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 (636) hide show
  1. package/angular/README.md +40 -0
  2. package/angular/components/ai-chat-empty-state.ts +98 -0
  3. package/angular/components/ai-chat.ts +440 -0
  4. package/angular/components/ai-interaction-textarea.ts +283 -0
  5. package/angular/components/data-field-level.ts +130 -0
  6. package/angular/components/data-field-panel.ts +256 -0
  7. package/angular/components/data-field.ts +130 -0
  8. package/angular/components/data-fields-select.ts +212 -0
  9. package/angular/components/dataset-icon.ts +83 -0
  10. package/angular/components/dataset-selector-list.ts +147 -0
  11. package/angular/components/dataset-selector-row.ts +198 -0
  12. package/angular/components/display-settings-binning.ts +92 -0
  13. package/angular/components/display-settings-datetime.ts +100 -0
  14. package/angular/components/display-settings-grand-totals.ts +92 -0
  15. package/angular/components/display-settings-numeric.ts +113 -0
  16. package/angular/components/display-settings-period-over-period.ts +107 -0
  17. package/angular/components/display-settings.ts +227 -0
  18. package/angular/components/filter-expression-picker.ts +168 -0
  19. package/angular/components/filter-item.ts +175 -0
  20. package/angular/components/filter-parameter-picker.ts +155 -0
  21. package/angular/components/filter-value-picker-datetime.ts +125 -0
  22. package/angular/components/filter-value-picker-hierarchy.ts +146 -0
  23. package/angular/components/filter-value-picker-numeric.ts +146 -0
  24. package/angular/components/filter-value-picker.ts +160 -0
  25. package/angular/components/filters.ts +209 -0
  26. package/angular/components/formula-editor.ts +229 -0
  27. package/angular/components/formula-field.ts +198 -0
  28. package/angular/components/formula.ts +170 -0
  29. package/angular/components/interactive-viz-item.ts +186 -0
  30. package/angular/components/item-grid-item-actions-menu.ts +113 -0
  31. package/angular/components/item-grid.ts +242 -0
  32. package/angular/components/item-option-action-button-group.ts +105 -0
  33. package/angular/components/item-option-color-palette-picker.ts +126 -0
  34. package/angular/components/item-option-color-picker.ts +134 -0
  35. package/angular/components/item-option-color-range.ts +168 -0
  36. package/angular/components/item-option-guidelines.ts +84 -0
  37. package/angular/components/item-option-multi-language-field.ts +133 -0
  38. package/angular/components/item-option-number-field.ts +161 -0
  39. package/angular/components/item-option-panel.ts +149 -0
  40. package/angular/components/item-option-picker.ts +120 -0
  41. package/angular/components/item-option-position-picker.ts +98 -0
  42. package/angular/components/item-option-positions-number-field.ts +140 -0
  43. package/angular/components/item-option-radio-button-group.ts +119 -0
  44. package/angular/components/item-option-slider.ts +126 -0
  45. package/angular/components/item-option-switch.ts +98 -0
  46. package/angular/components/item-option-text-field.ts +112 -0
  47. package/angular/components/item-option.ts +163 -0
  48. package/angular/components/item-slot-drop-panel.ts +236 -0
  49. package/angular/components/item-slot-drop.ts +231 -0
  50. package/angular/components/item-slot-picker-panel.ts +299 -0
  51. package/angular/components/item-slot-picker.ts +241 -0
  52. package/angular/components/slot-menu-list.ts +121 -0
  53. package/angular/components/slot-menu.ts +304 -0
  54. package/angular/components/viz-item-menu.ts +118 -0
  55. package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
  56. package/angular/esm/components/ai-chat-empty-state.js +99 -0
  57. package/angular/esm/components/ai-chat.d.ts +147 -0
  58. package/angular/esm/components/ai-chat.js +455 -0
  59. package/angular/esm/components/ai-interaction-textarea.d.ts +106 -0
  60. package/angular/esm/components/ai-interaction-textarea.js +305 -0
  61. package/angular/esm/components/data-field-level.d.ts +50 -0
  62. package/angular/esm/components/data-field-level.js +129 -0
  63. package/angular/esm/components/data-field-panel.d.ts +86 -0
  64. package/angular/esm/components/data-field-panel.js +268 -0
  65. package/angular/esm/components/data-field.d.ts +50 -0
  66. package/angular/esm/components/data-field.js +129 -0
  67. package/angular/esm/components/data-fields-select.d.ts +81 -0
  68. package/angular/esm/components/data-fields-select.js +227 -0
  69. package/angular/esm/components/dataset-icon.d.ts +34 -0
  70. package/angular/esm/components/dataset-icon.js +86 -0
  71. package/angular/esm/components/dataset-selector-list.d.ts +56 -0
  72. package/angular/esm/components/dataset-selector-list.js +155 -0
  73. package/angular/esm/components/dataset-selector-row.d.ts +70 -0
  74. package/angular/esm/components/dataset-selector-row.js +197 -0
  75. package/angular/esm/components/display-settings-binning.d.ts +37 -0
  76. package/angular/esm/components/display-settings-binning.js +91 -0
  77. package/angular/esm/components/display-settings-datetime.d.ts +40 -0
  78. package/angular/esm/components/display-settings-datetime.js +99 -0
  79. package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
  80. package/angular/esm/components/display-settings-grand-totals.js +91 -0
  81. package/angular/esm/components/display-settings-numeric.d.ts +45 -0
  82. package/angular/esm/components/display-settings-numeric.js +115 -0
  83. package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
  84. package/angular/esm/components/display-settings-period-over-period.js +107 -0
  85. package/angular/esm/components/display-settings.d.ts +83 -0
  86. package/angular/esm/components/display-settings.js +231 -0
  87. package/angular/esm/components/filter-expression-picker.d.ts +64 -0
  88. package/angular/esm/components/filter-expression-picker.js +179 -0
  89. package/angular/esm/components/filter-item.d.ts +63 -0
  90. package/angular/esm/components/filter-item.js +187 -0
  91. package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
  92. package/angular/esm/components/filter-parameter-picker.js +151 -0
  93. package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
  94. package/angular/esm/components/filter-value-picker-datetime.js +131 -0
  95. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
  96. package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
  97. package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
  98. package/angular/esm/components/filter-value-picker-numeric.js +155 -0
  99. package/angular/esm/components/filter-value-picker.d.ts +57 -0
  100. package/angular/esm/components/filter-value-picker.js +171 -0
  101. package/angular/esm/components/filters.d.ts +75 -0
  102. package/angular/esm/components/filters.js +215 -0
  103. package/angular/esm/components/formula-editor.d.ts +78 -0
  104. package/angular/esm/components/formula-editor.js +236 -0
  105. package/angular/esm/components/formula-field.d.ts +70 -0
  106. package/angular/esm/components/formula-field.js +209 -0
  107. package/angular/esm/components/formula.d.ts +60 -0
  108. package/angular/esm/components/formula.js +177 -0
  109. package/angular/esm/components/interactive-viz-item.d.ts +63 -0
  110. package/angular/esm/components/interactive-viz-item.js +188 -0
  111. package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
  112. package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
  113. package/angular/esm/components/item-grid.d.ts +80 -0
  114. package/angular/esm/components/item-grid.js +245 -0
  115. package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
  116. package/angular/esm/components/item-option-action-button-group.js +107 -0
  117. package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
  118. package/angular/esm/components/item-option-color-palette-picker.js +131 -0
  119. package/angular/esm/components/item-option-color-picker.d.ts +51 -0
  120. package/angular/esm/components/item-option-color-picker.js +139 -0
  121. package/angular/esm/components/item-option-color-range.d.ts +66 -0
  122. package/angular/esm/components/item-option-color-range.js +179 -0
  123. package/angular/esm/components/item-option-guidelines.d.ts +34 -0
  124. package/angular/esm/components/item-option-guidelines.js +83 -0
  125. package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
  126. package/angular/esm/components/item-option-multi-language-field.js +139 -0
  127. package/angular/esm/components/item-option-number-field.d.ts +58 -0
  128. package/angular/esm/components/item-option-number-field.js +171 -0
  129. package/angular/esm/components/item-option-panel.d.ts +54 -0
  130. package/angular/esm/components/item-option-panel.js +155 -0
  131. package/angular/esm/components/item-option-picker.d.ts +46 -0
  132. package/angular/esm/components/item-option-picker.js +123 -0
  133. package/angular/esm/components/item-option-position-picker.d.ts +39 -0
  134. package/angular/esm/components/item-option-position-picker.js +99 -0
  135. package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
  136. package/angular/esm/components/item-option-positions-number-field.js +147 -0
  137. package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
  138. package/angular/esm/components/item-option-radio-button-group.js +123 -0
  139. package/angular/esm/components/item-option-slider.d.ts +46 -0
  140. package/angular/esm/components/item-option-slider.js +131 -0
  141. package/angular/esm/components/item-option-switch.d.ts +40 -0
  142. package/angular/esm/components/item-option-switch.js +99 -0
  143. package/angular/esm/components/item-option-text-field.d.ts +44 -0
  144. package/angular/esm/components/item-option-text-field.js +115 -0
  145. package/angular/esm/components/item-option.d.ts +58 -0
  146. package/angular/esm/components/item-option.js +171 -0
  147. package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
  148. package/angular/esm/components/item-slot-drop-panel.js +249 -0
  149. package/angular/esm/components/item-slot-drop.d.ts +77 -0
  150. package/angular/esm/components/item-slot-drop.js +227 -0
  151. package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
  152. package/angular/esm/components/item-slot-picker-panel.js +309 -0
  153. package/angular/esm/components/item-slot-picker.d.ts +86 -0
  154. package/angular/esm/components/item-slot-picker.js +259 -0
  155. package/angular/esm/components/slot-menu-list.d.ts +46 -0
  156. package/angular/esm/components/slot-menu-list.js +123 -0
  157. package/angular/esm/components/slot-menu.d.ts +104 -0
  158. package/angular/esm/components/slot-menu.js +300 -0
  159. package/angular/esm/components/viz-item-menu.d.ts +42 -0
  160. package/angular/esm/components/viz-item-menu.js +111 -0
  161. package/angular/esm/index.d.ts +109 -0
  162. package/angular/esm/index.js +217 -0
  163. package/angular/index.ts +223 -0
  164. package/angular/package.json +40 -0
  165. package/angular/tsconfig.json +36 -0
  166. package/angular/type-fallbacks.d.ts +0 -0
  167. package/angular/utils/ai-prompt/attachments.d.ts +10 -0
  168. package/angular/utils/ai-prompt/dictation.d.ts +50 -0
  169. package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
  170. package/angular/utils/ai-prompt/index.d.ts +6 -0
  171. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
  172. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
  173. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
  174. package/angular/utils/base/base.d.ts +16 -0
  175. package/angular/utils/base/focus-visible.d.ts +29 -0
  176. package/angular/utils/base/focusable.d.ts +58 -0
  177. package/angular/utils/base/index.d.ts +5 -0
  178. package/angular/utils/base/localized-mixin.d.ts +22 -0
  179. package/angular/utils/base/sized-mixin.d.ts +17 -0
  180. package/angular/utils/color/color-palettes.d.ts +17 -0
  181. package/angular/utils/color/extrapolate-color.d.ts +1 -0
  182. package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
  183. package/angular/utils/data-broker/index.d.ts +263 -0
  184. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
  185. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
  186. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
  187. package/angular/utils/drag/draggable.d.ts +13 -0
  188. package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
  189. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
  190. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
  191. package/angular/utils/filters/expressions.d.ts +15 -0
  192. package/angular/utils/filters/index.d.ts +1 -0
  193. package/angular/utils/formatter/calculate-duration.d.ts +2 -0
  194. package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
  195. package/angular/utils/formatter/default-local-formats.d.ts +20 -0
  196. package/angular/utils/formatter/formats/cs.d.ts +20 -0
  197. package/angular/utils/formatter/formats/da.d.ts +20 -0
  198. package/angular/utils/formatter/formats/de.d.ts +21 -0
  199. package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
  200. package/angular/utils/formatter/formats/en-US.d.ts +1 -0
  201. package/angular/utils/formatter/formats/en.d.ts +1 -0
  202. package/angular/utils/formatter/formats/es.d.ts +54 -0
  203. package/angular/utils/formatter/formats/fi.d.ts +20 -0
  204. package/angular/utils/formatter/formats/fr.d.ts +54 -0
  205. package/angular/utils/formatter/formats/he.d.ts +20 -0
  206. package/angular/utils/formatter/formats/hu.d.ts +20 -0
  207. package/angular/utils/formatter/formats/it.d.ts +54 -0
  208. package/angular/utils/formatter/formats/ja.d.ts +20 -0
  209. package/angular/utils/formatter/formats/ko.d.ts +20 -0
  210. package/angular/utils/formatter/formats/mk.d.ts +20 -0
  211. package/angular/utils/formatter/formats/nl.d.ts +21 -0
  212. package/angular/utils/formatter/formats/no.d.ts +21 -0
  213. package/angular/utils/formatter/formats/pl.d.ts +20 -0
  214. package/angular/utils/formatter/formats/pt.d.ts +20 -0
  215. package/angular/utils/formatter/formats/ru.d.ts +20 -0
  216. package/angular/utils/formatter/formats/sv.d.ts +20 -0
  217. package/angular/utils/formatter/formats/tr.d.ts +21 -0
  218. package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
  219. package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
  220. package/angular/utils/formatter/formatter.d.ts +9 -0
  221. package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
  222. package/angular/utils/formatter/get-localized-name.d.ts +4 -0
  223. package/angular/utils/formatter/localize.d.ts +3 -0
  224. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
  225. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
  226. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
  227. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
  228. package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
  229. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +1 -0
  230. package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
  231. package/angular/utils/formula/base/formula-base.d.ts +117 -0
  232. package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
  233. package/angular/utils/formula/codemirror/actions.d.ts +47 -0
  234. package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
  235. package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
  236. package/angular/utils/formula/codemirror/parser.d.ts +16 -0
  237. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
  238. package/angular/utils/formula/codemirror/theme.d.ts +20 -0
  239. package/angular/utils/formula/codemirror/widget.d.ts +18 -0
  240. package/angular/utils/formula/config/aggregations.d.ts +9 -0
  241. package/angular/utils/formula/config/build-datasets.d.ts +10 -0
  242. package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
  243. package/angular/utils/formula/config/functions.d.ts +3 -0
  244. package/angular/utils/formula/config/groupings.d.ts +9 -0
  245. package/angular/utils/formula/config/regex.d.ts +39 -0
  246. package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
  247. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
  248. package/angular/utils/formula/config/validate-expression.d.ts +19 -0
  249. package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
  250. package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
  251. package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
  252. package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
  253. package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
  254. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
  255. package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
  256. package/angular/utils/get-css-variable.d.ts +1 -0
  257. package/angular/utils/index.d.ts +10 -0
  258. package/angular/utils/localize/set-locale.d.ts +7 -0
  259. package/angular/utils/map-tile-providers/index.d.ts +93 -0
  260. package/angular/utils/set-nested-value.d.ts +6 -0
  261. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
  262. package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
  263. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
  264. package/angular/utils/slot-state/slot-context.d.ts +4 -0
  265. package/angular/utils/slot-state/slot-store.d.ts +39 -0
  266. package/angular/utils/store/base-store.d.ts +158 -0
  267. package/angular/utils/store/dashboard-store.d.ts +49 -0
  268. package/angular/utils/store/index.d.ts +135 -0
  269. package/angular/utils/store/item-store.d.ts +33 -0
  270. package/angular/utils/store/store-registry.d.ts +170 -0
  271. package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
  272. package/angular/utils/store/tests/item-store.test.d.ts +1 -0
  273. package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
  274. package/angular/utils/store/types.d.ts +270 -0
  275. package/angular/utils/switch-item/index.d.ts +34 -0
  276. package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
  277. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
  278. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
  279. package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
  280. package/angular/utils/tests/set-nested-value.test.d.ts +1 -0
  281. package/angular/utils/themes/bliss.d.ts +2 -0
  282. package/angular/utils/themes/classic-dark.d.ts +2 -0
  283. package/angular/utils/themes/classic.d.ts +2 -0
  284. package/angular/utils/themes/default-dark.d.ts +2 -0
  285. package/angular/utils/themes/default.d.ts +2 -0
  286. package/angular/utils/themes/index.d.ts +4 -0
  287. package/angular/utils/themes/orion.d.ts +2 -0
  288. package/angular/utils/themes/pinky.d.ts +2 -0
  289. package/angular/utils/themes/radiant.d.ts +2 -0
  290. package/angular/utils/themes/royale.d.ts +2 -0
  291. package/angular/utils/themes/seasonal.d.ts +2 -0
  292. package/angular/utils/themes/urban.d.ts +2 -0
  293. package/angular/utils/themes/vivid.d.ts +2 -0
  294. package/angular/utils/time/formats.const.d.ts +4 -0
  295. package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
  296. package/angular/utils/time/periods.const.d.ts +15 -0
  297. package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
  298. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
  299. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
  300. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
  301. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
  302. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
  303. package/angular/utils/types/tests/type-check.test.d.ts +1 -0
  304. package/angular/utils/types/type-check.d.ts +28 -0
  305. package/components/ai-chat/ai-chat-events.d.ts +19 -3
  306. package/components/ai-chat/ai-chat-request.d.ts +5 -0
  307. package/components/ai-chat/ai-chat.d.ts +24 -5
  308. package/components/ai-chat/ai-prompt-types.d.ts +17 -2
  309. package/components/ai-chat/helpers/agent-config.d.ts +12 -0
  310. package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
  311. package/components/ai-chat/index.cjs +1 -1
  312. package/components/ai-chat/index.d.ts +2 -1
  313. package/components/ai-chat/index.js +3 -3
  314. package/components/ai-chat/session/ai-chat-session-controller.d.ts +3 -0
  315. package/components/ai-chat/session/ai-chat-session-types.d.ts +19 -3
  316. package/components/ai-chat/session/ai-chat-session.d.ts +17 -1
  317. package/components/ai-chat/stream/chunk-extractors.d.ts +3 -1
  318. package/components/ai-chat/stream/index.d.ts +1 -0
  319. package/components/ai-chat/stream/types.d.ts +5 -1
  320. package/components/ai-chat/types.d.ts +24 -0
  321. package/components/ai-chat-CG-eIiBr.cjs +337 -0
  322. package/components/{ai-chat-CI9l8ZOE.js → ai-chat-CMc_9Oo2.js} +917 -694
  323. package/components/ai-interaction-textarea/index.cjs +1 -1
  324. package/components/ai-interaction-textarea/index.js +1 -1
  325. package/components/{ai-interaction-textarea-Crcz4rCV.cjs → ai-interaction-textarea-B6tZgh5k.cjs} +1 -1
  326. package/components/{ai-interaction-textarea-BbVH-aF4.js → ai-interaction-textarea-D9g9G0T1.js} +3 -3
  327. package/components/{area-chart-positioning.config-DT7OiLe4.js → area-chart-positioning.config-BEwDQj3T.js} +1 -1
  328. package/components/{area-chart-positioning.config-D8_KYS-h.cjs → area-chart-positioning.config-CS-5H8-C.cjs} +1 -1
  329. package/components/{bar-chart-positioning.config-FEwWvMF6.js → bar-chart-positioning.config-CBbTYesB.js} +1 -1
  330. package/components/{bar-chart-positioning.config-CnMHGk5K.cjs → bar-chart-positioning.config-DkIvwJI5.cjs} +1 -1
  331. package/components/{base-XtzYH7G4.cjs → base-D6QPZnpu.cjs} +1 -1
  332. package/components/{base-BkD2CWTy.js → base-DSeXdW9S.js} +1 -1
  333. package/components/{box-plot-positioning.config-DxRLb2qS.js → box-plot-positioning.config-CNC-RTwl.js} +1 -1
  334. package/components/{box-plot-positioning.config-Cij5pfeH.cjs → box-plot-positioning.config-o5D-mRFr.cjs} +1 -1
  335. package/components/{bubble-chart-positioning.config-CVnk6LlN.js → bubble-chart-positioning.config-3ilPXLpZ.js} +1 -1
  336. package/components/{bubble-chart-positioning.config-BmNR5EQH.cjs → bubble-chart-positioning.config-CtreNdST.cjs} +1 -1
  337. package/components/{bullet-chart-positioning.config-7sPWksMT.js → bullet-chart-positioning.config-CkFhShBk.js} +1 -1
  338. package/components/{bullet-chart-positioning.config-CNkU3bzI.cjs → bullet-chart-positioning.config-dHj3YrT_.cjs} +1 -1
  339. package/components/{choropleth-map-positioning.config-CljoQanM.cjs → choropleth-map-positioning.config-BSs-bRGv.cjs} +1 -1
  340. package/components/{choropleth-map-positioning.config-CuaL7fSP.js → choropleth-map-positioning.config-DOt86t59.js} +1 -1
  341. package/components/{circle-pack-chart-positioning.config-maqHu5T2.js → circle-pack-chart-positioning.config-BkFATJjC.js} +1 -1
  342. package/components/{circle-pack-chart-positioning.config-CiF6h2TX.cjs → circle-pack-chart-positioning.config-CVNdIYau.cjs} +1 -1
  343. package/components/{circular-gauge-positioning.config-e9_VgpRY.js → circular-gauge-positioning.config-BV2xb5TF.js} +1 -1
  344. package/components/{circular-gauge-positioning.config-BK2YSDr1.cjs → circular-gauge-positioning.config-SrbCaaOr.cjs} +1 -1
  345. package/components/{column-chart-positioning.config-DdiwInY-.cjs → column-chart-positioning.config-DTQe3h_H.cjs} +1 -1
  346. package/components/{column-chart-positioning.config-DpPXllzx.js → column-chart-positioning.config-T7juV3XT.js} +1 -1
  347. package/components/{combination-chart-positioning.config-D7c6z5j6.js → combination-chart-positioning.config-78C7wKnS.js} +1 -1
  348. package/components/{combination-chart-positioning.config-5Qnm4ZYG.cjs → combination-chart-positioning.config-BrSmdan-.cjs} +1 -1
  349. package/components/{conditional-number-positioning.config-Bmc5b4Hr.cjs → conditional-number-positioning.config-_9ySKU1z.cjs} +1 -1
  350. package/components/{conditional-number-positioning.config-BnMcO9mu.js → conditional-number-positioning.config-z_eEfpud.js} +1 -1
  351. package/components/data-field/index.cjs +1 -1
  352. package/components/data-field/index.js +1 -1
  353. package/components/{data-field-BmpgtPX8.cjs → data-field-9ZZFw68C.cjs} +1 -1
  354. package/components/{data-field-DTQxvpeM.js → data-field-D1WW_V0N.js} +3 -3
  355. package/components/data-field-level/index.cjs +1 -1
  356. package/components/data-field-level/index.js +1 -1
  357. package/components/{data-field-level-EOj5KvoG.js → data-field-level-DR_dXjnL.js} +1 -1
  358. package/components/{data-field-level-D0RZHwqF.cjs → data-field-level-Dc-EMhC3.cjs} +1 -1
  359. package/components/data-field-panel/index.cjs +1 -1
  360. package/components/data-field-panel/index.js +1 -1
  361. package/components/{data-field-panel-Bc_4pQwc.cjs → data-field-panel-DFA97_8o.cjs} +1 -1
  362. package/components/{data-field-panel-Dya_9wHn.js → data-field-panel-U-5Q-TRp.js} +3 -3
  363. package/components/data-fields-select/index.cjs +1 -1
  364. package/components/data-fields-select/index.js +1 -1
  365. package/components/{data-fields-select-2Da7XC6m.js → data-fields-select-BYhAzdA6.js} +1 -1
  366. package/components/{data-fields-select-D4Sxxb_Z.cjs → data-fields-select-BtXNFZy9.cjs} +1 -1
  367. package/components/dataset-selector-list/index.cjs +1 -1
  368. package/components/dataset-selector-list/index.js +1 -1
  369. package/components/{dataset-selector-list-m1XmVt8T.cjs → dataset-selector-list-BXg6DIKI.cjs} +1 -1
  370. package/components/{dataset-selector-list-CK9KzC1a.js → dataset-selector-list-q6qWA7B-.js} +1 -1
  371. package/components/dataset-selector-row/index.cjs +1 -1
  372. package/components/dataset-selector-row/index.js +1 -1
  373. package/components/{dataset-selector-row-gBQl1Bza.js → dataset-selector-row-ZKET7lVc.js} +2 -2
  374. package/components/{dataset-selector-row-B78ZLWQS.cjs → dataset-selector-row-bqwY3zaf.cjs} +1 -1
  375. package/components/{de-_-1hLVI0.js → de-C5CMIy08.js} +3 -0
  376. package/components/de-CdZnQbKI.cjs +20 -0
  377. package/components/display-settings/index.cjs +1 -1
  378. package/components/display-settings/index.js +1 -1
  379. package/components/{display-settings-DLWnhQe0.cjs → display-settings-BlMhlvVS.cjs} +1 -1
  380. package/components/{display-settings-DgOPeUie.js → display-settings-D_wBgzm1.js} +2 -2
  381. package/components/display-settings-binning/index.cjs +1 -1
  382. package/components/display-settings-binning/index.js +1 -1
  383. package/components/{display-settings-binning-CE4hmdtx.js → display-settings-binning-GIE6ww1Q.js} +2 -2
  384. package/components/{display-settings-binning-CYM7FpXw.cjs → display-settings-binning-HrXOdGwO.cjs} +1 -1
  385. package/components/display-settings-datetime/index.cjs +1 -1
  386. package/components/display-settings-datetime/index.js +1 -1
  387. package/components/{display-settings-datetime-h8CvoTZ8.cjs → display-settings-datetime-DNeLEl3L.cjs} +1 -1
  388. package/components/{display-settings-datetime-D4f_o6NK.js → display-settings-datetime-YS7_TUet.js} +2 -2
  389. package/components/display-settings-grand-totals/index.cjs +1 -1
  390. package/components/display-settings-grand-totals/index.js +1 -1
  391. package/components/{display-settings-grand-totals-CnP8P-cu.js → display-settings-grand-totals-Bt_ju8jp.js} +2 -2
  392. package/components/{display-settings-grand-totals-D0YsVbSs.cjs → display-settings-grand-totals-C-7s1Tyo.cjs} +1 -1
  393. package/components/display-settings-numeric/index.cjs +1 -1
  394. package/components/display-settings-numeric/index.js +1 -1
  395. package/components/{display-settings-numeric-DF4zjmZj.cjs → display-settings-numeric--uwJWzC1.cjs} +1 -1
  396. package/components/{display-settings-numeric-DyAFuYTz.js → display-settings-numeric-OHmktQsz.js} +2 -2
  397. package/components/display-settings-period-over-period/index.cjs +1 -1
  398. package/components/display-settings-period-over-period/index.js +1 -1
  399. package/components/{display-settings-period-over-period-B634a88N.js → display-settings-period-over-period-B1_IJjWK.js} +2 -2
  400. package/components/{display-settings-period-over-period-DXuRHg-1.cjs → display-settings-period-over-period-C4X8c-_R.cjs} +1 -1
  401. package/components/{donut-chart-positioning.config-BhIwOPI0.cjs → donut-chart-positioning.config-BY2TIeeY.cjs} +1 -1
  402. package/components/{donut-chart-positioning.config-Peq3v9qK.js → donut-chart-positioning.config-D34HegyZ.js} +1 -1
  403. package/components/es-7RD7O4q3.cjs +20 -0
  404. package/components/{es-Cdl4GvQt.js → es-BCur0-77.js} +3 -0
  405. package/components/{evolution-number-positioning.config-ClGlayIt.cjs → evolution-number-positioning.config-BBvULr59.cjs} +1 -1
  406. package/components/{evolution-number-positioning.config-e90XUBQG.js → evolution-number-positioning.config-CKzCTjdO.js} +1 -1
  407. package/components/filter-expression-picker/index.cjs +1 -1
  408. package/components/filter-expression-picker/index.js +1 -1
  409. package/components/{filter-expression-picker-COCoT5LG.cjs → filter-expression-picker-BOLyxG2r.cjs} +1 -1
  410. package/components/{filter-expression-picker-BPAwOijt.js → filter-expression-picker-DurfSgRY.js} +1 -1
  411. package/components/filter-item/index.cjs +1 -1
  412. package/components/filter-item/index.js +1 -1
  413. package/components/{filter-item-CbDbNmni.js → filter-item-C58zIpPh.js} +5 -5
  414. package/components/{filter-item-cyApfc9M.cjs → filter-item-obyHcs9f.cjs} +1 -1
  415. package/components/filter-parameter-picker/index.cjs +1 -1
  416. package/components/filter-parameter-picker/index.js +1 -1
  417. package/components/{filter-parameter-picker-CCd77cYS.js → filter-parameter-picker-BWNBc8BI.js} +1 -1
  418. package/components/{filter-parameter-picker-F68BatwD.cjs → filter-parameter-picker-DSYaE9Sv.cjs} +1 -1
  419. package/components/filter-value-picker/index.cjs +1 -1
  420. package/components/filter-value-picker/index.js +1 -1
  421. package/components/{filter-value-picker-DADia7jo.cjs → filter-value-picker-DYl_1pis.cjs} +1 -1
  422. package/components/filter-value-picker-datetime/index.cjs +1 -1
  423. package/components/filter-value-picker-datetime/index.js +1 -1
  424. package/components/{filter-value-picker-datetime-CuMmWJFV.cjs → filter-value-picker-datetime-BFbmCKs3.cjs} +1 -1
  425. package/components/{filter-value-picker-datetime-DM2K7Nrv.js → filter-value-picker-datetime-CP5__ua6.js} +1 -1
  426. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  427. package/components/filter-value-picker-hierarchy/index.js +1 -1
  428. package/components/{filter-value-picker-hierarchy-BQTrc0ZU.cjs → filter-value-picker-hierarchy-BTf992WX.cjs} +1 -1
  429. package/components/{filter-value-picker-hierarchy-W-a9ycWV.js → filter-value-picker-hierarchy-j0LRYW1c.js} +2 -2
  430. package/components/{filter-value-picker-CLUUhn1d.js → filter-value-picker-kzIrnmdp.js} +4 -4
  431. package/components/filter-value-picker-numeric/index.cjs +1 -1
  432. package/components/filter-value-picker-numeric/index.js +1 -1
  433. package/components/{filter-value-picker-numeric-DL5cqR8I.js → filter-value-picker-numeric-BmKmeOol.js} +1 -1
  434. package/components/{filter-value-picker-numeric-CXfgDZ4W.cjs → filter-value-picker-numeric-DJi0Utk_.cjs} +1 -1
  435. package/components/filters/index.cjs +1 -1
  436. package/components/filters/index.js +1 -1
  437. package/components/{filters-bruSosZt.js → filters-BddhKRZC.js} +2 -2
  438. package/components/{filters-Dj4mQklp.cjs → filters-Dx6g0xl9.cjs} +1 -1
  439. package/components/formula/index.cjs +1 -1
  440. package/components/formula/index.js +1 -1
  441. package/components/{formula-CbApVbw7.js → formula-BYx4gH6i.js} +2 -2
  442. package/components/{formula-DkANj6Hi.cjs → formula-cc2AaiLt.cjs} +1 -1
  443. package/components/{formula-codemirror-C_wCMc2M.js → formula-codemirror-CVzyYNLO.js} +4 -4
  444. package/components/{formula-codemirror-DGxXJYCi.cjs → formula-codemirror-EMK3MCNZ.cjs} +1 -1
  445. package/components/{formula-display-store-SkrNDfyG.js → formula-display-store-BPn9m5TL.js} +3 -3
  446. package/components/{formula-display-store-B2DUrVwh.cjs → formula-display-store-DER7C0GG.cjs} +1 -1
  447. package/components/formula-editor/index.cjs +1 -1
  448. package/components/formula-editor/index.js +3 -3
  449. package/components/{formula-editor-DX5FRb2v.js → formula-editor-BxoIkARr.js} +5 -5
  450. package/components/{formula-editor-Dv4UIAe_.cjs → formula-editor-CWKXcUTF.cjs} +1 -1
  451. package/components/formula-field/index.cjs +1 -1
  452. package/components/formula-field/index.js +1 -1
  453. package/components/{formula-field-CwnAHHpw.js → formula-field-BtvaOWki.js} +1 -1
  454. package/components/{formula-field-tJsQsXic.cjs → formula-field-CzS2pKJI.cjs} +1 -1
  455. package/components/{formula-input-base-6iVykYb0.cjs → formula-input-base-CvD0b2cO.cjs} +1 -1
  456. package/components/{formula-input-base-mKhAiYM0.js → formula-input-base-DVtGLoyA.js} +1 -1
  457. package/components/{fr-qv7EjBRo.js → fr-BnECl1nx.js} +3 -0
  458. package/components/fr-CGw2IwXh.cjs +20 -0
  459. package/components/{funnel-chart-positioning.config-PrEIQPXg.cjs → funnel-chart-positioning.config-BPSmV76y.cjs} +1 -1
  460. package/components/{funnel-chart-positioning.config-Havc4gNs.js → funnel-chart-positioning.config-CvhpE7rN.js} +1 -1
  461. package/components/{get-dataset-name-CIf7x0nh.js → get-dataset-name-D53TN7N9.js} +1 -1
  462. package/components/{get-dataset-name-BR_H1MNL.cjs → get-dataset-name-DYLdbEs-.cjs} +1 -1
  463. package/components/{groupings-BKSBZ34s.cjs → groupings-Bn9384Zw.cjs} +1 -1
  464. package/components/{groupings-CIVQITJp.js → groupings-BtmmUlPK.js} +1 -1
  465. package/components/{heat-map-positioning.config-CF6XNksR.js → heat-map-positioning.config-AOHTEJf7.js} +1 -1
  466. package/components/{heat-map-positioning.config-L91C9c0t.cjs → heat-map-positioning.config-CHDHFIo2.cjs} +1 -1
  467. package/components/{heat-table-positioning.config-BuH8txu-.cjs → heat-table-positioning.config-DCLE9cy4.cjs} +1 -1
  468. package/components/{heat-table-positioning.config-0YNV-Whw.js → heat-table-positioning.config-DprOfmlW.js} +1 -1
  469. package/components/{hexbin-map-positioning.config-wKi8qbMF.js → hexbin-map-positioning.config-BjxkoqGh.js} +1 -1
  470. package/components/{hexbin-map-positioning.config-Dx42tGRj.cjs → hexbin-map-positioning.config-BmLljWez.cjs} +1 -1
  471. package/components/index.cjs +1 -1
  472. package/components/index.js +67 -67
  473. package/components/interactive-viz-item/index.cjs +1 -1
  474. package/components/interactive-viz-item/index.js +1 -1
  475. package/components/{interactive-viz-item-DMOsdrLN.js → interactive-viz-item-DL5aqkvx.js} +5 -5
  476. package/components/{interactive-viz-item-YwkjBGtN.cjs → interactive-viz-item-DTr14-9-.cjs} +1 -1
  477. package/components/item-grid/index.cjs +1 -1
  478. package/components/item-grid/index.js +1 -1
  479. package/components/{item-grid-iYxxuvvA.js → item-grid-C_OTtv4T.js} +6 -6
  480. package/components/{item-grid-B1ColM8x.cjs → item-grid-CcwnD_u5.cjs} +4 -4
  481. package/components/item-option/index.cjs +1 -1
  482. package/components/item-option/index.js +1 -1
  483. package/components/{item-option-BIWC5VRT.js → item-option-DRWLN89_.js} +1 -1
  484. package/components/item-option-action-button-group/index.cjs +1 -1
  485. package/components/item-option-action-button-group/index.js +1 -1
  486. package/components/{item-option-action-button-group-TPUU3sts.js → item-option-action-button-group-B9ghoHeh.js} +1 -1
  487. package/components/{item-option-action-button-group-Dq6xKpHi.cjs → item-option-action-button-group-Byg9h7uo.cjs} +1 -1
  488. package/components/{item-option-base-BKo7DBxK.cjs → item-option-base-Dwf3dByS.cjs} +1 -1
  489. package/components/{item-option-base-DcZILy3S.js → item-option-base-pYrkqt6q.js} +1 -1
  490. package/components/item-option-color-palette-picker/index.cjs +1 -1
  491. package/components/item-option-color-palette-picker/index.js +1 -1
  492. package/components/{item-option-color-palette-picker-i6Tnv4qN.js → item-option-color-palette-picker-DnVqGnm4.js} +1 -1
  493. package/components/{item-option-color-palette-picker-C_Jx5Prb.cjs → item-option-color-palette-picker-v6TBE-I0.cjs} +1 -1
  494. package/components/item-option-color-picker/index.cjs +1 -1
  495. package/components/item-option-color-picker/index.js +1 -1
  496. package/components/{item-option-color-picker-Co3iTjwo.cjs → item-option-color-picker-CNkNZ1p-.cjs} +1 -1
  497. package/components/{item-option-color-picker-BSXsKzZ-.js → item-option-color-picker-CO-OAFOs.js} +1 -1
  498. package/components/item-option-color-range/index.cjs +1 -1
  499. package/components/item-option-color-range/index.js +1 -1
  500. package/components/{item-option-color-range-CUYGCwQG.cjs → item-option-color-range-BveD6fsp.cjs} +1 -1
  501. package/components/{item-option-color-range-DE8-UNxr.js → item-option-color-range-bdYUxgQ9.js} +1 -1
  502. package/components/item-option-guidelines/index.cjs +1 -1
  503. package/components/item-option-guidelines/index.js +1 -1
  504. package/components/{item-option-guidelines-DWdPS45K.js → item-option-guidelines-Ce88dTV-.js} +3 -3
  505. package/components/{item-option-guidelines-DUjfN-eB.cjs → item-option-guidelines-D8UjylMx.cjs} +1 -1
  506. package/components/{item-option-Cz10G9yw.cjs → item-option-h8URFjZ2.cjs} +1 -1
  507. package/components/item-option-multi-language-field/index.cjs +1 -1
  508. package/components/item-option-multi-language-field/index.js +1 -1
  509. package/components/{item-option-multi-language-field-D5e36e1G.js → item-option-multi-language-field-0qfdBanp.js} +1 -1
  510. package/components/{item-option-multi-language-field-CWE9WrxP.cjs → item-option-multi-language-field-D0jRPAjY.cjs} +1 -1
  511. package/components/item-option-number-field/index.cjs +1 -1
  512. package/components/item-option-number-field/index.js +1 -1
  513. package/components/{item-option-number-field-BElZmdUU.js → item-option-number-field-CcEav5C3.js} +1 -1
  514. package/components/{item-option-number-field-RJ88VAyR.cjs → item-option-number-field-DYJ0eIf7.cjs} +1 -1
  515. package/components/item-option-panel/index.cjs +1 -1
  516. package/components/item-option-panel/index.js +1 -1
  517. package/components/{item-option-panel-BmaT4y_2.cjs → item-option-panel-6Voh87nt.cjs} +1 -1
  518. package/components/{item-option-panel-D7klHx03.js → item-option-panel-DrI7HYrY.js} +2 -2
  519. package/components/item-option-picker/index.cjs +1 -1
  520. package/components/item-option-picker/index.js +1 -1
  521. package/components/{item-option-picker-DnWKHPYS.js → item-option-picker-Bv4aGaCO.js} +1 -1
  522. package/components/{item-option-picker-C3M-7kWF.cjs → item-option-picker-DkEgfEE7.cjs} +1 -1
  523. package/components/item-option-position-picker/index.cjs +1 -1
  524. package/components/item-option-position-picker/index.js +1 -1
  525. package/components/{item-option-position-picker-CUTrYLPj.js → item-option-position-picker-1d7qZmDv.js} +1 -1
  526. package/components/{item-option-position-picker-B2qUrVJd.cjs → item-option-position-picker-CKgaqFJR.cjs} +1 -1
  527. package/components/item-option-positions-number-field/index.cjs +1 -1
  528. package/components/item-option-positions-number-field/index.js +1 -1
  529. package/components/{item-option-positions-number-field-EXPp_Vr4.cjs → item-option-positions-number-field-BJXer0y5.cjs} +1 -1
  530. package/components/{item-option-positions-number-field-B4zcS62B.js → item-option-positions-number-field-DUlBsbUL.js} +1 -1
  531. package/components/item-option-radio-button-group/index.cjs +1 -1
  532. package/components/item-option-radio-button-group/index.js +1 -1
  533. package/components/{item-option-radio-button-group-D8GbkHVX.cjs → item-option-radio-button-group-ChtTIO3B.cjs} +1 -1
  534. package/components/{item-option-radio-button-group-Cs1sSCVM.js → item-option-radio-button-group-DuMcIZvr.js} +1 -1
  535. package/components/item-option-slider/index.cjs +1 -1
  536. package/components/item-option-slider/index.js +1 -1
  537. package/components/{item-option-slider-Bo1ALP8q.cjs → item-option-slider-CBSnkHVq.cjs} +1 -1
  538. package/components/{item-option-slider-CcKLS-V5.js → item-option-slider-CWxRoAbA.js} +1 -1
  539. package/components/item-option-switch/index.cjs +1 -1
  540. package/components/item-option-switch/index.js +1 -1
  541. package/components/{item-option-switch-Ch6u9CAm.js → item-option-switch-DvMLATBO.js} +1 -1
  542. package/components/{item-option-switch-CpeC7Eh7.cjs → item-option-switch-dO66fjoD.cjs} +1 -1
  543. package/components/item-option-text-field/index.cjs +1 -1
  544. package/components/item-option-text-field/index.js +1 -1
  545. package/components/{item-option-text-field-DAbQegOZ.js → item-option-text-field-DS-gn_Gc.js} +1 -1
  546. package/components/{item-option-text-field-BxvQAHf3.cjs → item-option-text-field-Furz80ho.cjs} +1 -1
  547. package/components/item-slot-drop/index.cjs +1 -1
  548. package/components/item-slot-drop/index.js +1 -1
  549. package/components/{item-slot-drop-DDffbp-i.js → item-slot-drop-DE90FDdS.js} +5 -5
  550. package/components/{item-slot-drop-mKhyjodt.cjs → item-slot-drop-f8jm-34W.cjs} +1 -1
  551. package/components/item-slot-drop-panel/index.cjs +1 -1
  552. package/components/item-slot-drop-panel/index.js +1 -1
  553. package/components/{item-slot-drop-panel-BtrZehGL.js → item-slot-drop-panel-CyfhbUlE.js} +39 -39
  554. package/components/{item-slot-drop-panel-CKXMQCyt.cjs → item-slot-drop-panel-DLqyYvKj.cjs} +1 -1
  555. package/components/item-slot-picker/index.cjs +1 -1
  556. package/components/item-slot-picker/index.js +1 -1
  557. package/components/{item-slot-picker-CWqeOJ8R.js → item-slot-picker-BM03UNRE.js} +6 -6
  558. package/components/{item-slot-picker-CwMjRpkT.cjs → item-slot-picker-CgEtqhqe.cjs} +1 -1
  559. package/components/item-slot-picker-panel/index.cjs +1 -1
  560. package/components/item-slot-picker-panel/index.js +1 -1
  561. package/components/{item-slot-picker-panel-C6Hpc2rT.cjs → item-slot-picker-panel-CuH3OcmV.cjs} +1 -1
  562. package/components/{item-slot-picker-panel-cD3DvPbA.js → item-slot-picker-panel-DPaabfv5.js} +3 -3
  563. package/components/{line-chart-positioning.config-ZZid30rm.cjs → line-chart-positioning.config-BnDYCjGX.cjs} +1 -1
  564. package/components/{line-chart-positioning.config-DoHg1rwA.js → line-chart-positioning.config-CPGyHeJF.js} +1 -1
  565. package/components/{localized-mixin-DZFYG6RG.cjs → localized-mixin-CtNoCjjI.cjs} +1 -1
  566. package/components/{localized-mixin-CSF-kZFt.js → localized-mixin-DBUkUh0o.js} +1 -1
  567. package/components/{marker-map-positioning.config-DGZWoFAk.cjs → marker-map-positioning.config-Bq1EPg3J.cjs} +1 -1
  568. package/components/{marker-map-positioning.config-DX6bFQld.js → marker-map-positioning.config-CBERtxkG.js} +1 -1
  569. package/components/nl-BnzS_ZtB.cjs +20 -0
  570. package/components/{nl-MWgzbW0R.js → nl-h9vVAk2e.js} +3 -0
  571. package/components/{ohlc-chart-positioning.config-DaEUcXBJ.js → ohlc-chart-positioning.config-CpPJyyLB.js} +1 -1
  572. package/components/{ohlc-chart-positioning.config-Bev8Atsx.cjs → ohlc-chart-positioning.config-aCf-SEt7.cjs} +1 -1
  573. package/components/{parallel-coordinates-plot-positioning.config-DJ7K-dVp.cjs → parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs} +1 -1
  574. package/components/{parallel-coordinates-plot-positioning.config-NWEEOd4d.js → parallel-coordinates-plot-positioning.config-DsNDp1G7.js} +1 -1
  575. package/components/{pivot-table-positioning.config-DpMiUVtd.js → pivot-table-positioning.config-BFWS3Yk_.js} +1 -1
  576. package/components/{pivot-table-positioning.config-U-M08Rwc.cjs → pivot-table-positioning.config-gBHM1_-K.cjs} +1 -1
  577. package/components/{pyramid-chart-positioning.config-CZwx_f40.js → pyramid-chart-positioning.config-B8dbZhvt.js} +1 -1
  578. package/components/{pyramid-chart-positioning.config-BpdI6jmg.cjs → pyramid-chart-positioning.config-DD64vCwl.cjs} +1 -1
  579. package/components/{radar-chart-positioning.config-IFacftgi.js → radar-chart-positioning.config-C2DWQu8V.js} +1 -1
  580. package/components/{radar-chart-positioning.config-IcaEKe9Q.cjs → radar-chart-positioning.config-DN51_Tzb.cjs} +1 -1
  581. package/components/{route-map-positioning.config-CHfz0eM_.js → route-map-positioning.config-D7X6QuWY.js} +1 -1
  582. package/components/{route-map-positioning.config-DKZvRmfJ.cjs → route-map-positioning.config-ryk_dUkh.cjs} +1 -1
  583. package/components/{sankey-diagram-positioning.config-BaCoBJXV.js → sankey-diagram-positioning.config-A_7xM06n.js} +1 -1
  584. package/components/{sankey-diagram-positioning.config-DJaK2xJX.cjs → sankey-diagram-positioning.config-CJfGpnPS.cjs} +1 -1
  585. package/components/{scatter-plot-positioning.config-DaNI54rh.cjs → scatter-plot-positioning.config-Duao2ftU.cjs} +1 -1
  586. package/components/{scatter-plot-positioning.config-PC47tloI.js → scatter-plot-positioning.config-qpwrugRe.js} +1 -1
  587. package/components/{set-locale-v6POkwmC.cjs → set-locale-B-GvqA1H.cjs} +1 -1
  588. package/components/{set-locale-Jz3DhqaW.js → set-locale-CgCeLPlb.js} +4 -4
  589. package/components/{slicer-filter-positioning.config-DMqYOG9Z.js → slicer-filter-positioning.config-93hC7jID.js} +1 -1
  590. package/components/{slicer-filter-positioning.config-KANe71ep.cjs → slicer-filter-positioning.config-DxhC39ak.cjs} +1 -1
  591. package/components/slot-menu/index.cjs +1 -1
  592. package/components/slot-menu/index.js +1 -1
  593. package/components/{slot-menu-CWMA97fn.cjs → slot-menu-CPxyyKSe.cjs} +6 -6
  594. package/components/{slot-menu-Cwee5fNa.js → slot-menu-DHJtAZ5_.js} +16 -16
  595. package/components/slot-menu-list/index.cjs +1 -1
  596. package/components/slot-menu-list/index.js +1 -1
  597. package/components/{slot-menu-list-BEou0QhK.cjs → slot-menu-list-CeWcE4KK.cjs} +1 -1
  598. package/components/{slot-menu-list-De2q0GGZ.js → slot-menu-list-QltpaoWh.js} +1 -1
  599. package/components/{speedometer-chart-positioning.config-CYVK0VnJ.js → speedometer-chart-positioning.config-CZbwyYsk.js} +1 -1
  600. package/components/{speedometer-chart-positioning.config-DW3dJD7n.cjs → speedometer-chart-positioning.config-DtRG3-e5.cjs} +1 -1
  601. package/components/{spike-map-positioning.config-Dl-Uf_O6.cjs → spike-map-positioning.config-CevjyQ5F.cjs} +1 -1
  602. package/components/{spike-map-positioning.config-CfVFEygx.js → spike-map-positioning.config-LBqSYD2n.js} +1 -1
  603. package/components/{strip-plot-positioning.config-eJ5MbyBk.cjs → strip-plot-positioning.config-DF5VxzvB.cjs} +1 -1
  604. package/components/{strip-plot-positioning.config-BMNtb-to.js → strip-plot-positioning.config-cCdQxMM_.js} +1 -1
  605. package/components/{sunburst-chart-positioning.config-CJgmPm-9.cjs → sunburst-chart-positioning.config-CERBvfoF.cjs} +1 -1
  606. package/components/{sunburst-chart-positioning.config-BRWF7dVf.js → sunburst-chart-positioning.config-DmkZEexM.js} +1 -1
  607. package/components/{symbol-map-positioning.config-_8L-oDxW.js → symbol-map-positioning.config-BwG_G6He.js} +1 -1
  608. package/components/{symbol-map-positioning.config-ONSN27l9.cjs → symbol-map-positioning.config-DhYxG8RC.cjs} +1 -1
  609. package/components/{treemap-chart-positioning.config-DrCRoNzf.cjs → treemap-chart-positioning.config-BwrrXs4a.cjs} +1 -1
  610. package/components/{treemap-chart-positioning.config-Bggn7Mqz.js → treemap-chart-positioning.config-arjPT6b_.js} +1 -1
  611. package/components/utils/base.cjs +1 -1
  612. package/components/utils/base.js +2 -2
  613. package/components/{utils-B2Eqs5i5.js → utils-B_rE5b7a.js} +1 -1
  614. package/components/{utils-CNH9xGyk.cjs → utils-BwJNkc-z.cjs} +1 -1
  615. package/components/utils.cjs +1 -1
  616. package/components/utils.js +2 -2
  617. package/components/{venn-diagram-positioning.config-BoH0wNEM.js → venn-diagram-positioning.config-DSh3Ns9L.js} +1 -1
  618. package/components/{venn-diagram-positioning.config-B-prEVEc.cjs → venn-diagram-positioning.config-GGLCcrqp.cjs} +1 -1
  619. package/components/viz-item-menu/index.cjs +1 -1
  620. package/components/viz-item-menu/index.js +1 -1
  621. package/components/{viz-item-menu-BUSjo6j_.js → viz-item-menu-Ht6bklNL.js} +1 -1
  622. package/components/{viz-item-menu-C-kpX-Ft.cjs → viz-item-menu-XHh4qhtn.cjs} +1 -1
  623. package/components/{wordcloud-chart-positioning.config-B6pvD7_a.js → wordcloud-chart-positioning.config-B8ZzwIdd.js} +1 -1
  624. package/components/{wordcloud-chart-positioning.config-BJi5SVYf.cjs → wordcloud-chart-positioning.config-Cxyhs6gk.cjs} +1 -1
  625. package/custom-elements.json +254 -5
  626. package/package.json +1 -1
  627. package/react/components/ai-chat.component.ts +2 -2
  628. package/react/esm/components/ai-chat.component.d.ts +2 -2
  629. package/react/esm/components/ai-chat.component.js +2 -2
  630. package/react/package.json +2 -2
  631. package/types/ai-chat.types.d.ts +9 -0
  632. package/components/ai-chat-7kHoMVeu.cjs +0 -321
  633. package/components/de-g8uRTFxZ.cjs +0 -20
  634. package/components/es-C3dhJP2H.cjs +0 -20
  635. package/components/fr-WdV_fXl_.cjs +0 -20
  636. package/components/nl-D3gRr88b.cjs +0 -20
@@ -0,0 +1,107 @@
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
+ import '@luzmo/analytics-components-kit/display-settings-period-over-period';
3
+ import type { LuzmoDisplaySettingsPeriodOverPeriod as LuzmoDisplaySettingsPeriodOverPeriodHostElement, DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
4
+ export type { DisplaySettingsSlotContentChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings-period-over-period';
5
+ import type { PeriodOverPeriodCondition } from '@luzmo/analytics-components-kit/types';
6
+ import type { Column } from '@luzmo/dashboard-contents-types';
7
+
8
+ @Component({
9
+ selector: 'luzmo-display-settings-period-over-period',
10
+ exportAs: 'luzmoDisplaySettingsPeriodOverPeriod',
11
+ standalone: true,
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
13
+ template: '<ng-content />'
14
+ })
15
+ /**
16
+ * Angular wrapper component for <luzmo-display-settings-period-over-period>
17
+ */
18
+ export class LuzmoDisplaySettingsPeriodOverPeriod implements OnChanges {
19
+ private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsPeriodOverPeriodHostElement>>(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(): LuzmoDisplaySettingsPeriodOverPeriodHostElement {
27
+ return this.host;
28
+ }
29
+
30
+ /** The slotContent that is passed to the settings */
31
+ @Input({ alias: 'slotContent' })
32
+ slotContent?: any;
33
+
34
+ /** Which period-over-period UI variant to render, based on available datetime columns and comparison filters. */
35
+ @Input({ alias: 'periodOverPeriodType' })
36
+ periodOverPeriodUiType?: PeriodOverPeriodCondition;
37
+
38
+ /** Datetime columns from the linked dataset available as offset/comparison date columns. */
39
+ @Input({ alias: 'linkedDatasetDatetimeColumns' })
40
+ linkedDatasetDatetimeColumns?: (Column & { datasetId: string; })[];
41
+
42
+ /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
43
+ @Input({ alias: 'language' })
44
+ language?: string;
45
+
46
+ /** The size of the element */
47
+ @Input({ alias: 'size' })
48
+ size?: 's' | 'm' | 'l' | 'xl';
49
+
50
+ /** Event that is fired when the slot content is changed */
51
+ readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
52
+
53
+ constructor() {
54
+ this.bindEvents();
55
+ this.destroyRef.onDestroy(() => {
56
+ for (const cleanup of this.listenerCleanup) {
57
+ cleanup();
58
+ }
59
+ });
60
+ }
61
+
62
+ ngOnChanges(changes: SimpleChanges): void {
63
+ for (const key of Object.keys(changes)) {
64
+ switch (key) {
65
+ case 'slotContent':
66
+ this.setHostProperty('slotContent', changes['slotContent'].currentValue);
67
+ break;
68
+ case 'periodOverPeriodUiType':
69
+ this.setHostProperty('periodOverPeriodUiType', changes['periodOverPeriodUiType'].currentValue);
70
+ break;
71
+ case 'linkedDatasetDatetimeColumns':
72
+ this.setHostProperty('linkedDatasetDatetimeColumns', changes['linkedDatasetDatetimeColumns'].currentValue);
73
+ break;
74
+ case 'language':
75
+ this.setHostProperty('language', changes['language'].currentValue);
76
+ break;
77
+ case 'size':
78
+ this.setHostProperty('size', changes['size'].currentValue);
79
+ break;
80
+ default:
81
+ break;
82
+ }
83
+ }
84
+ }
85
+
86
+ /**
87
+ * Forward a wrapper @Input to the underlying host element via Renderer2 so
88
+ * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
89
+ * Unlike a "skip undefined" guard, this lets consumers reset values back to
90
+ * undefined / null by clearing their bindings.
91
+ */
92
+ private setHostProperty(key: string, value: unknown): void {
93
+ this.renderer.setProperty(this.host, key, value);
94
+ }
95
+
96
+ private bindEvents(): void {
97
+ this.listenerCleanup.push(
98
+ this.renderer.listen(this.host, 'luzmo-slot-content-changed', (event: Event) => {
99
+ const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
100
+ this.luzmoSlotContentChanged.emit(typed);
101
+ })
102
+ );
103
+ }
104
+ }
105
+
106
+ /** The underlying custom element type for LuzmoDisplaySettingsPeriodOverPeriod */
107
+ export type LuzmoDisplaySettingsPeriodOverPeriodElement = LuzmoDisplaySettingsPeriodOverPeriodHostElement;
@@ -0,0 +1,227 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
+ import '@luzmo/analytics-components-kit/display-settings';
3
+ import type { LuzmoDisplaySettings as LuzmoDisplaySettingsHostElement, DisplaySettingsRemoveSlotContentEventDetail, DisplaySettingsSlotContentChangedEventDetail, InfoVisibilityChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings';
4
+ export type { DisplaySettingsRemoveSlotContentEventDetail, DisplaySettingsSlotContentChangedEventDetail, InfoVisibilityChangedEventDetail } from '@luzmo/analytics-components-kit/display-settings';
5
+ import type { DatasetDataFields } from '@luzmo/analytics-components-kit/data-field-panel';
6
+ import type { MeasureColumnsItem } from '@luzmo/analytics-components-kit/slot-menu';
7
+ import type { PeriodOverPeriodCondition, SlotContent } from '@luzmo/analytics-components-kit/types';
8
+ import type { SlotName } from '@luzmo/dashboard-contents-types';
9
+
10
+ @Component({
11
+ selector: 'luzmo-display-settings',
12
+ exportAs: 'luzmoDisplaySettings',
13
+ standalone: true,
14
+ changeDetection: ChangeDetectionStrategy.OnPush,
15
+ template: '<ng-content />'
16
+ })
17
+ /**
18
+ * Angular wrapper component for <luzmo-display-settings>
19
+ */
20
+ export class LuzmoDisplaySettings implements OnChanges {
21
+ private readonly elementRef = inject<ElementRef<LuzmoDisplaySettingsHostElement>>(ElementRef);
22
+ private readonly renderer = inject<Renderer2>(Renderer2);
23
+ private readonly destroyRef = inject<DestroyRef>(DestroyRef);
24
+ private readonly host = this.elementRef.nativeElement;
25
+ private readonly listenerCleanup: Array<() => void> = [];
26
+
27
+ /** The underlying custom element instance. Use to call imperative methods. */
28
+ get nativeElement(): LuzmoDisplaySettingsHostElement {
29
+ return this.host;
30
+ }
31
+
32
+ /** The language of the settings interface */
33
+ @Input({ alias: 'language' })
34
+ language?: string;
35
+
36
+ /** The language to use for locale-aware formatting and labels */
37
+ @Input({ alias: 'contentLanguage' })
38
+ contentLanguage?: string;
39
+
40
+ /** Whether to show the displaySettings. Is used to hide display Settings in cases where there are multiple columns */
41
+ @Input({ alias: 'hideDisplaySettings', transform: booleanAttribute })
42
+ hideDisplaySettings?: boolean;
43
+
44
+ /** Whether to show the binning in numeric */
45
+ @Input({ alias: 'isBinningDisabled', transform: booleanAttribute })
46
+ isBinningDisabled?: boolean;
47
+
48
+ /** Whether to show the datetime options */
49
+ @Input({ alias: 'areDatetimeOptionsEnabled', transform: booleanAttribute })
50
+ areDatetimeOptionsEnabled?: boolean;
51
+
52
+ /** Whether to show the grand totals */
53
+ @Input({ alias: 'areGrandTotalsEnabled', transform: booleanAttribute })
54
+ areGrandTotalsEnabled?: boolean;
55
+
56
+ /** Whether to show the aggregation options */
57
+ @Input({ alias: 'isAggregationDisabled', transform: booleanAttribute })
58
+ isAggregationDisabled?: boolean;
59
+
60
+ /** Whether to show the cumulative sum options */
61
+ @Input({ alias: 'isCumulativeSumEnabled', transform: booleanAttribute })
62
+ isCumulativeSumEnabled?: boolean;
63
+
64
+ /** Whether to show the period-over-period in numeric */
65
+ @Input({ alias: 'periodOverPeriodUiType' })
66
+ periodOverPeriodUiType?: PeriodOverPeriodCondition | null;
67
+
68
+ /** Whether to show the trash button next to the label */
69
+ @Input({ alias: 'showRemoveButton', transform: booleanAttribute })
70
+ showRemoveButton?: boolean;
71
+
72
+ /** The slot type */
73
+ @Input({ alias: 'slotType' })
74
+ slotType?: string;
75
+
76
+ /** The slot name used to distinguish measure and dimension calculations. */
77
+ @Input({ alias: 'slotName' })
78
+ slotName?: SlotName;
79
+
80
+ /** The slot content model (label, formatting, aggregation, etc.) for the field being configured. */
81
+ @Input({ alias: 'slotContent' })
82
+ slotContent?: SlotContent;
83
+
84
+ /** Datasets used to resolve column names in ad-hoc calculation previews. */
85
+ @Input({ alias: 'datasetsDataFields' })
86
+ datasetsDataFields?: DatasetDataFields[];
87
+
88
+ /** The API URL used when resolving calculation previews by dataset id. */
89
+ @Input({ alias: 'apiUrl' })
90
+ apiUrl?: string;
91
+
92
+ /** The auth key used when resolving calculation previews by dataset id. */
93
+ @Input({ alias: 'authKey' })
94
+ authKey?: string;
95
+
96
+ /** The auth token used when resolving calculation previews by dataset id. */
97
+ @Input({ alias: 'authToken' })
98
+ authToken?: string;
99
+
100
+ /** The list of columns that can be used for the rate aggregation */
101
+ @Input({ alias: 'measureColumns' })
102
+ measureColumns?: MeasureColumnsItem[];
103
+
104
+ /** The size of the element */
105
+ @Input({ alias: 'size' })
106
+ size?: 's' | 'm' | 'l' | 'xl';
107
+
108
+ /** Event that is fired when the slot content is changed */
109
+ readonly luzmoSlotContentChanged = output<CustomEvent<DisplaySettingsSlotContentChangedEventDetail>>({ alias: 'luzmoSlotContentChanged' });
110
+
111
+ /** Event that is fired when the remove button is clicked */
112
+ readonly luzmoRemoveSlotContent = output<CustomEvent<DisplaySettingsRemoveSlotContentEventDetail>>({ alias: 'luzmoRemoveSlotContent' });
113
+
114
+ /** Event that is fired when the info button is clicked, includes the visibility state and ID values */
115
+ readonly luzmoInfoVisibilityChanged = output<CustomEvent<InfoVisibilityChangedEventDetail>>({ alias: 'luzmoInfoVisibilityChanged' });
116
+
117
+ constructor() {
118
+ this.bindEvents();
119
+ this.destroyRef.onDestroy(() => {
120
+ for (const cleanup of this.listenerCleanup) {
121
+ cleanup();
122
+ }
123
+ });
124
+ }
125
+
126
+ ngOnChanges(changes: SimpleChanges): void {
127
+ for (const key of Object.keys(changes)) {
128
+ switch (key) {
129
+ case 'language':
130
+ this.setHostProperty('language', changes['language'].currentValue);
131
+ break;
132
+ case 'contentLanguage':
133
+ this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
134
+ break;
135
+ case 'hideDisplaySettings':
136
+ this.setHostProperty('hideDisplaySettings', changes['hideDisplaySettings'].currentValue);
137
+ break;
138
+ case 'isBinningDisabled':
139
+ this.setHostProperty('isBinningDisabled', changes['isBinningDisabled'].currentValue);
140
+ break;
141
+ case 'areDatetimeOptionsEnabled':
142
+ this.setHostProperty('areDatetimeOptionsEnabled', changes['areDatetimeOptionsEnabled'].currentValue);
143
+ break;
144
+ case 'areGrandTotalsEnabled':
145
+ this.setHostProperty('areGrandTotalsEnabled', changes['areGrandTotalsEnabled'].currentValue);
146
+ break;
147
+ case 'isAggregationDisabled':
148
+ this.setHostProperty('isAggregationDisabled', changes['isAggregationDisabled'].currentValue);
149
+ break;
150
+ case 'isCumulativeSumEnabled':
151
+ this.setHostProperty('isCumulativeSumEnabled', changes['isCumulativeSumEnabled'].currentValue);
152
+ break;
153
+ case 'periodOverPeriodUiType':
154
+ this.setHostProperty('periodOverPeriodUiType', changes['periodOverPeriodUiType'].currentValue);
155
+ break;
156
+ case 'showRemoveButton':
157
+ this.setHostProperty('showRemoveButton', changes['showRemoveButton'].currentValue);
158
+ break;
159
+ case 'slotType':
160
+ this.setHostProperty('slotType', changes['slotType'].currentValue);
161
+ break;
162
+ case 'slotName':
163
+ this.setHostProperty('slotName', changes['slotName'].currentValue);
164
+ break;
165
+ case 'slotContent':
166
+ this.setHostProperty('slotContent', changes['slotContent'].currentValue);
167
+ break;
168
+ case 'datasetsDataFields':
169
+ this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
170
+ break;
171
+ case 'apiUrl':
172
+ this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
173
+ break;
174
+ case 'authKey':
175
+ this.setHostProperty('authKey', changes['authKey'].currentValue);
176
+ break;
177
+ case 'authToken':
178
+ this.setHostProperty('authToken', changes['authToken'].currentValue);
179
+ break;
180
+ case 'measureColumns':
181
+ this.setHostProperty('measureColumns', changes['measureColumns'].currentValue);
182
+ break;
183
+ case 'size':
184
+ this.setHostProperty('size', changes['size'].currentValue);
185
+ break;
186
+ default:
187
+ break;
188
+ }
189
+ }
190
+ }
191
+
192
+ /**
193
+ * Forward a wrapper @Input to the underlying host element via Renderer2 so
194
+ * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
195
+ * Unlike a "skip undefined" guard, this lets consumers reset values back to
196
+ * undefined / null by clearing their bindings.
197
+ */
198
+ private setHostProperty(key: string, value: unknown): void {
199
+ this.renderer.setProperty(this.host, key, value);
200
+ }
201
+
202
+ private bindEvents(): void {
203
+ this.listenerCleanup.push(
204
+ this.renderer.listen(this.host, 'luzmo-slot-content-changed', (event: Event) => {
205
+ const typed = event as CustomEvent<DisplaySettingsSlotContentChangedEventDetail>;
206
+ this.luzmoSlotContentChanged.emit(typed);
207
+ })
208
+ );
209
+
210
+ this.listenerCleanup.push(
211
+ this.renderer.listen(this.host, 'luzmo-remove-slot-content', (event: Event) => {
212
+ const typed = event as CustomEvent<DisplaySettingsRemoveSlotContentEventDetail>;
213
+ this.luzmoRemoveSlotContent.emit(typed);
214
+ })
215
+ );
216
+
217
+ this.listenerCleanup.push(
218
+ this.renderer.listen(this.host, 'luzmo-info-visibility-changed', (event: Event) => {
219
+ const typed = event as CustomEvent<InfoVisibilityChangedEventDetail>;
220
+ this.luzmoInfoVisibilityChanged.emit(typed);
221
+ })
222
+ );
223
+ }
224
+ }
225
+
226
+ /** The underlying custom element type for LuzmoDisplaySettings */
227
+ export type LuzmoDisplaySettingsElement = LuzmoDisplaySettingsHostElement;
@@ -0,0 +1,168 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
+ import '@luzmo/analytics-components-kit/filter-expression-picker';
3
+ import type { LuzmoFilterExpressionPicker as LuzmoFilterExpressionPickerHostElement } from '@luzmo/analytics-components-kit/filter-expression-picker';
4
+ import type { ColumnSubtype, ColumnType } from '@luzmo/dashboard-contents-types';
5
+
6
+ @Component({
7
+ selector: 'luzmo-filter-expression-picker',
8
+ exportAs: 'luzmoFilterExpressionPicker',
9
+ standalone: true,
10
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: '<ng-content />'
12
+ })
13
+ /**
14
+ * Angular wrapper component for <luzmo-filter-expression-picker>
15
+ */
16
+ export class LuzmoFilterExpressionPicker implements OnChanges {
17
+ private readonly elementRef = inject<ElementRef<LuzmoFilterExpressionPickerHostElement>>(ElementRef);
18
+ private readonly renderer = inject<Renderer2>(Renderer2);
19
+ private readonly destroyRef = inject<DestroyRef>(DestroyRef);
20
+ private readonly host = this.elementRef.nativeElement;
21
+ private readonly listenerCleanup: Array<() => void> = [];
22
+
23
+ /** The underlying custom element instance. Use to call imperative methods. */
24
+ get nativeElement(): LuzmoFilterExpressionPickerHostElement {
25
+ return this.host;
26
+ }
27
+
28
+ /** The filter object */
29
+ @Input({ alias: 'filter' })
30
+ filter?: any;
31
+
32
+ /** Whether the picker has a label */
33
+ @Input({ alias: 'hasLabel', transform: booleanAttribute })
34
+ hasLabel?: boolean;
35
+
36
+ /** The label for the picker, if hasLabel is true */
37
+ @Input({ alias: 'label' })
38
+ label?: string;
39
+
40
+ /** Allow no selection. If true, the picker will not show a value when no item is selected. Else if no value is provided it will pick the first item. */
41
+ @Input({ alias: 'allowEmpty', transform: booleanAttribute })
42
+ allowEmpty?: boolean;
43
+
44
+ /** The placeholder text for the picker is no value selected. If allowEmpty is true, this will be used as the label. */
45
+ @Input({ alias: 'placeholder' })
46
+ placeholder?: string;
47
+
48
+ /** Whether the picker is disabled */
49
+ @Input({ alias: 'disabled', transform: booleanAttribute })
50
+ disabled?: boolean;
51
+
52
+ /** The type of the column */
53
+ @Input({ alias: 'type' })
54
+ type?: ColumnType;
55
+
56
+ /** The subtype of the column */
57
+ @Input({ alias: 'subtype' })
58
+ subtype?: ColumnSubtype;
59
+
60
+ /** Whether the expression is invalid */
61
+ @Input({ alias: 'invalid', transform: booleanAttribute })
62
+ invalid?: boolean;
63
+
64
+ /** Whether the column is a formula */
65
+ @Input({ alias: 'isFormula', transform: booleanAttribute })
66
+ isFormula?: boolean;
67
+
68
+ /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
69
+ @Input({ alias: 'language' })
70
+ language?: string;
71
+
72
+ /** The size of the element */
73
+ @Input({ alias: 'size' })
74
+ size?: 's' | 'm' | 'l' | 'xl';
75
+
76
+ /** When this control is rendered, focus it automatically */
77
+ @Input({ alias: 'autofocus', transform: booleanAttribute })
78
+ autofocus?: boolean;
79
+
80
+ /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
81
+ @Input({ alias: 'tabIndex' })
82
+ tabIndex?: number;
83
+
84
+ /** Fired when the user selects a filter expression (operator); `detail.expression` holds the chosen expression. */
85
+ readonly luzmoExpressionSelected = output<CustomEvent<unknown>>({ alias: 'luzmoExpressionSelected' });
86
+
87
+ constructor() {
88
+ this.bindEvents();
89
+ this.destroyRef.onDestroy(() => {
90
+ for (const cleanup of this.listenerCleanup) {
91
+ cleanup();
92
+ }
93
+ });
94
+ }
95
+
96
+ ngOnChanges(changes: SimpleChanges): void {
97
+ for (const key of Object.keys(changes)) {
98
+ switch (key) {
99
+ case 'filter':
100
+ this.setHostProperty('filter', changes['filter'].currentValue);
101
+ break;
102
+ case 'hasLabel':
103
+ this.setHostProperty('hasLabel', changes['hasLabel'].currentValue);
104
+ break;
105
+ case 'label':
106
+ this.setHostProperty('label', changes['label'].currentValue);
107
+ break;
108
+ case 'allowEmpty':
109
+ this.setHostProperty('allowEmpty', changes['allowEmpty'].currentValue);
110
+ break;
111
+ case 'placeholder':
112
+ this.setHostProperty('placeholder', changes['placeholder'].currentValue);
113
+ break;
114
+ case 'disabled':
115
+ this.setHostProperty('disabled', changes['disabled'].currentValue);
116
+ break;
117
+ case 'type':
118
+ this.setHostProperty('type', changes['type'].currentValue);
119
+ break;
120
+ case 'subtype':
121
+ this.setHostProperty('subtype', changes['subtype'].currentValue);
122
+ break;
123
+ case 'invalid':
124
+ this.setHostProperty('invalid', changes['invalid'].currentValue);
125
+ break;
126
+ case 'isFormula':
127
+ this.setHostProperty('isFormula', changes['isFormula'].currentValue);
128
+ break;
129
+ case 'language':
130
+ this.setHostProperty('language', changes['language'].currentValue);
131
+ break;
132
+ case 'size':
133
+ this.setHostProperty('size', changes['size'].currentValue);
134
+ break;
135
+ case 'autofocus':
136
+ this.setHostProperty('autofocus', changes['autofocus'].currentValue);
137
+ break;
138
+ case 'tabIndex':
139
+ this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
140
+ break;
141
+ default:
142
+ break;
143
+ }
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Forward a wrapper @Input to the underlying host element via Renderer2 so
149
+ * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
150
+ * Unlike a "skip undefined" guard, this lets consumers reset values back to
151
+ * undefined / null by clearing their bindings.
152
+ */
153
+ private setHostProperty(key: string, value: unknown): void {
154
+ this.renderer.setProperty(this.host, key, value);
155
+ }
156
+
157
+ private bindEvents(): void {
158
+ this.listenerCleanup.push(
159
+ this.renderer.listen(this.host, 'luzmo-expression-selected', (event: Event) => {
160
+ const typed = event as CustomEvent<unknown>;
161
+ this.luzmoExpressionSelected.emit(typed);
162
+ })
163
+ );
164
+ }
165
+ }
166
+
167
+ /** The underlying custom element type for LuzmoFilterExpressionPicker */
168
+ export type LuzmoFilterExpressionPickerElement = LuzmoFilterExpressionPickerHostElement;
@@ -0,0 +1,175 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
+ import '@luzmo/analytics-components-kit/filter-item';
3
+ import type { LuzmoFilterItem as LuzmoFilterItemHostElement } from '@luzmo/analytics-components-kit/filter-item';
4
+ import type { FilterParameter } from '@luzmo/analytics-components-kit/filters';
5
+
6
+ @Component({
7
+ selector: 'luzmo-filter-item',
8
+ exportAs: 'luzmoFilterItem',
9
+ standalone: true,
10
+ changeDetection: ChangeDetectionStrategy.OnPush,
11
+ template: '<ng-content />'
12
+ })
13
+ /**
14
+ * Angular wrapper component for <luzmo-filter-item>
15
+ */
16
+ export class LuzmoFilterItem implements OnChanges {
17
+ private readonly elementRef = inject<ElementRef<LuzmoFilterItemHostElement>>(ElementRef);
18
+ private readonly renderer = inject<Renderer2>(Renderer2);
19
+ private readonly destroyRef = inject<DestroyRef>(DestroyRef);
20
+ private readonly host = this.elementRef.nativeElement;
21
+ private readonly listenerCleanup: Array<() => void> = [];
22
+
23
+ /** The underlying custom element instance. Use to call imperative methods. */
24
+ get nativeElement(): LuzmoFilterItemHostElement {
25
+ return this.host;
26
+ }
27
+
28
+ /** The API URL of the databroker */
29
+ @Input({ alias: 'apiUrl' })
30
+ apiUrl?: string;
31
+
32
+ /** The auth key of the databroker */
33
+ @Input({ alias: 'authKey' })
34
+ authKey?: string;
35
+
36
+ /** The auth token of the databroker */
37
+ @Input({ alias: 'authToken' })
38
+ authToken?: string;
39
+
40
+ /** The cache time of the databroker */
41
+ @Input({ alias: 'cacheTime' })
42
+ cacheTime?: number;
43
+
44
+ /** The language of the content */
45
+ @Input({ alias: 'contentLanguage' })
46
+ contentLanguage?: string;
47
+
48
+ /** The time zone to use for the date picker */
49
+ @Input({ alias: 'timeZone' })
50
+ timeZone?: string;
51
+
52
+ /** The dataset ids to fetch columns & formulas */
53
+ @Input({ alias: 'datasetIds' })
54
+ datasetIds?: string[];
55
+
56
+ /** The filter to display */
57
+ @Input({ alias: 'filter' })
58
+ filter?: any;
59
+
60
+ /** Whether parameter-backed filter values can be created and selected. */
61
+ @Input({ alias: 'allowParameters', transform: booleanAttribute })
62
+ allowParameters?: boolean;
63
+
64
+ /** Consumer-owned parameter definitions available for selection. */
65
+ @Input({ alias: 'parameters' })
66
+ parameters?: FilterParameter[];
67
+
68
+ /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
69
+ @Input({ alias: 'language' })
70
+ language?: string;
71
+
72
+ /** The size of the element */
73
+ @Input({ alias: 'size' })
74
+ size?: 's' | 'm' | 'l' | 'xl';
75
+
76
+ /** Disable this control. It will not receive focus or events */
77
+ @Input({ alias: 'disabled', transform: booleanAttribute })
78
+ disabled?: boolean;
79
+
80
+ /** When this control is rendered, focus it automatically */
81
+ @Input({ alias: 'autofocus', transform: booleanAttribute })
82
+ autofocus?: boolean;
83
+
84
+ /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
85
+ @Input({ alias: 'tabIndex' })
86
+ tabIndex?: number;
87
+
88
+ /** Fired when any part of the filter changes; `detail.filter` holds the updated filter. */
89
+ readonly luzmoFilterChanged = output<CustomEvent<unknown>>({ alias: 'luzmoFilterChanged' });
90
+
91
+ constructor() {
92
+ this.bindEvents();
93
+ this.destroyRef.onDestroy(() => {
94
+ for (const cleanup of this.listenerCleanup) {
95
+ cleanup();
96
+ }
97
+ });
98
+ }
99
+
100
+ ngOnChanges(changes: SimpleChanges): void {
101
+ for (const key of Object.keys(changes)) {
102
+ switch (key) {
103
+ case 'apiUrl':
104
+ this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
105
+ break;
106
+ case 'authKey':
107
+ this.setHostProperty('authKey', changes['authKey'].currentValue);
108
+ break;
109
+ case 'authToken':
110
+ this.setHostProperty('authToken', changes['authToken'].currentValue);
111
+ break;
112
+ case 'cacheTime':
113
+ this.setHostProperty('cacheTime', changes['cacheTime'].currentValue);
114
+ break;
115
+ case 'contentLanguage':
116
+ this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
117
+ break;
118
+ case 'timeZone':
119
+ this.setHostProperty('timeZone', changes['timeZone'].currentValue);
120
+ break;
121
+ case 'datasetIds':
122
+ this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
123
+ break;
124
+ case 'filter':
125
+ this.setHostProperty('filter', changes['filter'].currentValue);
126
+ break;
127
+ case 'allowParameters':
128
+ this.setHostProperty('allowParameters', changes['allowParameters'].currentValue);
129
+ break;
130
+ case 'parameters':
131
+ this.setHostProperty('parameters', changes['parameters'].currentValue);
132
+ break;
133
+ case 'language':
134
+ this.setHostProperty('language', changes['language'].currentValue);
135
+ break;
136
+ case 'size':
137
+ this.setHostProperty('size', changes['size'].currentValue);
138
+ break;
139
+ case 'disabled':
140
+ this.setHostProperty('disabled', changes['disabled'].currentValue);
141
+ break;
142
+ case 'autofocus':
143
+ this.setHostProperty('autofocus', changes['autofocus'].currentValue);
144
+ break;
145
+ case 'tabIndex':
146
+ this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
147
+ break;
148
+ default:
149
+ break;
150
+ }
151
+ }
152
+ }
153
+
154
+ /**
155
+ * Forward a wrapper @Input to the underlying host element via Renderer2 so
156
+ * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
157
+ * Unlike a "skip undefined" guard, this lets consumers reset values back to
158
+ * undefined / null by clearing their bindings.
159
+ */
160
+ private setHostProperty(key: string, value: unknown): void {
161
+ this.renderer.setProperty(this.host, key, value);
162
+ }
163
+
164
+ private bindEvents(): void {
165
+ this.listenerCleanup.push(
166
+ this.renderer.listen(this.host, 'luzmo-filter-changed', (event: Event) => {
167
+ const typed = event as CustomEvent<unknown>;
168
+ this.luzmoFilterChanged.emit(typed);
169
+ })
170
+ );
171
+ }
172
+ }
173
+
174
+ /** The underlying custom element type for LuzmoFilterItem */
175
+ export type LuzmoFilterItemElement = LuzmoFilterItemHostElement;