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

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 (460) hide show
  1. package/README.md +6 -4
  2. package/components/ai-chat/index.cjs +1 -1
  3. package/components/ai-chat/index.js +2 -2
  4. package/components/{ai-chat-CG-eIiBr.cjs → ai-chat-1OlRpimu.cjs} +1 -1
  5. package/components/{ai-chat-CMc_9Oo2.js → ai-chat-PesGGOLP.js} +2 -2
  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-D9g9G0T1.js → ai-interaction-textarea-BXKG2elT.js} +3 -3
  9. package/components/{ai-interaction-textarea-B6tZgh5k.cjs → ai-interaction-textarea-CmFGJzbb.cjs} +1 -1
  10. package/components/{area-chart-options.config-B94ERc30.js → area-chart-options.config-DJnPr93H.js} +1 -1
  11. package/components/{area-chart-positioning.config-CS-5H8-C.cjs → area-chart-positioning.config-C37nmNfP.cjs} +1 -1
  12. package/components/{area-chart-positioning.config-BEwDQj3T.js → area-chart-positioning.config-CF8Z7PuX.js} +1 -1
  13. package/components/{area-chart-slots.config-DdPO34_g.js → area-chart-slots.config-ClE-gYVY.js} +1 -1
  14. package/components/{bar-chart-options.config-B1C3t6uk.js → bar-chart-options.config-D1x5WPbL.js} +1 -1
  15. package/components/{bar-chart-positioning.config-DkIvwJI5.cjs → bar-chart-positioning.config-C4ii41mE.cjs} +1 -1
  16. package/components/{bar-chart-positioning.config-CBbTYesB.js → bar-chart-positioning.config-vuRQZsYr.js} +1 -1
  17. package/components/{bar-chart-slots.config-BnbZRLIr.js → bar-chart-slots.config-rMFwFprg.js} +1 -1
  18. package/components/{base-DSeXdW9S.js → base-8L8Jt2vi.js} +2 -2
  19. package/components/{base-D6QPZnpu.cjs → base-K-bf6_7X.cjs} +1 -1
  20. package/components/{box-plot-options.config-sBfVzPTw.js → box-plot-options.config-CooBIc6N.js} +1 -1
  21. package/components/{box-plot-positioning.config-o5D-mRFr.cjs → box-plot-positioning.config-D2LpbgQ_.cjs} +1 -1
  22. package/components/{box-plot-positioning.config-CNC-RTwl.js → box-plot-positioning.config-DMIsI9yU.js} +1 -1
  23. package/components/{box-plot-slots.config-D6F2R2dw.js → box-plot-slots.config-DS2UIfRF.js} +1 -1
  24. package/components/{bubble-chart-options.config-DKeBF5A0.js → bubble-chart-options.config-B6aLA_1d.js} +1 -1
  25. package/components/{bubble-chart-positioning.config-CtreNdST.cjs → bubble-chart-positioning.config-Btak-zwN.cjs} +1 -1
  26. package/components/{bubble-chart-positioning.config-3ilPXLpZ.js → bubble-chart-positioning.config-jYu0Q0Mc.js} +1 -1
  27. package/components/{bubble-chart-slots.config-BJdtdpS0.js → bubble-chart-slots.config-2qy2RqaU.js} +1 -1
  28. package/components/{bullet-chart-options.config-DdTBWTAF.js → bullet-chart-options.config-CBmbmhzI.js} +1 -1
  29. package/components/{bullet-chart-positioning.config-CkFhShBk.js → bullet-chart-positioning.config-BWHfPPyA.js} +1 -1
  30. package/components/{bullet-chart-positioning.config-dHj3YrT_.cjs → bullet-chart-positioning.config-CwoRVgNS.cjs} +1 -1
  31. package/components/{bullet-chart-slots.config-NeUTKgYI.js → bullet-chart-slots.config-BaMmwIH0.js} +1 -1
  32. package/components/{choropleth-map-options.config-nOE0NWaD.js → choropleth-map-options.config-DWWydGJ3.js} +1 -1
  33. package/components/{choropleth-map-positioning.config-BSs-bRGv.cjs → choropleth-map-positioning.config-DttV0Dk_.cjs} +1 -1
  34. package/components/{choropleth-map-positioning.config-DOt86t59.js → choropleth-map-positioning.config-KtxcLW7E.js} +1 -1
  35. package/components/{choropleth-map-slots.config-BbBwTeuw.js → choropleth-map-slots.config-DqOi1kCn.js} +1 -1
  36. package/components/{circle-pack-chart-options.config-CgE8vGP9.js → circle-pack-chart-options.config-D2RCikyA.js} +1 -1
  37. package/components/{circle-pack-chart-positioning.config-CVNdIYau.cjs → circle-pack-chart-positioning.config-N-rZvQjR.cjs} +1 -1
  38. package/components/{circle-pack-chart-positioning.config-BkFATJjC.js → circle-pack-chart-positioning.config-QBO-pwDr.js} +1 -1
  39. package/components/{circle-pack-chart-slots.config-CJFjalBn.js → circle-pack-chart-slots.config-B7_1p86m.js} +1 -1
  40. package/components/{circular-gauge-options.config-DtNYelhq.js → circular-gauge-options.config-syWQJHKT.js} +1 -1
  41. package/components/{circular-gauge-positioning.config-SrbCaaOr.cjs → circular-gauge-positioning.config-Cf1zuLXa.cjs} +1 -1
  42. package/components/{circular-gauge-positioning.config-BV2xb5TF.js → circular-gauge-positioning.config-DKGmEpFj.js} +1 -1
  43. package/components/{circular-gauge-slots.config-DAKsa5Hq.js → circular-gauge-slots.config-BxjCP1ao.js} +1 -1
  44. package/components/{column-chart-options.config-C2GGiHOI.js → column-chart-options.config-B2LIl9lL.js} +1 -1
  45. package/components/{column-chart-positioning.config-DTQe3h_H.cjs → column-chart-positioning.config-DcErS56C.cjs} +1 -1
  46. package/components/{column-chart-positioning.config-T7juV3XT.js → column-chart-positioning.config-LkQSNtSH.js} +1 -1
  47. package/components/{column-chart-slots.config-Bpr-WaCi.js → column-chart-slots.config-D6MBTcj4.js} +1 -1
  48. package/components/{combination-chart-options.config-LddX4naq.js → combination-chart-options.config-0ATFph8S.js} +1 -1
  49. package/components/{combination-chart-positioning.config-78C7wKnS.js → combination-chart-positioning.config-7iAEpO7h.js} +1 -1
  50. package/components/{combination-chart-positioning.config-BrSmdan-.cjs → combination-chart-positioning.config-Dzi93oAp.cjs} +1 -1
  51. package/components/{combination-chart-slots.config-u-QLoQQ-.js → combination-chart-slots.config-dYT9lz8M.js} +1 -1
  52. package/components/{conditional-number-options.config-qdX9T4zu.js → conditional-number-options.config-Bv2xONtI.js} +1 -1
  53. package/components/{conditional-number-positioning.config-z_eEfpud.js → conditional-number-positioning.config-Bse6AKPP.js} +1 -1
  54. package/components/{conditional-number-positioning.config-_9ySKU1z.cjs → conditional-number-positioning.config-CTy0zLXu.cjs} +1 -1
  55. package/components/{conditional-number-slots.config-CiLUXRSe.js → conditional-number-slots.config-DtYkqtN8.js} +1 -1
  56. package/components/create-lazy-loader-BO_oTDF5.js +31 -0
  57. package/components/create-lazy-loader-DYPgQh0L.cjs +20 -0
  58. package/components/data-field/index.cjs +1 -1
  59. package/components/data-field/index.js +1 -1
  60. package/components/{data-field-D1WW_V0N.js → data-field-CSm9APdz.js} +3 -3
  61. package/components/{data-field-9ZZFw68C.cjs → data-field-D2y4cv9j.cjs} +1 -1
  62. package/components/data-field-level/index.cjs +1 -1
  63. package/components/data-field-level/index.js +1 -1
  64. package/components/{data-field-level-DR_dXjnL.js → data-field-level-B0aj8c5M.js} +3 -3
  65. package/components/{data-field-level-Dc-EMhC3.cjs → data-field-level-Llx0Y9m-.cjs} +1 -1
  66. package/components/data-field-panel/index.cjs +1 -1
  67. package/components/data-field-panel/index.js +1 -1
  68. package/components/{data-field-panel-U-5Q-TRp.js → data-field-panel-DpBWJnes.js} +4 -4
  69. package/components/data-field-panel-Dv60lRUC.cjs +87 -0
  70. package/components/data-fields-select/data-fields-select.d.ts +5 -1
  71. package/components/data-fields-select/index.cjs +1 -1
  72. package/components/data-fields-select/index.js +1 -1
  73. package/components/{data-fields-select-BYhAzdA6.js → data-fields-select-69TDpIG_.js} +14 -5
  74. package/components/data-fields-select-BHa8THub.cjs +43 -0
  75. package/components/dataset-selector-list/index.cjs +1 -1
  76. package/components/dataset-selector-list/index.js +1 -1
  77. package/components/{dataset-selector-list-BXg6DIKI.cjs → dataset-selector-list-D5lBv2sD.cjs} +1 -1
  78. package/components/{dataset-selector-list-q6qWA7B-.js → dataset-selector-list-DTMXvqfO.js} +1 -1
  79. package/components/dataset-selector-row/index.cjs +1 -1
  80. package/components/dataset-selector-row/index.js +1 -1
  81. package/components/{dataset-selector-row-bqwY3zaf.cjs → dataset-selector-row-gHWsZlrC.cjs} +1 -1
  82. package/components/{dataset-selector-row-ZKET7lVc.js → dataset-selector-row-kiHtzZcP.js} +2 -2
  83. package/components/{date-comparison-filter-options.config-BSzzAJPM.js → date-comparison-filter-options.config-DgLx-m3L.js} +1 -1
  84. package/components/{date-comparison-filter-slots.config-Cvze969w.js → date-comparison-filter-slots.config-BKZ13uzB.js} +1 -1
  85. package/components/{date-filter-options.config-C6VvDjd8.js → date-filter-options.config-Cbiy0QKd.js} +1 -1
  86. package/components/{date-filter-slots.config-Y8hmQh0S.js → date-filter-slots.config-SzWky1y7.js} +1 -1
  87. package/components/{de-C5CMIy08.js → de-BhKtDR6p.js} +34 -0
  88. package/components/de-DXFLsh4N.cjs +20 -0
  89. package/components/{convert-data-field-to-slot-content-C6IIqU7G.js → default-acceptable-data-field-types-DFOFWWnT.js} +12 -12
  90. package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
  91. package/components/display-settings/index.cjs +1 -1
  92. package/components/display-settings/index.js +1 -1
  93. package/components/{display-settings-D_wBgzm1.js → display-settings-DKuvd62j.js} +11 -9
  94. package/components/{display-settings-BlMhlvVS.cjs → display-settings-DPqTRJ7E.cjs} +3 -1
  95. package/components/display-settings-binning/index.cjs +1 -1
  96. package/components/display-settings-binning/index.js +1 -1
  97. package/components/{display-settings-binning-GIE6ww1Q.js → display-settings-binning-BkCNSkgf.js} +2 -2
  98. package/components/{display-settings-binning-HrXOdGwO.cjs → display-settings-binning-DZKo_tBm.cjs} +1 -1
  99. package/components/display-settings-datetime/index.cjs +1 -1
  100. package/components/display-settings-datetime/index.js +1 -1
  101. package/components/{display-settings-datetime-YS7_TUet.js → display-settings-datetime-BTgriFcv.js} +14 -14
  102. package/components/{display-settings-datetime-DNeLEl3L.cjs → display-settings-datetime-DD7Oh-2T.cjs} +8 -8
  103. package/components/display-settings-grand-totals/index.cjs +1 -1
  104. package/components/display-settings-grand-totals/index.js +1 -1
  105. package/components/{display-settings-grand-totals-C-7s1Tyo.cjs → display-settings-grand-totals-BsIZg67h.cjs} +1 -1
  106. package/components/{display-settings-grand-totals-Bt_ju8jp.js → display-settings-grand-totals-DH7AoyQY.js} +2 -2
  107. package/components/display-settings-numeric/index.cjs +1 -1
  108. package/components/display-settings-numeric/index.js +1 -1
  109. package/components/{display-settings-numeric-OHmktQsz.js → display-settings-numeric-CkFpOoWU.js} +2 -2
  110. package/components/{display-settings-numeric--uwJWzC1.cjs → display-settings-numeric-CsmrnEp2.cjs} +1 -1
  111. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +8 -0
  112. package/components/display-settings-period-over-period/index.cjs +1 -1
  113. package/components/display-settings-period-over-period/index.js +1 -1
  114. package/components/{display-settings-period-over-period-B1_IJjWK.js → display-settings-period-over-period-CdI5wuL_.js} +19 -10
  115. package/components/{display-settings-period-over-period-C4X8c-_R.cjs → display-settings-period-over-period-Co37HcSm.cjs} +7 -9
  116. package/components/{donut-chart-options.config-CPHgS1Wi.js → donut-chart-options.config-C8wpZzyJ.js} +1 -1
  117. package/components/{donut-chart-positioning.config-BY2TIeeY.cjs → donut-chart-positioning.config-BThtaJEt.cjs} +1 -1
  118. package/components/{donut-chart-positioning.config-D34HegyZ.js → donut-chart-positioning.config-D2uG_Irk.js} +1 -1
  119. package/components/{donut-chart-slots.config-DilGk7ju.js → donut-chart-slots.config-fGqtoKZi.js} +1 -1
  120. package/components/{dropdown-filter-options.config-DFJKns3l.js → dropdown-filter-options.config-DkiapYtc.js} +1 -1
  121. package/components/{dropdown-filter-slots.config-7heZtoEY.js → dropdown-filter-slots.config-DPcT6v-9.js} +1 -1
  122. package/components/es-DK-49nGv.cjs +20 -0
  123. package/components/{es-BCur0-77.js → es-DUENN-m1.js} +34 -0
  124. package/components/{evolution-number-options.config-DT7iGQA8.js → evolution-number-options.config-Ca9ABNVM.js} +1 -1
  125. package/components/{evolution-number-positioning.config-CKzCTjdO.js → evolution-number-positioning.config-BtjobZqK.js} +1 -1
  126. package/components/{evolution-number-positioning.config-BBvULr59.cjs → evolution-number-positioning.config-DtYiv9oB.cjs} +1 -1
  127. package/components/{evolution-number-slots.config-noZzIHkT.js → evolution-number-slots.config-CKawNqUS.js} +1 -1
  128. package/components/filter-expression-picker/filter-expression-picker.d.ts +4 -0
  129. package/components/filter-expression-picker/index.cjs +1 -1
  130. package/components/filter-expression-picker/index.js +1 -1
  131. package/components/{filter-expression-picker-DurfSgRY.js → filter-expression-picker-C4kE_Thd.js} +14 -6
  132. package/components/{filter-expression-picker-BOLyxG2r.cjs → filter-expression-picker-CU-OfSmI.cjs} +4 -2
  133. package/components/filter-item/filter-item.d.ts +39 -0
  134. package/components/filter-item/index.cjs +1 -1
  135. package/components/filter-item/index.d.ts +1 -0
  136. package/components/filter-item/index.js +1 -1
  137. package/components/filter-item-Be6Z7NMz.js +792 -0
  138. package/components/filter-item-CxPrwF-R.cjs +111 -0
  139. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +4 -0
  140. package/components/filter-parameter-picker/index.cjs +1 -1
  141. package/components/filter-parameter-picker/index.js +1 -1
  142. package/components/{filter-parameter-picker-BWNBc8BI.js → filter-parameter-picker-Ba8bvoPZ.js} +18 -10
  143. package/components/{filter-parameter-picker-DSYaE9Sv.cjs → filter-parameter-picker-BtJLCUbT.cjs} +5 -4
  144. package/components/filter-value-picker/filter-value-picker.d.ts +6 -0
  145. package/components/filter-value-picker/index.cjs +1 -1
  146. package/components/filter-value-picker/index.js +1 -1
  147. package/components/{filter-value-picker-kzIrnmdp.js → filter-value-picker-DD206JZl.js} +26 -8
  148. package/components/{filter-value-picker-DYl_1pis.cjs → filter-value-picker-Dpua1vcJ.cjs} +11 -2
  149. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +6 -0
  150. package/components/filter-value-picker-datetime/index.cjs +1 -1
  151. package/components/filter-value-picker-datetime/index.js +1 -1
  152. package/components/{filter-value-picker-datetime-CP5__ua6.js → filter-value-picker-datetime-Bj0YaPtB.js} +25 -5
  153. package/components/{filter-value-picker-datetime-BFbmCKs3.cjs → filter-value-picker-datetime-DWgI83nJ.cjs} +11 -2
  154. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +6 -0
  155. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  156. package/components/filter-value-picker-hierarchy/index.js +1 -1
  157. package/components/filter-value-picker-hierarchy-BEoqkQq0.cjs +54 -0
  158. package/components/{filter-value-picker-hierarchy-j0LRYW1c.js → filter-value-picker-hierarchy-ZMThNJYm.js} +22 -6
  159. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +6 -0
  160. package/components/filter-value-picker-numeric/index.cjs +1 -1
  161. package/components/filter-value-picker-numeric/index.js +1 -1
  162. package/components/filter-value-picker-numeric-1Vxp_Vam.cjs +54 -0
  163. package/components/{filter-value-picker-numeric-BmKmeOol.js → filter-value-picker-numeric-CVaDogFQ.js} +21 -4
  164. package/components/filters/filters.d.ts +62 -2
  165. package/components/filters/index.cjs +1 -1
  166. package/components/filters/index.d.ts +2 -1
  167. package/components/filters/index.js +1 -1
  168. package/components/filters/types.d.ts +2 -0
  169. package/components/filters-Cnm0Kwk3.js +926 -0
  170. package/components/filters-Dtbt99BP.cjs +199 -0
  171. package/components/formula/index.cjs +1 -1
  172. package/components/formula/index.js +1 -1
  173. package/components/{formula-BYx4gH6i.js → formula-BE9bipho.js} +2 -2
  174. package/components/{formula-cc2AaiLt.cjs → formula-DGMnKmnR.cjs} +1 -1
  175. package/components/{formula-codemirror-EMK3MCNZ.cjs → formula-codemirror-B14vsZXJ.cjs} +1 -1
  176. package/components/{formula-codemirror-CVzyYNLO.js → formula-codemirror-xfm0QtJN.js} +5 -5
  177. package/components/formula-display-store-8hohve9v.cjs +20 -0
  178. package/components/{formula-display-store-BPn9m5TL.js → formula-display-store-JAaWuYNB.js} +229 -235
  179. package/components/formula-editor/index.cjs +1 -1
  180. package/components/formula-editor/index.js +3 -3
  181. package/components/{formula-editor-CWKXcUTF.cjs → formula-editor-CkW-JfyT.cjs} +1 -1
  182. package/components/{formula-editor-BxoIkARr.js → formula-editor-DN87mT8q.js} +7 -7
  183. package/components/formula-field/index.cjs +1 -1
  184. package/components/formula-field/index.js +1 -1
  185. package/components/{formula-field-BtvaOWki.js → formula-field-B1EMJOfK.js} +1 -1
  186. package/components/{formula-field-CzS2pKJI.cjs → formula-field-CQYFSBHL.cjs} +1 -1
  187. package/components/formula-input-base-BCQXmd1P.cjs +49 -0
  188. package/components/{formula-input-base-DVtGLoyA.js → formula-input-base-HL0Fg74x.js} +7 -7
  189. package/components/{fr-BnECl1nx.js → fr-CePmGBUH.js} +34 -0
  190. package/components/fr-uE3fb3kc.cjs +20 -0
  191. package/components/{funnel-chart-options.config-D21WdHBI.js → funnel-chart-options.config-CygQsQVD.js} +1 -1
  192. package/components/{funnel-chart-positioning.config-BPSmV76y.cjs → funnel-chart-positioning.config-DeLnAGGT.cjs} +1 -1
  193. package/components/{funnel-chart-positioning.config-CvhpE7rN.js → funnel-chart-positioning.config-TVzSiV6I.js} +1 -1
  194. package/components/{funnel-chart-slots.config-BWszdEe8.js → funnel-chart-slots.config-CfnSH4Ay.js} +1 -1
  195. package/components/{get-css-variable-B8sJUuig.cjs → get-css-variable-CBXsAxR6.cjs} +1 -1
  196. package/components/{get-css-variable-r1spgqX0.js → get-css-variable-DYnldi15.js} +1 -1
  197. package/components/{get-dataset-name-D53TN7N9.js → get-dataset-name-DLjeChNS.js} +1 -1
  198. package/components/{get-dataset-name-DYLdbEs-.cjs → get-dataset-name-mGNEfkAv.cjs} +1 -1
  199. package/components/{groupings-BtmmUlPK.js → groupings-CODDxpbZ.js} +1 -1
  200. package/components/{groupings-Bn9384Zw.cjs → groupings-DKMq8DgS.cjs} +1 -1
  201. package/components/{heat-map-options.config-DkuYkbWu.js → heat-map-options.config-X96sw-BV.js} +1 -1
  202. package/components/{heat-map-positioning.config-AOHTEJf7.js → heat-map-positioning.config--wm9l7bB.js} +1 -1
  203. package/components/{heat-map-positioning.config-CHDHFIo2.cjs → heat-map-positioning.config-ddrgZXa9.cjs} +1 -1
  204. package/components/{heat-map-slots.config-Cwun49Qb.js → heat-map-slots.config-D2ypExJQ.js} +1 -1
  205. package/components/{heat-table-options.config-BJP1jVB8.js → heat-table-options.config-D6dA9J97.js} +1 -1
  206. package/components/{heat-table-positioning.config-DprOfmlW.js → heat-table-positioning.config-CIhhBEMg.js} +1 -1
  207. package/components/{heat-table-positioning.config-DCLE9cy4.cjs → heat-table-positioning.config-qMDSRhZR.cjs} +1 -1
  208. package/components/{heat-table-slots.config-nGB_B2mh.js → heat-table-slots.config-B1iOn6ay.js} +1 -1
  209. package/components/{hexbin-map-options.config-Bqp3u2bH.js → hexbin-map-options.config-FK9DrXGD.js} +1 -1
  210. package/components/{hexbin-map-positioning.config-BmLljWez.cjs → hexbin-map-positioning.config-E_BpcIFy.cjs} +1 -1
  211. package/components/{hexbin-map-positioning.config-BjxkoqGh.js → hexbin-map-positioning.config-S7VYUwVD.js} +1 -1
  212. package/components/{hexbin-map-slots.config-BK-ftozd.js → hexbin-map-slots.config-CC1xZINm.js} +1 -1
  213. package/components/{image-options.config-Cz55iN7J.js → image-options.config-DxF0RSUF.js} +1 -1
  214. package/components/{image-slots.config-kvHutBFK.js → image-slots.config-Ba8NXeCH.js} +1 -1
  215. package/components/index.cjs +1 -1
  216. package/components/index.js +62 -62
  217. package/components/interactive-viz-item/index.cjs +1 -1
  218. package/components/interactive-viz-item/index.js +1 -1
  219. package/components/interactive-viz-item/interactive-viz-item.d.ts +4 -3
  220. package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
  221. package/components/interactive-viz-item--kqitfEZ.cjs +249 -0
  222. package/components/{interactive-viz-item-DL5aqkvx.js → interactive-viz-item-cdShBZQA.js} +124 -95
  223. package/components/item-grid/index.cjs +1 -1
  224. package/components/item-grid/index.js +1 -1
  225. package/components/{item-grid-CcwnD_u5.cjs → item-grid-BfhqMuQA.cjs} +2 -2
  226. package/components/{item-grid-C_OTtv4T.js → item-grid-xCM8AqRH.js} +24 -24
  227. package/components/item-option/index.cjs +1 -1
  228. package/components/item-option/index.js +1 -1
  229. package/components/{item-option-h8URFjZ2.cjs → item-option-B5FraAiv.cjs} +5 -5
  230. package/components/{item-option-DRWLN89_.js → item-option-DaAlj_OB.js} +52 -52
  231. package/components/item-option-action-button-group/index.cjs +1 -1
  232. package/components/item-option-action-button-group/index.js +1 -1
  233. package/components/{item-option-action-button-group-B9ghoHeh.js → item-option-action-button-group-4w8ub3cT.js} +1 -1
  234. package/components/{item-option-action-button-group-Byg9h7uo.cjs → item-option-action-button-group-DHu8VjCy.cjs} +1 -1
  235. package/components/{item-option-base-Dwf3dByS.cjs → item-option-base-4Bwn-3Fc.cjs} +1 -1
  236. package/components/{item-option-base-pYrkqt6q.js → item-option-base-BxQUwXzg.js} +1 -1
  237. package/components/item-option-color-palette-picker/index.cjs +1 -1
  238. package/components/item-option-color-palette-picker/index.js +1 -1
  239. package/components/{item-option-color-palette-picker-DnVqGnm4.js → item-option-color-palette-picker-D5nO-Bqb.js} +1 -1
  240. package/components/{item-option-color-palette-picker-v6TBE-I0.cjs → item-option-color-palette-picker-DrhHKaAK.cjs} +1 -1
  241. package/components/item-option-color-picker/index.cjs +1 -1
  242. package/components/item-option-color-picker/index.js +1 -1
  243. package/components/{item-option-color-picker-CNkNZ1p-.cjs → item-option-color-picker-Bhv_k1uW.cjs} +1 -1
  244. package/components/{item-option-color-picker-CO-OAFOs.js → item-option-color-picker-CKokPQcS.js} +1 -1
  245. package/components/item-option-color-range/index.cjs +1 -1
  246. package/components/item-option-color-range/index.js +1 -1
  247. package/components/{item-option-color-range-BveD6fsp.cjs → item-option-color-range-CwDkzRcx.cjs} +1 -1
  248. package/components/{item-option-color-range-bdYUxgQ9.js → item-option-color-range-DYsMbFEb.js} +1 -1
  249. package/components/item-option-guidelines/index.cjs +1 -1
  250. package/components/item-option-guidelines/index.js +1 -1
  251. package/components/{item-option-guidelines-Ce88dTV-.js → item-option-guidelines-CXl4Yla4.js} +3 -3
  252. package/components/{item-option-guidelines-D8UjylMx.cjs → item-option-guidelines-DMjA-h3h.cjs} +1 -1
  253. package/components/item-option-multi-language-field/index.cjs +1 -1
  254. package/components/item-option-multi-language-field/index.js +1 -1
  255. package/components/{item-option-multi-language-field-D0jRPAjY.cjs → item-option-multi-language-field-C75Hd2fG.cjs} +1 -1
  256. package/components/{item-option-multi-language-field-0qfdBanp.js → item-option-multi-language-field-S6Mt3k23.js} +1 -1
  257. package/components/item-option-number-field/index.cjs +1 -1
  258. package/components/item-option-number-field/index.js +1 -1
  259. package/components/{item-option-number-field-DYJ0eIf7.cjs → item-option-number-field-Bg5r0IAX.cjs} +1 -1
  260. package/components/{item-option-number-field-CcEav5C3.js → item-option-number-field-CALw8q_J.js} +1 -1
  261. package/components/item-option-panel/index.cjs +1 -1
  262. package/components/item-option-panel/index.js +1 -1
  263. package/components/{item-option-panel-6Voh87nt.cjs → item-option-panel-DBXgOsM4.cjs} +1 -1
  264. package/components/{item-option-panel-DrI7HYrY.js → item-option-panel-v7yUS9hb.js} +3 -3
  265. package/components/item-option-picker/index.cjs +1 -1
  266. package/components/item-option-picker/index.js +1 -1
  267. package/components/{item-option-picker-Bv4aGaCO.js → item-option-picker-CZyzd3Nq.js} +1 -1
  268. package/components/{item-option-picker-DkEgfEE7.cjs → item-option-picker-RFstpFwI.cjs} +1 -1
  269. package/components/item-option-position-picker/index.cjs +1 -1
  270. package/components/item-option-position-picker/index.js +1 -1
  271. package/components/{item-option-position-picker-1d7qZmDv.js → item-option-position-picker-C8cnHEH4.js} +1 -1
  272. package/components/{item-option-position-picker-CKgaqFJR.cjs → item-option-position-picker-CKHbHHl1.cjs} +1 -1
  273. package/components/item-option-positions-number-field/index.cjs +1 -1
  274. package/components/item-option-positions-number-field/index.js +1 -1
  275. package/components/{item-option-positions-number-field-BJXer0y5.cjs → item-option-positions-number-field-BGs3WWaz.cjs} +1 -1
  276. package/components/{item-option-positions-number-field-DUlBsbUL.js → item-option-positions-number-field-BJTY1qZR.js} +1 -1
  277. package/components/item-option-radio-button-group/index.cjs +1 -1
  278. package/components/item-option-radio-button-group/index.js +1 -1
  279. package/components/{item-option-radio-button-group-ChtTIO3B.cjs → item-option-radio-button-group-CN8TLtsV.cjs} +1 -1
  280. package/components/{item-option-radio-button-group-DuMcIZvr.js → item-option-radio-button-group-vhm4r4_k.js} +1 -1
  281. package/components/item-option-slider/index.cjs +1 -1
  282. package/components/item-option-slider/index.js +1 -1
  283. package/components/{item-option-slider-CWxRoAbA.js → item-option-slider-CQOKWBZQ.js} +1 -1
  284. package/components/{item-option-slider-CBSnkHVq.cjs → item-option-slider-DbLPhpJd.cjs} +1 -1
  285. package/components/item-option-switch/index.cjs +1 -1
  286. package/components/item-option-switch/index.js +1 -1
  287. package/components/{item-option-switch-dO66fjoD.cjs → item-option-switch-CWpb0nf3.cjs} +1 -1
  288. package/components/{item-option-switch-DvMLATBO.js → item-option-switch-azZX2vJr.js} +1 -1
  289. package/components/item-option-text-field/index.cjs +1 -1
  290. package/components/item-option-text-field/index.js +1 -1
  291. package/components/{item-option-text-field-DS-gn_Gc.js → item-option-text-field-CIM_38yi.js} +1 -1
  292. package/components/{item-option-text-field-Furz80ho.cjs → item-option-text-field-CS3Lccda.cjs} +1 -1
  293. package/components/item-options-configs.js +45 -45
  294. package/components/item-slot-drop/index.cjs +1 -1
  295. package/components/item-slot-drop/index.js +1 -1
  296. package/components/item-slot-drop-C8WYPu_w.cjs +91 -0
  297. package/components/{item-slot-drop-DE90FDdS.js → item-slot-drop-DeZ2GvAu.js} +27 -27
  298. package/components/item-slot-drop-panel/index.cjs +1 -1
  299. package/components/item-slot-drop-panel/index.js +1 -1
  300. package/components/{item-slot-drop-panel-DLqyYvKj.cjs → item-slot-drop-panel-BcBHDDTT.cjs} +6 -6
  301. package/components/{item-slot-drop-panel-CyfhbUlE.js → item-slot-drop-panel-LpfX7ap0.js} +48 -48
  302. package/components/item-slot-picker/index.cjs +1 -1
  303. package/components/item-slot-picker/index.js +1 -1
  304. package/components/{item-slot-picker-BM03UNRE.js → item-slot-picker-BSO1ltXC.js} +42 -42
  305. package/components/{item-slot-picker-CgEtqhqe.cjs → item-slot-picker-CvySq194.cjs} +17 -17
  306. package/components/item-slot-picker-panel/index.cjs +1 -1
  307. package/components/item-slot-picker-panel/index.js +1 -1
  308. package/components/{item-slot-picker-panel-DPaabfv5.js → item-slot-picker-panel-CsntXcAp.js} +15 -15
  309. package/components/{item-slot-picker-panel-CuH3OcmV.cjs → item-slot-picker-panel-DQ_OzMO_.cjs} +8 -8
  310. package/components/item-slots-configs.js +45 -45
  311. package/components/{line-chart-options.config-D8gRtfj3.js → line-chart-options.config-C3_RnROS.js} +1 -1
  312. package/components/{line-chart-positioning.config-CPGyHeJF.js → line-chart-positioning.config-CrreArf5.js} +1 -1
  313. package/components/{line-chart-positioning.config-BnDYCjGX.cjs → line-chart-positioning.config-DMe1Ldwk.cjs} +1 -1
  314. package/components/{line-chart-slots.config-C6LEwEwh.js → line-chart-slots.config-CA-I6B6o.js} +1 -1
  315. package/components/{localized-mixin-DBUkUh0o.js → localized-mixin-DaLXe5J9.js} +1 -1
  316. package/components/{localized-mixin-CtNoCjjI.cjs → localized-mixin-DiUJOd06.cjs} +1 -1
  317. package/components/{marker-map-options.config-BE8GnY_T.js → marker-map-options.config-OMdgbAc4.js} +1 -1
  318. package/components/{marker-map-positioning.config-Bq1EPg3J.cjs → marker-map-positioning.config-CpI8nCtC.cjs} +1 -1
  319. package/components/{marker-map-positioning.config-CBERtxkG.js → marker-map-positioning.config-DW9tMO2M.js} +1 -1
  320. package/components/{marker-map-slots.config-Cyk-QFPT.js → marker-map-slots.config-CcGNgr1_.js} +1 -1
  321. package/components/{nl-h9vVAk2e.js → nl-BaZM3WoR.js} +34 -0
  322. package/components/nl-BoEhzeIh.cjs +20 -0
  323. package/components/{ohlc-chart-options.config-xgegn34C.js → ohlc-chart-options.config-CWRI5bXI.js} +1 -1
  324. package/components/{ohlc-chart-positioning.config-aCf-SEt7.cjs → ohlc-chart-positioning.config-9DETh4xy.cjs} +1 -1
  325. package/components/{ohlc-chart-positioning.config-CpPJyyLB.js → ohlc-chart-positioning.config-CkX8gyS2.js} +1 -1
  326. package/components/{ohlc-chart-slots.config-CQFi8BIT.js → ohlc-chart-slots.config-Pv0xst-Y.js} +1 -1
  327. package/components/{parallel-coordinates-plot-options.config-BUQLHO1k.js → parallel-coordinates-plot-options.config-DbuNgevO.js} +1 -1
  328. package/components/{parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs → parallel-coordinates-plot-positioning.config-CLDZdGdh.cjs} +1 -1
  329. package/components/{parallel-coordinates-plot-positioning.config-DsNDp1G7.js → parallel-coordinates-plot-positioning.config-DTJZLEeT.js} +1 -1
  330. package/components/{parallel-coordinates-plot-slots.config-D5o-5y_j.js → parallel-coordinates-plot-slots.config-GvYC-RXK.js} +1 -1
  331. package/components/{pivot-table-options.config-DW9UDipI.js → pivot-table-options.config-CTz4bcGJ.js} +1 -1
  332. package/components/{pivot-table-positioning.config-gBHM1_-K.cjs → pivot-table-positioning.config-B-SALuVb.cjs} +1 -1
  333. package/components/{pivot-table-positioning.config-BFWS3Yk_.js → pivot-table-positioning.config-CtSYHD-n.js} +1 -1
  334. package/components/{pivot-table-slots.config-Cl5z3IQo.js → pivot-table-slots.config-BAW0U3nh.js} +1 -1
  335. package/components/{pragmatic-element-adapter-C_7HSvGV.js → pragmatic-element-adapter-D0LRKx5U.js} +75 -74
  336. package/components/{pragmatic-element-adapter-DPWYJiW9.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +4 -4
  337. package/components/{pyramid-chart-options.config-Cbg351Yy.js → pyramid-chart-options.config-C7btzuZj.js} +1 -1
  338. package/components/{pyramid-chart-positioning.config-B8dbZhvt.js → pyramid-chart-positioning.config-0Juiava5.js} +1 -1
  339. package/components/{pyramid-chart-positioning.config-DD64vCwl.cjs → pyramid-chart-positioning.config-BllFtneP.cjs} +1 -1
  340. package/components/{pyramid-chart-slots.config-DNzq2hMx.js → pyramid-chart-slots.config-CsMMyhV3.js} +1 -1
  341. package/components/{radar-chart-options.config-DrNyOkHq.js → radar-chart-options.config-CtA6MpUp.js} +1 -1
  342. package/components/{radar-chart-positioning.config-C2DWQu8V.js → radar-chart-positioning.config-BPbb63S6.js} +1 -1
  343. package/components/{radar-chart-positioning.config-DN51_Tzb.cjs → radar-chart-positioning.config-BY4RKNDi.cjs} +1 -1
  344. package/components/{radar-chart-slots.config-CXgfvAkt.js → radar-chart-slots.config-8Kf_WAFi.js} +1 -1
  345. package/components/{regular-table-options.config-CweBtAvm.js → regular-table-options.config-BRmS77t-.js} +1 -1
  346. package/components/{regular-table-slots.config-DCkw4Xkq.js → regular-table-slots.config-r-N9A-qA.js} +1 -1
  347. package/components/{route-map-options.config-DXHqb8Ve.js → route-map-options.config-C65J81_7.js} +1 -1
  348. package/components/{route-map-positioning.config-D7X6QuWY.js → route-map-positioning.config-D6nZFd8f.js} +1 -1
  349. package/components/{route-map-positioning.config-ryk_dUkh.cjs → route-map-positioning.config-GQ9AJfej.cjs} +1 -1
  350. package/components/{route-map-slots.config-DJ76FOsJ.js → route-map-slots.config-DMII2UuP.js} +1 -1
  351. package/components/{sankey-diagram-options.config-1lSECht4.js → sankey-diagram-options.config-nQDCRhKs.js} +1 -1
  352. package/components/{sankey-diagram-positioning.config-CJfGpnPS.cjs → sankey-diagram-positioning.config-DAuj5A08.cjs} +1 -1
  353. package/components/{sankey-diagram-positioning.config-A_7xM06n.js → sankey-diagram-positioning.config-R1EjoR5F.js} +1 -1
  354. package/components/{sankey-diagram-slots.config-BCc8P4j0.js → sankey-diagram-slots.config-DmWIGut0.js} +1 -1
  355. package/components/{scatter-plot-options.config-9zL4v24E.js → scatter-plot-options.config-BplrME7w.js} +1 -1
  356. package/components/{scatter-plot-positioning.config-qpwrugRe.js → scatter-plot-positioning.config-DGoMnNZy.js} +1 -1
  357. package/components/{scatter-plot-positioning.config-Duao2ftU.cjs → scatter-plot-positioning.config-o4c-wuRo.cjs} +1 -1
  358. package/components/{scatter-plot-slots.config-BMTdhTZG.js → scatter-plot-slots.config-B7wQVEEj.js} +1 -1
  359. package/components/{search-filter-options.config-B_qQjr68.js → search-filter-options.config-yAz6IIto.js} +1 -1
  360. package/components/{search-filter-slots.config-qCILSYzs.js → search-filter-slots.config-D8-V0BT5.js} +1 -1
  361. package/components/{set-locale-B-GvqA1H.cjs → set-locale-Xh_1AFbC.cjs} +1 -1
  362. package/components/{set-locale-CgCeLPlb.js → set-locale-ydAPif-7.js} +4 -4
  363. package/components/{slicer-filter-options.config-DK62SCMp.js → slicer-filter-options.config-BtGkT2hI.js} +1 -1
  364. package/components/{slicer-filter-positioning.config-DxhC39ak.cjs → slicer-filter-positioning.config-BqpIENEm.cjs} +1 -1
  365. package/components/{slicer-filter-positioning.config-93hC7jID.js → slicer-filter-positioning.config-D_didkcw.js} +1 -1
  366. package/components/{slicer-filter-slots.config-C9_NdJm4.js → slicer-filter-slots.config-DR0Wg_Zr.js} +1 -1
  367. package/components/{slider-filter-options.config-CP5bXdih.js → slider-filter-options.config-D_yZ_nFz.js} +1 -1
  368. package/components/{slider-filter-slots.config-15eAAGVn.js → slider-filter-slots.config-BUHw-32u.js} +1 -1
  369. package/components/slot-menu/index.cjs +1 -1
  370. package/components/slot-menu/index.js +1 -1
  371. package/components/{slot-menu-DHJtAZ5_.js → slot-menu-CUdbaW3K.js} +35 -36
  372. package/components/slot-menu-DRx1Ffla.cjs +71 -0
  373. package/components/slot-menu-list/index.cjs +1 -1
  374. package/components/slot-menu-list/index.js +1 -1
  375. package/components/{slot-menu-list-QltpaoWh.js → slot-menu-list-DVSxamVa.js} +3 -3
  376. package/components/{slot-menu-list-CeWcE4KK.cjs → slot-menu-list-DaHzz_ve.cjs} +1 -1
  377. package/components/slots-config-GlSNH7Gr.js +76 -0
  378. package/components/{speedometer-chart-options.config-dsUupCqm.js → speedometer-chart-options.config-BL7evgzP.js} +1 -1
  379. package/components/{speedometer-chart-positioning.config-CZbwyYsk.js → speedometer-chart-positioning.config-CmxsV4-x.js} +1 -1
  380. package/components/{speedometer-chart-positioning.config-DtRG3-e5.cjs → speedometer-chart-positioning.config-eVUWDhkL.cjs} +1 -1
  381. package/components/{speedometer-chart-slots.config-DfTw7JTF.js → speedometer-chart-slots.config-2Y_x52Gy.js} +1 -1
  382. package/components/{spike-map-options.config-Dh4Ky5ZP.js → spike-map-options.config-DjoTrAsC.js} +1 -1
  383. package/components/{spike-map-positioning.config-CevjyQ5F.cjs → spike-map-positioning.config-B38djRlf.cjs} +1 -1
  384. package/components/{spike-map-positioning.config-LBqSYD2n.js → spike-map-positioning.config-Bta7ar9e.js} +1 -1
  385. package/components/{spike-map-slots.config-i-c0F9QM.js → spike-map-slots.config-DJWMFPIR.js} +1 -1
  386. package/components/{strip-plot-options.config-Vw3GoLef.js → strip-plot-options.config-tDmVlu9U.js} +1 -1
  387. package/components/{strip-plot-positioning.config-cCdQxMM_.js → strip-plot-positioning.config-0vlAfmDB.js} +1 -1
  388. package/components/{strip-plot-positioning.config-DF5VxzvB.cjs → strip-plot-positioning.config-atH68L8u.cjs} +1 -1
  389. package/components/{strip-plot-slots.config-BuF7X3xN.js → strip-plot-slots.config-suFyIf5-.js} +1 -1
  390. package/components/{sunburst-chart-options.config-CXOrVmIe.js → sunburst-chart-options.config-Bjue_lQN.js} +1 -1
  391. package/components/{sunburst-chart-positioning.config-DmkZEexM.js → sunburst-chart-positioning.config-B2x6afBV.js} +1 -1
  392. package/components/{sunburst-chart-positioning.config-CERBvfoF.cjs → sunburst-chart-positioning.config-NFzFNuXB.cjs} +1 -1
  393. package/components/{sunburst-chart-slots.config-Cq-E6kyI.js → sunburst-chart-slots.config-BqVT-h0Z.js} +1 -1
  394. package/components/{symbol-map-options.config-Dultd0tF.js → symbol-map-options.config-Dyeya5Z2.js} +1 -1
  395. package/components/{symbol-map-positioning.config-BwG_G6He.js → symbol-map-positioning.config-B6v9PFTk.js} +1 -1
  396. package/components/{symbol-map-positioning.config-DhYxG8RC.cjs → symbol-map-positioning.config-DGpmp_N1.cjs} +1 -1
  397. package/components/{symbol-map-slots.config-BfdBHkzN.js → symbol-map-slots.config-Rhpher5o.js} +1 -1
  398. package/components/{text-options.config-BUiRyi3L.js → text-options.config-CXhvzzPF.js} +1 -1
  399. package/components/{text-slots.config-CM_ZaW3p.js → text-slots.config-Dzj4-x2G.js} +1 -1
  400. package/components/{treemap-chart-options.config-6l3HzikF.js → treemap-chart-options.config-BzOCEWog.js} +1 -1
  401. package/components/{treemap-chart-positioning.config-arjPT6b_.js → treemap-chart-positioning.config-Bf2VNVRQ.js} +1 -1
  402. package/components/{treemap-chart-positioning.config-BwrrXs4a.cjs → treemap-chart-positioning.config-NMULB8UM.cjs} +1 -1
  403. package/components/{treemap-chart-slots.config-CHkGtIOa.js → treemap-chart-slots.config-DRcafVU-.js} +1 -1
  404. package/components/utils/base.cjs +1 -1
  405. package/components/utils/base.js +2 -2
  406. package/components/utils/store.js +1 -1
  407. package/components/utils-SzKvwZ9-.cjs +20 -0
  408. package/components/{utils-B_rE5b7a.js → utils-_8LPCz9-.js} +47 -47
  409. package/components/utils.cjs +1 -1
  410. package/components/utils.js +9 -9
  411. package/components/{venn-diagram-options.config-Wi0dQsAu.js → venn-diagram-options.config-BMlduwIp.js} +1 -1
  412. package/components/{venn-diagram-positioning.config-GGLCcrqp.cjs → venn-diagram-positioning.config-D4cODPGV.cjs} +1 -1
  413. package/components/{venn-diagram-positioning.config-DSh3Ns9L.js → venn-diagram-positioning.config-DgOl0Vh-.js} +1 -1
  414. package/components/{venn-diagram-slots.config-DY04aeYK.js → venn-diagram-slots.config-CMDndPVi.js} +1 -1
  415. package/components/{video-options.config-B6pQUPB7.js → video-options.config-DdfSTJEJ.js} +1 -1
  416. package/components/{video-slots.config-C-kXGzo3.js → video-slots.config-Utnn0DBW.js} +1 -1
  417. package/components/viz-item-menu/index.cjs +1 -1
  418. package/components/viz-item-menu/index.js +1 -1
  419. package/components/{viz-item-menu-hLdU-02Q.cjs → viz-item-menu-CNHv6qDa.cjs} +1 -1
  420. package/components/{viz-item-menu-B7yRaSAU.js → viz-item-menu-L_j0L08h.js} +1 -1
  421. package/components/{wordcloud-chart-options.config-CpMtpG7q.js → wordcloud-chart-options.config-y9Z5I_ZN.js} +1 -1
  422. package/components/{wordcloud-chart-positioning.config-B8ZzwIdd.js → wordcloud-chart-positioning.config-BP6iqy-N.js} +1 -1
  423. package/components/{wordcloud-chart-positioning.config-Cxyhs6gk.cjs → wordcloud-chart-positioning.config-DZEkWvb0.cjs} +1 -1
  424. package/components/{wordcloud-chart-slots.config-Cc5F92Tv.js → wordcloud-chart-slots.config-CvabtgbP.js} +1 -1
  425. package/custom-elements.json +402 -3
  426. package/package.json +2 -2
  427. package/react/components/filters.component.ts +1 -1
  428. package/react/esm/components/filters.component.d.ts +1 -1
  429. package/react/esm/components/filters.component.js +1 -1
  430. package/react/package.json +2 -2
  431. package/utils/create-lazy-loader.d.ts +5 -0
  432. package/utils/filters/filter-text.d.ts +64 -0
  433. package/utils/filters/index.d.ts +1 -0
  434. package/utils/filters/presentation.d.ts +4 -0
  435. package/utils/filters/tests/filter-text.test.d.ts +1 -0
  436. package/utils/formatter/localized-template.d.ts +4 -0
  437. package/utils/formatter/tests/localized-template.test.d.ts +1 -0
  438. package/utils/slot-state/slot-store.d.ts +4 -0
  439. package/utils/slot-state/tests/slot-store.test.d.ts +1 -0
  440. package/utils/tests/create-lazy-loader.test.d.ts +1 -0
  441. package/components/convert-data-field-to-slot-content-DLzkk6dT.cjs +0 -20
  442. package/components/data-field-panel-DFA97_8o.cjs +0 -87
  443. package/components/data-fields-select-BtXNFZy9.cjs +0 -41
  444. package/components/de-CdZnQbKI.cjs +0 -20
  445. package/components/es-7RD7O4q3.cjs +0 -20
  446. package/components/filter-item-C58zIpPh.js +0 -316
  447. package/components/filter-item-obyHcs9f.cjs +0 -71
  448. package/components/filter-value-picker-hierarchy-BTf992WX.cjs +0 -48
  449. package/components/filter-value-picker-numeric-DJi0Utk_.cjs +0 -48
  450. package/components/filters-BddhKRZC.js +0 -745
  451. package/components/filters-Dx6g0xl9.cjs +0 -153
  452. package/components/formula-display-store-DER7C0GG.cjs +0 -20
  453. package/components/formula-input-base-CvD0b2cO.cjs +0 -49
  454. package/components/fr-CGw2IwXh.cjs +0 -20
  455. package/components/interactive-viz-item-DTr14-9-.cjs +0 -247
  456. package/components/item-slot-drop-f8jm-34W.cjs +0 -91
  457. package/components/nl-BnzS_ZtB.cjs +0 -20
  458. package/components/slot-menu-CPxyyKSe.cjs +0 -71
  459. package/components/slots-config-D3ivNWtC.js +0 -76
  460. package/components/utils-BwJNkc-z.cjs +0 -20
@@ -1,316 +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
- import { t as e } from "./decorate-DyMgX_Uh.js";
21
- import { t } from "./localized-mixin-DBUkUh0o.js";
22
- import { t as n } from "./data-broker-B0uUO5er.js";
23
- import { c as r } from "./type-check-CGREdneG.js";
24
- import { n as i } from "./filter-expression-picker-DurfSgRY.js";
25
- import "./data-fields-select-BYhAzdA6.js";
26
- import { a, o, r as s } from "./filter-parameter-picker-BWNBc8BI.js";
27
- import "./filter-value-picker-kzIrnmdp.js";
28
- import { html as c, unsafeCSS as l } from "lit";
29
- import { property as u, state as d } from "lit/decorators.js";
30
- import { localized as f, msg as p } from "@lit/localize";
31
- import { ElementSizes as m, LuzmoElement as h, SizedMixin as g } from "@luzmo/lucero/utils";
32
- import { ifDefined as _ } from "lit/directives/if-defined.js";
33
- //#region src/components/filter-item/filter-item.module.scss?inline
34
- var v = ":host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{flex:0 1 var(--luzmo-filter-item-field-width,var(--filter-item-field-width));min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));max-width:100%}luzmo-filter-expression-picker{flex:0 0 var(--luzmo-filter-item-expression-width,var(--filter-item-expression-width));max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-wrap:nowrap;flex:var(--luzmo-filter-item-value-grow,var(--filter-item-value-grow)) 1 var(--luzmo-filter-item-value-width,var(--filter-item-value-width));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));max-width:100%;display:flex}luzmo-filter-value-picker{flex:auto;min-width:0;max-width:100%}luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-width:auto;--filter-item-expression-width:auto;--filter-item-value-width:auto;--filter-item-value-grow:0;--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}", y = class extends t(g(h, { validSizes: Object.values(m) })) {
35
- constructor(...e) {
36
- super(...e), this.apiUrl = "https://api.luzmo.com", this.contentLanguage = "en", this.filter = {}, this.allowParameters = !1, this.parameters = [], this._loading = !1, this._datasetsDataFields = [];
37
- }
38
- static get styles() {
39
- return [l(v)];
40
- }
41
- connectedCallback() {
42
- super.connectedCallback();
43
- let e = {};
44
- this.apiUrl && (e.apiUrl = this.apiUrl), this.cacheTime && (e.staleTime = this.cacheTime, e.gcTime = this.cacheTime * 2), e.authKey = this.authKey || "", e.authToken = this.authToken || "", n.configure(e);
45
- }
46
- _clearTypeState() {
47
- this._type = void 0, this._subType = void 0, this._isFormula = void 0;
48
- }
49
- async _fetchDatasetDataFields() {
50
- if (!this.datasetIds || this.datasetIds.length === 0) {
51
- this._error = "Missing dataset ids to fetch columns & formulas", this._datasetsDataFields = [], this._loading = !1;
52
- return;
53
- }
54
- let { valid: e, invalid: t } = r(this.datasetIds);
55
- if (t.length > 0 && console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(", ")}. These will be skipped.`), e.length === 0) {
56
- this._error = "Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.", this._datasetsDataFields = [], this._loading = !1;
57
- return;
58
- }
59
- this._loading = !0, this._error = null;
60
- try {
61
- let t = await n.fetchDatasetsWithColumnsAndFormulas(e);
62
- for (let e of t) for (let t of [...e.columns, ...e.formulas]) t.datasetId = e.id;
63
- this._datasetsDataFields = t;
64
- } catch (e) {
65
- console.error("Error fetching dataset columns & formulas:", e), this._error = e instanceof Error ? e.message : "Unknown error", this._datasetsDataFields = [];
66
- } finally {
67
- this._loading = !1;
68
- }
69
- }
70
- willUpdate(e) {
71
- super.willUpdate(e);
72
- let t = e.has("filter"), r = e.has("datasetIds"), i = e.has("authKey"), c = e.has("authToken"), l = e.has("_datasetsDataFields"), u = e.has("parameters");
73
- if (t || r || l && (this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId) && this.filter?.parameters?.[0]?.datasetId) if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) this._clearTypeState();
74
- else {
75
- let e = this._datasetsDataFields.find((e) => e.id === this.filter.parameters?.[0]?.datasetId);
76
- if (e) {
77
- let t = !1;
78
- for (let n of [...e.columns || [], ...e?.formulas || []]) if (n.id === this.filter.parameters?.[0]?.columnId || n.id === this.filter.parameters?.[0]?.formulaId) {
79
- this._type = n.type, this._subType = n.subtype, this._isFormula = n.id === this.filter.parameters?.[0]?.formulaId, t = !0;
80
- break;
81
- }
82
- t || this._clearTypeState();
83
- } else this._clearTypeState();
84
- }
85
- if (i || c) {
86
- let e = {
87
- authKey: this.authKey || "",
88
- authToken: this.authToken || ""
89
- };
90
- n.configure(e);
91
- }
92
- (r || i || c) && this._fetchDatasetDataFields();
93
- let d = this.filter?.parameters?.[1], f = e.get("filter"), p = !!f && f.expression !== this.filter?.expression;
94
- if (this.allowParameters && this._type && (u || e.has("_type") || p) && o(d)) {
95
- let t = this.parameters.find((e) => e.parameter === d.parameter), n = a(this._type, this.filter?.expression), r = u || e.has("_type");
96
- if (p && !n.includes(d.type) || r && (!t || !n.includes(t.type))) {
97
- let e = structuredClone(this.filter), t = s(this._type, e.expression);
98
- e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
99
- } else if (r && t && JSON.stringify(t) !== JSON.stringify(d)) {
100
- let e = structuredClone(this.filter);
101
- e.parameters[1] = structuredClone(t), this.filter = e, this._sendChangeEvent();
102
- }
103
- }
104
- }
105
- _sendChangeEvent() {
106
- this.dispatchEvent(new CustomEvent("luzmo-filter-changed", {
107
- bubbles: !0,
108
- composed: !0,
109
- cancelable: !0,
110
- detail: { filter: this.filter }
111
- }));
112
- }
113
- setFilterDataField(e) {
114
- if (this._cannotReferenceColumn()) return;
115
- let t = e.detail?.dataFields?.[0], n = this._type, r = this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId, a = !!this.filter?.parameters?.[0]?.formulaId, c = t?.columnId || t?.formulaId, l = o(this.filter?.parameters?.[1]);
116
- this._type = t?.type, this._subType = t?.subtype, this._isFormula = !!t?.formulaId;
117
- let u = i(this._type, this._subType, this._isFormula);
118
- this.filter = structuredClone(this.filter ?? {}), u?.includes(this.filter?.expression) || (this.filter.expression = u?.[0]?.expression), this.filter.parameters = this.filter?.parameters ?? [], this.filter.parameters[0] = { datasetId: t?.datasetId }, this._isFormula ? this.filter.parameters[0].formulaId = t?.formulaId : this.filter.parameters[0].columnId = t?.columnId;
119
- let d = this.filter.properties ?? {};
120
- if (this._isFormula ? a && d.type !== void 0 || (this.filter.properties = {
121
- ...d,
122
- type: "having"
123
- }) : (d.type === void 0 || a && d.type === "having") && (this.filter.properties = {
124
- ...d,
125
- type: "where"
126
- }), t?.lowestLevel, n !== this._type) this._type === "hierarchy" ? (this.filter.expression = "? like ?", this.filter.parameters[1] = "") : this._type === "numeric" ? (this.filter.expression = "? > ?", this.filter.parameters[1] = 0) : this._type === "datetime" ? (this.filter.expression = "? < ?", this.filter.parameters[1] = (/* @__PURE__ */ new Date()).toISOString()) : (this.filter.expression = "? is not null", this.filter.parameters = [this.filter.parameters[0]]);
127
- else if (l && r !== c) {
128
- let e = s(this._type, this.filter.expression);
129
- this.filter.parameters = e === void 0 ? [this.filter.parameters[0]] : [this.filter.parameters[0], e];
130
- } else r !== c && this._type === "hierarchy" && (this.filter.parameters[1] = ["? in ?", "? not in ?"].includes(this.filter.expression) ? [] : "");
131
- this._sendChangeEvent();
132
- }
133
- setFilterExpression(e) {
134
- if (this._cannotReferenceColumn()) return;
135
- let t = structuredClone(this.filter ?? {}), n = t.expression;
136
- if (t.expression = e.detail?.expression, n !== t.expression) {
137
- if (o(t.parameters?.[1])) {
138
- let e = t.parameters[1];
139
- if (!a(this._type, t.expression).some((t) => t === e.type)) {
140
- let e = s(this._type, t.expression);
141
- t.parameters = e === void 0 ? [t.parameters[0]] : [t.parameters[0], e];
142
- }
143
- } else if (["? is null", "? is not null"].includes(t.expression)) t.parameters = [t.parameters[0]];
144
- else if (this._type === "datetime") if ([
145
- "YTD",
146
- "QTD",
147
- "MTD",
148
- "WTD"
149
- ].includes(t.expression)) {
150
- let n = e?.detail?.unit;
151
- n && (t.parameters[1] = { unit: typeof n == "number" ? n : 1 });
152
- } else if ([
153
- "last_completed",
154
- "next_full",
155
- "to_date"
156
- ].includes(t.expression)) {
157
- let e = t?.parameters?.[1]?.unit;
158
- t.parameters[1] = { unit: typeof e == "number" ? e : 1 };
159
- } else if ([
160
- "last_now",
161
- "last_available",
162
- "next_now",
163
- "more_than_ago",
164
- "or_more_ago"
165
- ].includes(t.expression)) {
166
- let e = t?.parameters?.[1]?.unit, n = t?.parameters?.[1]?.quantity;
167
- t.parameters[1] = {
168
- unit: typeof e == "number" ? e : 1,
169
- quantity: typeof n == "number" ? n : 1
170
- };
171
- } else t.parameters[1] = (/* @__PURE__ */ new Date()).toISOString();
172
- else if (this._type === "hierarchy") if (["? in ?", "? not in ?"].includes(t.expression)) ["? = ?", "? != ?"].includes(n) ? t.parameters[1] = t.parameters[1] ? [t.parameters[1]] : [] : t.parameters[1] = [];
173
- else if (["? = ?", "? != ?"].includes(t.expression)) if (["? in ?", "? not in ?"].includes(n)) t.parameters[1] = Array.isArray(t.parameters[1]) && t.parameters[1][0] != null ? t.parameters[1][0] : "";
174
- else {
175
- let e = t.parameters[1];
176
- t.parameters[1] = typeof e == "string" || typeof e == "number" ? e : "";
177
- }
178
- else t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? "" : t.parameters[1] ?? "";
179
- else this._type === "numeric" && (["? in ?", "? not in ?"].includes(t.expression) && ["? in ?", "? not in ?"].includes(n) ? t.parameters[1] = t.parameters[1] ?? [] : ["? in ?", "? not in ?"].includes(t.expression) ? t.parameters[1] = [] : t.parameters[1] = ["? in ?", "? not in ?"].includes(n) ? 0 : t.parameters[1] ?? 0);
180
- this.filter = t, this._sendChangeEvent();
181
- }
182
- }
183
- setFilterValue(e) {
184
- this._cannotReferenceColumn() || (this.filter.parameters[1] = e?.detail?.value, this._sendChangeEvent());
185
- }
186
- handleFilterParameterSelected(e) {
187
- let t = e.detail?.parameter;
188
- if (!t) return;
189
- let n = structuredClone(this.filter ?? {});
190
- n.parameters = n.parameters ?? [], n.parameters[1] = structuredClone(t), this.filter = n, this._sendChangeEvent();
191
- }
192
- handleFilterParameterRemoved() {
193
- if (!o(this.filter?.parameters?.[1])) return;
194
- let e = structuredClone(this.filter), t = s(this._type, e.expression);
195
- e.parameters = t === void 0 ? [e.parameters[0]] : [e.parameters[0], t], this.filter = e, this._sendChangeEvent();
196
- }
197
- _cannotReferenceColumn() {
198
- if (!(this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId)) return !1;
199
- if (!this.datasetIds || this.datasetIds.length === 0 || this._datasetsDataFields.length === 0) return !0;
200
- let e = this.filter?.parameters?.[0]?.datasetId, t = this._datasetsDataFields.find((t) => t.id === e);
201
- return !t || ![...t.columns || [], ...t.formulas || []].find((e) => e.id === this.filter?.parameters?.[0]?.columnId || e.id === this.filter?.parameters?.[0]?.formulaId);
202
- }
203
- renderDataFieldPicker() {
204
- let e = this._cannotReferenceColumn(), t = e ? p("Unknown") : void 0, n = e || this._loading ? "" : this.filter?.parameters?.[0]?.columnId || this.filter?.parameters?.[0]?.formulaId;
205
- return c`<luzmo-data-fields-select
206
- .language=${this.language}
207
- .contentLanguage=${this.contentLanguage}
208
- .size=${this.size}
209
- .value=${n ? [n] : []}
210
- selects="single"
211
- levels="off"
212
- .datasetsDataFields=${this._datasetsDataFields}
213
- placeholder=${_(t)}
214
- .invalid=${!!this._error || e}
215
- ?disabled=${e}
216
- .retrieving=${this._loading}
217
- .pending=${this._loading}
218
- @luzmo-data-fields-selected=${this.setFilterDataField}
219
- ></luzmo-data-fields-select>`;
220
- }
221
- renderExpressionPicker() {
222
- let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
223
- return c`<luzmo-filter-expression-picker
224
- .language=${this.language}
225
- .size=${this.size}
226
- .type=${this._type}
227
- .subtype=${this._subType}
228
- .filter=${this.filter}
229
- ?isFormula=${this._isFormula}
230
- ?disabled=${n}
231
- @luzmo-expression-selected=${this.setFilterExpression}
232
- ></luzmo-filter-expression-picker>`;
233
- }
234
- renderValuePicker() {
235
- let e = this._cannotReferenceColumn(), t = this.filter?.parameters?.[0], n = !t?.datasetId || !t?.columnId && !t?.formulaId || e;
236
- return c`<luzmo-filter-value-picker
237
- .apiUrl=${this.apiUrl}
238
- .authKey=${this.authKey}
239
- .authToken=${this.authToken}
240
- .cacheTime=${this.cacheTime}
241
- .language=${this.language}
242
- .contentLanguage=${this.contentLanguage}
243
- .timeZone=${this.timeZone}
244
- .size=${this.size}
245
- .filter=${this.filter}
246
- .valueType=${this._type}
247
- ?disabled=${n}
248
- @luzmo-filter-value-changed=${this.setFilterValue}
249
- ></luzmo-filter-value-picker>`;
250
- }
251
- renderParameterPicker() {
252
- if (!this.allowParameters) return null;
253
- let e = a(this._type, this.filter?.expression);
254
- if (e.length === 0) return null;
255
- let t = o(this.filter?.parameters?.[1]) ? this.filter.parameters[1] : void 0;
256
- return c`<luzmo-filter-parameter-picker
257
- .language=${this.language}
258
- .size=${this.size}
259
- .parameters=${this.parameters}
260
- .allowedTypes=${e}
261
- .selectedParameter=${t}
262
- .currentValue=${t ? t.value : this.filter?.parameters?.[1]}
263
- ?disabled=${this._cannotReferenceColumn()}
264
- @luzmo-parameter-selected=${this.handleFilterParameterSelected}
265
- @luzmo-parameter-removed=${this.handleFilterParameterRemoved}
266
- ></luzmo-filter-parameter-picker>`;
267
- }
268
- render() {
269
- let e = o(this.filter?.parameters?.[1]);
270
- return c`<div role="group" aria-label=${p("Filter condition", { desc: "Accessible label for filter item group" })}>
271
- ${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
272
- <div class="value-controls">
273
- ${e ? null : this.renderValuePicker()} ${this.renderParameterPicker()}
274
- </div>
275
- </div>`;
276
- }
277
- };
278
- //#endregion
279
- //#region src/components/filter-item/index.ts
280
- e([u({
281
- type: String,
282
- attribute: "api-url",
283
- reflect: !0
284
- })], y.prototype, "apiUrl", void 0), e([u({
285
- type: String,
286
- attribute: "auth-key",
287
- reflect: !0
288
- })], y.prototype, "authKey", void 0), e([u({
289
- type: String,
290
- attribute: "auth-token",
291
- reflect: !0
292
- })], y.prototype, "authToken", void 0), e([u({
293
- type: Number,
294
- attribute: "cache-time",
295
- reflect: !0
296
- })], y.prototype, "cacheTime", void 0), e([u({
297
- type: String,
298
- reflect: !0
299
- })], y.prototype, "contentLanguage", void 0), e([u({
300
- type: String,
301
- attribute: "time-zone",
302
- reflect: !0
303
- })], y.prototype, "timeZone", void 0), e([u({
304
- type: Array,
305
- attribute: "dataset-ids",
306
- reflect: !0
307
- })], y.prototype, "datasetIds", void 0), e([u({
308
- type: Object,
309
- reflect: !1
310
- })], y.prototype, "filter", void 0), e([u({
311
- type: Boolean,
312
- attribute: "allow-parameters",
313
- reflect: !0
314
- })], y.prototype, "allowParameters", void 0), e([u({ attribute: !1 })], y.prototype, "parameters", void 0), e([d()], y.prototype, "_type", void 0), e([d()], y.prototype, "_subType", void 0), e([d()], y.prototype, "_isFormula", void 0), e([d()], y.prototype, "_error", void 0), e([d()], y.prototype, "_loading", void 0), e([d()], y.prototype, "_datasetsDataFields", void 0), y = e([f()], y), customElements.get("luzmo-filter-item") || customElements.define("luzmo-filter-item", y);
315
- //#endregion
316
- export { y as t };
@@ -1,71 +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-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./type-check-BehV9ZL1.cjs"),i=require("./filter-expression-picker-BOLyxG2r.cjs");require("./data-fields-select-BtXNFZy9.cjs");const a=require("./filter-parameter-picker-DSYaE9Sv.cjs");require("./filter-value-picker-DYl_1pis.cjs");let o=require("lit"),s=require("lit/decorators.js"),c=require("@lit/localize"),l=require("@luzmo/lucero/utils"),u=require("lit/directives/if-defined.js");var d=`:host{box-sizing:border-box;flex-direction:row;min-width:0;max-width:100%;display:flex}[role=group]{box-sizing:border-box;align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-flow:wrap;width:100%;min-width:0;max-width:100%;display:flex}luzmo-data-fields-select{flex:0 1 var(--luzmo-filter-item-field-width,var(--filter-item-field-width));min-width:min(100%, var(--luzmo-filter-item-field-min-width,var(--filter-item-field-min-width)));max-width:100%}luzmo-filter-expression-picker{flex:0 0 var(--luzmo-filter-item-expression-width,var(--filter-item-expression-width));max-width:100%}.value-controls{align-items:center;gap:var(--luzmo-filter-item-gap,var(--filter-item-gap));flex-wrap:nowrap;flex:var(--luzmo-filter-item-value-grow,var(--filter-item-value-grow)) 1 var(--luzmo-filter-item-value-width,var(--filter-item-value-width));min-width:min(100%, var(--luzmo-filter-item-value-min-width,var(--filter-item-value-min-width)));max-width:100%;display:flex}luzmo-filter-value-picker{flex:auto;min-width:0;max-width:100%}luzmo-filter-parameter-picker{flex:0 auto;min-width:0;max-width:100%}:host{--filter-item-gap:var(--luzmo-spacing-3);--filter-item-field-width:auto;--filter-item-expression-width:auto;--filter-item-value-width:auto;--filter-item-value-grow:0;--filter-item-field-min-width:4.5rem;--filter-item-value-min-width:4.5rem}:host([size=s]){--filter-item-gap:var(--luzmo-spacing-2)}:host([size=m]){--filter-item-gap:var(--luzmo-spacing-3)}:host([size=l]){--filter-item-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1))}:host([size=xl]){--filter-item-gap:var(--luzmo-spacing-4)}`,f=class extends t.t((0,l.SizedMixin)(l.LuzmoElement,{validSizes:Object.values(l.ElementSizes)})){constructor(...e){super(...e),this.apiUrl=`https://api.luzmo.com`,this.contentLanguage=`en`,this.filter={},this.allowParameters=!1,this.parameters=[],this._loading=!1,this._datasetsDataFields=[]}static get styles(){return[(0,o.unsafeCSS)(d)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),e.authKey=this.authKey||``,e.authToken=this.authToken||``,n.t.configure(e)}_clearTypeState(){this._type=void 0,this._subType=void 0,this._isFormula=void 0}async _fetchDatasetDataFields(){if(!this.datasetIds||this.datasetIds.length===0){this._error=`Missing dataset ids to fetch columns & formulas`,this._datasetsDataFields=[],this._loading=!1;return}let{valid:e,invalid:t}=r.c(this.datasetIds);if(t.length>0&&console.warn(`[LuzmoFilterItem] Invalid dataset IDs provided (not valid UUIDs): ${t.join(`, `)}. These will be skipped.`),e.length===0){this._error=`Invalid dataset IDs provided. Dataset IDs must be valid UUIDs.`,this._datasetsDataFields=[],this._loading=!1;return}this._loading=!0,this._error=null;try{let t=await n.t.fetchDatasetsWithColumnsAndFormulas(e);for(let e of t)for(let t of[...e.columns,...e.formulas])t.datasetId=e.id;this._datasetsDataFields=t}catch(e){console.error(`Error fetching dataset columns & formulas:`,e),this._error=e instanceof Error?e.message:`Unknown error`,this._datasetsDataFields=[]}finally{this._loading=!1}}willUpdate(e){super.willUpdate(e);let t=e.has(`filter`),r=e.has(`datasetIds`),i=e.has(`authKey`),o=e.has(`authToken`),s=e.has(`_datasetsDataFields`),c=e.has(`parameters`);if(t||r||s&&(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)&&this.filter?.parameters?.[0]?.datasetId)if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)this._clearTypeState();else{let e=this._datasetsDataFields.find(e=>e.id===this.filter.parameters?.[0]?.datasetId);if(e){let t=!1;for(let n of[...e.columns||[],...e?.formulas||[]])if(n.id===this.filter.parameters?.[0]?.columnId||n.id===this.filter.parameters?.[0]?.formulaId){this._type=n.type,this._subType=n.subtype,this._isFormula=n.id===this.filter.parameters?.[0]?.formulaId,t=!0;break}t||this._clearTypeState()}else this._clearTypeState()}if(i||o){let e={authKey:this.authKey||``,authToken:this.authToken||``};n.t.configure(e)}(r||i||o)&&this._fetchDatasetDataFields();let l=this.filter?.parameters?.[1],u=e.get(`filter`),d=!!u&&u.expression!==this.filter?.expression;if(this.allowParameters&&this._type&&(c||e.has(`_type`)||d)&&a.o(l)){let t=this.parameters.find(e=>e.parameter===l.parameter),n=a.a(this._type,this.filter?.expression),r=c||e.has(`_type`);if(d&&!n.includes(l.type)||r&&(!t||!n.includes(t.type))){let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}else if(r&&t&&JSON.stringify(t)!==JSON.stringify(l)){let e=structuredClone(this.filter);e.parameters[1]=structuredClone(t),this.filter=e,this._sendChangeEvent()}}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{filter:this.filter}}))}setFilterDataField(e){if(this._cannotReferenceColumn())return;let t=e.detail?.dataFields?.[0],n=this._type,r=this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId,o=!!this.filter?.parameters?.[0]?.formulaId,s=t?.columnId||t?.formulaId,c=a.o(this.filter?.parameters?.[1]);this._type=t?.type,this._subType=t?.subtype,this._isFormula=!!t?.formulaId;let l=i.n(this._type,this._subType,this._isFormula);this.filter=structuredClone(this.filter??{}),l?.includes(this.filter?.expression)||(this.filter.expression=l?.[0]?.expression),this.filter.parameters=this.filter?.parameters??[],this.filter.parameters[0]={datasetId:t?.datasetId},this._isFormula?this.filter.parameters[0].formulaId=t?.formulaId:this.filter.parameters[0].columnId=t?.columnId;let u=this.filter.properties??{};if(this._isFormula?o&&u.type!==void 0||(this.filter.properties={...u,type:`having`}):(u.type===void 0||o&&u.type===`having`)&&(this.filter.properties={...u,type:`where`}),t?.lowestLevel,n!==this._type)this._type===`hierarchy`?(this.filter.expression=`? like ?`,this.filter.parameters[1]=``):this._type===`numeric`?(this.filter.expression=`? > ?`,this.filter.parameters[1]=0):this._type===`datetime`?(this.filter.expression=`? < ?`,this.filter.parameters[1]=new Date().toISOString()):(this.filter.expression=`? is not null`,this.filter.parameters=[this.filter.parameters[0]]);else if(c&&r!==s){let e=a.r(this._type,this.filter.expression);this.filter.parameters=e===void 0?[this.filter.parameters[0]]:[this.filter.parameters[0],e]}else r!==s&&this._type===`hierarchy`&&(this.filter.parameters[1]=[`? in ?`,`? not in ?`].includes(this.filter.expression)?[]:``);this._sendChangeEvent()}setFilterExpression(e){if(this._cannotReferenceColumn())return;let t=structuredClone(this.filter??{}),n=t.expression;if(t.expression=e.detail?.expression,n!==t.expression){if(a.o(t.parameters?.[1])){let e=t.parameters[1];if(!a.a(this._type,t.expression).some(t=>t===e.type)){let e=a.r(this._type,t.expression);t.parameters=e===void 0?[t.parameters[0]]:[t.parameters[0],e]}}else if([`? is null`,`? is not null`].includes(t.expression))t.parameters=[t.parameters[0]];else if(this._type===`datetime`)if([`YTD`,`QTD`,`MTD`,`WTD`].includes(t.expression)){let n=e?.detail?.unit;n&&(t.parameters[1]={unit:typeof n==`number`?n:1})}else if([`last_completed`,`next_full`,`to_date`].includes(t.expression)){let e=t?.parameters?.[1]?.unit;t.parameters[1]={unit:typeof e==`number`?e:1}}else if([`last_now`,`last_available`,`next_now`,`more_than_ago`,`or_more_ago`].includes(t.expression)){let e=t?.parameters?.[1]?.unit,n=t?.parameters?.[1]?.quantity;t.parameters[1]={unit:typeof e==`number`?e:1,quantity:typeof n==`number`?n:1}}else t.parameters[1]=new Date().toISOString();else if(this._type===`hierarchy`)if([`? in ?`,`? not in ?`].includes(t.expression))[`? = ?`,`? != ?`].includes(n)?t.parameters[1]=t.parameters[1]?[t.parameters[1]]:[]:t.parameters[1]=[];else if([`? = ?`,`? != ?`].includes(t.expression))if([`? in ?`,`? not in ?`].includes(n))t.parameters[1]=Array.isArray(t.parameters[1])&&t.parameters[1][0]!=null?t.parameters[1][0]:``;else{let e=t.parameters[1];t.parameters[1]=typeof e==`string`||typeof e==`number`?e:``}else t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?``:t.parameters[1]??``;else this._type===`numeric`&&([`? in ?`,`? not in ?`].includes(t.expression)&&[`? in ?`,`? not in ?`].includes(n)?t.parameters[1]=t.parameters[1]??[]:[`? in ?`,`? not in ?`].includes(t.expression)?t.parameters[1]=[]:t.parameters[1]=[`? in ?`,`? not in ?`].includes(n)?0:t.parameters[1]??0);this.filter=t,this._sendChangeEvent()}}setFilterValue(e){this._cannotReferenceColumn()||(this.filter.parameters[1]=e?.detail?.value,this._sendChangeEvent())}handleFilterParameterSelected(e){let t=e.detail?.parameter;if(!t)return;let n=structuredClone(this.filter??{});n.parameters=n.parameters??[],n.parameters[1]=structuredClone(t),this.filter=n,this._sendChangeEvent()}handleFilterParameterRemoved(){if(!a.o(this.filter?.parameters?.[1]))return;let e=structuredClone(this.filter),t=a.r(this._type,e.expression);e.parameters=t===void 0?[e.parameters[0]]:[e.parameters[0],t],this.filter=e,this._sendChangeEvent()}_cannotReferenceColumn(){if(!(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId))return!1;if(!this.datasetIds||this.datasetIds.length===0||this._datasetsDataFields.length===0)return!0;let e=this.filter?.parameters?.[0]?.datasetId,t=this._datasetsDataFields.find(t=>t.id===e);return!t||![...t.columns||[],...t.formulas||[]].find(e=>e.id===this.filter?.parameters?.[0]?.columnId||e.id===this.filter?.parameters?.[0]?.formulaId)}renderDataFieldPicker(){let e=this._cannotReferenceColumn(),t=e?(0,c.msg)(`Unknown`):void 0,n=e||this._loading?``:this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId;return o.html`<luzmo-data-fields-select
21
- .language=${this.language}
22
- .contentLanguage=${this.contentLanguage}
23
- .size=${this.size}
24
- .value=${n?[n]:[]}
25
- selects="single"
26
- levels="off"
27
- .datasetsDataFields=${this._datasetsDataFields}
28
- placeholder=${(0,u.ifDefined)(t)}
29
- .invalid=${!!this._error||e}
30
- ?disabled=${e}
31
- .retrieving=${this._loading}
32
- .pending=${this._loading}
33
- @luzmo-data-fields-selected=${this.setFilterDataField}
34
- ></luzmo-data-fields-select>`}renderExpressionPicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-expression-picker
35
- .language=${this.language}
36
- .size=${this.size}
37
- .type=${this._type}
38
- .subtype=${this._subType}
39
- .filter=${this.filter}
40
- ?isFormula=${this._isFormula}
41
- ?disabled=${n}
42
- @luzmo-expression-selected=${this.setFilterExpression}
43
- ></luzmo-filter-expression-picker>`}renderValuePicker(){let e=this._cannotReferenceColumn(),t=this.filter?.parameters?.[0],n=!t?.datasetId||!t?.columnId&&!t?.formulaId||e;return o.html`<luzmo-filter-value-picker
44
- .apiUrl=${this.apiUrl}
45
- .authKey=${this.authKey}
46
- .authToken=${this.authToken}
47
- .cacheTime=${this.cacheTime}
48
- .language=${this.language}
49
- .contentLanguage=${this.contentLanguage}
50
- .timeZone=${this.timeZone}
51
- .size=${this.size}
52
- .filter=${this.filter}
53
- .valueType=${this._type}
54
- ?disabled=${n}
55
- @luzmo-filter-value-changed=${this.setFilterValue}
56
- ></luzmo-filter-value-picker>`}renderParameterPicker(){if(!this.allowParameters)return null;let e=a.a(this._type,this.filter?.expression);if(e.length===0)return null;let t=a.o(this.filter?.parameters?.[1])?this.filter.parameters[1]:void 0;return o.html`<luzmo-filter-parameter-picker
57
- .language=${this.language}
58
- .size=${this.size}
59
- .parameters=${this.parameters}
60
- .allowedTypes=${e}
61
- .selectedParameter=${t}
62
- .currentValue=${t?t.value:this.filter?.parameters?.[1]}
63
- ?disabled=${this._cannotReferenceColumn()}
64
- @luzmo-parameter-selected=${this.handleFilterParameterSelected}
65
- @luzmo-parameter-removed=${this.handleFilterParameterRemoved}
66
- ></luzmo-filter-parameter-picker>`}render(){let e=a.o(this.filter?.parameters?.[1]);return o.html`<div role="group" aria-label=${(0,c.msg)(`Filter condition`,{desc:`Accessible label for filter item group`})}>
67
- ${this.renderDataFieldPicker()} ${this.renderExpressionPicker()}
68
- <div class="value-controls">
69
- ${e?null:this.renderValuePicker()} ${this.renderParameterPicker()}
70
- </div>
71
- </div>`}};e.t([(0,s.property)({type:String,attribute:`api-url`,reflect:!0})],f.prototype,`apiUrl`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-key`,reflect:!0})],f.prototype,`authKey`,void 0),e.t([(0,s.property)({type:String,attribute:`auth-token`,reflect:!0})],f.prototype,`authToken`,void 0),e.t([(0,s.property)({type:Number,attribute:`cache-time`,reflect:!0})],f.prototype,`cacheTime`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],f.prototype,`contentLanguage`,void 0),e.t([(0,s.property)({type:String,attribute:`time-zone`,reflect:!0})],f.prototype,`timeZone`,void 0),e.t([(0,s.property)({type:Array,attribute:`dataset-ids`,reflect:!0})],f.prototype,`datasetIds`,void 0),e.t([(0,s.property)({type:Object,reflect:!1})],f.prototype,`filter`,void 0),e.t([(0,s.property)({type:Boolean,attribute:`allow-parameters`,reflect:!0})],f.prototype,`allowParameters`,void 0),e.t([(0,s.property)({attribute:!1})],f.prototype,`parameters`,void 0),e.t([(0,s.state)()],f.prototype,`_type`,void 0),e.t([(0,s.state)()],f.prototype,`_subType`,void 0),e.t([(0,s.state)()],f.prototype,`_isFormula`,void 0),e.t([(0,s.state)()],f.prototype,`_error`,void 0),e.t([(0,s.state)()],f.prototype,`_loading`,void 0),e.t([(0,s.state)()],f.prototype,`_datasetsDataFields`,void 0),f=e.t([(0,c.localized)()],f),customElements.get(`luzmo-filter-item`)||customElements.define(`luzmo-filter-item`,f),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return f}});
@@ -1,48 +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-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./localize-D3i4Epy_.cjs");require("./utils-BwJNkc-z.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("@lit/localize");require("@luzmo/lucero/select");let s=require("@luzmo/lucero/utils");require("@luzmo/lucero/text-field");var c=`:host{flex-direction:row;flex-shrink:1;min-width:0;display:flex}luzmo-select,luzmo-text-field{min-width:var(--luzmo-filter-value-picker-hierarchy-control-min-width,var(--filter-value-picker-hierarchy-control-min-width));flex:auto;max-width:100%}.missing-value{color:var(--luzmo-filter-value-picker-hierarchy-missing-value-color,#767676)}:host{--filter-value-picker-hierarchy-control-min-width:0}`,l=5e3,u=class extends t.t((0,s.SizedMixin)(s.LuzmoElement,{validSizes:Object.values(s.ElementSizes)})){constructor(...e){super(...e),this.contentLanguage=`en`,this._hierarchyValues=[],this._retrieving=!1,this._search=``,this._error=null,this._pending=!1,this._allValuesRetrieved=!1,this._hierarchyRequestGeneration=0,this._runningQueries=[]}static get styles(){return[(0,i.unsafeCSS)(c)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),n.t.configure(e)}willUpdate(e){if(super.willUpdate(e),e.has(`filter`)&&this.filter){let t=e.get(`filter`),n=t?.expression,r=t?.parameters?.[0],i=this.filter?.parameters?.[0],a=(r?.columnId||r?.formulaId)!==(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)||r?.datasetId!==i?.datasetId;this.filter?.parameters?.[1]!==this._lastResolvedOutput&&(this._lastResolutionKey=void 0),a&&(this._hierarchyRequestGeneration++,this._pending=!1,this._retrieving=!1),a&&([`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(this.filter?.expression)||![`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(n))&&(this._hierarchyValues=[],this._allValuesRetrieved=!1),[`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(this.filter.expression)&&this._hierarchyValues.length===0&&this._restoreCachedFirstPage()}}updated(e){if(super.updated(e),!e.has(`filter`)||!this.filter)return;let t=e.get(`filter`)?.expression,n=[`? = ?`,`? != ?`].includes(this.filter.expression)&&t!==void 0&&![`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(t);n&&this._hierarchyValues.length>0?this._resolveSingleSelectValue():n&&!this._retrieving&&queueMicrotask(()=>{[`? = ?`,`? != ?`].includes(this.filter?.expression)&&this._hierarchyValues.length===0&&!this._retrieving&&this._fetchHierarchyValues(0,!0)})}_buildHierarchyQuery(e=0,t=this._search){let n=this.filter?.parameters?.[0];if(!n?.datasetId||!n.columnId&&!n.formulaId)return null;let r={column_id:n.columnId,formula_id:n.formulaId,dataset_id:n.datasetId},i={dimensions:[r],where:[],order:[{...r,order:`asc`}],limit:{by:l,offset:e}};return t&&i.where.push({expression:`? like ?`,parameters:[r,t]}),i}_getValues(e){return e&&Array.isArray(e.data)?e.data.map(e=>e[0]):[]}_applyHierarchyResult(e,t,n){let r=this._getValues(e);n||(this._allValuesRetrieved=r.length<l),this._hierarchyValues=t>0?[...this._hierarchyValues,...r]:r}_restoreCachedFirstPage(){let e=this._buildHierarchyQuery(0,``);if(!e)return!1;let t=n.t.getCachedData(e);return t?(this._applyHierarchyResult(t,0,``),this._retrieving=!1,this._error=null,!0):!1}_getMemberLabel(e){let t=r.t(e?.name,this.contentLanguage,{allowEmpty:!0});return typeof t==`string`?t:``}_findExactMember(e){return this._hierarchyValues.find(t=>String(t?.id)===e||this._getMemberLabel(t)===e)}_resolveSingleSelectValue(){if(![`? = ?`,`? != ?`].includes(this.filter?.expression)||this._hierarchyValues.length===0)return;let e=this.filter?.parameters?.[1];if(typeof e!=`string`&&typeof e!=`number`)return;let t=String(e),n=this._findExactMember(t),r=t.toLocaleLowerCase(this.contentLanguage),i=n??this._hierarchyValues.find(e=>String(e?.id).toLocaleLowerCase(this.contentLanguage).includes(r)||this._getMemberLabel(e).toLocaleLowerCase(this.contentLanguage).includes(r)),a=(n??i??this._hierarchyValues[0])?.id;if(typeof a!=`string`&&typeof a!=`number`)return;let o=this.filter.parameters[0],s=[o.datasetId,o.columnId??o.formulaId,this.filter.expression,String(e),String(a)].join(`|`);s!==this._lastResolutionKey&&(this._lastResolutionKey=s,this._lastResolvedOutput=a,this._value=a,this.filter={...this.filter,parameters:[{...this.filter.parameters[0]},a]},this._sendChangeEvent())}async _fetchHierarchyValues(e=0,t=!1){let r=this._search;if(!r&&this._allValuesRetrieved){this._retrieving=!1;return}if(e===0&&!r&&(this._restoreCachedFirstPage()||this._hierarchyValues.length>0)){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error=`Missing column parameters`;return}let i=this.filter.parameters[0],a=i.columnId,o=i.formulaId,s=i.datasetId;if(!a&&!o){this._retrieving=!1,this._error=`Missing column id or formula id`;return}else if(!s){this._retrieving=!1,this._error=`Missing dataset id`;return}let c=this._buildHierarchyQuery(e,r);if(!c)return;let l=this._hierarchyRequestGeneration;this._pending=t,this._retrieving=!0,this._error=null;let u=new AbortController,d=new Promise((e,t)=>{n.t.fetchData(c).then(e).catch(t),u.signal.addEventListener(`abort`,()=>{console.warn(`Request aborted`),t({status:`aborted`})})}),f={promise:d,abortController:u};this._runningQueries.push(f);try{let n=await d;if(l!==this._hierarchyRequestGeneration)return;this._applyHierarchyResult(n,e,r),t&&!r&&this._resolveSingleSelectValue()}catch(e){if(l!==this._hierarchyRequestGeneration||e?.status===`aborted`)return;this._error=e instanceof Error?e.message:`Unknown error`,this._hierarchyValues=[]}finally{this._runningQueries=this._runningQueries.filter(e=>e.promise!==d),l===this._hierarchyRequestGeneration&&(this._pending=!1,this._retrieving=!1)}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-value-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setHierarchy(e){let t;t=[`? in ?`,`? not in ?`].includes(this.filter?.expression)?e?.detail?.value:[`? = ?`,`? != ?`].includes(this.filter?.expression)?e?.detail?.value?.[0]:e?.target?.value,this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},this._value]},this._sendChangeEvent())}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._hierarchyValues.length-1&&this._fetchHierarchyValues(this._hierarchyValues.length)}renderTextField(){return i.html`<luzmo-text-field
21
- label=${(0,o.msg)(`Filter value`,{desc:`Label for filter value text field`})}
22
- .size=${this.size}
23
- @change=${this.setHierarchy}
24
- @input=${this.setHierarchy}
25
- .value=${this.filter?.parameters?.[1]??``}
26
- ></luzmo-text-field>`}setSearchString(e){this._search=e?.detail?.string??``,this._allValuesRetrieved||(this._searchQueryTimeout&&(this._runningQueries.forEach(e=>{e?.abortController&&e.abortController.abort()}),this._runningQueries=[],clearTimeout(this._searchQueryTimeout)),this._searchQueryTimeout=setTimeout(()=>{this._fetchHierarchyValues()},500))}resetSearchString(){this._search=``,this._hierarchyRequestGeneration++,this._pending=!1,this._retrieving=!1,this._restoreCachedFirstPage()}onOpened(){this._fetchHierarchyValues()}_getSelectedOptionValue(){let e=this.filter?.parameters?.[1];return typeof e!=`string`&&typeof e!=`number`?e:this._findExactMember(String(e))?.id??e}renderHierarchyPicker(){if(this._error)return i.html`<div class="error" role="alert">Error: ${this._error}</div>`;let e=(this._search?this._hierarchyValues.filter(e=>r.t(e.name,this.contentLanguage,{allowEmpty:!0})?.toLowerCase().includes(this._search.toLowerCase())||e.toString().toLowerCase().includes(this._search.toLowerCase())):this._hierarchyValues).map(e=>{let t=r.t(e?.name,this.contentLanguage)??`N/A`;return typeof t!=`string`&&(t=`N/A`),{value:e?.id,label:t}}),t=this.filter?.expression,n=[`? = ?`,`? != ?`].includes(t),a=(0,o.msg)(`Selected {count} items`),s=(0,o.msg)(`Search`),c=(0,o.msg)(`No data`),l=(0,o.msg)(`No results`),u=(0,o.msg)(`Select...`);return i.html`<luzmo-select
27
- .size=${this.size}
28
- .label=${u}
29
- .retrieving=${this._retrieving}
30
- .pending=${this._pending}
31
- .selects=${n?`single`:`multiple`}
32
- .variant=${n?`highlight`:`checkboxes`}
33
- emphasized
34
- no-wrap
35
- ?invalid=${!!this._error}
36
- .multipleLabelTemplate=${a}
37
- .searchLabel=${s}
38
- .noDataLabel=${c}
39
- .noResultsLabel=${l}
40
- @change=${this.setHierarchy}
41
- @luzmo-search=${this.setSearchString}
42
- @luzmo-opened=${this.onOpened}
43
- @luzmo-closed=${this.resetSearchString}
44
- @luzmo-scrolled=${this.onScrolled}
45
- .options=${e}
46
- .value=${n?[this._getSelectedOptionValue()]:this.filter?.parameters?.[1]}
47
- >
48
- </luzmo-select>`}render(){let e=this.filter?.expression;return[`? in ?`,`? not in ?`,`? = ?`,`? != ?`].includes(e)?this.renderHierarchyPicker():this.renderTextField()}};e.t([(0,a.property)({type:String,attribute:`api-url`,reflect:!0})],u.prototype,`apiUrl`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-key`,reflect:!0})],u.prototype,`authKey`,void 0),e.t([(0,a.property)({type:String,attribute:`auth-token`,reflect:!0})],u.prototype,`authToken`,void 0),e.t([(0,a.property)({type:Number,attribute:`cache-time`,reflect:!0})],u.prototype,`cacheTime`,void 0),e.t([(0,a.property)({type:String,attribute:`content-language`,reflect:!0})],u.prototype,`contentLanguage`,void 0),e.t([(0,a.property)({type:Object,reflect:!1})],u.prototype,`filter`,void 0),e.t([(0,a.state)()],u.prototype,`_hierarchyValues`,void 0),e.t([(0,a.state)()],u.prototype,`_retrieving`,void 0),e.t([(0,a.state)()],u.prototype,`_search`,void 0),e.t([(0,a.state)()],u.prototype,`_error`,void 0),e.t([(0,a.state)()],u.prototype,`_pending`,void 0),u=e.t([(0,o.localized)()],u),customElements.get(`luzmo-filter-value-picker-hierarchy`)||customElements.define(`luzmo-filter-value-picker-hierarchy`,u),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
@@ -1,48 +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-CtNoCjjI.cjs"),n=require("./data-broker-CyMYR6w1.cjs");let r=require("lit"),i=require("lit/decorators.js"),a=require("@lit/localize");require("@luzmo/lucero/select"),require("@luzmo/lucero/number-field");let o=require("@luzmo/lucero/utils");var s=`:host{flex-direction:row;flex-shrink:1;min-width:0;display:flex}luzmo-number-field,luzmo-select{min-width:var(--luzmo-filter-value-picker-numeric-control-min-width,var(--filter-value-picker-numeric-control-min-width));flex:auto;max-width:100%}.missing-value{opacity:.4}:host{--filter-value-picker-numeric-control-min-width:0}`,c=5e3,l=class extends t.t((0,o.SizedMixin)(o.LuzmoElement,{validSizes:Object.values(o.ElementSizes)})){constructor(...e){super(...e),this.contentLanguage=`en`,this._numericValues=[],this._retrieving=!0,this._search=``,this._error=null,this._allValuesRetrieved=!1,this._runningQueries=[]}static get styles(){return[(0,r.unsafeCSS)(s)]}connectedCallback(){super.connectedCallback();let e={};this.apiUrl&&(e.apiUrl=this.apiUrl),this.cacheTime&&(e.staleTime=this.cacheTime,e.gcTime=this.cacheTime*2),this.authKey&&this.authToken&&(e.authKey=this.authKey,e.authToken=this.authToken),n.t.configure(e)}willUpdate(e){if(super.willUpdate(e),e.has(`filter`)&&this.filter){let t=e.get(`filter`)?.expression,n=this.filter?.expression;((e.get(`filter`)?.parameters?.[0]?.columnId||e.get(`filter`)?.parameters?.[0]?.formulaId)!==(this.filter?.parameters?.[0]?.columnId||this.filter?.parameters?.[0]?.formulaId)||![`? in ?`,`? not in ?`].includes(t))&&[`? in ?`,`? not in ?`].includes(n)&&(this._numericValues=[],this._allValuesRetrieved=!1,this._retrieving=!0)}}async _fetchNumericValues(e=0){if(this._allValuesRetrieved){this._retrieving=!1;return}if(!this.filter?.parameters?.[0]){this._retrieving=!1,this._error=`Missing column parameters`;return}let t=this.filter.parameters[0],r=t.columnId,i=t.formulaId,a=t.datasetId;if(!r&&!i){this._retrieving=!1,this._error=`Missing column id or formula id`;return}else if(!a){this._retrieving=!1,this._error=`Missing dataset id`;return}this._retrieving=!0,this._error=null;let o={expression:`? like ?`,parameters:[{dataset_id:a,expression:`CAST({${a}:${r??i}},hierarchy)`},this._search]},s={dimensions:[{column_id:r,formula_id:i,dataset_id:a}],where:[],order:[{column_id:r,formula_id:i,dataset_id:a,order:`asc`}],limit:{by:c,offset:e}};this._search&&!this._allValuesRetrieved&&s.where.push(o);let l=new AbortController,u=new Promise((e,t)=>{n.t.fetchData(s).then(e).catch(t),l.signal.addEventListener(`abort`,()=>{console.warn(`Request aborted`),t({status:`aborted`})})}),d={promise:u,abortController:l};this._runningQueries.push(d);try{let t=await u,n=t&&Array.isArray(t.data)?t.data.map(e=>e[0]):[];this._search||(this._allValuesRetrieved=n.length<c),this._numericValues=e>0?[...this._numericValues,...n]:n}catch(e){if(e?.status===`aborted`)return;this._error=e instanceof Error?e.message:`Unknown error`,this._numericValues=[]}finally{this._runningQueries=this._runningQueries.filter(e=>e.promise!==u),this._retrieving=!1}}_sendChangeEvent(){this.dispatchEvent(new CustomEvent(`luzmo-filter-value-changed`,{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this._value}}))}setValue(e){let t=[`? in ?`,`? not in ?`].includes(this.filter?.expression)?e?.detail?.value:e?.target?.value;this._value!==t&&(this._value=t,this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._sendChangeEvent())}selectValue(e){let t=(e.detail?.value??``).map(e=>Number.parseFloat(e));this.filter={...this.filter,parameters:[{...this.filter?.parameters?.[0]},t]},this._value=t,this._sendChangeEvent()}onScrolled(e){!this._retrieving&&!this._allValuesRetrieved&&e?.detail?.last===this._numericValues.length-1&&this._fetchNumericValues(this._numericValues.length)}renderNumberField(){return r.html`<luzmo-number-field
21
- label="Numeric filter value"
22
- grows
23
- .size=${this.size}
24
- @change=${this.setValue}
25
- @input=${this.setValue}
26
- .value=${this.filter?.parameters?.[1]}
27
- ></luzmo-number-field>`}setSearchString(e){this._search=e?.detail?.string??``,this._allValuesRetrieved||(this._searchQueryTimeout&&(this._runningQueries.forEach(e=>{e?.abortController&&e.abortController.abort()}),this._runningQueries=[],clearTimeout(this._searchQueryTimeout)),this._searchQueryTimeout=setTimeout(()=>{this._fetchNumericValues()},500))}resetSearchString(){this._search=``}onOpened(){this._fetchNumericValues()}renderValuePicker(){if(this._error)return r.html`<div class="error" role="alert">${this._error}</div>`;let e=this._numericValues.filter(e=>e.toString().toLowerCase().includes(this._search.toLowerCase())).map(e=>({value:e,label:e})),t=(0,a.msg)(`Selected {count} items`),n=(0,a.msg)(`Search`),i=(0,a.msg)(`No data`),o=(0,a.msg)(`No results`),s=(0,a.msg)(`Select...`);return r.html`<luzmo-select
28
- .size=${this.size}
29
- .label=${s}
30
- .retrieving=${this._retrieving}
31
- selects="multiple"
32
- variant="checkboxes"
33
- emphasized
34
- no-wrap
35
- ?invalid=${!!this._error}
36
- .multipleLabelTemplate=${t}
37
- .searchLabel=${n}
38
- .noDataLabel=${i}
39
- .noResultsLabel=${o}
40
- @change=${this.selectValue}
41
- @luzmo-search=${this.setSearchString}
42
- @luzmo-opened=${this.onOpened}
43
- @luzmo-closed=${this.resetSearchString}
44
- @luzmo-scrolled=${this.onScrolled}
45
- .options=${e}
46
- .value=${this.filter?.parameters?.[1]}
47
- >
48
- </luzmo-select>`}render(){let e=this.filter?.expression;return[`? in ?`,`? not in ?`].includes(e)?this.renderValuePicker():this.renderNumberField()}};e.t([(0,i.property)({type:String,attribute:`api-url`,reflect:!0})],l.prototype,`apiUrl`,void 0),e.t([(0,i.property)({type:String,attribute:`auth-key`,reflect:!0})],l.prototype,`authKey`,void 0),e.t([(0,i.property)({type:String,attribute:`auth-token`,reflect:!0})],l.prototype,`authToken`,void 0),e.t([(0,i.property)({type:Number,attribute:`cache-time`,reflect:!0})],l.prototype,`cacheTime`,void 0),e.t([(0,i.property)({type:String,attribute:`content-language`,reflect:!0})],l.prototype,`contentLanguage`,void 0),e.t([(0,i.property)({type:Object,reflect:!1})],l.prototype,`filter`,void 0),e.t([(0,i.state)()],l.prototype,`_numericValues`,void 0),e.t([(0,i.state)()],l.prototype,`_retrieving`,void 0),e.t([(0,i.state)()],l.prototype,`_search`,void 0),e.t([(0,i.state)()],l.prototype,`_error`,void 0),l=e.t([(0,a.localized)()],l),customElements.get(`luzmo-filter-value-picker-numeric`)||customElements.define(`luzmo-filter-value-picker-numeric`,l),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return l}});