@luzmo/analytics-components-kit 1.0.8-beta.1 → 1.0.8-beta.2

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 (516) hide show
  1. package/README.md +14 -1
  2. package/components/ai-chat/index.cjs +1 -1
  3. package/components/ai-chat/index.js +2 -2
  4. package/components/{ai-chat-Bo0ELL9Z.cjs → ai-chat-D1Rzwdxy.cjs} +1 -1
  5. package/components/{ai-chat-hOxsY5sO.js → ai-chat-Dy_utMXO.js} +1 -1
  6. package/components/ai-interaction-textarea/index.cjs +1 -1
  7. package/components/ai-interaction-textarea/index.js +1 -1
  8. package/components/{ai-interaction-textarea-DvILxmFe.cjs → ai-interaction-textarea-CJO50_1F.cjs} +1 -1
  9. package/components/{ai-interaction-textarea-r77TFOk6.js → ai-interaction-textarea-DMT8RNUP.js} +2 -2
  10. package/components/{area-chart-positioning.config-BqKl3pFu.cjs → area-chart-positioning.config-BstzDLRL.cjs} +1 -1
  11. package/components/{area-chart-positioning.config-Br2P8CiM.js → area-chart-positioning.config-DeMlkQZO.js} +1 -1
  12. package/components/{bar-chart-positioning.config-BIIRV0eK.js → bar-chart-positioning.config-Cw4xXpaU.js} +1 -1
  13. package/components/{bar-chart-positioning.config-CuZ6-d9P.cjs → bar-chart-positioning.config-DDKGGZhU.cjs} +1 -1
  14. package/components/{base-store-DmDe0dTU.js → base-store-BhGpnbqi.js} +0 -8
  15. package/components/{base-store-DHC2m2Os.cjs → base-store-D5cDq6d4.cjs} +1 -1
  16. package/components/{box-plot-positioning.config-AHLRC1d-.js → box-plot-positioning.config-BQf8CX15.js} +1 -1
  17. package/components/{box-plot-positioning.config-DAYgLURB.cjs → box-plot-positioning.config-Cni8SYCB.cjs} +1 -1
  18. package/components/{bubble-chart-positioning.config-0rqhisQ0.cjs → bubble-chart-positioning.config-1Q2GxFJ4.cjs} +1 -1
  19. package/components/{bubble-chart-positioning.config-55OuqSo_.js → bubble-chart-positioning.config-BYeXJRKW.js} +1 -1
  20. package/components/{bullet-chart-positioning.config-CIkbLbi3.js → bullet-chart-positioning.config-D-fuuO8D.js} +1 -1
  21. package/components/{bullet-chart-positioning.config-COKnJxPm.cjs → bullet-chart-positioning.config-NSHvsWAf.cjs} +1 -1
  22. package/components/{choropleth-map-positioning.config-C9QGy6XL.js → choropleth-map-positioning.config-Bk2lcbUF.js} +1 -1
  23. package/components/{choropleth-map-positioning.config-0EBrFMj-.cjs → choropleth-map-positioning.config-DZCuGwit.cjs} +1 -1
  24. package/components/{circle-pack-chart-positioning.config-BtQ9KsU9.cjs → circle-pack-chart-positioning.config-CuESD4oH.cjs} +1 -1
  25. package/components/{circle-pack-chart-positioning.config-vl4eZHhs.js → circle-pack-chart-positioning.config-pvlFSoeh.js} +1 -1
  26. package/components/{circular-gauge-positioning.config-B-65zgBL.js → circular-gauge-positioning.config-BI5_9VzK.js} +1 -1
  27. package/components/{circular-gauge-positioning.config-BjDwC0zc.cjs → circular-gauge-positioning.config-DIYxTFVO.cjs} +1 -1
  28. package/components/{column-chart-positioning.config-CDISLkz9.js → column-chart-positioning.config-CoekgrWc.js} +1 -1
  29. package/components/{column-chart-positioning.config-hIAFqQkL.cjs → column-chart-positioning.config-F5liDplz.cjs} +1 -1
  30. package/components/{combination-chart-positioning.config-CFo18WDh.cjs → combination-chart-positioning.config-BIqhiqPc.cjs} +1 -1
  31. package/components/{combination-chart-positioning.config-C0immu_Z.js → combination-chart-positioning.config-gfmXofUL.js} +1 -1
  32. package/components/{conditional-number-positioning.config-Bw0gHZ2o.cjs → conditional-number-positioning.config-7xN8yNaC.cjs} +1 -1
  33. package/components/{conditional-number-positioning.config-BfOZxdI3.js → conditional-number-positioning.config-DoA_qMvA.js} +1 -1
  34. package/components/{data-broker-Bdv5V8Yp.js → data-broker-B0uUO5er.js} +4 -0
  35. package/components/{data-broker-DWEXs6-2.cjs → data-broker-CyMYR6w1.cjs} +1 -1
  36. package/components/data-field-panel/index.cjs +1 -1
  37. package/components/data-field-panel/index.js +1 -1
  38. package/components/{data-field-panel-bka3sr4V.cjs → data-field-panel-B9aYsBfe.cjs} +1 -1
  39. package/components/{data-field-panel-Y8MKxsTL.js → data-field-panel-COHppDw6.js} +2 -2
  40. package/components/data-fields-select/index.cjs +1 -1
  41. package/components/data-fields-select/index.js +1 -1
  42. package/components/data-fields-select-BMDWXAMz.cjs +41 -0
  43. package/components/{data-fields-select-2P9sGs_9.js → data-fields-select-CvdABHum.js} +1 -1
  44. package/components/dataset-selector-list/index.cjs +1 -1
  45. package/components/dataset-selector-list/index.js +1 -1
  46. package/components/{dataset-selector-list-DhiiMGU8.cjs → dataset-selector-list-CekhYtbU.cjs} +1 -1
  47. package/components/{dataset-selector-list-qeYvQkeD.js → dataset-selector-list-yU9o-gBK.js} +1 -1
  48. package/components/dataset-selector-row/index.cjs +1 -1
  49. package/components/dataset-selector-row/index.js +1 -1
  50. package/components/{dataset-selector-row-Cau2IKg2.cjs → dataset-selector-row-Cte3skmf.cjs} +1 -1
  51. package/components/{dataset-selector-row-C8_Hnlp5.js → dataset-selector-row-eb2fUxMB.js} +1 -1
  52. package/components/display-settings/index.cjs +1 -1
  53. package/components/display-settings/index.js +1 -1
  54. package/components/{display-settings-C088VTeJ.cjs → display-settings-B_sY5MXH.cjs} +1 -1
  55. package/components/{display-settings-BShiJjYL.js → display-settings-DpPSk_da.js} +1 -1
  56. package/components/{donut-chart-positioning.config-BPY9_d1a.js → donut-chart-positioning.config-B-CWvQDP.js} +1 -1
  57. package/components/{donut-chart-positioning.config-D1CzQ5Xn.cjs → donut-chart-positioning.config-DsHR-HET.cjs} +1 -1
  58. package/components/{evolution-number-positioning.config-DLO4M9Cs.cjs → evolution-number-positioning.config-DWJlecZ8.cjs} +1 -1
  59. package/components/{evolution-number-positioning.config-Cylb9kiq.js → evolution-number-positioning.config-DogBtixy.js} +1 -1
  60. package/components/filter-expression-picker/index.cjs +1 -1
  61. package/components/filter-expression-picker/index.js +1 -1
  62. package/components/{filter-expression-picker-CGgLtygy.cjs → filter-expression-picker-Dtd04YHa.cjs} +1 -1
  63. package/components/{filter-expression-picker-DC_fSNw3.js → filter-expression-picker-vZcmpdhp.js} +1 -1
  64. package/components/filter-item/filter-item.d.ts +4 -0
  65. package/components/filter-item/index.cjs +1 -1
  66. package/components/filter-item/index.js +1 -1
  67. package/components/{filter-item-xi4ViBw6.js → filter-item-DhWm1nZ2.js} +26 -11
  68. package/components/filter-item-QGXrunyl.cjs +71 -0
  69. package/components/filter-value-picker/index.cjs +1 -1
  70. package/components/filter-value-picker/index.js +1 -1
  71. package/components/{filter-value-picker-CaMy7sgw.js → filter-value-picker-DL-XI9zN.js} +3 -3
  72. package/components/{filter-value-picker-BhZ1btu2.cjs → filter-value-picker-DUPgUphE.cjs} +1 -1
  73. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +2 -1
  74. package/components/filter-value-picker-datetime/index.cjs +1 -1
  75. package/components/filter-value-picker-datetime/index.js +1 -1
  76. package/components/{filter-value-picker-datetime-DeXo9m9J.cjs → filter-value-picker-datetime-BYosmOVo.cjs} +1 -1
  77. package/components/{filter-value-picker-datetime-swmPuya2.js → filter-value-picker-datetime-DrtBsmhk.js} +1 -1
  78. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +16 -0
  79. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  80. package/components/filter-value-picker-hierarchy/index.js +1 -1
  81. package/components/filter-value-picker-hierarchy-Co7tEAF0.cjs +48 -0
  82. package/components/{filter-value-picker-hierarchy-CUrCfFBg.js → filter-value-picker-hierarchy-D9HPNjXi.js} +119 -52
  83. package/components/filter-value-picker-numeric/index.cjs +1 -1
  84. package/components/filter-value-picker-numeric/index.js +1 -1
  85. package/components/{filter-value-picker-numeric-LHFsFwHY.cjs → filter-value-picker-numeric-BCaSriJT.cjs} +1 -1
  86. package/components/{filter-value-picker-numeric-_7THOfQ3.js → filter-value-picker-numeric-CLRBOcom.js} +2 -2
  87. package/components/filters/index.cjs +1 -1
  88. package/components/filters/index.js +1 -1
  89. package/components/filters-DPh6G5_6.cjs +153 -0
  90. package/components/{filters-CGlwSB1c.js → filters-hIID3Ol5.js} +172 -169
  91. package/components/formula/index.cjs +1 -1
  92. package/components/formula/index.js +1 -1
  93. package/components/{formula-Cs6dyuWv.js → formula-D6fZk242.js} +2 -2
  94. package/components/{formula-fK-POHy0.cjs → formula-DJa0m0vt.cjs} +1 -1
  95. package/components/{formula-codemirror-DQjUbRXS.js → formula-codemirror-CS38irmY.js} +2 -2
  96. package/components/{formula-codemirror-DWNgYsVG.cjs → formula-codemirror-ClMjdWte.cjs} +1 -1
  97. package/components/{formula-display-store-B7NE3yk2.js → formula-display-store-BVCcrqMB.js} +2 -2
  98. package/components/{formula-display-store-CIaihdJt.cjs → formula-display-store-riWDbPmO.cjs} +1 -1
  99. package/components/formula-editor/index.cjs +1 -1
  100. package/components/formula-editor/index.js +3 -3
  101. package/components/{formula-editor-RrAmSugR.js → formula-editor-C63ifj9i.js} +4 -4
  102. package/components/{formula-editor-DHau0kyj.cjs → formula-editor-KuJjGn6h.cjs} +1 -1
  103. package/components/formula-field/index.cjs +1 -1
  104. package/components/formula-field/index.js +1 -1
  105. package/components/{formula-field-YNbqmroG.cjs → formula-field-BIseRR26.cjs} +1 -1
  106. package/components/{formula-field-BU-tU8RC.js → formula-field-CZu-WBKI.js} +1 -1
  107. package/components/{formula-input-base-DbJu89ug.cjs → formula-input-base-B1D56Klw.cjs} +1 -1
  108. package/components/{formula-input-base-BL7QCVYc.js → formula-input-base-DhhV4mbQ.js} +1 -1
  109. package/components/{funnel-chart-positioning.config-si2pX2gx.js → funnel-chart-positioning.config-D7871iXX.js} +1 -1
  110. package/components/{funnel-chart-positioning.config-BBNWT_VE.cjs → funnel-chart-positioning.config-DswPJ8VG.cjs} +1 -1
  111. package/components/{groupings-Xmt8wNT9.js → groupings-BwzDflId.js} +1 -1
  112. package/components/{groupings-4QHaRJAm.cjs → groupings-Dt2yC9fH.cjs} +1 -1
  113. package/components/{heat-map-positioning.config-DI5FunDJ.cjs → heat-map-positioning.config-C9xyxr1p.cjs} +1 -1
  114. package/components/{heat-map-positioning.config-DOlrArXK.js → heat-map-positioning.config-sZTsAUnf.js} +1 -1
  115. package/components/{heat-table-positioning.config-iu4AP8qY.cjs → heat-table-positioning.config-B5XgRMIn.cjs} +1 -1
  116. package/components/{heat-table-positioning.config-COaenQ4o.js → heat-table-positioning.config-DSsD8apM.js} +1 -1
  117. package/components/{hexbin-map-positioning.config-BhuH9uzL.js → hexbin-map-positioning.config-Dc9wAdAv.js} +1 -1
  118. package/components/{marker-map-positioning.config-Bt-iQQTT.cjs → hexbin-map-positioning.config-Dq2TuFz1.cjs} +1 -1
  119. package/components/index.cjs +1 -1
  120. package/components/index.js +38 -38
  121. package/components/interactive-viz-item/index.cjs +1 -1
  122. package/components/interactive-viz-item/index.js +1 -1
  123. package/components/{interactive-viz-item-Ckksv6BC.cjs → interactive-viz-item-Bn9IhEvD.cjs} +1 -1
  124. package/components/{interactive-viz-item-diknEJmH.js → interactive-viz-item-CXHq9Csp.js} +3 -3
  125. package/components/item-grid/index.cjs +1 -1
  126. package/components/item-grid/index.js +1 -1
  127. package/components/{item-grid-Dv_KLkHv.cjs → item-grid-B8tT6ztQ.cjs} +2 -2
  128. package/components/{item-grid-BxeW2lFX.js → item-grid-D7b0blK6.js} +47 -47
  129. package/components/item-option/index.cjs +1 -1
  130. package/components/item-option/index.js +1 -1
  131. package/components/{item-option-n8o2amMX.js → item-option-Dc4GNRMW.js} +120 -126
  132. package/components/item-option-dwknAAj9.cjs +269 -0
  133. package/components/item-option-panel/index.cjs +1 -1
  134. package/components/item-option-panel/index.js +1 -1
  135. package/components/{item-option-panel-h1z2MCbr.js → item-option-panel-DIU-3auc.js} +1 -1
  136. package/components/{item-option-panel-m9BDbDRw.cjs → item-option-panel-Dv6v7RzM.cjs} +1 -1
  137. package/components/item-slot-drop/index.cjs +1 -1
  138. package/components/item-slot-drop/index.js +1 -1
  139. package/components/{item-slot-drop-iXidsCW1.js → item-slot-drop-BL7DOudd.js} +12 -12
  140. package/components/{item-slot-drop-CViqm_N2.cjs → item-slot-drop-Ds06u_vn.cjs} +1 -1
  141. package/components/item-slot-drop-panel/index.cjs +1 -1
  142. package/components/item-slot-drop-panel/index.js +1 -1
  143. package/components/{item-slot-drop-panel-BjOPdyYH.cjs → item-slot-drop-panel-D_EFyM9J.cjs} +1 -1
  144. package/components/{item-slot-drop-panel-DwNCcxm1.js → item-slot-drop-panel-DkHylw7i.js} +37 -37
  145. package/components/item-slot-picker/index.cjs +1 -1
  146. package/components/item-slot-picker/index.js +1 -1
  147. package/components/{item-slot-picker-D8e1NtDd.cjs → item-slot-picker-BbpPIoIq.cjs} +3 -3
  148. package/components/{item-slot-picker-DpnpGTvR.js → item-slot-picker-CywUgvNX.js} +15 -15
  149. package/components/item-slot-picker-panel/index.cjs +1 -1
  150. package/components/item-slot-picker-panel/index.js +1 -1
  151. package/components/{item-slot-picker-panel-l53YLi4e.js → item-slot-picker-panel-Bi8xZaYc.js} +2 -2
  152. package/components/{item-slot-picker-panel-DyP6Uls5.cjs → item-slot-picker-panel-DQLwQXdI.cjs} +1 -1
  153. package/components/{line-chart-positioning.config-BAt_nsVA.cjs → line-chart-positioning.config-CCsZMpp-.cjs} +1 -1
  154. package/components/{line-chart-positioning.config-A4TQKtrY.js → line-chart-positioning.config-q_XJiQBO.js} +1 -1
  155. package/components/{load-data-fields-for-datasets-BNnr8x3m.js → load-data-fields-for-datasets-B3XcFFfg.js} +1 -1
  156. package/components/{load-data-fields-for-datasets-CW4Voiex.cjs → load-data-fields-for-datasets-rL24A68g.cjs} +1 -1
  157. package/components/{hexbin-map-positioning.config-CZGNbr60.cjs → marker-map-positioning.config-B4GDDPUn.cjs} +1 -1
  158. package/components/{marker-map-positioning.config-B-EQ3Kdq.js → marker-map-positioning.config-qEo6YbOG.js} +1 -1
  159. package/components/{ohlc-chart-positioning.config-Shmm9MJf.js → ohlc-chart-positioning.config-CU7qaa8y.js} +1 -1
  160. package/components/{ohlc-chart-positioning.config-COj7yt6H.cjs → ohlc-chart-positioning.config-TquTA1gZ.cjs} +1 -1
  161. package/components/{parallel-coordinates-plot-positioning.config-ClvpDIFu.cjs → parallel-coordinates-plot-positioning.config-C8_F3uzs.cjs} +1 -1
  162. package/components/{parallel-coordinates-plot-positioning.config-C05rBaKD.js → parallel-coordinates-plot-positioning.config-DuQWnPKv.js} +1 -1
  163. package/components/{pivot-table-positioning.config-BGlPvMyz.js → pivot-table-positioning.config-B6ra1dbJ.js} +1 -1
  164. package/components/{pivot-table-positioning.config-CDJ5gAfT.cjs → pivot-table-positioning.config-DhtDGn-Z.cjs} +1 -1
  165. package/components/{pyramid-chart-positioning.config-DvhVY2uQ.cjs → pyramid-chart-positioning.config-5bWhJBP_.cjs} +1 -1
  166. package/components/{pyramid-chart-positioning.config-BcqgH441.js → pyramid-chart-positioning.config-C_KASxlG.js} +1 -1
  167. package/components/{radar-chart-positioning.config-COMI8Da1.cjs → radar-chart-positioning.config-D2NVgsg1.cjs} +1 -1
  168. package/components/{radar-chart-positioning.config-C9tXOa0G.js → radar-chart-positioning.config-l6ioKbxT.js} +1 -1
  169. package/components/{route-map-positioning.config-Bi8-Dmc4.cjs → route-map-positioning.config-5Xju6VM-.cjs} +1 -1
  170. package/components/{route-map-positioning.config-BUIlsZig.js → route-map-positioning.config-HDuhd3TI.js} +1 -1
  171. package/components/{sankey-diagram-positioning.config-DUAsNKP9.js → sankey-diagram-positioning.config-BKeksOQ2.js} +1 -1
  172. package/components/{sankey-diagram-positioning.config-DgZpfj7d.cjs → sankey-diagram-positioning.config-BXseVUED.cjs} +1 -1
  173. package/components/{scatter-plot-positioning.config-8c9ToDBN.cjs → scatter-plot-positioning.config-Ci_UFZZ7.cjs} +1 -1
  174. package/components/{scatter-plot-positioning.config-D6dyNojk.js → scatter-plot-positioning.config-MFGPELRh.js} +1 -1
  175. package/components/set-nested-value-B-4IelRl.cjs +20 -0
  176. package/components/set-nested-value-V1TdquO3.js +33 -0
  177. package/components/{slicer-filter-positioning.config-CqPOeeeg.cjs → slicer-filter-positioning.config-C2w10p-X.cjs} +1 -1
  178. package/components/{slicer-filter-positioning.config-BnxE_Ac2.js → slicer-filter-positioning.config-CKyzt_nF.js} +1 -1
  179. package/components/slot-menu/index.cjs +1 -1
  180. package/components/slot-menu/index.js +1 -1
  181. package/components/slot-menu-7Lsnn5mp.cjs +71 -0
  182. package/components/{slot-menu-BsaFfMfl.js → slot-menu-JcmVjv2g.js} +15 -12
  183. package/components/{speedometer-chart-positioning.config-B6ydcNl1.js → speedometer-chart-positioning.config-BEWibjyH.js} +1 -1
  184. package/components/{speedometer-chart-positioning.config-CWVs9wdL.cjs → speedometer-chart-positioning.config-Df5CIOwp.cjs} +1 -1
  185. package/components/{spike-map-positioning.config-CzTPhLvN.cjs → spike-map-positioning.config-C6aRn7nn.cjs} +1 -1
  186. package/components/{spike-map-positioning.config-BUDKv3D-.js → spike-map-positioning.config-CdT1dVMG.js} +1 -1
  187. package/components/{strip-plot-positioning.config-d8qB2u-P.js → strip-plot-positioning.config-B8vN0A44.js} +1 -1
  188. package/components/{strip-plot-positioning.config-C6-0AgIF.cjs → strip-plot-positioning.config-DXJci5zk.cjs} +1 -1
  189. package/components/{sunburst-chart-positioning.config-DcYT58kl.js → sunburst-chart-positioning.config-D-qWT3sC.js} +1 -1
  190. package/components/{sunburst-chart-positioning.config-D_APT9mf.cjs → sunburst-chart-positioning.config-XfxGkqp6.cjs} +1 -1
  191. package/components/{symbol-map-positioning.config-CWkkURYU.cjs → symbol-map-positioning.config-BB8-Feba.cjs} +1 -1
  192. package/components/{symbol-map-positioning.config-D12TczYa.js → symbol-map-positioning.config-CAC8XCec.js} +1 -1
  193. package/components/{treemap-chart-positioning.config-BmxLpNn2.js → treemap-chart-positioning.config-CJKe5rf1.js} +1 -1
  194. package/components/{treemap-chart-positioning.config-BS-BO3sD.cjs → treemap-chart-positioning.config-Daf9Kk3k.cjs} +1 -1
  195. package/components/utils/store.cjs +1 -1
  196. package/components/utils/store.js +59 -58
  197. package/components/{utils-DUeh8VMp.js → utils-BMmRy1Nn.js} +1 -1
  198. package/components/{utils-pKA3Rwn3.cjs → utils-D9CBsoMV.cjs} +1 -1
  199. package/components/utils.cjs +1 -1
  200. package/components/utils.js +2 -2
  201. package/components/{venn-diagram-positioning.config-B-4Uoe_o.js → venn-diagram-positioning.config-8pfbiReM.js} +1 -1
  202. package/components/{venn-diagram-positioning.config-D4Zhdh2X.cjs → venn-diagram-positioning.config-DqxSgLGR.cjs} +1 -1
  203. package/components/{wordcloud-chart-positioning.config-DTEauH2w.cjs → wordcloud-chart-positioning.config-Cb7lzr9N.cjs} +1 -1
  204. package/components/{wordcloud-chart-positioning.config-Cr9lzAHP.js → wordcloud-chart-positioning.config-DUazjx5M.js} +1 -1
  205. package/custom-elements.json +21 -1
  206. package/package.json +2 -2
  207. package/react/package.json +2 -2
  208. package/utils/data-broker/index.d.ts +20 -14
  209. package/utils/set-nested-value.d.ts +6 -0
  210. package/utils/store/base-store.d.ts +0 -4
  211. package/angular/README.md +0 -40
  212. package/angular/components/ai-chat-empty-state.ts +0 -98
  213. package/angular/components/ai-chat.ts +0 -412
  214. package/angular/components/ai-interaction-textarea.ts +0 -263
  215. package/angular/components/data-field-level.ts +0 -130
  216. package/angular/components/data-field-panel.ts +0 -256
  217. package/angular/components/data-field.ts +0 -130
  218. package/angular/components/data-fields-select.ts +0 -212
  219. package/angular/components/dataset-icon.ts +0 -83
  220. package/angular/components/dataset-selector-list.ts +0 -140
  221. package/angular/components/dataset-selector-row.ts +0 -157
  222. package/angular/components/display-settings-binning.ts +0 -92
  223. package/angular/components/display-settings-datetime.ts +0 -100
  224. package/angular/components/display-settings-grand-totals.ts +0 -92
  225. package/angular/components/display-settings-numeric.ts +0 -113
  226. package/angular/components/display-settings-period-over-period.ts +0 -107
  227. package/angular/components/display-settings.ts +0 -227
  228. package/angular/components/filter-expression-picker.ts +0 -168
  229. package/angular/components/filter-item.ts +0 -175
  230. package/angular/components/filter-parameter-picker.ts +0 -155
  231. package/angular/components/filter-value-picker-datetime.ts +0 -125
  232. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  233. package/angular/components/filter-value-picker-numeric.ts +0 -146
  234. package/angular/components/filter-value-picker.ts +0 -160
  235. package/angular/components/filters.ts +0 -209
  236. package/angular/components/formula-editor.ts +0 -229
  237. package/angular/components/formula-field.ts +0 -198
  238. package/angular/components/formula.ts +0 -170
  239. package/angular/components/interactive-viz-item.ts +0 -186
  240. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  241. package/angular/components/item-grid.ts +0 -242
  242. package/angular/components/item-option-action-button-group.ts +0 -105
  243. package/angular/components/item-option-color-palette-picker.ts +0 -126
  244. package/angular/components/item-option-color-picker.ts +0 -134
  245. package/angular/components/item-option-color-range.ts +0 -168
  246. package/angular/components/item-option-guidelines.ts +0 -84
  247. package/angular/components/item-option-multi-language-field.ts +0 -133
  248. package/angular/components/item-option-number-field.ts +0 -161
  249. package/angular/components/item-option-panel.ts +0 -149
  250. package/angular/components/item-option-picker.ts +0 -120
  251. package/angular/components/item-option-position-picker.ts +0 -98
  252. package/angular/components/item-option-positions-number-field.ts +0 -140
  253. package/angular/components/item-option-radio-button-group.ts +0 -119
  254. package/angular/components/item-option-slider.ts +0 -126
  255. package/angular/components/item-option-switch.ts +0 -98
  256. package/angular/components/item-option-text-field.ts +0 -112
  257. package/angular/components/item-option.ts +0 -163
  258. package/angular/components/item-slot-drop-panel.ts +0 -236
  259. package/angular/components/item-slot-drop.ts +0 -231
  260. package/angular/components/item-slot-picker-panel.ts +0 -299
  261. package/angular/components/item-slot-picker.ts +0 -241
  262. package/angular/components/slot-menu-list.ts +0 -121
  263. package/angular/components/slot-menu.ts +0 -304
  264. package/angular/components/viz-item-menu.ts +0 -118
  265. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -39
  266. package/angular/esm/components/ai-chat-empty-state.js +0 -99
  267. package/angular/esm/components/ai-chat.d.ts +0 -137
  268. package/angular/esm/components/ai-chat.js +0 -423
  269. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -99
  270. package/angular/esm/components/ai-interaction-textarea.js +0 -281
  271. package/angular/esm/components/data-field-level.d.ts +0 -50
  272. package/angular/esm/components/data-field-level.js +0 -129
  273. package/angular/esm/components/data-field-panel.d.ts +0 -86
  274. package/angular/esm/components/data-field-panel.js +0 -268
  275. package/angular/esm/components/data-field.d.ts +0 -50
  276. package/angular/esm/components/data-field.js +0 -129
  277. package/angular/esm/components/data-fields-select.d.ts +0 -81
  278. package/angular/esm/components/data-fields-select.js +0 -227
  279. package/angular/esm/components/dataset-icon.d.ts +0 -34
  280. package/angular/esm/components/dataset-icon.js +0 -86
  281. package/angular/esm/components/dataset-selector-list.d.ts +0 -53
  282. package/angular/esm/components/dataset-selector-list.js +0 -147
  283. package/angular/esm/components/dataset-selector-row.d.ts +0 -58
  284. package/angular/esm/components/dataset-selector-row.js +0 -161
  285. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  286. package/angular/esm/components/display-settings-binning.js +0 -91
  287. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  288. package/angular/esm/components/display-settings-datetime.js +0 -99
  289. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  290. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  291. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  292. package/angular/esm/components/display-settings-numeric.js +0 -115
  293. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -44
  294. package/angular/esm/components/display-settings-period-over-period.js +0 -107
  295. package/angular/esm/components/display-settings.d.ts +0 -83
  296. package/angular/esm/components/display-settings.js +0 -231
  297. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  298. package/angular/esm/components/filter-expression-picker.js +0 -179
  299. package/angular/esm/components/filter-item.d.ts +0 -63
  300. package/angular/esm/components/filter-item.js +0 -187
  301. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  302. package/angular/esm/components/filter-parameter-picker.js +0 -151
  303. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  304. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  305. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  306. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  307. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  308. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  309. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  310. package/angular/esm/components/filter-value-picker.js +0 -171
  311. package/angular/esm/components/filters.d.ts +0 -75
  312. package/angular/esm/components/filters.js +0 -215
  313. package/angular/esm/components/formula-editor.d.ts +0 -78
  314. package/angular/esm/components/formula-editor.js +0 -236
  315. package/angular/esm/components/formula-field.d.ts +0 -70
  316. package/angular/esm/components/formula-field.js +0 -209
  317. package/angular/esm/components/formula.d.ts +0 -60
  318. package/angular/esm/components/formula.js +0 -177
  319. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  320. package/angular/esm/components/interactive-viz-item.js +0 -188
  321. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  322. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  323. package/angular/esm/components/item-grid.d.ts +0 -80
  324. package/angular/esm/components/item-grid.js +0 -245
  325. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  326. package/angular/esm/components/item-option-action-button-group.js +0 -107
  327. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  328. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  329. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  330. package/angular/esm/components/item-option-color-picker.js +0 -139
  331. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  332. package/angular/esm/components/item-option-color-range.js +0 -179
  333. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  334. package/angular/esm/components/item-option-guidelines.js +0 -83
  335. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  336. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  337. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  338. package/angular/esm/components/item-option-number-field.js +0 -171
  339. package/angular/esm/components/item-option-panel.d.ts +0 -54
  340. package/angular/esm/components/item-option-panel.js +0 -155
  341. package/angular/esm/components/item-option-picker.d.ts +0 -46
  342. package/angular/esm/components/item-option-picker.js +0 -123
  343. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  344. package/angular/esm/components/item-option-position-picker.js +0 -99
  345. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  346. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  347. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  348. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  349. package/angular/esm/components/item-option-slider.d.ts +0 -46
  350. package/angular/esm/components/item-option-slider.js +0 -131
  351. package/angular/esm/components/item-option-switch.d.ts +0 -40
  352. package/angular/esm/components/item-option-switch.js +0 -99
  353. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  354. package/angular/esm/components/item-option-text-field.js +0 -115
  355. package/angular/esm/components/item-option.d.ts +0 -58
  356. package/angular/esm/components/item-option.js +0 -171
  357. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  358. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  359. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  360. package/angular/esm/components/item-slot-drop.js +0 -227
  361. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  362. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  363. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  364. package/angular/esm/components/item-slot-picker.js +0 -259
  365. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  366. package/angular/esm/components/slot-menu-list.js +0 -123
  367. package/angular/esm/components/slot-menu.d.ts +0 -104
  368. package/angular/esm/components/slot-menu.js +0 -300
  369. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  370. package/angular/esm/components/viz-item-menu.js +0 -111
  371. package/angular/esm/index.d.ts +0 -109
  372. package/angular/esm/index.js +0 -217
  373. package/angular/index.ts +0 -223
  374. package/angular/package.json +0 -40
  375. package/angular/tsconfig.json +0 -36
  376. package/angular/type-fallbacks.d.ts +0 -0
  377. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  378. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  379. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  380. package/angular/utils/ai-prompt/index.d.ts +0 -6
  381. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  382. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  383. package/angular/utils/base/base.d.ts +0 -16
  384. package/angular/utils/base/focus-visible.d.ts +0 -29
  385. package/angular/utils/base/focusable.d.ts +0 -58
  386. package/angular/utils/base/index.d.ts +0 -5
  387. package/angular/utils/base/localized-mixin.d.ts +0 -22
  388. package/angular/utils/base/sized-mixin.d.ts +0 -17
  389. package/angular/utils/color/color-palettes.d.ts +0 -17
  390. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  391. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  392. package/angular/utils/data-broker/index.d.ts +0 -257
  393. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  394. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  395. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  396. package/angular/utils/drag/draggable.d.ts +0 -13
  397. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  398. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  399. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  400. package/angular/utils/filters/expressions.d.ts +0 -15
  401. package/angular/utils/filters/index.d.ts +0 -1
  402. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  403. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  404. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  405. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  406. package/angular/utils/formatter/formats/da.d.ts +0 -20
  407. package/angular/utils/formatter/formats/de.d.ts +0 -21
  408. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  409. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  410. package/angular/utils/formatter/formats/en.d.ts +0 -1
  411. package/angular/utils/formatter/formats/es.d.ts +0 -54
  412. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  413. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  414. package/angular/utils/formatter/formats/he.d.ts +0 -20
  415. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  416. package/angular/utils/formatter/formats/it.d.ts +0 -54
  417. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  418. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  419. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  420. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  421. package/angular/utils/formatter/formats/no.d.ts +0 -21
  422. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  423. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  424. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  425. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  426. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  427. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  428. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  429. package/angular/utils/formatter/formatter.d.ts +0 -9
  430. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  431. package/angular/utils/formatter/localize.d.ts +0 -3
  432. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  433. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  434. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  435. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  436. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  437. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  438. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  439. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  440. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  441. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  442. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  443. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  444. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  445. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  446. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  447. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  448. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  449. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  450. package/angular/utils/formula/config/functions.d.ts +0 -3
  451. package/angular/utils/formula/config/groupings.d.ts +0 -9
  452. package/angular/utils/formula/config/regex.d.ts +0 -39
  453. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  454. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  455. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  456. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  457. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  458. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  459. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  460. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  461. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  462. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  463. package/angular/utils/get-css-variable.d.ts +0 -1
  464. package/angular/utils/index.d.ts +0 -10
  465. package/angular/utils/localize/set-locale.d.ts +0 -7
  466. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  467. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  468. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  469. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  470. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  471. package/angular/utils/slot-state/slot-store.d.ts +0 -39
  472. package/angular/utils/store/base-store.d.ts +0 -162
  473. package/angular/utils/store/dashboard-store.d.ts +0 -49
  474. package/angular/utils/store/index.d.ts +0 -135
  475. package/angular/utils/store/item-store.d.ts +0 -33
  476. package/angular/utils/store/store-registry.d.ts +0 -170
  477. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  478. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  479. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  480. package/angular/utils/store/types.d.ts +0 -270
  481. package/angular/utils/switch-item/index.d.ts +0 -34
  482. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  483. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  484. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  485. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  486. package/angular/utils/themes/bliss.d.ts +0 -2
  487. package/angular/utils/themes/classic-dark.d.ts +0 -2
  488. package/angular/utils/themes/classic.d.ts +0 -2
  489. package/angular/utils/themes/default-dark.d.ts +0 -2
  490. package/angular/utils/themes/default.d.ts +0 -2
  491. package/angular/utils/themes/index.d.ts +0 -4
  492. package/angular/utils/themes/orion.d.ts +0 -2
  493. package/angular/utils/themes/pinky.d.ts +0 -2
  494. package/angular/utils/themes/radiant.d.ts +0 -2
  495. package/angular/utils/themes/royale.d.ts +0 -2
  496. package/angular/utils/themes/seasonal.d.ts +0 -2
  497. package/angular/utils/themes/urban.d.ts +0 -2
  498. package/angular/utils/themes/vivid.d.ts +0 -2
  499. package/angular/utils/time/formats.const.d.ts +0 -4
  500. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  501. package/angular/utils/time/periods.const.d.ts +0 -15
  502. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  503. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  504. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  505. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  506. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  507. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  508. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  509. package/angular/utils/types/type-check.d.ts +0 -28
  510. package/components/data-fields-select-CAyr7ju6.cjs +0 -41
  511. package/components/filter-item-DMerwomA.cjs +0 -71
  512. package/components/filter-value-picker-hierarchy-DxluZMYy.cjs +0 -47
  513. package/components/filters-qljuVmv3.cjs +0 -153
  514. package/components/item-option-B8J9IqkK.cjs +0 -269
  515. package/components/slot-menu-11KQJc_U.cjs +0 -71
  516. /package/{angular/utils/ai-prompt/tests/attachments.test.d.ts → utils/tests/set-nested-value.test.d.ts} +0 -0
