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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/components/index.cjs +1 -1
  2. package/components/index.js +1 -1
  3. package/components/viz-item-menu/index.cjs +1 -1
  4. package/components/viz-item-menu/index.js +1 -1
  5. package/components/viz-item-menu/viz-item-menu.d.ts +3 -0
  6. package/components/{viz-item-menu-Ht6bklNL.js → viz-item-menu-B7yRaSAU.js} +1 -1
  7. package/components/{viz-item-menu-XHh4qhtn.cjs → viz-item-menu-hLdU-02Q.cjs} +1 -1
  8. package/custom-elements.json +14 -0
  9. package/package.json +1 -1
  10. package/react/package.json +2 -2
  11. package/angular/README.md +0 -40
  12. package/angular/components/ai-chat-empty-state.ts +0 -98
  13. package/angular/components/ai-chat.ts +0 -440
  14. package/angular/components/ai-interaction-textarea.ts +0 -283
  15. package/angular/components/data-field-level.ts +0 -130
  16. package/angular/components/data-field-panel.ts +0 -256
  17. package/angular/components/data-field.ts +0 -130
  18. package/angular/components/data-fields-select.ts +0 -212
  19. package/angular/components/dataset-icon.ts +0 -83
  20. package/angular/components/dataset-selector-list.ts +0 -147
  21. package/angular/components/dataset-selector-row.ts +0 -198
  22. package/angular/components/display-settings-binning.ts +0 -92
  23. package/angular/components/display-settings-datetime.ts +0 -100
  24. package/angular/components/display-settings-grand-totals.ts +0 -92
  25. package/angular/components/display-settings-numeric.ts +0 -113
  26. package/angular/components/display-settings-period-over-period.ts +0 -107
  27. package/angular/components/display-settings.ts +0 -227
  28. package/angular/components/filter-expression-picker.ts +0 -168
  29. package/angular/components/filter-item.ts +0 -175
  30. package/angular/components/filter-parameter-picker.ts +0 -155
  31. package/angular/components/filter-value-picker-datetime.ts +0 -125
  32. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  33. package/angular/components/filter-value-picker-numeric.ts +0 -146
  34. package/angular/components/filter-value-picker.ts +0 -160
  35. package/angular/components/filters.ts +0 -209
  36. package/angular/components/formula-editor.ts +0 -229
  37. package/angular/components/formula-field.ts +0 -198
  38. package/angular/components/formula.ts +0 -170
  39. package/angular/components/interactive-viz-item.ts +0 -186
  40. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  41. package/angular/components/item-grid.ts +0 -242
  42. package/angular/components/item-option-action-button-group.ts +0 -105
  43. package/angular/components/item-option-color-palette-picker.ts +0 -126
  44. package/angular/components/item-option-color-picker.ts +0 -134
  45. package/angular/components/item-option-color-range.ts +0 -168
  46. package/angular/components/item-option-guidelines.ts +0 -84
  47. package/angular/components/item-option-multi-language-field.ts +0 -133
  48. package/angular/components/item-option-number-field.ts +0 -161
  49. package/angular/components/item-option-panel.ts +0 -149
  50. package/angular/components/item-option-picker.ts +0 -120
  51. package/angular/components/item-option-position-picker.ts +0 -98
  52. package/angular/components/item-option-positions-number-field.ts +0 -140
  53. package/angular/components/item-option-radio-button-group.ts +0 -119
  54. package/angular/components/item-option-slider.ts +0 -126
  55. package/angular/components/item-option-switch.ts +0 -98
  56. package/angular/components/item-option-text-field.ts +0 -112
  57. package/angular/components/item-option.ts +0 -163
  58. package/angular/components/item-slot-drop-panel.ts +0 -236
  59. package/angular/components/item-slot-drop.ts +0 -231
  60. package/angular/components/item-slot-picker-panel.ts +0 -299
  61. package/angular/components/item-slot-picker.ts +0 -241
  62. package/angular/components/slot-menu-list.ts +0 -121
  63. package/angular/components/slot-menu.ts +0 -304
  64. package/angular/components/viz-item-menu.ts +0 -118
  65. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -39
  66. package/angular/esm/components/ai-chat-empty-state.js +0 -99
  67. package/angular/esm/components/ai-chat.d.ts +0 -147
  68. package/angular/esm/components/ai-chat.js +0 -455
  69. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -106
  70. package/angular/esm/components/ai-interaction-textarea.js +0 -305
  71. package/angular/esm/components/data-field-level.d.ts +0 -50
  72. package/angular/esm/components/data-field-level.js +0 -129
  73. package/angular/esm/components/data-field-panel.d.ts +0 -86
  74. package/angular/esm/components/data-field-panel.js +0 -268
  75. package/angular/esm/components/data-field.d.ts +0 -50
  76. package/angular/esm/components/data-field.js +0 -129
  77. package/angular/esm/components/data-fields-select.d.ts +0 -81
  78. package/angular/esm/components/data-fields-select.js +0 -227
  79. package/angular/esm/components/dataset-icon.d.ts +0 -34
  80. package/angular/esm/components/dataset-icon.js +0 -86
  81. package/angular/esm/components/dataset-selector-list.d.ts +0 -56
  82. package/angular/esm/components/dataset-selector-list.js +0 -155
  83. package/angular/esm/components/dataset-selector-row.d.ts +0 -70
  84. package/angular/esm/components/dataset-selector-row.js +0 -197
  85. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  86. package/angular/esm/components/display-settings-binning.js +0 -91
  87. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  88. package/angular/esm/components/display-settings-datetime.js +0 -99
  89. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  90. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  91. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  92. package/angular/esm/components/display-settings-numeric.js +0 -115
  93. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -44
  94. package/angular/esm/components/display-settings-period-over-period.js +0 -107
  95. package/angular/esm/components/display-settings.d.ts +0 -83
  96. package/angular/esm/components/display-settings.js +0 -231
  97. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  98. package/angular/esm/components/filter-expression-picker.js +0 -179
  99. package/angular/esm/components/filter-item.d.ts +0 -63
  100. package/angular/esm/components/filter-item.js +0 -187
  101. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  102. package/angular/esm/components/filter-parameter-picker.js +0 -151
  103. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  104. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  105. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  106. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  107. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  108. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  109. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  110. package/angular/esm/components/filter-value-picker.js +0 -171
  111. package/angular/esm/components/filters.d.ts +0 -75
  112. package/angular/esm/components/filters.js +0 -215
  113. package/angular/esm/components/formula-editor.d.ts +0 -78
  114. package/angular/esm/components/formula-editor.js +0 -236
  115. package/angular/esm/components/formula-field.d.ts +0 -70
  116. package/angular/esm/components/formula-field.js +0 -209
  117. package/angular/esm/components/formula.d.ts +0 -60
  118. package/angular/esm/components/formula.js +0 -177
  119. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  120. package/angular/esm/components/interactive-viz-item.js +0 -188
  121. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  122. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  123. package/angular/esm/components/item-grid.d.ts +0 -80
  124. package/angular/esm/components/item-grid.js +0 -245
  125. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  126. package/angular/esm/components/item-option-action-button-group.js +0 -107
  127. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  128. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  129. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  130. package/angular/esm/components/item-option-color-picker.js +0 -139
  131. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  132. package/angular/esm/components/item-option-color-range.js +0 -179
  133. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  134. package/angular/esm/components/item-option-guidelines.js +0 -83
  135. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  136. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  137. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  138. package/angular/esm/components/item-option-number-field.js +0 -171
  139. package/angular/esm/components/item-option-panel.d.ts +0 -54
  140. package/angular/esm/components/item-option-panel.js +0 -155
  141. package/angular/esm/components/item-option-picker.d.ts +0 -46
  142. package/angular/esm/components/item-option-picker.js +0 -123
  143. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  144. package/angular/esm/components/item-option-position-picker.js +0 -99
  145. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  146. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  147. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  148. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  149. package/angular/esm/components/item-option-slider.d.ts +0 -46
  150. package/angular/esm/components/item-option-slider.js +0 -131
  151. package/angular/esm/components/item-option-switch.d.ts +0 -40
  152. package/angular/esm/components/item-option-switch.js +0 -99
  153. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  154. package/angular/esm/components/item-option-text-field.js +0 -115
  155. package/angular/esm/components/item-option.d.ts +0 -58
  156. package/angular/esm/components/item-option.js +0 -171
  157. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  158. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  159. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  160. package/angular/esm/components/item-slot-drop.js +0 -227
  161. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  162. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  163. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  164. package/angular/esm/components/item-slot-picker.js +0 -259
  165. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  166. package/angular/esm/components/slot-menu-list.js +0 -123
  167. package/angular/esm/components/slot-menu.d.ts +0 -104
  168. package/angular/esm/components/slot-menu.js +0 -300
  169. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  170. package/angular/esm/components/viz-item-menu.js +0 -111
  171. package/angular/esm/index.d.ts +0 -109
  172. package/angular/esm/index.js +0 -217
  173. package/angular/index.ts +0 -223
  174. package/angular/package.json +0 -40
  175. package/angular/tsconfig.json +0 -36
  176. package/angular/type-fallbacks.d.ts +0 -0
  177. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  178. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  179. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  180. package/angular/utils/ai-prompt/index.d.ts +0 -6
  181. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
  182. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  183. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  184. package/angular/utils/base/base.d.ts +0 -16
  185. package/angular/utils/base/focus-visible.d.ts +0 -29
  186. package/angular/utils/base/focusable.d.ts +0 -58
  187. package/angular/utils/base/index.d.ts +0 -5
  188. package/angular/utils/base/localized-mixin.d.ts +0 -22
  189. package/angular/utils/base/sized-mixin.d.ts +0 -17
  190. package/angular/utils/color/color-palettes.d.ts +0 -17
  191. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  192. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  193. package/angular/utils/data-broker/index.d.ts +0 -263
  194. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  195. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  196. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  197. package/angular/utils/drag/draggable.d.ts +0 -13
  198. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  199. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  200. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  201. package/angular/utils/filters/expressions.d.ts +0 -15
  202. package/angular/utils/filters/index.d.ts +0 -1
  203. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  204. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  205. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  206. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  207. package/angular/utils/formatter/formats/da.d.ts +0 -20
  208. package/angular/utils/formatter/formats/de.d.ts +0 -21
  209. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  210. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  211. package/angular/utils/formatter/formats/en.d.ts +0 -1
  212. package/angular/utils/formatter/formats/es.d.ts +0 -54
  213. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  214. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  215. package/angular/utils/formatter/formats/he.d.ts +0 -20
  216. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  217. package/angular/utils/formatter/formats/it.d.ts +0 -54
  218. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  219. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  220. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  221. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  222. package/angular/utils/formatter/formats/no.d.ts +0 -21
  223. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  224. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  225. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  226. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  227. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  228. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  229. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  230. package/angular/utils/formatter/formatter.d.ts +0 -9
  231. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  232. package/angular/utils/formatter/get-localized-name.d.ts +0 -4
  233. package/angular/utils/formatter/localize.d.ts +0 -3
  234. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  235. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  236. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  237. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  238. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  239. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
  240. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  241. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  242. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  243. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  244. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  245. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  246. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  247. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  248. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  249. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  250. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  251. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  252. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  253. package/angular/utils/formula/config/functions.d.ts +0 -3
  254. package/angular/utils/formula/config/groupings.d.ts +0 -9
  255. package/angular/utils/formula/config/regex.d.ts +0 -39
  256. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  257. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  258. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  259. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  260. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  261. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  262. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  263. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  264. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  265. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  266. package/angular/utils/get-css-variable.d.ts +0 -1
  267. package/angular/utils/index.d.ts +0 -10
  268. package/angular/utils/localize/set-locale.d.ts +0 -7
  269. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  270. package/angular/utils/set-nested-value.d.ts +0 -6
  271. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  272. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  273. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  274. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  275. package/angular/utils/slot-state/slot-store.d.ts +0 -39
  276. package/angular/utils/store/base-store.d.ts +0 -158
  277. package/angular/utils/store/dashboard-store.d.ts +0 -49
  278. package/angular/utils/store/index.d.ts +0 -135
  279. package/angular/utils/store/item-store.d.ts +0 -33
  280. package/angular/utils/store/store-registry.d.ts +0 -170
  281. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  282. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  283. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  284. package/angular/utils/store/types.d.ts +0 -270
  285. package/angular/utils/switch-item/index.d.ts +0 -34
  286. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  287. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  288. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  289. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  290. package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
  291. package/angular/utils/themes/bliss.d.ts +0 -2
  292. package/angular/utils/themes/classic-dark.d.ts +0 -2
  293. package/angular/utils/themes/classic.d.ts +0 -2
  294. package/angular/utils/themes/default-dark.d.ts +0 -2
  295. package/angular/utils/themes/default.d.ts +0 -2
  296. package/angular/utils/themes/index.d.ts +0 -4
  297. package/angular/utils/themes/orion.d.ts +0 -2
  298. package/angular/utils/themes/pinky.d.ts +0 -2
  299. package/angular/utils/themes/radiant.d.ts +0 -2
  300. package/angular/utils/themes/royale.d.ts +0 -2
  301. package/angular/utils/themes/seasonal.d.ts +0 -2
  302. package/angular/utils/themes/urban.d.ts +0 -2
  303. package/angular/utils/themes/vivid.d.ts +0 -2
  304. package/angular/utils/time/formats.const.d.ts +0 -4
  305. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  306. package/angular/utils/time/periods.const.d.ts +0 -15
  307. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  308. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  309. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  310. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  311. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  312. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  313. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  314. package/angular/utils/types/type-check.d.ts +0 -28
