@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,270 +0,0 @@
1
- /**
2
- * State Store Types
3
- *
4
- * Type definitions for the item and dashboard state management system
5
- * with real-time collaboration and undo/redo support.
6
- */
7
- /**
8
- * Base configuration for all stores
9
- */
10
- export interface BaseStoreConfig {
11
- /** Interval in ms within which undo steps are merged. Default: 300 */
12
- mergeInterval?: number;
13
- /** Maximum number of undo steps to retain. Default: 100 */
14
- maxUndoSteps?: number;
15
- /** Optional peer ID for collaboration (as bigint or numeric string). Auto-generated if not provided */
16
- peerId?: bigint | `${number}`;
17
- }
18
- /**
19
- * Configuration for item store
20
- */
21
- export interface ItemStoreConfig extends BaseStoreConfig {
22
- }
23
- /**
24
- * Configuration for dashboard store
25
- */
26
- export interface DashboardStoreConfig extends BaseStoreConfig {
27
- }
28
- /**
29
- * Content within a slot
30
- */
31
- export interface SlotContent {
32
- column?: string;
33
- set?: string;
34
- columnId?: string;
35
- datasetId?: string;
36
- label?: Record<string, string>;
37
- type?: string;
38
- subtype?: string | null;
39
- color?: string;
40
- format?: string;
41
- lowestLevel?: number;
42
- level?: number | null;
43
- currency?: string | null;
44
- id?: string;
45
- [key: string]: unknown;
46
- }
47
- /**
48
- * A single slot configuration
49
- */
50
- export interface Slot {
51
- name: string;
52
- content: SlotContent[];
53
- }
54
- /**
55
- * State for a standalone item (chart/visualization)
56
- */
57
- export interface ItemState {
58
- type: string;
59
- options: Record<string, unknown>;
60
- slots: Slot[];
61
- filters: unknown[];
62
- }
63
- /**
64
- * Screen mode for responsive dashboard views
65
- */
66
- export type ScreenMode = 'desktop' | 'tablet' | 'mobile';
67
- /**
68
- * Position of an item within a dashboard grid
69
- */
70
- export interface ItemPosition {
71
- sizeX: number;
72
- sizeY: number;
73
- row: number;
74
- col: number;
75
- }
76
- /**
77
- * State of a single item (chart) within a dashboard view
78
- */
79
- export interface DashboardItemState {
80
- id: string;
81
- type: string;
82
- position: ItemPosition;
83
- title?: Record<string, string>;
84
- options: Record<string, unknown>;
85
- content?: Record<string, unknown>;
86
- slots: Slot[];
87
- sort?: unknown[];
88
- /** Reference to an ItemStore ID (for hybrid store architecture) */
89
- storeId?: string;
90
- }
91
- /**
92
- * Filter configuration
93
- */
94
- export interface FilterConfig {
95
- expression?: string;
96
- parameters?: unknown[];
97
- properties?: {
98
- type?: string;
99
- id?: string;
100
- origin?: string;
101
- };
102
- }
103
- /**
104
- * Options for a dashboard view
105
- */
106
- export interface ViewOptions {
107
- share?: {
108
- poweredBy?: boolean;
109
- };
110
- theme?: {
111
- id?: string;
112
- };
113
- showTitle?: boolean;
114
- showSubtitle?: boolean;
115
- alertingEnabled?: boolean;
116
- columns?: number;
117
- rowHeight?: number;
118
- maxCols?: number;
119
- minCols?: number;
120
- [key: string]: unknown;
121
- }
122
- /**
123
- * State of a single view (screen mode) within a dashboard
124
- */
125
- export interface ViewState {
126
- screenModus: ScreenMode;
127
- options: ViewOptions;
128
- filters: FilterConfig[];
129
- items: DashboardItemState[];
130
- }
131
- /**
132
- * Parameter configuration for dashboard
133
- */
134
- export interface DashboardParameter {
135
- parameter: string;
136
- type: string;
137
- value: unknown;
138
- }
139
- /**
140
- * Timezone configuration
141
- */
142
- export interface TimezoneConfig {
143
- type: string;
144
- id: string;
145
- }
146
- /**
147
- * Complete dashboard state
148
- */
149
- export interface DashboardState {
150
- version?: string;
151
- syncScreenModes?: boolean;
152
- parameters?: DashboardParameter[];
153
- timezone?: TimezoneConfig;
154
- filters?: Record<string, unknown>;
155
- views: ViewState[];
156
- /** ID of the currently active/selected item for editing */
157
- activeItemId?: string;
158
- /** Map of item IDs to their ItemStore IDs (for hybrid store architecture) */
159
- itemStoreIds?: Record<string, string>;
160
- }
161
- /**
162
- * Callback for state changes
163
- */
164
- export type StateSubscriber<T> = (state: T) => void;
165
- /**
166
- * Callback for change events
167
- */
168
- export type ChangeSubscriber = (event: unknown) => void;
169
- /**
170
- * Callback for local updates (for sync)
171
- */
172
- export type LocalUpdatesSubscriber = (updates: Uint8Array) => void;
173
- /**
174
- * Unsubscribe function returned by subscribe methods
175
- */
176
- export type Unsubscribe = () => void;
177
- /**
178
- * Options for state subscription
179
- */
180
- export interface SubscribeOptions {
181
- /**
182
- * Whether to immediately call the callback with current state.
183
- * The callback is deferred to the next microtask to allow setup code to complete.
184
- * Set to false to only receive future state changes.
185
- * @default true
186
- */
187
- fireImmediately?: boolean;
188
- }
189
- /**
190
- * Base interface for all stores
191
- */
192
- export interface BaseStore<TState> {
193
- /** Unique identifier for this store instance */
194
- readonly id: string;
195
- undo(): boolean;
196
- redo(): boolean;
197
- canUndo(): boolean;
198
- canRedo(): boolean;
199
- clearHistory(): void;
200
- subscribe(callback: StateSubscriber<TState>, options?: SubscribeOptions): Unsubscribe;
201
- subscribeToChanges(callback: ChangeSubscriber): Unsubscribe;
202
- exportUpdates(since?: Uint8Array): Uint8Array;
203
- importUpdates(updates: Uint8Array): void;
204
- subscribeLocalUpdates(callback: LocalUpdatesSubscriber): Unsubscribe;
205
- exportSnapshot(): Uint8Array;
206
- importSnapshot(snapshot: Uint8Array): void;
207
- reset(initialState?: Partial<TState>): void;
208
- destroy(): void;
209
- commit(message?: string): void;
210
- getState(): TState;
211
- getPeerId(): string;
212
- }
213
- /**
214
- * Item store interface
215
- */
216
- export interface ItemStore extends BaseStore<ItemState> {
217
- /**
218
- * Set multiple state properties atomically in a single transaction.
219
- * This prevents intermediate states from being emitted to subscribers.
220
- * Use this when updating type, slots, and options together (e.g., when switching item types).
221
- */
222
- setState(state: Partial<ItemState>): void;
223
- setType(type: string): void;
224
- setOptions(options: Record<string, unknown>): void;
225
- updateOption(key: string, value: unknown): void;
226
- setSlots(slots: Slot[]): void;
227
- updateSlot(slotName: string, content: SlotContent[]): void;
228
- setFilters(filters: unknown[]): void;
229
- addFilter(filter: unknown): void;
230
- removeFilter(index: number): void;
231
- updateFilter(index: number, filter: unknown): void;
232
- getType(): string;
233
- getOptions(): Record<string, unknown>;
234
- getSlots(): Slot[];
235
- getFilters(): unknown[];
236
- toJSON(): ItemState;
237
- fromJSON(json: Partial<ItemState>): void;
238
- }
239
- /**
240
- * Dashboard store interface
241
- */
242
- export interface DashboardStore extends BaseStore<DashboardState> {
243
- setVersion(version: string): void;
244
- setSyncScreenModes(sync: boolean): void;
245
- setParameters(params: DashboardParameter[]): void;
246
- setTimezone(timezone: TimezoneConfig): void;
247
- setDashboardFilters(filters: Record<string, unknown>): void;
248
- setViewOptions(screenMode: ScreenMode, options: ViewOptions): void;
249
- updateViewOption(screenMode: ScreenMode, key: string, value: unknown): void;
250
- setViewFilters(screenMode: ScreenMode, filters: FilterConfig[]): void;
251
- addItem(screenMode: ScreenMode, item: DashboardItemState): void;
252
- removeItem(screenMode: ScreenMode, itemId: string): void;
253
- updateItem(screenMode: ScreenMode, itemId: string, updates: Partial<DashboardItemState>): void;
254
- updateItemPosition(screenMode: ScreenMode, itemId: string, position: Partial<ItemPosition>): void;
255
- updateItemOptions(screenMode: ScreenMode, itemId: string, options: Record<string, unknown>): void;
256
- updateItemSlots(screenMode: ScreenMode, itemId: string, slots: Slot[]): void;
257
- updateItemFilters(screenMode: ScreenMode, itemId: string, filters: unknown[]): void;
258
- batchUpdate(callback: () => void): void;
259
- getView(screenMode: ScreenMode): ViewState | undefined;
260
- getItem(screenMode: ScreenMode, itemId: string): DashboardItemState | undefined;
261
- getItems(screenMode: ScreenMode): DashboardItemState[];
262
- getActiveItemId(): string | undefined;
263
- setActiveItemId(itemId: string | undefined): void;
264
- getActiveItemStoreId(): string | undefined;
265
- getItemStoreId(itemId: string): string | undefined;
266
- setItemStoreId(itemId: string, storeId: string): void;
267
- getItemStoreIds(): Map<string, string>;
268
- toJSON(): DashboardState;
269
- fromJSON(json: Partial<DashboardState>): void;
270
- }
@@ -1,34 +0,0 @@
1
- import type { SlotConfig, VizItemSlot } from '@luzmo/dashboard-contents-types';
2
- /**
3
- * Converts a dashboard item's slot contents from one item type to another by re-mapping
4
- * each content entry into the target type's slot structure.
5
- *
6
- * Algorithm:
7
- * 1. Resolve slot configs for both the source and target item types.
8
- * 2. Short-circuit if this is an identity switch and all slot rules are already satisfied.
9
- * 3. Stage all source content entries, annotating each with its inferred role and content kind.
10
- * 4. Place staged entries into target slots in priority phases:
11
- * - Main group-by entries onto main group-by slots.
12
- * - Secondary group-by entries onto secondary (or fallback main) slots.
13
- * - Overflow main group-by entries onto secondary slots (if available).
14
- * - Measure entries onto measure slots, with deterministic multiplicity based on source shape:
15
- * if source has both primary and secondary group-by content, only the first measure is retained.
16
- * - Remaining entries onto any compatible slot.
17
- * 5. Enforce inter-slot dependency constraints after each phase and at the end.
18
- *
19
- * Staged entries that cannot be placed into any target slot are silently dropped.
20
- */
21
- export declare function switchItem(args: {
22
- oldItemType: string;
23
- newItemType: string;
24
- slots?: VizItemSlot[];
25
- options?: Record<string, unknown>;
26
- customItemSlotsConfigs?: {
27
- type: string;
28
- slotsConfig: SlotConfig[];
29
- }[];
30
- }): Promise<{
31
- type: string;
32
- slots: VizItemSlot[];
33
- options?: Record<string, unknown>;
34
- }>;
@@ -1,31 +0,0 @@
1
- import type { GenericSlotContent, Slot } from '@luzmo/dashboard-contents-types';
2
- /** Semantic role of a slot, used to match source content to compatible target slots. */
3
- export type SlotRole = 'mainGroupBy' | 'secondaryGroupBy' | 'measure' | 'other';
4
- /** Whether a slot content entry represents a numeric value or a categorical/temporal dimension. */
5
- export type SlotContentKind = 'numeric' | 'dimension';
6
- export declare function inferContentKind(content: GenericSlotContent): SlotContentKind;
7
- export declare function inferSlotRole(args: {
8
- slotName: string;
9
- slotType?: string;
10
- contentKind: SlotContentKind;
11
- }): SlotRole;
12
- export declare function inferTargetSlotRoles(slot: Slot): Set<SlotRole>;
13
- export declare function hasTargetSecondaryGroupBySlot(slots: Slot[]): boolean;
14
- export declare function getAliasSlotNamesForRole(role: SlotRole, sourceSlotName: string): string[];
15
- /**
16
- * Returns target slots that are role-compatible with the source item, sorted by best fit.
17
- * Ranking criteria (highest to lowest priority):
18
- * 1. Role match order from `preferredRoles`.
19
- * 2. Source-name/alias match order.
20
- * 3. Slot config `order`.
21
- */
22
- export declare function rankCompatibleTargetSlots(args: {
23
- targetSlots: Slot[];
24
- sourceSlotName: string;
25
- sourceRole: SlotRole;
26
- preferredRoles: SlotRole[];
27
- isAdditionalCompatible?: (slot: Slot) => boolean;
28
- }): Slot[];
29
- export declare function getPreferredRoles(item: {
30
- sourceRole: SlotRole;
31
- }, hasTargetSecondaryGroupBy: boolean): SlotRole[];
@@ -1,17 +0,0 @@
1
- import '@luzmo/lucero/select';
2
- import type { StoryObj } from '@storybook/web-components-vite';
3
- import '../../../components/item-grid';
4
- import '../../../components/item-slot-picker-panel';
5
- declare const meta: {
6
- title: string;
7
- tags: string[];
8
- render: () => HTMLElement;
9
- parameters: {
10
- controls: {
11
- disable: boolean;
12
- };
13
- };
14
- };
15
- export default meta;
16
- type Story = StoryObj;
17
- export declare const Playground: Story;
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const blissTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const classicDarkTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const classicTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const defaultDarkTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const defaultTheme: ThemeConfig;
@@ -1,4 +0,0 @@
1
- import { ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const systemThemeIds: string[];
3
- export type SystemThemeId = 'default' | 'default_dark' | 'vivid' | 'seasonal' | 'orion' | 'royale' | 'urban' | 'pinky' | 'bliss' | 'radiant' | 'classic' | 'classic_dark';
4
- export declare const getTheme: (themeId: SystemThemeId | string) => Promise<ThemeConfig>;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const orionTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const pinkyTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const radiantTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const royaleTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const seasonalTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const urbanTheme: ThemeConfig;
@@ -1,2 +0,0 @@
1
- import { type ThemeConfig } from '@luzmo/dashboard-contents-types';
2
- export declare const vividTheme: ThemeConfig;
@@ -1,4 +0,0 @@
1
- export type DateFormats = 'auto' | 'mmdd' | 'ddmm';
2
- export declare const DATE_FORMATS: Record<DateFormats, () => string>;
3
- export type DateSeparators = '~' | '.' | '-' | '/';
4
- export declare const DATE_SEPARATORS: Record<DateSeparators, () => string>;
@@ -1,8 +0,0 @@
1
- export declare const PeriodOverPeriodCondition: {
2
- readonly HasDatetimeColumnAndNoComparisonFilters: "hasDatetimeColumnAndNoComparisonFilters";
3
- readonly NoDatetimeColumnAndNoComparisonFilters: "noDatetimeColumnAndNoComparisonFilters";
4
- readonly NoDatetimeColumnButComparisonFilters: "noDatetimeColumnButComparisonFilters";
5
- readonly HasDatetimeColumnAndComparisonFilters: "hasDatetimeColumnAndComparisonFilters";
6
- readonly OldImplementation: "oldImplementation";
7
- };
8
- export type PeriodOverPeriodCondition = (typeof PeriodOverPeriodCondition)[keyof typeof PeriodOverPeriodCondition];
@@ -1,15 +0,0 @@
1
- export declare const DATETIME_LEVELS: {
2
- level: number;
3
- key: string;
4
- i18n: () => string;
5
- }[];
6
- export declare const DATETIME_AS_STRING_FORMATS_PER_LEVEL: Record<string, {
7
- key: string;
8
- label: string;
9
- i18n: () => string;
10
- }[]>;
11
- export declare const DATETIME_WEEKDAY_AND_MONTH_STRING_FORMATS: Record<string, () => string>;
12
- export declare const WEEK_STARTS_ON: {
13
- sunday: () => string;
14
- monday: () => string;
15
- };
@@ -1,25 +0,0 @@
1
- import type { GenericSlotContent } from '@luzmo/dashboard-contents-types';
2
- /**
3
- * Luzmo datetime levels 1–5 (year, quarter, month, week, day).
4
- * At these levels the API already returns values in the dashboard timezone.
5
- * Levels 6+ (hour, minute, second, millisecond) are returned as UTC and need a client-side shift.
6
- *
7
- * @see https://developer.luzmo.com/guide/guides--querying-data--options.md
8
- */
9
- export declare const DATE_LEVEL_AND_ABOVE = 5;
10
- /**
11
- * Shifts a datetime value for display based on the column's aggregation level.
12
- * Date-level values are parsed as-is; sub-day values are converted from UTC to the dashboard timezone.
13
- */
14
- export declare function transformDateToTimezone(value: unknown, level: number | undefined, timezoneId: string): Date | null | undefined;
15
- /**
16
- * Prepares a raw slot value for the Luzmo formatter, applying timezone conversion for
17
- * datetime columns in default display mode. Non-default display modes (e.g. month_number)
18
- * pass through unchanged as numeric values.
19
- *
20
- * When timezoneId is omitted (older Luzmo hosts), falls back to `new Date(value)` so the
21
- * browser's local timezone is used — matching pre-timezone custom chart behaviour.
22
- *
23
- * Call this before `formatter()`; do not change `formatter()` itself.
24
- */
25
- export declare function getValueForFormatter(rawValue: unknown, slotContent: GenericSlotContent | undefined, timezoneId?: string): string | number | Date | null | undefined;
@@ -1,9 +0,0 @@
1
- import type { GenericSlotContent } from '@luzmo/dashboard-contents-types';
2
- import type { DatasetDataField } from '../../types/dataset-data-field.types';
3
- /**
4
- * Converts data coming from a data field (representing a Dataset column or formula) to the expected format for Luzmo slot contents.
5
- * @param data{DatasetDataField} - The DatasetDataField object to convert.
6
- * @param isSublevelDrop{boolean} - Whether the drop is a sublevel drop.
7
- * @returns - The GenericSlotContent object.
8
- */
9
- export declare const convertDataFieldToSlotContent: (data: DatasetDataField, isSublevelDrop: boolean) => GenericSlotContent;
@@ -1,30 +0,0 @@
1
- import type { DatasetDataField } from '../../types/dataset-data-field.types';
2
- import type { DatasetColumnMetadata, DatasetFormulaMetadata, DatasetMetadata } from '../data-broker/index';
3
- export declare const mapDatasetColumnToDatasetDataField: (datasetId: string, column: DatasetColumnMetadata, options?: {
4
- includeHidden?: boolean;
5
- }) => Extract<DatasetDataField, {
6
- columnId: string;
7
- }> | null;
8
- export declare const mapDatasetFormulaToDatasetDataField: (datasetId: string, formula: DatasetFormulaMetadata, options?: {
9
- includeHidden?: boolean;
10
- }) => Extract<DatasetDataField, {
11
- formulaId: string;
12
- }> | null;
13
- export declare const mapDatasetToDataFields: (dataset: DatasetMetadata, options?: {
14
- includeHidden?: boolean;
15
- }) => DatasetDataField[];
16
- export interface DatasetWithDataFields {
17
- id: string;
18
- name: Record<string, string>;
19
- description?: Record<string, string>;
20
- dataFields: DatasetDataField[];
21
- }
22
- /**
23
- * Converts DataBroker dataset metadata to datasets with data fields.
24
- * @param datasets Array of datasets to convert.
25
- * @param options Mapping options to control visibility and field types.
26
- * @returns Array of datasets, each containing its metadata and data fields.
27
- */
28
- export declare const convertDatasetsToDataFields: (datasets: DatasetMetadata[], options?: {
29
- includeHidden?: boolean;
30
- }) => DatasetWithDataFields[];
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- export declare function isEmpty(value: any): boolean;
2
- export declare function isString(value: any): value is string;
3
- export declare function isNumeric(value: any): value is number;
4
- export declare function isBoolean(value: any): value is boolean;
5
- export declare function isObject(value: any): boolean;
6
- export declare function isDate(value: any): value is Date;
7
- export declare function isEmptyObject(value: any): boolean;
8
- /**
9
- * Validates if a string is a valid UUID v4 format
10
- * @param value - The string to validate
11
- * @returns true if the string is a valid UUID, false otherwise
12
- */
13
- export declare function isValidUuid(value: unknown): boolean;
14
- /**
15
- * Filters an array of strings to only include valid UUIDs
16
- * @param ids - Array of strings to filter
17
- * @returns Array containing only valid UUIDs
18
- */
19
- export declare function filterValidUuids(ids: string[]): string[];
20
- /**
21
- * Validates an array of IDs and returns info about invalid ones
22
- * @param ids - Array of IDs to validate
23
- * @returns Object with valid IDs array and invalid IDs array
24
- */
25
- export declare function validateUuids(ids: string[]): {
26
- valid: string[];
27
- invalid: string[];
28
- };
@@ -1,41 +0,0 @@
1
- /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
- *
3
- * Copyright © 2026 Luzmo
4
- * All rights reserved.
5
- * Luzmo web components (“Luzmo Web Components”)
6
- * must be used according to the Luzmo Terms of Service.
7
- * This license allows users with a current active Luzmo account
8
- * to use the Luzmo Web Components. This license terminates
9
- * automatically if a user no longer has an active Luzmo account.
10
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * */
20
- const e=require("./decorate-DCJt-2rt.cjs"),t=require("./localized-mixin-BbOPy_BO.cjs"),n=require("./calculate-data-field-icon-DenGmW74.cjs"),r=require("./localize-D3i4Epy_.cjs"),i=require("./convert-datasets-to-data-fields-B13rl1an.cjs"),a=require("./periods.const-Db0nXrwr.cjs");let o=require("@luzmo/icons"),s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/select");let u=require("@luzmo/lucero/utils");var d=`:host{font-family:var(--luzmo-font-family)}`,f=`::level::`,p=(e,t)=>`${e}${f}${t}`,m=e=>{let t=e.indexOf(f);return t===-1?null:{columnId:e.slice(0,t),level:Number(e.slice(t+9))}},h=class extends t.t((0,u.SizedMixin)(u.LuzmoElement,{validSizes:Object.values(u.ElementSizes)})){constructor(...e){super(...e),this.contentLanguage=`en`,this.icons=`menu-only`,this.levels=`on`,this.allowEmpty=!1,this.selects=`single`,this.value=[],this.retrieving=!1,this.invalid=!1,this.clearable=!1,this.pending=!1,this.disabled=!1,this.search=`auto`,this.placement=`bottom-start`,this.datasetsDataFields=[],this._dataFieldsSelected=[],this._lastEmittedValue=`[]`,this._pendingAutoSelectEvent=!1}static get styles(){return[(0,s.unsafeCSS)(d)]}_isAdHocFormula(e){return`formula`in e&&typeof e.formula==`string`}_sendChangeEvent(){let e=JSON.stringify(this.value);e!==this._lastEmittedValue&&(this._lastEmittedValue=e,this.dispatchEvent(new CustomEvent(`luzmo-data-fields-selected`,{bubbles:!0,composed:!0,cancelable:!0,detail:{dataFields:this._dataFieldsSelected}})))}_toDataFieldData(e,t,n=!1){return n?i.r(t,e,{includeHidden:!0}):i.n(t,e,{includeHidden:!0})}_toAdHocFormulaFieldData(e,t){return{datasetId:t,formula:e.formula,type:e.type,name:e.label??{en:`Ad-hoc formula`},subtype:e.subtype??void 0,format:e.format}}_findFormulaMatch(e,t,n){for(let r of e)if(this._isAdHocFormula(r)){if(r.formula===t)return this._toAdHocFormulaFieldData(r,n)}else if(r.id===t)return this._toDataFieldData(r,n,!0);return null}_resolveDataFieldFromValue(e,t){let n=m(e),r=n?n.columnId:e;for(let i of t){let t=i.columns??[],a=i.formulas??[],o=t.find(e=>e.id===r);if(o){let e=this._toDataFieldData(o,i.id,!1);if(e&&n&&(e.level=n.level,this._isExpandableHierarchy(o))){let t=o.hierarchyLevels?.find(e=>e.level===n.level);t&&(e.name=t.name)}return e}let s=this._findFormulaMatch(a,e,i.id);if(s)return s}return null}setDataField(e){let t=e?.detail?.value??[];this._dataFieldsSelected=[];for(let e of t){let t=this._resolveDataFieldFromValue(e,this.datasetsDataFields);t&&this._dataFieldsSelected.push(t)}this.value=t,this._sendChangeEvent()}_normalizeValueForLevels(e){if(this.levels!==`off`)return e;let t=[];for(let n of e){let e=m(n)?.columnId??n;t.includes(e)||t.push(e)}return t}_findDataFieldsInDatasetsDataFields(e){this._dataFieldsSelected=[];for(let t of e){let e=this._resolveDataFieldFromValue(t,this.datasetsDataFields);e&&this._dataFieldsSelected.push(e)}}_getAutoSelectValue(){for(let e of this.datasetsDataFields){if(e?.columns?.length>0){let t=e.columns[0];return this._isExpandableDatetime(t)?this._buildDatetimeChildren(t)[0]?.value??null:this._isExpandableHierarchy(t)?this._buildHierarchyChildren(t)[0]?.value??null:t.id}for(let t of e?.formulas??[])if(!this._isAdHocFormula(t))return t.id}return null}_autoSelectInitialDataField(){if(this.value.length>0||this.allowEmpty||this.retrieving)return;let e=this._getAutoSelectValue();e&&this._resolveDataFieldFromValue(e,this.datasetsDataFields)&&(this._pendingAutoSelectEvent=!0,this.value=[e])}willUpdate(e){if(super.willUpdate(e),(e.has(`value`)||e.has(`datasetsDataFields`)||e.has(`allowEmpty`)||e.has(`retrieving`)||e.has(`levels`))&&this._autoSelectInitialDataField(),e.has(`value`)||e.has(`datasetsDataFields`)||e.has(`levels`)){if(e.has(`levels`)&&this.levels===`off`){let e=this._normalizeValueForLevels(this.value);JSON.stringify(e)!==JSON.stringify(this.value)&&(this._pendingAutoSelectEvent=!0,this.value=e)}this._findDataFieldsInDatasetsDataFields(this.value)}}updated(e){super.updated(e),this._pendingAutoSelectEvent&&e.has(`value`)&&this._dataFieldsSelected.length>0?(this._pendingAutoSelectEvent=!1,this._sendChangeEvent()):e.has(`value`)&&(this._lastEmittedValue=JSON.stringify(this.value))}_buildDatetimeChildren(e){let t=[],n=Math.min(Math.max(e.lowestLevel??1,1),a.n.length),r=Math.min(Math.max(e.highestLevel??1,1),a.n.length);for(let i=r;i<=n;i++)t.push({value:p(e.id,i),label:a.n[i-1]?.i18n()??``});return t}_buildHierarchyChildren(e){let t=[],n=e.hierarchyLevels??[];for(let i of n)i.level<1||t.push({value:p(e.id,i.level),label:r.t(i.name??{},this.contentLanguage)??``});return t}_isExpandableDatetime(e){let t=e.type;return this.levels!==`off`&&(t===`datetime`||t===`array[datetime]`)&&typeof e.lowestLevel==`number`}_isExpandableHierarchy(e){return this.levels!==`off`&&Array.isArray(e.hierarchyLevels)&&e.hierarchyLevels.length>2&&e.hierarchy_enabled===!0}render(){let e=[],t=this.icons!==`none`;for(let i of this.datasetsDataFields??[]){let a=i?.columns??[],s=i?.formulas??[];for(let i of a){let a={value:i.id,label:r.t(i?.name??{},this.contentLanguage)??``};t&&(a.icon=n.t(i,this.size)),this._isExpandableDatetime(i)?a.children=this._buildDatetimeChildren(i):this._isExpandableHierarchy(i)&&(a.children=this._buildHierarchyChildren(i)),e.push(a)}for(let i of s)if(this._isAdHocFormula(i)){let n=i.label?r.t(i.label,this.contentLanguage):(0,l.msg)(`Ad-hoc formula`),a={value:i.formula,label:n??(0,l.msg)(`Ad-hoc formula`)};t&&(a.icon=o.luzmoFormula),e.push(a)}else{let a={value:i.id,label:r.t(i?.name??{},this.contentLanguage)??``};t&&(a.icon=n.t(i,this.size)),e.push(a)}}let i=(0,l.msg)(`Select...`),a=this.pending?``:this.label||this.placeholder||i,c=this.pending||this.value.length===0?[]:this.value,u=this.icons===`none`||this.icons===`menu-only`?`none`:void 0;return s.html`<luzmo-select
21
- id="data-fields"
22
- .size=${this.size}
23
- .label=${a}
24
- .pendingLabel=${this.label||this.placeholder||i}
25
- .retrieving=${this.retrieving}
26
- .icons=${u}
27
- .selects=${this.selects}
28
- .variant=${this.selects===`multiple`?`checkmarks`:`highlight`}
29
- .placement=${this.placement}
30
- .search=${this.search}
31
- emphasized
32
- no-wrap
33
- ?invalid=${this.invalid}
34
- ?clearable=${this.clearable&&this.allowEmpty}
35
- ?pending=${this.pending}
36
- ?disabled=${this.disabled}
37
- .options=${e}
38
- .value=${c}
39
- @change=${this.setDataField}
40
- >
41
- </luzmo-select>`}};e.t([(0,c.property)({type:String,attribute:`content-language`,reflect:!0})],h.prototype,`contentLanguage`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],h.prototype,`label`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],h.prototype,`icons`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],h.prototype,`levels`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`allow-empty`,reflect:!0})],h.prototype,`allowEmpty`,void 0),e.t([(0,c.property)({type:String,attribute:`placeholder`,reflect:!0})],h.prototype,`placeholder`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],h.prototype,`selects`,void 0),e.t([(0,c.property)({type:Array,reflect:!0})],h.prototype,`value`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`retrieving`,reflect:!0})],h.prototype,`retrieving`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`invalid`,reflect:!0})],h.prototype,`invalid`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`clearable`,reflect:!0})],h.prototype,`clearable`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`pending`,reflect:!0})],h.prototype,`pending`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`disabled`,reflect:!0})],h.prototype,`disabled`,void 0),e.t([(0,c.property)({type:String,attribute:`search`,reflect:!0})],h.prototype,`search`,void 0),e.t([(0,c.property)({type:String,reflect:!0})],h.prototype,`placement`,void 0),e.t([(0,c.property)({type:Array,reflect:!1})],h.prototype,`datasetsDataFields`,void 0),h=e.t([(0,l.localized)()],h),customElements.get(`luzmo-data-fields-select`)||customElements.define(`luzmo-data-fields-select`,h),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});