@@ -1,299 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-slot-picker-panel';
3
- import type { LuzmoItemSlotPickerPanel as LuzmoItemSlotPickerPanelHostElement, DatasetChangedEventDetail, DatasetConstraintTriggeredEventDetail, SlotConstraintTriggeredEventDetail, SlotsContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker-panel';
4
- export type { DatasetChangedEventDetail, DatasetConstraintTriggeredEventDetail, SlotConstraintTriggeredEventDetail, SlotsContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker-panel';
5
- import type { Placement } from '@floating-ui/dom';
6
- import type { DatasetMetadata, DatasetsDataFields } from '@luzmo/analytics-components-kit/types';
7
- import type { SlotConfig, VizItemSlot, VizItemType } from '@luzmo/dashboard-contents-types';
8
-
9
- @Component({
10
- selector: 'luzmo-item-slot-picker-panel',
11
- exportAs: 'luzmoItemSlotPickerPanel',
12
- standalone: true,
13
- changeDetection: ChangeDetectionStrategy.OnPush,
14
- template: '<ng-content />'
15
- })
16
- /**
17
- * Angular wrapper component for <luzmo-item-slot-picker-panel>
18
- */
19
- export class LuzmoItemSlotPickerPanel implements OnChanges {
20
- private readonly elementRef = inject<ElementRef<LuzmoItemSlotPickerPanelHostElement>>(ElementRef);
21
- private readonly renderer = inject<Renderer2>(Renderer2);
22
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
23
- private readonly host = this.elementRef.nativeElement;
24
- private readonly listenerCleanup: Array<() => void> = [];
25
-
26
- /** The underlying custom element instance. Use to call imperative methods. */
27
- get nativeElement(): LuzmoItemSlotPickerPanelHostElement {
28
- return this.host;
29
- }
30
-
31
- /** The type of the item (e.g., 'bar-chart', 'line-chart', 'area-chart') */
32
- @Input({ alias: 'itemType' })
33
- itemType?: VizItemType | string;
34
-
35
- /** The language to use for locale-aware formatting and labels */
36
- @Input({ alias: 'contentLanguage' })
37
- contentLanguage?: string;
38
-
39
- /** Optional custom slots configuration (overrides loaded config) */
40
- @Input({ alias: 'slotsConfiguration' })
41
- slotsConfiguration?: SlotConfig[];
42
-
43
- /** The contents of all slots */
44
- @Input({ alias: 'slotsContents' })
45
- slotsContents?: VizItemSlot[];
46
-
47
- /** Whether the picker allows single or multiple selections per slot */
48
- @Input({ alias: 'selects' })
49
- selects?: 'single' | 'multiple';
50
-
51
- /** Whether the search input is visible in data field pickers */
52
- @Input({ alias: 'dataFieldsSearch' })
53
- dataFieldsSearch?: 'on' | 'off' | 'auto';
54
-
55
- /** Whether the search input is visible in the dataset picker */
56
- @Input({ alias: 'datasetSearch' })
57
- datasetSearch?: 'on' | 'off' | 'auto';
58
-
59
- /** Where to show icons in pickers */
60
- @Input({ alias: 'icons' })
61
- icons?: 'none' | 'menu-only' | 'all';
62
-
63
- /** The datasets and their dataFields to display in pickers. Takes preference over datasetIds when provided. */
64
- @Input({ alias: 'datasetsDataFields' })
65
- datasetsDataFields?: Array<DatasetsDataFields & Pick<DatasetMetadata, 'description'>>;
66
-
67
- /** Array of dataset IDs to fetch and display. Used as an alternative to datasetsDataFields - when provided (and datasetsDataFields is empty), the component will fetch the dataset metadata automatically. Requires apiUrl, authKey, and authToken to be set. */
68
- @Input({ alias: 'datasetIds' })
69
- datasetIds?: string[];
70
-
71
- /** The currently selected dataset ID. If not provided, defaults to the first available dataset. */
72
- @Input({ alias: 'selectedDatasetId' })
73
- selectedDatasetId?: string;
74
-
75
- /** Whether to show the dataset picker dropdown. */
76
- @Input({ alias: 'datasetPicker', transform: booleanAttribute })
77
- datasetPicker?: boolean;
78
-
79
- /** Custom label for the dataset picker field. Overrides the default "Dataset" label. */
80
- @Input({ alias: 'datasetPickerLabel' })
81
- datasetPickerLabel?: string;
82
-
83
- /** The Luzmo API URL. Required when using datasetIds. */
84
- @Input({ alias: 'apiUrl' })
85
- apiUrl?: string;
86
-
87
- /** Authentication key for the Luzmo API. Required when using datasetIds. */
88
- @Input({ alias: 'authKey' })
89
- authKey?: string;
90
-
91
- /** Authentication token for the Luzmo API. Required when using datasetIds. */
92
- @Input({ alias: 'authToken' })
93
- authToken?: string;
94
-
95
- /** Placement of the dataset picker and item slot picker popovers */
96
- @Input({ alias: 'placement' })
97
- placement?: Placement;
98
-
99
- /** Placement of the slot menu popover */
100
- @Input({ alias: 'slotMenuPlacement' })
101
- slotMenuPlacement?: Placement;
102
-
103
- /** Controls how slot constraints are handled - 'auto': Constraints are applied immediately (default) - 'event-only': Emit event with constraint details, let consumer decide */
104
- @Input({ alias: 'constraintMode' })
105
- constraintMode?: 'auto' | 'event-only';
106
-
107
- /** Whether the pickers grow to full width */
108
- @Input({ alias: 'grows', transform: booleanAttribute })
109
- grows?: boolean;
110
-
111
- /** The main container element */
112
- @Input({ alias: 'container' })
113
- container?: string;
114
-
115
- /** The field label element above the dataset picker */
116
- @Input({ alias: 'datasetFieldLabel' })
117
- datasetfieldlabel?: string;
118
-
119
- /** The main container for all slots */
120
- @Input({ alias: 'slotsPanel' })
121
- slotspanel?: string;
122
-
123
- /** The container for each individual slot (label + picker) */
124
- @Input({ alias: 'slotContainer' })
125
- slotcontainer?: string;
126
-
127
- /** The field label element above each slot */
128
- @Input({ alias: 'fieldLabel' })
129
- fieldlabel?: string;
130
-
131
- /** The item slot picker element */
132
- @Input({ alias: 'itemSlotPicker' })
133
- itemslotpicker?: string;
134
-
135
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
136
- @Input({ alias: 'language' })
137
- language?: string;
138
-
139
- /** The size of the element */
140
- @Input({ alias: 'size' })
141
- size?: 's' | 'm' | 'l' | 'xl';
142
-
143
- /** Emitted when constraint-mode is 'event-only' and dataset change would clear slots */
144
- readonly luzmoDatasetConstraintTriggered = output<CustomEvent<DatasetConstraintTriggeredEventDetail>>({ alias: 'luzmoDatasetConstraintTriggered' });
145
-
146
- /** Announces that the slots contents have changed */
147
- readonly luzmoSlotsContentsChanged = output<CustomEvent<SlotsContentsChangedEventDetail>>({ alias: 'luzmoSlotsContentsChanged' });
148
-
149
- /** Announces that the selected dataset has changed */
150
- readonly luzmoDatasetChanged = output<CustomEvent<DatasetChangedEventDetail>>({ alias: 'luzmoDatasetChanged' });
151
-
152
- /** Emitted when constraint-mode is 'event-only' and a change would trigger constraints */
153
- readonly luzmoSlotConstraintTriggered = output<CustomEvent<SlotConstraintTriggeredEventDetail>>({ alias: 'luzmoSlotConstraintTriggered' });
154
-
155
- constructor() {
156
- this.bindEvents();
157
- this.destroyRef.onDestroy(() => {
158
- for (const cleanup of this.listenerCleanup) {
159
- cleanup();
160
- }
161
- });
162
- }
163
-
164
- ngOnChanges(changes: SimpleChanges): void {
165
- for (const key of Object.keys(changes)) {
166
- switch (key) {
167
- case 'itemType':
168
- this.setHostProperty('itemType', changes['itemType'].currentValue);
169
- break;
170
- case 'contentLanguage':
171
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
172
- break;
173
- case 'slotsConfiguration':
174
- this.setHostProperty('slotsConfiguration', changes['slotsConfiguration'].currentValue);
175
- break;
176
- case 'slotsContents':
177
- this.setHostProperty('slotsContents', changes['slotsContents'].currentValue);
178
- break;
179
- case 'selects':
180
- this.setHostProperty('selects', changes['selects'].currentValue);
181
- break;
182
- case 'dataFieldsSearch':
183
- this.setHostProperty('dataFieldsSearch', changes['dataFieldsSearch'].currentValue);
184
- break;
185
- case 'datasetSearch':
186
- this.setHostProperty('datasetSearch', changes['datasetSearch'].currentValue);
187
- break;
188
- case 'icons':
189
- this.setHostProperty('icons', changes['icons'].currentValue);
190
- break;
191
- case 'datasetsDataFields':
192
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
193
- break;
194
- case 'datasetIds':
195
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
196
- break;
197
- case 'selectedDatasetId':
198
- this.setHostProperty('selectedDatasetId', changes['selectedDatasetId'].currentValue);
199
- break;
200
- case 'datasetPicker':
201
- this.setHostProperty('datasetPicker', changes['datasetPicker'].currentValue);
202
- break;
203
- case 'datasetPickerLabel':
204
- this.setHostProperty('datasetPickerLabel', changes['datasetPickerLabel'].currentValue);
205
- break;
206
- case 'apiUrl':
207
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
208
- break;
209
- case 'authKey':
210
- this.setHostProperty('authKey', changes['authKey'].currentValue);
211
- break;
212
- case 'authToken':
213
- this.setHostProperty('authToken', changes['authToken'].currentValue);
214
- break;
215
- case 'placement':
216
- this.setHostProperty('placement', changes['placement'].currentValue);
217
- break;
218
- case 'slotMenuPlacement':
219
- this.setHostProperty('slotMenuPlacement', changes['slotMenuPlacement'].currentValue);
220
- break;
221
- case 'constraintMode':
222
- this.setHostProperty('constraintMode', changes['constraintMode'].currentValue);
223
- break;
224
- case 'grows':
225
- this.setHostProperty('grows', changes['grows'].currentValue);
226
- break;
227
- case 'container':
228
- this.setHostProperty('container', changes['container'].currentValue);
229
- break;
230
- case 'datasetfieldlabel':
231
- this.setHostProperty('dataset-field-label', changes['datasetfieldlabel'].currentValue);
232
- break;
233
- case 'slotspanel':
234
- this.setHostProperty('slots-panel', changes['slotspanel'].currentValue);
235
- break;
236
- case 'slotcontainer':
237
- this.setHostProperty('slot-container', changes['slotcontainer'].currentValue);
238
- break;
239
- case 'fieldlabel':
240
- this.setHostProperty('field-label', changes['fieldlabel'].currentValue);
241
- break;
242
- case 'itemslotpicker':
243
- this.setHostProperty('item-slot-picker', changes['itemslotpicker'].currentValue);
244
- break;
245
- case 'language':
246
- this.setHostProperty('language', changes['language'].currentValue);
247
- break;
248
- case 'size':
249
- this.setHostProperty('size', changes['size'].currentValue);
250
- break;
251
- default:
252
- break;
253
- }
254
- }
255
- }
256
-
257
- /**
258
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
259
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
260
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
261
- * undefined / null by clearing their bindings.
262
- */
263
- private setHostProperty(key: string, value: unknown): void {
264
- this.renderer.setProperty(this.host, key, value);
265
- }
266
-
267
- private bindEvents(): void {
268
- this.listenerCleanup.push(
269
- this.renderer.listen(this.host, 'luzmo-dataset-constraint-triggered', (event: Event) => {
270
- const typed = event as CustomEvent<DatasetConstraintTriggeredEventDetail>;
271
- this.luzmoDatasetConstraintTriggered.emit(typed);
272
- })
273
- );
274
-
275
- this.listenerCleanup.push(
276
- this.renderer.listen(this.host, 'luzmo-slots-contents-changed', (event: Event) => {
277
- const typed = event as CustomEvent<SlotsContentsChangedEventDetail>;
278
- this.luzmoSlotsContentsChanged.emit(typed);
279
- })
280
- );
281
-
282
- this.listenerCleanup.push(
283
- this.renderer.listen(this.host, 'luzmo-dataset-changed', (event: Event) => {
284
- const typed = event as CustomEvent<DatasetChangedEventDetail>;
285
- this.luzmoDatasetChanged.emit(typed);
286
- })
287
- );
288
-
289
- this.listenerCleanup.push(
290
- this.renderer.listen(this.host, 'luzmo-slot-constraint-triggered', (event: Event) => {
291
- const typed = event as CustomEvent<SlotConstraintTriggeredEventDetail>;
292
- this.luzmoSlotConstraintTriggered.emit(typed);
293
- })
294
- );
295
- }
296
- }
297
-
298
- /** The underlying custom element type for LuzmoItemSlotPickerPanel */
299
- export type LuzmoItemSlotPickerPanelElement = LuzmoItemSlotPickerPanelHostElement;
@@ -1,241 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/item-slot-picker';
3
- import type { LuzmoItemSlotPicker as LuzmoItemSlotPickerHostElement, SlotContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker';
4
- export type { SlotContentsChangedEventDetail } from '@luzmo/analytics-components-kit/item-slot-picker';
5
- import type { Placement } from '@floating-ui/dom';
6
- import type { DatasetsDataFields, SlotContent } from '@luzmo/analytics-components-kit/types';
7
- import type { SlotConfig, SlotName, VizItemType } from '@luzmo/dashboard-contents-types';
8
-
9
- @Component({
10
- selector: 'luzmo-item-slot-picker',
11
- exportAs: 'luzmoItemSlotPicker',
12
- standalone: true,
13
- changeDetection: ChangeDetectionStrategy.OnPush,
14
- template: '<ng-content />'
15
- })
16
- /**
17
- * Angular wrapper component for <luzmo-item-slot-picker>
18
- */
19
- export class LuzmoItemSlotPicker implements OnChanges {
20
- private readonly elementRef = inject<ElementRef<LuzmoItemSlotPickerHostElement>>(ElementRef);
21
- private readonly renderer = inject<Renderer2>(Renderer2);
22
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
23
- private readonly host = this.elementRef.nativeElement;
24
- private readonly listenerCleanup: Array<() => void> = [];
25
-
26
- /** The underlying custom element instance. Use to call imperative methods. */
27
- get nativeElement(): LuzmoItemSlotPickerHostElement {
28
- return this.host;
29
- }
30
-
31
- /** The API URL for the databroker */
32
- @Input({ alias: 'apiUrl' })
33
- apiUrl?: string;
34
-
35
- /** The API key to fetch the columns */
36
- @Input({ alias: 'authKey' })
37
- authKey?: string;
38
-
39
- /** The API token to fetch the columns */
40
- @Input({ alias: 'authToken' })
41
- authToken?: string;
42
-
43
- /** The type of the item */
44
- @Input({ alias: 'itemType' })
45
- itemType?: VizItemType | string;
46
-
47
- /** The name of the slot */
48
- @Input({ alias: 'slotName' })
49
- slotName?: SlotName;
50
-
51
- /** (Optional) The configuration of the slot, overrides the slot configuration loaded from the item type & slot name. */
52
- @Input({ alias: 'slotConfiguration' })
53
- slotConfiguration?: SlotConfig;
54
-
55
- /** The contents of the slot */
56
- @Input({ alias: 'slotContents' })
57
- slotContents?: SlotContent[];
58
-
59
- /** The language to use for locale-aware formatting and labels of data fields */
60
- @Input({ alias: 'contentLanguage' })
61
- contentLanguage?: string;
62
-
63
- /** Whether the picker is disabled */
64
- @Input({ alias: 'disabled', transform: booleanAttribute })
65
- disabled?: boolean;
66
-
67
- /** Whether the picker grows to full width */
68
- @Input({ alias: 'grows', transform: booleanAttribute })
69
- grows?: boolean;
70
-
71
- /** The type of config interaction */
72
- @Input({ alias: 'menu' })
73
- menu?: 'default' | 'draggable' | 'event-only';
74
-
75
- /** Whether the picker has a label */
76
- @Input({ alias: 'hasLabel', transform: booleanAttribute })
77
- hasLabel?: boolean;
78
-
79
- /** The label for the picker, if hasLabel is true */
80
- @Input({ alias: 'label' })
81
- label?: string;
82
-
83
- /** Whether the picker allows single or multiple selections. Only relevant if the slot configuration allows multiple data fields. */
84
- @Input({ alias: 'selects' })
85
- selects?: 'single' | 'multiple';
86
-
87
- /** Where to show icons */
88
- @Input({ alias: 'icons' })
89
- icons?: 'none' | 'menu-only' | 'all';
90
-
91
- /** The placeholder text for the picker is no value selected. */
92
- @Input({ alias: 'placeholder' })
93
- placeholder?: string;
94
-
95
- /** The datasets and their dataFields to display */
96
- @Input({ alias: 'datasetsDataFields' })
97
- datasetsDataFields?: DatasetsDataFields[];
98
-
99
- /** Placement of the data-fields-select dropdown */
100
- @Input({ alias: 'placement' })
101
- placement?: Placement;
102
-
103
- /** Placement of the slot menu popover. Only relevant for 'popup' and 'draggable' menu type */
104
- @Input({ alias: 'slotMenuPlacement' })
105
- slotMenuPlacement?: Placement;
106
-
107
- /** Whether to hide the configuration button */
108
- @Input({ alias: 'hideConfiguration', transform: booleanAttribute })
109
- hideConfiguration?: boolean;
110
-
111
- /** Whether to hide the clear button op a select */
112
- @Input({ alias: 'hideClear', transform: booleanAttribute })
113
- hideClear?: boolean;
114
-
115
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
116
- @Input({ alias: 'language' })
117
- language?: string;
118
-
119
- /** Whether the search input is visible: `on`, `off`, or `auto`. */
120
- @Input({ alias: 'search' })
121
- search?: 'on' | 'off' | 'auto';
122
-
123
- /** The size of the element */
124
- @Input({ alias: 'size' })
125
- size?: 's' | 'm' | 'l' | 'xl';
126
-
127
- /** Announces that the slot contents has changed */
128
- readonly luzmoSlotContentsChanged = output<CustomEvent<SlotContentsChangedEventDetail>>({ alias: 'luzmoSlotContentsChanged' });
129
-
130
- constructor() {
131
- this.bindEvents();
132
- this.destroyRef.onDestroy(() => {
133
- for (const cleanup of this.listenerCleanup) {
134
- cleanup();
135
- }
136
- });
137
- }
138
-
139
- ngOnChanges(changes: SimpleChanges): void {
140
- for (const key of Object.keys(changes)) {
141
- switch (key) {
142
- case 'apiUrl':
143
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
144
- break;
145
- case 'authKey':
146
- this.setHostProperty('authKey', changes['authKey'].currentValue);
147
- break;
148
- case 'authToken':
149
- this.setHostProperty('authToken', changes['authToken'].currentValue);
150
- break;
151
- case 'itemType':
152
- this.setHostProperty('itemType', changes['itemType'].currentValue);
153
- break;
154
- case 'slotName':
155
- this.setHostProperty('slotName', changes['slotName'].currentValue);
156
- break;
157
- case 'slotConfiguration':
158
- this.setHostProperty('slotConfiguration', changes['slotConfiguration'].currentValue);
159
- break;
160
- case 'slotContents':
161
- this.setHostProperty('slotContents', changes['slotContents'].currentValue);
162
- break;
163
- case 'contentLanguage':
164
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
165
- break;
166
- case 'disabled':
167
- this.setHostProperty('disabled', changes['disabled'].currentValue);
168
- break;
169
- case 'grows':
170
- this.setHostProperty('grows', changes['grows'].currentValue);
171
- break;
172
- case 'menu':
173
- this.setHostProperty('menu', changes['menu'].currentValue);
174
- break;
175
- case 'hasLabel':
176
- this.setHostProperty('hasLabel', changes['hasLabel'].currentValue);
177
- break;
178
- case 'label':
179
- this.setHostProperty('label', changes['label'].currentValue);
180
- break;
181
- case 'selects':
182
- this.setHostProperty('selects', changes['selects'].currentValue);
183
- break;
184
- case 'icons':
185
- this.setHostProperty('icons', changes['icons'].currentValue);
186
- break;
187
- case 'placeholder':
188
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
189
- break;
190
- case 'datasetsDataFields':
191
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
192
- break;
193
- case 'placement':
194
- this.setHostProperty('placement', changes['placement'].currentValue);
195
- break;
196
- case 'slotMenuPlacement':
197
- this.setHostProperty('slotMenuPlacement', changes['slotMenuPlacement'].currentValue);
198
- break;
199
- case 'hideConfiguration':
200
- this.setHostProperty('hideConfiguration', changes['hideConfiguration'].currentValue);
201
- break;
202
- case 'hideClear':
203
- this.setHostProperty('hideClear', changes['hideClear'].currentValue);
204
- break;
205
- case 'language':
206
- this.setHostProperty('language', changes['language'].currentValue);
207
- break;
208
- case 'search':
209
- this.setHostProperty('search', changes['search'].currentValue);
210
- break;
211
- case 'size':
212
- this.setHostProperty('size', changes['size'].currentValue);
213
- break;
214
- default:
215
- break;
216
- }
217
- }
218
- }
219
-
220
- /**
221
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
222
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
223
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
224
- * undefined / null by clearing their bindings.
225
- */
226
- private setHostProperty(key: string, value: unknown): void {
227
- this.renderer.setProperty(this.host, key, value);
228
- }
229
-
230
- private bindEvents(): void {
231
- this.listenerCleanup.push(
232
- this.renderer.listen(this.host, 'luzmo-slot-contents-changed', (event: Event) => {
233
- const typed = event as CustomEvent<SlotContentsChangedEventDetail>;
234
- this.luzmoSlotContentsChanged.emit(typed);
235
- })
236
- );
237
- }
238
- }
239
-
240
- /** The underlying custom element type for LuzmoItemSlotPicker */
241
- export type LuzmoItemSlotPickerElement = LuzmoItemSlotPickerHostElement;
@@ -1,121 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/slot-menu-list';
3
- import type { LuzmoSlotMenuList as LuzmoSlotMenuListHostElement, SlotListChangedEventDetail } from '@luzmo/analytics-components-kit/slot-menu-list';
4
- export type { SlotListChangedEventDetail } from '@luzmo/analytics-components-kit/slot-menu-list';
5
- import type { SlotContent } from '@luzmo/analytics-components-kit/types';
6
- import type { SlotName } from '@luzmo/dashboard-contents-types';
7
-
8
- @Component({
9
- selector: 'luzmo-slot-menu-list',
10
- exportAs: 'luzmoSlotMenuList',
11
- standalone: true,
12
- changeDetection: ChangeDetectionStrategy.OnPush,
13
- template: '<ng-content />'
14
- })
15
- /**
16
- * Angular wrapper component for <luzmo-slot-menu-list>
17
- */
18
- export class LuzmoSlotMenuList implements OnChanges {
19
- private readonly elementRef = inject<ElementRef<LuzmoSlotMenuListHostElement>>(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(): LuzmoSlotMenuListHostElement {
27
- return this.host;
28
- }
29
-
30
- /** The language of the settings interface */
31
- @Input({ alias: 'language' })
32
- language?: string;
33
-
34
- /** The language to use for locale-aware formatting and labels */
35
- @Input({ alias: 'contentLanguage' })
36
- contentLanguage?: string;
37
-
38
- /** The list of slot contents (columns/formulas) shown in the reorderable list. */
39
- @Input({ alias: 'slotContents' })
40
- slotContents?: SlotContent[];
41
-
42
- /** The containing slot name used to identify measure calculations. */
43
- @Input({ alias: 'slotName' })
44
- slotName?: SlotName;
45
-
46
- /** The containing slot type used to identify measure calculations. */
47
- @Input({ alias: 'slotType' })
48
- slotType?: string;
49
-
50
- /** Index of the currently active/selected slot content. */
51
- @Input({ alias: 'activeIndex' })
52
- activeIndex?: number;
53
-
54
- /** The size of the element */
55
- @Input({ alias: 'size' })
56
- size?: 's' | 'm' | 'l' | 'xl';
57
-
58
- /** Emitted when the slot list changes */
59
- readonly luzmoSlotListChanged = output<CustomEvent<SlotListChangedEventDetail>>({ alias: 'luzmoSlotListChanged' });
60
-
61
- constructor() {
62
- this.bindEvents();
63
- this.destroyRef.onDestroy(() => {
64
- for (const cleanup of this.listenerCleanup) {
65
- cleanup();
66
- }
67
- });
68
- }
69
-
70
- ngOnChanges(changes: SimpleChanges): void {
71
- for (const key of Object.keys(changes)) {
72
- switch (key) {
73
- case 'language':
74
- this.setHostProperty('language', changes['language'].currentValue);
75
- break;
76
- case 'contentLanguage':
77
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
78
- break;
79
- case 'slotContents':
80
- this.setHostProperty('slotContents', changes['slotContents'].currentValue);
81
- break;
82
- case 'slotName':
83
- this.setHostProperty('slotName', changes['slotName'].currentValue);
84
- break;
85
- case 'slotType':
86
- this.setHostProperty('slotType', changes['slotType'].currentValue);
87
- break;
88
- case 'activeIndex':
89
- this.setHostProperty('activeIndex', changes['activeIndex'].currentValue);
90
- break;
91
- case 'size':
92
- this.setHostProperty('size', changes['size'].currentValue);
93
- break;
94
- default:
95
- break;
96
- }
97
- }
98
- }
99
-
100
- /**
101
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
102
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
103
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
104
- * undefined / null by clearing their bindings.
105
- */
106
- private setHostProperty(key: string, value: unknown): void {
107
- this.renderer.setProperty(this.host, key, value);
108
- }
109
-
110
- private bindEvents(): void {
111
- this.listenerCleanup.push(
112
- this.renderer.listen(this.host, 'luzmo-slot-list-changed', (event: Event) => {
113
- const typed = event as CustomEvent<SlotListChangedEventDetail>;
114
- this.luzmoSlotListChanged.emit(typed);
115
- })
116
- );
117
- }
118
- }
119
-
120
- /** The underlying custom element type for LuzmoSlotMenuList */
121
- export type LuzmoSlotMenuListElement = LuzmoSlotMenuListHostElement;