@@ -1,177 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/formula';
3
- import * as i0 from "@angular/core";
4
- const _c0 = ["*"];
5
- /**
6
- * Angular wrapper component for <luzmo-formula>
7
- */
8
- export class LuzmoFormula {
9
- elementRef = inject(ElementRef);
10
- renderer = inject(Renderer2);
11
- destroyRef = inject(DestroyRef);
12
- host = this.elementRef.nativeElement;
13
- listenerCleanup = [];
14
- /** The underlying custom element instance. Use to call imperative methods. */
15
- get nativeElement() {
16
- return this.host;
17
- }
18
- /** 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. */
19
- display;
20
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
21
- language;
22
- /** The formula expression (function syntax), e.g. `SUM({datasetId:columnId})`. */
23
- expression;
24
- /** Datasets and their data fields, provided directly (takes preference over `datasetIds`). */
25
- datasetsDataFields;
26
- /** Dataset ids to fetch from the Luzmo API (auth attributes optional for public datasets). */
27
- datasetIds;
28
- /** Base URL of the Luzmo API used to fetch datasets by id. */
29
- apiUrl;
30
- /** Luzmo API authorization key, used with `authToken` to fetch datasets by id. */
31
- authKey;
32
- /** Luzmo API authorization token, used with `authKey` to fetch datasets by id. */
33
- authToken;
34
- /** 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. */
35
- showAggregations;
36
- /** Language used for data labels (column / dataset names). */
37
- contentLanguage;
38
- /** When true, aggregations render as multi-stage nested widgets. */
39
- multiStageAggregation;
40
- /** When true, aggregations can be nested inside other aggregations. */
41
- nestedAggregation;
42
- /** The size of the element */
43
- size;
44
- /** Fired (debounced) when the formula expression changes; `detail.expression` holds the new expression. */
45
- luzmoExpressionChanged = output({ alias: 'luzmoExpressionChanged' });
46
- /** Fired when fetching datasets by id fails. */
47
- luzmoDatasetsError = output({ alias: 'luzmoDatasetsError' });
48
- constructor() {
49
- this.bindEvents();
50
- this.destroyRef.onDestroy(() => {
51
- for (const cleanup of this.listenerCleanup) {
52
- cleanup();
53
- }
54
- });
55
- }
56
- ngOnChanges(changes) {
57
- for (const key of Object.keys(changes)) {
58
- switch (key) {
59
- case 'display':
60
- this.setHostProperty('display', changes['display'].currentValue);
61
- break;
62
- case 'language':
63
- this.setHostProperty('language', changes['language'].currentValue);
64
- break;
65
- case 'expression':
66
- this.setHostProperty('expression', changes['expression'].currentValue);
67
- break;
68
- case 'datasetsDataFields':
69
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
70
- break;
71
- case 'datasetIds':
72
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
73
- break;
74
- case 'apiUrl':
75
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
76
- break;
77
- case 'authKey':
78
- this.setHostProperty('authKey', changes['authKey'].currentValue);
79
- break;
80
- case 'authToken':
81
- this.setHostProperty('authToken', changes['authToken'].currentValue);
82
- break;
83
- case 'showAggregations':
84
- this.setHostProperty('showAggregations', changes['showAggregations'].currentValue);
85
- break;
86
- case 'contentLanguage':
87
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
88
- break;
89
- case 'multiStageAggregation':
90
- this.setHostProperty('multiStageAggregation', changes['multiStageAggregation'].currentValue);
91
- break;
92
- case 'nestedAggregation':
93
- this.setHostProperty('nestedAggregation', changes['nestedAggregation'].currentValue);
94
- break;
95
- case 'size':
96
- this.setHostProperty('size', changes['size'].currentValue);
97
- break;
98
- default:
99
- break;
100
- }
101
- }
102
- }
103
- /**
104
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
105
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
106
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
107
- * undefined / null by clearing their bindings.
108
- */
109
- setHostProperty(key, value) {
110
- this.renderer.setProperty(this.host, key, value);
111
- }
112
- bindEvents() {
113
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-expression-changed', (event) => {
114
- const typed = event;
115
- this.luzmoExpressionChanged.emit(typed);
116
- }));
117
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-datasets-error', (event) => {
118
- const typed = event;
119
- this.luzmoDatasetsError.emit(typed);
120
- }));
121
- }
122
- static ɵfac = function LuzmoFormula_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoFormula)(); };
123
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoFormula, selectors: [["luzmo-formula"]], inputs: { display: "display", language: "language", expression: "expression", datasetsDataFields: "datasetsDataFields", datasetIds: "datasetIds", apiUrl: "apiUrl", authKey: "authKey", authToken: "authToken", showAggregations: [2, "showAggregations", "showAggregations", booleanAttribute], contentLanguage: "contentLanguage", multiStageAggregation: [2, "multiStageAggregation", "multiStageAggregation", booleanAttribute], nestedAggregation: [2, "nestedAggregation", "nestedAggregation", booleanAttribute], size: "size" }, outputs: { luzmoExpressionChanged: "luzmoExpressionChanged", luzmoDatasetsError: "luzmoDatasetsError" }, exportAs: ["luzmoFormula"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoFormula_Template(rf, ctx) { if (rf & 1) {
124
- i0.ɵɵprojectionDef();
125
- i0.ɵɵprojection(0);
126
- } }, encapsulation: 2 });
127
- }
128
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoFormula, [{
129
- type: Component,
130
- args: [{
131
- selector: 'luzmo-formula',
132
- exportAs: 'luzmoFormula',
133
- standalone: true,
134
- changeDetection: ChangeDetectionStrategy.OnPush,
135
- template: '<ng-content />'
136
- }]
137
- }], () => [], { display: [{
138
- type: Input,
139
- args: [{ alias: 'display' }]
140
- }], language: [{
141
- type: Input,
142
- args: [{ alias: 'language' }]
143
- }], expression: [{
144
- type: Input,
145
- args: [{ alias: 'expression' }]
146
- }], datasetsDataFields: [{
147
- type: Input,
148
- args: [{ alias: 'datasetsDataFields' }]
149
- }], datasetIds: [{
150
- type: Input,
151
- args: [{ alias: 'datasetIds' }]
152
- }], apiUrl: [{
153
- type: Input,
154
- args: [{ alias: 'apiUrl' }]
155
- }], authKey: [{
156
- type: Input,
157
- args: [{ alias: 'authKey' }]
158
- }], authToken: [{
159
- type: Input,
160
- args: [{ alias: 'authToken' }]
161
- }], showAggregations: [{
162
- type: Input,
163
- args: [{ alias: 'showAggregations', transform: booleanAttribute }]
164
- }], contentLanguage: [{
165
- type: Input,
166
- args: [{ alias: 'contentLanguage' }]
167
- }], multiStageAggregation: [{
168
- type: Input,
169
- args: [{ alias: 'multiStageAggregation', transform: booleanAttribute }]
170
- }], nestedAggregation: [{
171
- type: Input,
172
- args: [{ alias: 'nestedAggregation', transform: booleanAttribute }]
173
- }], size: [{
174
- type: Input,
175
- args: [{ alias: 'size' }]
176
- }], luzmoExpressionChanged: [{ type: i0.Output, args: ["luzmoExpressionChanged"] }], luzmoDatasetsError: [{ type: i0.Output, args: ["luzmoDatasetsError"] }] }); })();
177
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoFormula, { className: "LuzmoFormula", filePath: "components/formula.ts", lineNumber: 15 }); })();
@@ -1,63 +0,0 @@
1
- import { OnChanges, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/interactive-viz-item';
3
- import type { LuzmoInteractiveVizItem as LuzmoInteractiveVizItemHostElement, ChartFeedback, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail } from '@luzmo/analytics-components-kit/interactive-viz-item';
4
- import * as i0 from "@angular/core";
5
- export type { ChartActionDescriptor, ChartActionType, ChartFeedback, ChartFeedbackRating, ChartMutationRequest, ChartOption, FlexChartConfig, InteractiveVizItemChartChangedEventDetail, InteractiveVizItemChartOptionsChangedEventDetail, InteractiveVizItemFeedbackChangedEventDetail, NormalizedChartConfig, Ranking, Sort } from '@luzmo/analytics-components-kit/interactive-viz-item';
6
- export declare class LuzmoInteractiveVizItem implements OnChanges {
7
- private readonly elementRef;
8
- private readonly renderer;
9
- private readonly destroyRef;
10
- private readonly host;
11
- private readonly listenerCleanup;
12
- /** The underlying custom element instance. Use to call imperative methods. */
13
- get nativeElement(): LuzmoInteractiveVizItemHostElement;
14
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
15
- language?: string;
16
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
17
- chart?: FlexChartConfig | null;
18
- /** Current feedback (drives the thumbs up/down selection). */
19
- feedback?: ChartFeedback | null;
20
- /** Message id from the backend. Feedback is only shown when set. */
21
- messageId?: string;
22
- /** Auth key for the embedded chart and config panels. */
23
- authKey?: string;
24
- /** Auth token for the embedded chart and config panels. */
25
- authToken?: string;
26
- /** API URL for the embedded chart and config panels. */
27
- apiUrl?: string;
28
- /** App server URL for the embedded chart (assets, thumbnails). */
29
- appServer?: string;
30
- /** Content language for chart data and dataset metadata. Defaults to the UI `language`. */
31
- contentLanguage?: string;
32
- /** When present, hides the inline chart actions (ranking, display mode). */
33
- hideActions?: boolean;
34
- /** When present, hides the feedback bar. */
35
- hideFeedback?: boolean;
36
- /** When present, hides the config-panel toggle and the panel itself. */
37
- hideConfigPanel?: boolean;
38
- /** The size of the element */
39
- size?: 's' | 'm' | 'l' | 'xl';
40
- /** Fired when the inline actions (ranking, sort, display mode) change the chart options. */
41
- readonly luzmoChartOptionsChanged: import("@angular/core").OutputEmitterRef<CustomEvent<InteractiveVizItemChartOptionsChangedEventDetail>>;
42
- /** Fired when the config panel changes slots, filters, or options (full chart). */
43
- readonly luzmoChartChanged: import("@angular/core").OutputEmitterRef<CustomEvent<InteractiveVizItemChartChangedEventDetail>>;
44
- /** Fired when the user changes the thumbs up/down rating. */
45
- readonly luzmoFeedbackChanged: import("@angular/core").OutputEmitterRef<CustomEvent<InteractiveVizItemFeedbackChangedEventDetail>>;
46
- constructor();
47
- ngOnChanges(changes: SimpleChanges): void;
48
- /**
49
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
50
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
51
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
52
- * undefined / null by clearing their bindings.
53
- */
54
- private setHostProperty;
55
- private bindEvents;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoInteractiveVizItem, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoInteractiveVizItem, "luzmo-interactive-viz-item", ["luzmoInteractiveVizItem"], { "language": { "alias": "language"; "required": false; }; "chart": { "alias": "chart"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "messageId": { "alias": "messageId"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "appServer": { "alias": "appServer"; "required": false; }; "contentLanguage": { "alias": "contentLanguage"; "required": false; }; "hideActions": { "alias": "hideActions"; "required": false; }; "hideFeedback": { "alias": "hideFeedback"; "required": false; }; "hideConfigPanel": { "alias": "hideConfigPanel"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "luzmoChartOptionsChanged": "luzmoChartOptionsChanged"; "luzmoChartChanged": "luzmoChartChanged"; "luzmoFeedbackChanged": "luzmoFeedbackChanged"; }, never, ["*"], true, never>;
58
- static ngAcceptInputType_hideActions: unknown;
59
- static ngAcceptInputType_hideFeedback: unknown;
60
- static ngAcceptInputType_hideConfigPanel: unknown;
61
- }
62
- /** The underlying custom element type for LuzmoInteractiveVizItem */
63
- export type LuzmoInteractiveVizItemElement = LuzmoInteractiveVizItemHostElement;
@@ -1,188 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/interactive-viz-item';
3
- import * as i0 from "@angular/core";
4
- const _c0 = ["*"];
5
- /**
6
- * Angular wrapper component for <luzmo-interactive-viz-item>
7
- *
8
- * @slot chart-actions-extra - Host-injected actions rendered at the end of the inline actions bar (e.g. copy-to-dashboard).
9
- * @csspart container - The viz item container.
10
- * @csspart chart-container - The embedded chart wrapper.
11
- * @csspart config-panel - The expandable configuration panel.
12
- */
13
- export class LuzmoInteractiveVizItem {
14
- elementRef = inject(ElementRef);
15
- renderer = inject(Renderer2);
16
- destroyRef = inject(DestroyRef);
17
- host = this.elementRef.nativeElement;
18
- listenerCleanup = [];
19
- /** The underlying custom element instance. Use to call imperative methods. */
20
- get nativeElement() {
21
- return this.host;
22
- }
23
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
24
- language;
25
- /** Loose chart config (type, options, slots, filters); slots may use the keyed-object form. */
26
- chart;
27
- /** Current feedback (drives the thumbs up/down selection). */
28
- feedback;
29
- /** Message id from the backend. Feedback is only shown when set. */
30
- messageId;
31
- /** Auth key for the embedded chart and config panels. */
32
- authKey;
33
- /** Auth token for the embedded chart and config panels. */
34
- authToken;
35
- /** API URL for the embedded chart and config panels. */
36
- apiUrl;
37
- /** App server URL for the embedded chart (assets, thumbnails). */
38
- appServer;
39
- /** Content language for chart data and dataset metadata. Defaults to the UI `language`. */
40
- contentLanguage;
41
- /** When present, hides the inline chart actions (ranking, display mode). */
42
- hideActions;
43
- /** When present, hides the feedback bar. */
44
- hideFeedback;
45
- /** When present, hides the config-panel toggle and the panel itself. */
46
- hideConfigPanel;
47
- /** The size of the element */
48
- size;
49
- /** Fired when the inline actions (ranking, sort, display mode) change the chart options. */
50
- luzmoChartOptionsChanged = output({ alias: 'luzmoChartOptionsChanged' });
51
- /** Fired when the config panel changes slots, filters, or options (full chart). */
52
- luzmoChartChanged = output({ alias: 'luzmoChartChanged' });
53
- /** Fired when the user changes the thumbs up/down rating. */
54
- luzmoFeedbackChanged = output({ alias: 'luzmoFeedbackChanged' });
55
- constructor() {
56
- this.bindEvents();
57
- this.destroyRef.onDestroy(() => {
58
- for (const cleanup of this.listenerCleanup) {
59
- cleanup();
60
- }
61
- });
62
- }
63
- ngOnChanges(changes) {
64
- for (const key of Object.keys(changes)) {
65
- switch (key) {
66
- case 'language':
67
- this.setHostProperty('language', changes['language'].currentValue);
68
- break;
69
- case 'chart':
70
- this.setHostProperty('chart', changes['chart'].currentValue);
71
- break;
72
- case 'feedback':
73
- this.setHostProperty('feedback', changes['feedback'].currentValue);
74
- break;
75
- case 'messageId':
76
- this.setHostProperty('messageId', changes['messageId'].currentValue);
77
- break;
78
- case 'authKey':
79
- this.setHostProperty('authKey', changes['authKey'].currentValue);
80
- break;
81
- case 'authToken':
82
- this.setHostProperty('authToken', changes['authToken'].currentValue);
83
- break;
84
- case 'apiUrl':
85
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
86
- break;
87
- case 'appServer':
88
- this.setHostProperty('appServer', changes['appServer'].currentValue);
89
- break;
90
- case 'contentLanguage':
91
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
92
- break;
93
- case 'hideActions':
94
- this.setHostProperty('hideActions', changes['hideActions'].currentValue);
95
- break;
96
- case 'hideFeedback':
97
- this.setHostProperty('hideFeedback', changes['hideFeedback'].currentValue);
98
- break;
99
- case 'hideConfigPanel':
100
- this.setHostProperty('hideConfigPanel', changes['hideConfigPanel'].currentValue);
101
- break;
102
- case 'size':
103
- this.setHostProperty('size', changes['size'].currentValue);
104
- break;
105
- default:
106
- break;
107
- }
108
- }
109
- }
110
- /**
111
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
112
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
113
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
114
- * undefined / null by clearing their bindings.
115
- */
116
- setHostProperty(key, value) {
117
- this.renderer.setProperty(this.host, key, value);
118
- }
119
- bindEvents() {
120
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-chart-options-changed', (event) => {
121
- const typed = event;
122
- this.luzmoChartOptionsChanged.emit(typed);
123
- }));
124
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-chart-changed', (event) => {
125
- const typed = event;
126
- this.luzmoChartChanged.emit(typed);
127
- }));
128
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-feedback-changed', (event) => {
129
- const typed = event;
130
- this.luzmoFeedbackChanged.emit(typed);
131
- }));
132
- }
133
- static ɵfac = function LuzmoInteractiveVizItem_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoInteractiveVizItem)(); };
134
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoInteractiveVizItem, selectors: [["luzmo-interactive-viz-item"]], inputs: { language: "language", chart: "chart", feedback: "feedback", messageId: "messageId", authKey: "authKey", authToken: "authToken", apiUrl: "apiUrl", appServer: "appServer", contentLanguage: "contentLanguage", hideActions: [2, "hideActions", "hideActions", booleanAttribute], hideFeedback: [2, "hideFeedback", "hideFeedback", booleanAttribute], hideConfigPanel: [2, "hideConfigPanel", "hideConfigPanel", booleanAttribute], size: "size" }, outputs: { luzmoChartOptionsChanged: "luzmoChartOptionsChanged", luzmoChartChanged: "luzmoChartChanged", luzmoFeedbackChanged: "luzmoFeedbackChanged" }, exportAs: ["luzmoInteractiveVizItem"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoInteractiveVizItem_Template(rf, ctx) { if (rf & 1) {
135
- i0.ɵɵprojectionDef();
136
- i0.ɵɵprojection(0);
137
- } }, encapsulation: 2 });
138
- }
139
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoInteractiveVizItem, [{
140
- type: Component,
141
- args: [{
142
- selector: 'luzmo-interactive-viz-item',
143
- exportAs: 'luzmoInteractiveVizItem',
144
- standalone: true,
145
- changeDetection: ChangeDetectionStrategy.OnPush,
146
- template: '<ng-content />'
147
- }]
148
- }], () => [], { language: [{
149
- type: Input,
150
- args: [{ alias: 'language' }]
151
- }], chart: [{
152
- type: Input,
153
- args: [{ alias: 'chart' }]
154
- }], feedback: [{
155
- type: Input,
156
- args: [{ alias: 'feedback' }]
157
- }], messageId: [{
158
- type: Input,
159
- args: [{ alias: 'messageId' }]
160
- }], authKey: [{
161
- type: Input,
162
- args: [{ alias: 'authKey' }]
163
- }], authToken: [{
164
- type: Input,
165
- args: [{ alias: 'authToken' }]
166
- }], apiUrl: [{
167
- type: Input,
168
- args: [{ alias: 'apiUrl' }]
169
- }], appServer: [{
170
- type: Input,
171
- args: [{ alias: 'appServer' }]
172
- }], contentLanguage: [{
173
- type: Input,
174
- args: [{ alias: 'contentLanguage' }]
175
- }], hideActions: [{
176
- type: Input,
177
- args: [{ alias: 'hideActions', transform: booleanAttribute }]
178
- }], hideFeedback: [{
179
- type: Input,
180
- args: [{ alias: 'hideFeedback', transform: booleanAttribute }]
181
- }], hideConfigPanel: [{
182
- type: Input,
183
- args: [{ alias: 'hideConfigPanel', transform: booleanAttribute }]
184
- }], size: [{
185
- type: Input,
186
- args: [{ alias: 'size' }]
187
- }], luzmoChartOptionsChanged: [{ type: i0.Output, args: ["luzmoChartOptionsChanged"] }], luzmoChartChanged: [{ type: i0.Output, args: ["luzmoChartChanged"] }], luzmoFeedbackChanged: [{ type: i0.Output, args: ["luzmoFeedbackChanged"] }] }); })();
188
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoInteractiveVizItem, { className: "LuzmoInteractiveVizItem", filePath: "components/interactive-viz-item.ts", lineNumber: 21 }); })();
@@ -1,45 +0,0 @@
1
- import { OnChanges, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-grid';
3
- import type { LuzmoItemGridItemActionsMenu as LuzmoItemGridItemActionsMenuHostElement, ActionGroup } from '@luzmo/analytics-components-kit/item-grid';
4
- import type { Placement } from '@luzmo/lucero';
5
- import * as i0 from "@angular/core";
6
- export type { Action, ActionGroup, AddGridItemInput, ClonedItemPositioning, DefaultActionType, GridItemActionEventDetail, GridItemData, GridItemPatch, GridItemPosition, GridItemPositionPatch, GridItemRenderer, GridItemSizePatch, GridItemStatesChangedEventDetail, GridLifecycleEventDetail, InputActionGroup, ItemStates } from '@luzmo/analytics-components-kit/item-grid';
7
- export declare class LuzmoItemGridItemActionsMenu implements OnChanges {
8
- private readonly elementRef;
9
- private readonly renderer;
10
- private readonly destroyRef;
11
- private readonly host;
12
- private readonly listenerCleanup;
13
- /** The underlying custom element instance. Use to call imperative methods. */
14
- get nativeElement(): LuzmoItemGridItemActionsMenuHostElement;
15
- /** The preferred placement of the menu */
16
- placement?: Placement;
17
- /** The Actions to display in the menu */
18
- actions?: ActionGroup[];
19
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
20
- language?: string;
21
- /** Disable this control. It will not receive focus or events */
22
- disabled?: boolean;
23
- /** When this control is rendered, focus it automatically */
24
- autofocus?: boolean;
25
- /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
26
- tabIndex?: number;
27
- /** Fired when the user clicks an action in the menu; `detail` holds the action key, type, and active state. */
28
- readonly luzmoItemGridItemAction: import("@angular/core").OutputEmitterRef<CustomEvent<unknown>>;
29
- constructor();
30
- ngOnChanges(changes: SimpleChanges): void;
31
- /**
32
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
33
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
34
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
35
- * undefined / null by clearing their bindings.
36
- */
37
- private setHostProperty;
38
- private bindEvents;
39
- static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoItemGridItemActionsMenu, never>;
40
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoItemGridItemActionsMenu, "luzmo-item-grid-item-actions-menu", ["luzmoItemGridItemActionsMenu"], { "placement": { "alias": "placement"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "language": { "alias": "language"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, { "luzmoItemGridItemAction": "luzmoItemGridItemAction"; }, never, ["*"], true, never>;
41
- static ngAcceptInputType_disabled: unknown;
42
- static ngAcceptInputType_autofocus: unknown;
43
- }
44
- /** The underlying custom element type for LuzmoItemGridItemActionsMenu */
45
- export type LuzmoItemGridItemActionsMenuElement = LuzmoItemGridItemActionsMenuHostElement;
@@ -1,115 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-grid';
3
- import * as i0 from "@angular/core";
4
- const _c0 = ["*"];
5
- /**
6
- * Angular wrapper component for <luzmo-item-grid-item-actions-menu>
7
- */
8
- export class LuzmoItemGridItemActionsMenu {
9
- elementRef = inject(ElementRef);
10
- renderer = inject(Renderer2);
11
- destroyRef = inject(DestroyRef);
12
- host = this.elementRef.nativeElement;
13
- listenerCleanup = [];
14
- /** The underlying custom element instance. Use to call imperative methods. */
15
- get nativeElement() {
16
- return this.host;
17
- }
18
- /** The preferred placement of the menu */
19
- placement;
20
- /** The Actions to display in the menu */
21
- actions;
22
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
23
- language;
24
- /** Disable this control. It will not receive focus or events */
25
- disabled;
26
- /** When this control is rendered, focus it automatically */
27
- autofocus;
28
- /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
29
- tabIndex;
30
- /** Fired when the user clicks an action in the menu; `detail` holds the action key, type, and active state. */
31
- luzmoItemGridItemAction = output({ alias: 'luzmoItemGridItemAction' });
32
- constructor() {
33
- this.bindEvents();
34
- this.destroyRef.onDestroy(() => {
35
- for (const cleanup of this.listenerCleanup) {
36
- cleanup();
37
- }
38
- });
39
- }
40
- ngOnChanges(changes) {
41
- for (const key of Object.keys(changes)) {
42
- switch (key) {
43
- case 'placement':
44
- this.setHostProperty('placement', changes['placement'].currentValue);
45
- break;
46
- case 'actions':
47
- this.setHostProperty('actions', changes['actions'].currentValue);
48
- break;
49
- case 'language':
50
- this.setHostProperty('language', changes['language'].currentValue);
51
- break;
52
- case 'disabled':
53
- this.setHostProperty('disabled', changes['disabled'].currentValue);
54
- break;
55
- case 'autofocus':
56
- this.setHostProperty('autofocus', changes['autofocus'].currentValue);
57
- break;
58
- case 'tabIndex':
59
- this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
60
- break;
61
- default:
62
- break;
63
- }
64
- }
65
- }
66
- /**
67
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
68
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
69
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
70
- * undefined / null by clearing their bindings.
71
- */
72
- setHostProperty(key, value) {
73
- this.renderer.setProperty(this.host, key, value);
74
- }
75
- bindEvents() {
76
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-item-grid-item-action', (event) => {
77
- const typed = event;
78
- this.luzmoItemGridItemAction.emit(typed);
79
- }));
80
- }
81
- static ɵfac = function LuzmoItemGridItemActionsMenu_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoItemGridItemActionsMenu)(); };
82
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoItemGridItemActionsMenu, selectors: [["luzmo-item-grid-item-actions-menu"]], inputs: { placement: "placement", actions: "actions", language: "language", disabled: [2, "disabled", "disabled", booleanAttribute], autofocus: [2, "autofocus", "autofocus", booleanAttribute], tabIndex: "tabIndex" }, outputs: { luzmoItemGridItemAction: "luzmoItemGridItemAction" }, exportAs: ["luzmoItemGridItemActionsMenu"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoItemGridItemActionsMenu_Template(rf, ctx) { if (rf & 1) {
83
- i0.ɵɵprojectionDef();
84
- i0.ɵɵprojection(0);
85
- } }, encapsulation: 2 });
86
- }
87
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoItemGridItemActionsMenu, [{
88
- type: Component,
89
- args: [{
90
- selector: 'luzmo-item-grid-item-actions-menu',
91
- exportAs: 'luzmoItemGridItemActionsMenu',
92
- standalone: true,
93
- changeDetection: ChangeDetectionStrategy.OnPush,
94
- template: '<ng-content />'
95
- }]
96
- }], () => [], { placement: [{
97
- type: Input,
98
- args: [{ alias: 'placement' }]
99
- }], actions: [{
100
- type: Input,
101
- args: [{ alias: 'actions' }]
102
- }], language: [{
103
- type: Input,
104
- args: [{ alias: 'language' }]
105
- }], disabled: [{
106
- type: Input,
107
- args: [{ alias: 'disabled', transform: booleanAttribute }]
108
- }], autofocus: [{
109
- type: Input,
110
- args: [{ alias: 'autofocus', transform: booleanAttribute }]
111
- }], tabIndex: [{
112
- type: Input,
113
- args: [{ alias: 'tabIndex' }]
114
- }], luzmoItemGridItemAction: [{ type: i0.Output, args: ["luzmoItemGridItemAction"] }] }); })();
115
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoItemGridItemActionsMenu, { className: "LuzmoItemGridItemActionsMenu", filePath: "components/item-grid-item-actions-menu.ts", lineNumber: 17 }); })();