@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,160 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/filter-value-picker';
3
- import type { LuzmoFilterValuePicker as LuzmoFilterValuePickerHostElement } from '@luzmo/analytics-components-kit/filter-value-picker';
4
-
5
- @Component({
6
- selector: 'luzmo-filter-value-picker',
7
- exportAs: 'luzmoFilterValuePicker',
8
- standalone: true,
9
- changeDetection: ChangeDetectionStrategy.OnPush,
10
- template: '<ng-content />'
11
- })
12
- /**
13
- * Angular wrapper component for <luzmo-filter-value-picker>
14
- */
15
- export class LuzmoFilterValuePicker implements OnChanges {
16
- private readonly elementRef = inject<ElementRef<LuzmoFilterValuePickerHostElement>>(ElementRef);
17
- private readonly renderer = inject<Renderer2>(Renderer2);
18
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
19
- private readonly host = this.elementRef.nativeElement;
20
- private readonly listenerCleanup: Array<() => void> = [];
21
-
22
- /** The underlying custom element instance. Use to call imperative methods. */
23
- get nativeElement(): LuzmoFilterValuePickerHostElement {
24
- return this.host;
25
- }
26
-
27
- /** The API URL of the databroker */
28
- @Input({ alias: 'apiUrl' })
29
- apiUrl?: string;
30
-
31
- /** The auth key of the databroker */
32
- @Input({ alias: 'authKey' })
33
- authKey?: string;
34
-
35
- /** The auth token of the databroker */
36
- @Input({ alias: 'authToken' })
37
- authToken?: string;
38
-
39
- /** The cache time of the databroker */
40
- @Input({ alias: 'cacheTime' })
41
- cacheTime?: number;
42
-
43
- /** The language to use for locale-aware formatting and labels */
44
- @Input({ alias: 'contentLanguage' })
45
- contentLanguage?: string;
46
-
47
- /** The time zone to use for the date picker */
48
- @Input({ alias: 'timeZone' })
49
- timeZone?: string;
50
-
51
- /** The type value picker to render */
52
- @Input({ alias: 'valueType' })
53
- valueType?: 'hierarchy' | 'numeric' | 'datetime';
54
-
55
- /** The filter for which to render the value picker */
56
- @Input({ alias: 'filter' })
57
- filter?: any;
58
-
59
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
60
- @Input({ alias: 'language' })
61
- language?: string;
62
-
63
- /** The size of the element */
64
- @Input({ alias: 'size' })
65
- size?: 's' | 'm' | 'l' | 'xl';
66
-
67
- /** Disable this control. It will not receive focus or events */
68
- @Input({ alias: 'disabled', transform: booleanAttribute })
69
- disabled?: boolean;
70
-
71
- /** When this control is rendered, focus it automatically */
72
- @Input({ alias: 'autofocus', transform: booleanAttribute })
73
- autofocus?: boolean;
74
-
75
- /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
76
- @Input({ alias: 'tabIndex' })
77
- tabIndex?: number;
78
-
79
- /** Fired when the filter value changes; `detail.value` holds the new value. */
80
- readonly luzmoFilterValueChanged = output<CustomEvent<unknown>>({ alias: 'luzmoFilterValueChanged' });
81
-
82
- constructor() {
83
- this.bindEvents();
84
- this.destroyRef.onDestroy(() => {
85
- for (const cleanup of this.listenerCleanup) {
86
- cleanup();
87
- }
88
- });
89
- }
90
-
91
- ngOnChanges(changes: SimpleChanges): void {
92
- for (const key of Object.keys(changes)) {
93
- switch (key) {
94
- case 'apiUrl':
95
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
96
- break;
97
- case 'authKey':
98
- this.setHostProperty('authKey', changes['authKey'].currentValue);
99
- break;
100
- case 'authToken':
101
- this.setHostProperty('authToken', changes['authToken'].currentValue);
102
- break;
103
- case 'cacheTime':
104
- this.setHostProperty('cacheTime', changes['cacheTime'].currentValue);
105
- break;
106
- case 'contentLanguage':
107
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
108
- break;
109
- case 'timeZone':
110
- this.setHostProperty('timeZone', changes['timeZone'].currentValue);
111
- break;
112
- case 'valueType':
113
- this.setHostProperty('valueType', changes['valueType'].currentValue);
114
- break;
115
- case 'filter':
116
- this.setHostProperty('filter', changes['filter'].currentValue);
117
- break;
118
- case 'language':
119
- this.setHostProperty('language', changes['language'].currentValue);
120
- break;
121
- case 'size':
122
- this.setHostProperty('size', changes['size'].currentValue);
123
- break;
124
- case 'disabled':
125
- this.setHostProperty('disabled', changes['disabled'].currentValue);
126
- break;
127
- case 'autofocus':
128
- this.setHostProperty('autofocus', changes['autofocus'].currentValue);
129
- break;
130
- case 'tabIndex':
131
- this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
132
- break;
133
- default:
134
- break;
135
- }
136
- }
137
- }
138
-
139
- /**
140
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
141
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
142
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
143
- * undefined / null by clearing their bindings.
144
- */
145
- private setHostProperty(key: string, value: unknown): void {
146
- this.renderer.setProperty(this.host, key, value);
147
- }
148
-
149
- private bindEvents(): void {
150
- this.listenerCleanup.push(
151
- this.renderer.listen(this.host, 'luzmo-filter-value-changed', (event: Event) => {
152
- const typed = event as CustomEvent<unknown>;
153
- this.luzmoFilterValueChanged.emit(typed);
154
- })
155
- );
156
- }
157
- }
158
-
159
- /** The underlying custom element type for LuzmoFilterValuePicker */
160
- export type LuzmoFilterValuePickerElement = LuzmoFilterValuePickerHostElement;
@@ -1,209 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/filters';
3
- import type { LuzmoFilters as LuzmoFiltersHostElement, FilterParameter, FiltersChangedEventDetail, FiltersFormat, FiltersInput } from '@luzmo/analytics-components-kit/filters';
4
- export type { CleanFilter, CleanFilterClauseGroup, CleanFilterGroup, CleanRetrievedFilterGroup, DashboardFilterOutput, DetectedFiltersFormat, FilterClause, FilterCondition, FilterGroup, FilterParameter, FilterParameterEventDetail, FilterParameterType, FiltersChangedEventDetail, FiltersFormat, FiltersInput, FiltersOutput, ItemFilterOutput, TransformFiltersOptions } from '@luzmo/analytics-components-kit/filters';
5
-
6
- @Component({
7
- selector: 'luzmo-filters',
8
- exportAs: 'luzmoFilters',
9
- standalone: true,
10
- changeDetection: ChangeDetectionStrategy.OnPush,
11
- template: '<ng-content />'
12
- })
13
- /**
14
- * Angular wrapper component for <luzmo-filters>
15
- */
16
- export class LuzmoFilters implements OnChanges {
17
- private readonly elementRef = inject<ElementRef<LuzmoFiltersHostElement>>(ElementRef);
18
- private readonly renderer = inject<Renderer2>(Renderer2);
19
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
20
- private readonly host = this.elementRef.nativeElement;
21
- private readonly listenerCleanup: Array<() => void> = [];
22
-
23
- /** The underlying custom element instance. Use to call imperative methods. */
24
- get nativeElement(): LuzmoFiltersHostElement {
25
- return this.host;
26
- }
27
-
28
- /** The API URL of the databroker */
29
- @Input({ alias: 'apiUrl' })
30
- apiUrl?: string;
31
-
32
- /** The auth key of the databroker */
33
- @Input({ alias: 'authKey' })
34
- authKey?: string;
35
-
36
- /** The auth token of the databroker */
37
- @Input({ alias: 'authToken' })
38
- authToken?: string;
39
-
40
- /** The cache time of the databroker */
41
- @Input({ alias: 'cacheTime' })
42
- cacheTime?: number;
43
-
44
- /** The language to use for locale-aware formatting and labels */
45
- @Input({ alias: 'contentLanguage' })
46
- contentLanguage?: string;
47
-
48
- /** The time zone to use for the date picker */
49
- @Input({ alias: 'timeZone' })
50
- timeZone?: string;
51
-
52
- /** The dataset ids to fetch columns & formulas */
53
- @Input({ alias: 'datasetIds' })
54
- datasetIds?: string[];
55
-
56
- /** The filter groups to display. Accepts both halves of the public `ItemFilterOutput` / `DashboardFilterOutput` unions: canonical `ItemFilterGroup[]` and clean clause groups with flattened leaves. Nested `and` / `or` groups are preserved either way. */
57
- @Input({ alias: 'filters' })
58
- filters?: FiltersInput;
59
-
60
- /** Output format for the `luzmo-filters-changed` event. `canonical` emits `ItemFilterGroup[]`; `clean` emits the clean clause groups that aligned hosts consume. A tree that cannot be represented cleanly falls back to canonical output, and the event says which format it carries. */
61
- @Input({ alias: 'format' })
62
- format?: FiltersFormat;
63
-
64
- /** Whether parameter-backed filter values can be created and selected. */
65
- @Input({ alias: 'allowParameters', transform: booleanAttribute })
66
- allowParameters?: boolean;
67
-
68
- /** Consumer-owned parameter definitions available to filter rows. */
69
- @Input({ alias: 'parameters' })
70
- parameters?: FilterParameter[];
71
-
72
- /** Debounce time in milliseconds for the filters-changed event */
73
- @Input({ alias: 'debounce' })
74
- debounce?: number;
75
-
76
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
77
- @Input({ alias: 'language' })
78
- language?: string;
79
-
80
- /** The size of the element */
81
- @Input({ alias: 'size' })
82
- size?: 's' | 'm' | 'l' | 'xl';
83
-
84
- /** Disable this control. It will not receive focus or events */
85
- @Input({ alias: 'disabled', transform: booleanAttribute })
86
- disabled?: boolean;
87
-
88
- /** When this control is rendered, focus it automatically */
89
- @Input({ alias: 'autofocus', transform: booleanAttribute })
90
- autofocus?: boolean;
91
-
92
- /** The tab index to apply to this control. See general documentation about the tabindex HTML property */
93
- @Input({ alias: 'tabIndex' })
94
- tabIndex?: number;
95
-
96
- /** Announces that the filters have changed, carrying the emitted groups and the format they are in */
97
- readonly luzmoFiltersChanged = output<CustomEvent<FiltersChangedEventDetail>>({ alias: 'luzmoFiltersChanged' });
98
-
99
- /** Announces that a parameter was created and added to `parameters`. */
100
- readonly luzmoParameterCreated = output<CustomEvent<{ parameter: FilterParameter }>>({ alias: 'luzmoParameterCreated' });
101
-
102
- /** Announces that a parameter was detached from a filter. */
103
- readonly luzmoParameterRemoved = output<CustomEvent<{ parameter: FilterParameter }>>({ alias: 'luzmoParameterRemoved' });
104
-
105
- constructor() {
106
- this.bindEvents();
107
- this.destroyRef.onDestroy(() => {
108
- for (const cleanup of this.listenerCleanup) {
109
- cleanup();
110
- }
111
- });
112
- }
113
-
114
- ngOnChanges(changes: SimpleChanges): void {
115
- for (const key of Object.keys(changes)) {
116
- switch (key) {
117
- case 'apiUrl':
118
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
119
- break;
120
- case 'authKey':
121
- this.setHostProperty('authKey', changes['authKey'].currentValue);
122
- break;
123
- case 'authToken':
124
- this.setHostProperty('authToken', changes['authToken'].currentValue);
125
- break;
126
- case 'cacheTime':
127
- this.setHostProperty('cacheTime', changes['cacheTime'].currentValue);
128
- break;
129
- case 'contentLanguage':
130
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
131
- break;
132
- case 'timeZone':
133
- this.setHostProperty('timeZone', changes['timeZone'].currentValue);
134
- break;
135
- case 'datasetIds':
136
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
137
- break;
138
- case 'filters':
139
- this.setHostProperty('filters', changes['filters'].currentValue);
140
- break;
141
- case 'format':
142
- this.setHostProperty('format', changes['format'].currentValue);
143
- break;
144
- case 'allowParameters':
145
- this.setHostProperty('allowParameters', changes['allowParameters'].currentValue);
146
- break;
147
- case 'parameters':
148
- this.setHostProperty('parameters', changes['parameters'].currentValue);
149
- break;
150
- case 'debounce':
151
- this.setHostProperty('debounce', changes['debounce'].currentValue);
152
- break;
153
- case 'language':
154
- this.setHostProperty('language', changes['language'].currentValue);
155
- break;
156
- case 'size':
157
- this.setHostProperty('size', changes['size'].currentValue);
158
- break;
159
- case 'disabled':
160
- this.setHostProperty('disabled', changes['disabled'].currentValue);
161
- break;
162
- case 'autofocus':
163
- this.setHostProperty('autofocus', changes['autofocus'].currentValue);
164
- break;
165
- case 'tabIndex':
166
- this.setHostProperty('tabIndex', changes['tabIndex'].currentValue);
167
- break;
168
- default:
169
- break;
170
- }
171
- }
172
- }
173
-
174
- /**
175
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
176
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
177
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
178
- * undefined / null by clearing their bindings.
179
- */
180
- private setHostProperty(key: string, value: unknown): void {
181
- this.renderer.setProperty(this.host, key, value);
182
- }
183
-
184
- private bindEvents(): void {
185
- this.listenerCleanup.push(
186
- this.renderer.listen(this.host, 'luzmo-filters-changed', (event: Event) => {
187
- const typed = event as CustomEvent<FiltersChangedEventDetail>;
188
- this.luzmoFiltersChanged.emit(typed);
189
- })
190
- );
191
-
192
- this.listenerCleanup.push(
193
- this.renderer.listen(this.host, 'luzmo-parameter-created', (event: Event) => {
194
- const typed = event as CustomEvent<{ parameter: FilterParameter }>;
195
- this.luzmoParameterCreated.emit(typed);
196
- })
197
- );
198
-
199
- this.listenerCleanup.push(
200
- this.renderer.listen(this.host, 'luzmo-parameter-removed', (event: Event) => {
201
- const typed = event as CustomEvent<{ parameter: FilterParameter }>;
202
- this.luzmoParameterRemoved.emit(typed);
203
- })
204
- );
205
- }
206
- }
207
-
208
- /** The underlying custom element type for LuzmoFilters */
209
- export type LuzmoFiltersElement = LuzmoFiltersHostElement;
@@ -1,229 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, OnChanges, output, Renderer2, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/formula-editor';
3
- import type { LuzmoFormulaEditor as LuzmoFormulaEditorHostElement } from '@luzmo/analytics-components-kit/formula-editor';
4
- export type { LuzmoFormulaCodeMirror } from '@luzmo/analytics-components-kit/formula-editor';
5
- import type { ValidityChangedEventDetail } from '@luzmo/analytics-components-kit/types';
6
-
7
- @Component({
8
- selector: 'luzmo-formula-editor',
9
- exportAs: 'luzmoFormulaEditor',
10
- standalone: true,
11
- changeDetection: ChangeDetectionStrategy.OnPush,
12
- template: '<ng-content />'
13
- })
14
- /**
15
- * Angular wrapper component for <luzmo-formula-editor>
16
- *
17
- * @csspart formula-editor - Root editor layout (input, validation feedback, lists).
18
- * @csspart validating - In-flight validation status row (spinner + "Validating…" text).
19
- * @csspart error - Validation error message row shown after a settled invalid result.
20
- * @csspart lists - Side panel hosting aggregations, datasets, functions (and optional description).
21
- */
22
- export class LuzmoFormulaEditor implements OnChanges {
23
- private readonly elementRef = inject<ElementRef<LuzmoFormulaEditorHostElement>>(ElementRef);
24
- private readonly renderer = inject<Renderer2>(Renderer2);
25
- private readonly destroyRef = inject<DestroyRef>(DestroyRef);
26
- private readonly host = this.elementRef.nativeElement;
27
- private readonly listenerCleanup: Array<() => void> = [];
28
-
29
- /** The underlying custom element instance. Use to call imperative methods. */
30
- get nativeElement(): LuzmoFormulaEditorHostElement {
31
- return this.host;
32
- }
33
-
34
- /** Whether the expression is validated as a column or a formula. */
35
- @Input({ alias: 'expressionResource' })
36
- expressionResource?: 'column' | 'formula';
37
-
38
- /** How function / aggregation explanations are surfaced: as hover `tooltip`s on the list items (default), or in a dedicated `description` region. With `tooltip` there is no description, so the remaining lists spread across the full width. */
39
- @Input({ alias: 'explanationDisplay' })
40
- explanationDisplay?: 'tooltip' | 'description';
41
-
42
- /** Renders the field display-only (no editing). */
43
- @Input({ alias: 'readonly', transform: booleanAttribute })
44
- readonly?: boolean;
45
-
46
- /** Placeholder text shown in the editable input when the expression is empty. */
47
- @Input({ alias: 'placeholder' })
48
- placeholder?: string;
49
-
50
- /** Number of text lines the input is sized to start with. Defaults to 3. */
51
- @Input({ alias: 'rows' })
52
- rows?: number;
53
-
54
- /** Maximum number of text lines before a scrollbar appears (only when `grows`). */
55
- @Input({ alias: 'maxRows' })
56
- maxRows?: number;
57
-
58
- /** Whether the input grows in height with its content (up to `maxRows` if set). */
59
- @Input({ alias: 'grows', transform: booleanAttribute })
60
- grows?: boolean;
61
-
62
- /** The language for UI labels. Supported values: 'en', 'nl', 'fr', 'de', 'es' */
63
- @Input({ alias: 'language' })
64
- language?: string;
65
-
66
- /** The formula expression (function syntax), e.g. `SUM({datasetId:columnId})`. */
67
- @Input({ alias: 'expression' })
68
- expression?: string;
69
-
70
- /** Datasets and their data fields, provided directly (takes preference over `datasetIds`). */
71
- @Input({ alias: 'datasetsDataFields' })
72
- datasetsDataFields?: unknown;
73
-
74
- /** Dataset ids to fetch from the Luzmo API (auth attributes optional for public datasets). */
75
- @Input({ alias: 'datasetIds' })
76
- datasetIds?: string[];
77
-
78
- /** Base URL of the Luzmo API used to fetch datasets by id. */
79
- @Input({ alias: 'apiUrl' })
80
- apiUrl?: string;
81
-
82
- /** Luzmo API authorization key, used with `authToken` to fetch datasets by id. */
83
- @Input({ alias: 'authKey' })
84
- authKey?: string;
85
-
86
- /** Luzmo API authorization token, used with `authKey` to fetch datasets by id. */
87
- @Input({ alias: 'authToken' })
88
- authToken?: string;
89
-
90
- /** Whether aggregation functions are offered (in the autocompletion, and - for the editor - via the aggregations list and pills). Defaults to `true`. Note: as a boolean attribute defaulting to `true` it cannot be turned off via markup (an absent attribute keeps the default); set the `.showAggregations` property to `false` to disable. */
91
- @Input({ alias: 'showAggregations', transform: booleanAttribute })
92
- showAggregations?: boolean;
93
-
94
- /** Language used for data labels (column / dataset names). */
95
- @Input({ alias: 'contentLanguage' })
96
- contentLanguage?: string;
97
-
98
- /** When true, aggregations render as multi-stage nested widgets. */
99
- @Input({ alias: 'multiStageAggregation', transform: booleanAttribute })
100
- multiStageAggregation?: boolean;
101
-
102
- /** When true, aggregations can be nested inside other aggregations. */
103
- @Input({ alias: 'nestedAggregation', transform: booleanAttribute })
104
- nestedAggregation?: boolean;
105
-
106
- /** The size of the element */
107
- @Input({ alias: 'size' })
108
- size?: 's' | 'm' | 'l' | 'xl';
109
-
110
- /** Fired when expression validity changes, including when backend validation starts (`detail.validating`) or settles. */
111
- readonly luzmoValidityChanged = output<CustomEvent<ValidityChangedEventDetail>>({ alias: 'luzmoValidityChanged' });
112
-
113
- /** Fired (debounced) when the expression changes. */
114
- readonly luzmoExpressionChanged = output<CustomEvent<unknown>>({ alias: 'luzmoExpressionChanged' });
115
-
116
- /** Fired when fetching datasets by id fails. */
117
- readonly luzmoDatasetsError = output<CustomEvent<unknown>>({ alias: 'luzmoDatasetsError' });
118
-
119
- constructor() {
120
- this.bindEvents();
121
- this.destroyRef.onDestroy(() => {
122
- for (const cleanup of this.listenerCleanup) {
123
- cleanup();
124
- }
125
- });
126
- }
127
-
128
- ngOnChanges(changes: SimpleChanges): void {
129
- for (const key of Object.keys(changes)) {
130
- switch (key) {
131
- case 'expressionResource':
132
- this.setHostProperty('expressionResource', changes['expressionResource'].currentValue);
133
- break;
134
- case 'explanationDisplay':
135
- this.setHostProperty('explanationDisplay', changes['explanationDisplay'].currentValue);
136
- break;
137
- case 'readonly':
138
- this.setHostProperty('readonly', changes['readonly'].currentValue);
139
- break;
140
- case 'placeholder':
141
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
142
- break;
143
- case 'rows':
144
- this.setHostProperty('rows', changes['rows'].currentValue);
145
- break;
146
- case 'maxRows':
147
- this.setHostProperty('maxRows', changes['maxRows'].currentValue);
148
- break;
149
- case 'grows':
150
- this.setHostProperty('grows', changes['grows'].currentValue);
151
- break;
152
- case 'language':
153
- this.setHostProperty('language', changes['language'].currentValue);
154
- break;
155
- case 'expression':
156
- this.setHostProperty('expression', changes['expression'].currentValue);
157
- break;
158
- case 'datasetsDataFields':
159
- this.setHostProperty('datasetsDataFields', changes['datasetsDataFields'].currentValue);
160
- break;
161
- case 'datasetIds':
162
- this.setHostProperty('datasetIds', changes['datasetIds'].currentValue);
163
- break;
164
- case 'apiUrl':
165
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
166
- break;
167
- case 'authKey':
168
- this.setHostProperty('authKey', changes['authKey'].currentValue);
169
- break;
170
- case 'authToken':
171
- this.setHostProperty('authToken', changes['authToken'].currentValue);
172
- break;
173
- case 'showAggregations':
174
- this.setHostProperty('showAggregations', changes['showAggregations'].currentValue);
175
- break;
176
- case 'contentLanguage':
177
- this.setHostProperty('contentLanguage', changes['contentLanguage'].currentValue);
178
- break;
179
- case 'multiStageAggregation':
180
- this.setHostProperty('multiStageAggregation', changes['multiStageAggregation'].currentValue);
181
- break;
182
- case 'nestedAggregation':
183
- this.setHostProperty('nestedAggregation', changes['nestedAggregation'].currentValue);
184
- break;
185
- case 'size':
186
- this.setHostProperty('size', changes['size'].currentValue);
187
- break;
188
- default:
189
- break;
190
- }
191
- }
192
- }
193
-
194
- /**
195
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
196
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
197
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
198
- * undefined / null by clearing their bindings.
199
- */
200
- private setHostProperty(key: string, value: unknown): void {
201
- this.renderer.setProperty(this.host, key, value);
202
- }
203
-
204
- private bindEvents(): void {
205
- this.listenerCleanup.push(
206
- this.renderer.listen(this.host, 'luzmo-validity-changed', (event: Event) => {
207
- const typed = event as CustomEvent<ValidityChangedEventDetail>;
208
- this.luzmoValidityChanged.emit(typed);
209
- })
210
- );
211
-
212
- this.listenerCleanup.push(
213
- this.renderer.listen(this.host, 'luzmo-expression-changed', (event: Event) => {
214
- const typed = event as CustomEvent<unknown>;
215
- this.luzmoExpressionChanged.emit(typed);
216
- })
217
- );
218
-
219
- this.listenerCleanup.push(
220
- this.renderer.listen(this.host, 'luzmo-datasets-error', (event: Event) => {
221
- const typed = event as CustomEvent<unknown>;
222
- this.luzmoDatasetsError.emit(typed);
223
- })
224
- );
225
- }
226
- }
227
-
228
- /** The underlying custom element type for LuzmoFormulaEditor */
229
- export type LuzmoFormulaEditorElement = LuzmoFormulaEditorHostElement;