@luzmo/analytics-components-kit 1.0.4 → 1.0.5-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 (595) hide show
  1. package/components/ad-hoc-slot-content-BxpvfmjT.js +29 -0
  2. package/components/ad-hoc-slot-content-DJUmB7pS.cjs +20 -0
  3. package/components/ai-chat/ai-chat-events.d.ts +123 -0
  4. package/components/ai-chat/ai-chat-request.d.ts +11 -0
  5. package/components/ai-chat/ai-chat.d.ts +302 -0
  6. package/components/ai-chat/ai-prompt-types.d.ts +94 -0
  7. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
  8. package/components/ai-chat/empty-state/index.d.ts +8 -0
  9. package/components/ai-chat/empty-state/types.d.ts +14 -0
  10. package/components/ai-chat/index.cjs +20 -0
  11. package/components/ai-chat/index.d.ts +20 -0
  12. package/components/ai-chat/index.js +28 -0
  13. package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
  14. package/components/ai-chat/session/ai-chat-session-types.d.ts +88 -0
  15. package/components/ai-chat/session/ai-chat-session.d.ts +91 -0
  16. package/components/ai-chat/session/index.d.ts +2 -0
  17. package/components/ai-chat/stream/chunk-extractors.d.ts +27 -0
  18. package/components/ai-chat/stream/index.d.ts +52 -0
  19. package/components/ai-chat/stream/progress.d.ts +3 -0
  20. package/components/ai-chat/stream/registry.d.ts +6 -0
  21. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  22. package/components/ai-chat/stream/transport.d.ts +26 -0
  23. package/components/ai-chat/stream/types.d.ts +55 -0
  24. package/components/ai-chat-BBc330Jm.js +3832 -0
  25. package/components/ai-chat-DLDSaC7W.cjs +300 -0
  26. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +135 -0
  27. package/components/ai-interaction-textarea/index.cjs +20 -0
  28. package/components/ai-interaction-textarea/index.d.ts +8 -0
  29. package/components/ai-interaction-textarea/index.js +28 -0
  30. package/components/ai-interaction-textarea/types.d.ts +5 -0
  31. package/components/ai-interaction-textarea-BCH5_GBO.cjs +68 -0
  32. package/components/ai-interaction-textarea-DzHetSBZ.js +299 -0
  33. package/components/{area-chart-positioning.config-CQW5h7Eg.js → area-chart-positioning.config-CjeYLy6C.js} +1 -1
  34. package/components/{area-chart-positioning.config-CE8lOCfT.cjs → area-chart-positioning.config-DVrykBho.cjs} +1 -1
  35. package/components/{bar-chart-positioning.config-DFI1wzOQ.cjs → bar-chart-positioning.config-DpF15KcV.cjs} +1 -1
  36. package/components/{bar-chart-positioning.config-DaH_x_VU.js → bar-chart-positioning.config-e-SAdpBe.js} +1 -1
  37. package/components/base-DSXeP3BL.cjs +20 -0
  38. package/components/{base-p2I4mVSW.js → base-a89RuUMb.js} +2 -1
  39. package/components/{box-plot-positioning.config-K2tQGMig.js → box-plot-positioning.config-Bq2INEtG.js} +1 -1
  40. package/components/{box-plot-positioning.config-FOyav5Zq.cjs → box-plot-positioning.config-DbwtHJ4q.cjs} +1 -1
  41. package/components/{bubble-chart-positioning.config-B6DXfqa4.cjs → bubble-chart-positioning.config--EBfDgdN.cjs} +1 -1
  42. package/components/{bubble-chart-positioning.config-D2fwO2JM.js → bubble-chart-positioning.config-DFnW4mJ9.js} +1 -1
  43. package/components/{bullet-chart-positioning.config-DZqzqZSQ.cjs → bullet-chart-positioning.config-CZ46z07k.cjs} +1 -1
  44. package/components/{bullet-chart-positioning.config-DOAG2wFN.js → bullet-chart-positioning.config-DS2OmjBY.js} +1 -1
  45. package/components/{choropleth-map-positioning.config-C3jO3j8R.cjs → choropleth-map-positioning.config-Clm5IUT6.cjs} +1 -1
  46. package/components/{choropleth-map-positioning.config-Jw6fAFM1.js → choropleth-map-positioning.config-DgANsGq1.js} +1 -1
  47. package/components/{circle-pack-chart-positioning.config-Ckb-1sUG.js → circle-pack-chart-positioning.config-2H1CrfH_.js} +1 -1
  48. package/components/{circle-pack-chart-positioning.config-DJT6ivEy.cjs → circle-pack-chart-positioning.config-qF0qGcEO.cjs} +1 -1
  49. package/components/{circular-gauge-positioning.config-B8gL5Br9.cjs → circular-gauge-positioning.config-CMttD_BW.cjs} +1 -1
  50. package/components/{circular-gauge-positioning.config-BGlDGhYZ.js → circular-gauge-positioning.config-CusKP9Tq.js} +1 -1
  51. package/components/{column-chart-positioning.config-LzBETWIy.cjs → column-chart-positioning.config-ColoutIT.cjs} +1 -1
  52. package/components/{column-chart-positioning.config-BJGWvFLD.js → column-chart-positioning.config-rRwPVTbj.js} +1 -1
  53. package/components/{combination-chart-positioning.config-DjmWx90S.cjs → combination-chart-positioning.config-DAVrKW-6.cjs} +1 -1
  54. package/components/{combination-chart-positioning.config-DtneKdwK.js → combination-chart-positioning.config-uLf1RJQr.js} +1 -1
  55. package/components/{conditional-number-positioning.config-Ccb2yjJU.js → conditional-number-positioning.config-DZjwZfsH.js} +1 -1
  56. package/components/{conditional-number-positioning.config-C8bRdffQ.cjs → conditional-number-positioning.config-Nwsh-WyG.cjs} +1 -1
  57. package/components/convert-data-field-to-slot-content-BQkSy_8B.cjs +20 -0
  58. package/components/convert-data-field-to-slot-content-C6IIqU7G.js +53 -0
  59. package/components/convert-datasets-to-data-fields-B13rl1an.cjs +20 -0
  60. package/components/convert-datasets-to-data-fields-PmQzeVLG.js +68 -0
  61. package/components/data-field/index.cjs +1 -1
  62. package/components/data-field/index.d.ts +1 -0
  63. package/components/data-field/index.js +1 -1
  64. package/components/data-field-CFX9bhKN.js +121 -0
  65. package/components/data-field-bRmOqmAe.cjs +54 -0
  66. package/components/data-field-level/data-field-level.d.ts +40 -0
  67. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  68. package/components/data-field-level/index.cjs +20 -0
  69. package/components/data-field-level/index.d.ts +8 -0
  70. package/components/data-field-level/index.js +28 -0
  71. package/components/{data-field-ll2oFVG2.js → data-field-level-Cc6yEETi.js} +46 -140
  72. package/components/data-field-level-Dnl27sxs.cjs +55 -0
  73. package/components/data-field-panel/index.cjs +1 -1
  74. package/components/data-field-panel/index.d.ts +1 -0
  75. package/components/data-field-panel/index.js +1 -1
  76. package/components/data-field-panel-BDExLalA.cjs +87 -0
  77. package/components/{data-field-panel-ntgCpQ_2.js → data-field-panel-DcqVOzMO.js} +5 -4
  78. package/components/data-fields-select/data-fields-select.d.ts +127 -0
  79. package/components/data-fields-select/index.cjs +20 -0
  80. package/components/data-fields-select/index.d.ts +9 -0
  81. package/components/data-fields-select/index.js +28 -0
  82. package/components/data-fields-select/types.d.ts +4 -0
  83. package/components/data-fields-select-B5aGtDYe.cjs +41 -0
  84. package/components/{data-fields-select-DJFkrrPs.js → data-fields-select-CfAfiV-K.js} +4 -3
  85. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  86. package/components/dataset-icon/index.cjs +20 -0
  87. package/components/dataset-icon/index.d.ts +8 -0
  88. package/components/dataset-icon/index.js +28 -0
  89. package/components/dataset-icon/types.d.ts +11 -0
  90. package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
  91. package/components/dataset-icon-BXEgg_8O.js +125 -0
  92. package/components/dataset-selector-list/dataset-selector-list.d.ts +102 -0
  93. package/components/dataset-selector-list/index.cjs +20 -0
  94. package/components/dataset-selector-list/index.d.ts +8 -0
  95. package/components/dataset-selector-list/index.js +28 -0
  96. package/components/dataset-selector-list-WT2ZHjQ4.cjs +75 -0
  97. package/components/dataset-selector-list-bAFTW1Hr.js +313 -0
  98. package/components/dataset-selector-row/dataset-selector-row.d.ts +89 -0
  99. package/components/dataset-selector-row/index.cjs +20 -0
  100. package/components/dataset-selector-row/index.d.ts +8 -0
  101. package/components/dataset-selector-row/index.js +28 -0
  102. package/components/dataset-selector-row-CXrEKQrA.js +273 -0
  103. package/components/dataset-selector-row-CwkXH93E.cjs +79 -0
  104. package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
  105. package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
  106. package/components/{localized-mixin-CBMYHOPv.js → decorate-CaYbmmmm.js} +2 -26
  107. package/components/decorate-DCJt-2rt.cjs +20 -0
  108. package/components/display-settings/display-settings.d.ts +117 -0
  109. package/components/display-settings/index.cjs +20 -0
  110. package/components/display-settings/index.d.ts +8 -0
  111. package/components/display-settings/index.js +28 -0
  112. package/components/display-settings/types.d.ts +9 -0
  113. package/components/display-settings-DrcpHnKo.cjs +140 -0
  114. package/components/display-settings-Ec_smyRC.js +313 -0
  115. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  116. package/components/display-settings-binning/index.cjs +20 -0
  117. package/components/display-settings-binning/index.d.ts +8 -0
  118. package/components/display-settings-binning/index.js +28 -0
  119. package/components/{display-settings-binning-DGxEB9Fa.js → display-settings-binning-COpQPUin.js} +17 -19
  120. package/components/{display-settings-binning-CQKXGp11.cjs → display-settings-binning-XXJdJeGU.cjs} +2 -2
  121. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  122. package/components/display-settings-datetime/index.cjs +20 -0
  123. package/components/display-settings-datetime/index.d.ts +8 -0
  124. package/components/display-settings-datetime/index.js +28 -0
  125. package/components/display-settings-datetime-DhSW10ln.cjs +217 -0
  126. package/components/{display-settings-datetime-CLx9sxA7.js → display-settings-datetime-qj86dnHh.js} +69 -71
  127. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  128. package/components/display-settings-grand-totals/index.cjs +20 -0
  129. package/components/display-settings-grand-totals/index.d.ts +8 -0
  130. package/components/display-settings-grand-totals/index.js +28 -0
  131. package/components/{display-settings-grand-totals-B0Px90rH.js → display-settings-grand-totals-D6IDs0U1.js} +17 -19
  132. package/components/display-settings-grand-totals-DTF0sqA1.cjs +44 -0
  133. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  134. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  135. package/components/display-settings-numeric/index.cjs +20 -0
  136. package/components/display-settings-numeric/index.d.ts +8 -0
  137. package/components/display-settings-numeric/index.js +28 -0
  138. package/components/display-settings-numeric-Dt34JHyR.cjs +190 -0
  139. package/components/{display-settings-numeric-CdEgzO7W.js → display-settings-numeric-Dy2EMcKa.js} +79 -81
  140. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +68 -0
  141. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  142. package/components/display-settings-period-over-period/index.cjs +20 -0
  143. package/components/display-settings-period-over-period/index.d.ts +8 -0
  144. package/components/display-settings-period-over-period/index.js +28 -0
  145. package/components/display-settings-period-over-period-B-ULI6yW.cjs +229 -0
  146. package/components/{display-settings-period-over-period-lo3myRfT.js → display-settings-period-over-period-BMzBnywY.js} +85 -86
  147. package/components/{donut-chart-positioning.config-2cYbI6p-.cjs → donut-chart-positioning.config-BnmePhBH.cjs} +1 -1
  148. package/components/{donut-chart-positioning.config-Dh3XI5f4.js → donut-chart-positioning.config-CnZRc3e8.js} +1 -1
  149. package/components/{en-hPjCnvK0.cjs → en-B34alchz.cjs} +1 -1
  150. package/components/{en-OJGeTneC.js → en-CcLhGxIh.js} +1 -1
  151. package/components/en-GB-B3xz84vF.cjs +20 -0
  152. package/components/{en-GB-D7N1nMuy.js → en-GB-DzkdeUQh.js} +1 -1
  153. package/components/{en-US-hPjCnvK0.cjs → en-US-B34alchz.cjs} +1 -1
  154. package/components/{en-US-OJGeTneC.js → en-US-CcLhGxIh.js} +1 -1
  155. package/components/{evolution-number-positioning.config-BX1lWtDL.cjs → evolution-number-positioning.config-CKgGLWTm.cjs} +1 -1
  156. package/components/{evolution-number-positioning.config-BQQrOKbD.js → evolution-number-positioning.config-DiKxJqRO.js} +1 -1
  157. package/components/filter-expression-picker/filter-expression-picker.d.ts +73 -0
  158. package/components/filter-expression-picker/index.cjs +20 -0
  159. package/components/filter-expression-picker/index.d.ts +7 -0
  160. package/components/filter-expression-picker/index.js +28 -0
  161. package/components/filter-expression-picker-DMZ4sgJ6.js +425 -0
  162. package/components/filter-expression-picker-Dq0X2lo3.cjs +38 -0
  163. package/components/filter-item/filter-item.d.ts +84 -0
  164. package/components/filter-item/index.cjs +20 -0
  165. package/components/filter-item/index.d.ts +7 -0
  166. package/components/filter-item/index.js +28 -0
  167. package/components/filter-item-BEe-Y6l0.js +242 -0
  168. package/components/filter-item-BnxKP0Zg.cjs +58 -0
  169. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +25 -0
  170. package/components/filter-parameter-picker/index.cjs +22 -0
  171. package/components/filter-parameter-picker/index.d.ts +7 -0
  172. package/components/filter-parameter-picker/index.js +58 -0
  173. package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
  174. package/components/filter-value-picker/index.cjs +20 -0
  175. package/components/filter-value-picker/index.d.ts +7 -0
  176. package/components/filter-value-picker/index.js +28 -0
  177. package/components/filter-value-picker-BxaX9BML.cjs +60 -0
  178. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +42 -0
  179. package/components/filter-value-picker-datetime/index.cjs +20 -0
  180. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  181. package/components/filter-value-picker-datetime/index.js +28 -0
  182. package/components/filter-value-picker-datetime-BryAsOYH.cjs +42 -0
  183. package/components/filter-value-picker-datetime-DtZDr9fY.js +139 -0
  184. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +81 -0
  185. package/components/filter-value-picker-hierarchy/index.cjs +20 -0
  186. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  187. package/components/filter-value-picker-hierarchy/index.js +28 -0
  188. package/components/filter-value-picker-hierarchy-BSKoZJ0F.cjs +47 -0
  189. package/components/filter-value-picker-hierarchy-D9BcuttQ.js +232 -0
  190. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +82 -0
  191. package/components/filter-value-picker-numeric/index.cjs +20 -0
  192. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  193. package/components/filter-value-picker-numeric/index.js +28 -0
  194. package/components/filter-value-picker-numeric-B2EcfNUR.cjs +48 -0
  195. package/components/filter-value-picker-numeric-CoU9l9wS.js +219 -0
  196. package/components/filter-value-picker-r1zs2IHx.js +151 -0
  197. package/components/filters/index.cjs +1 -1
  198. package/components/filters/index.js +1 -1
  199. package/components/filters-C9DVFS6T.cjs +150 -0
  200. package/components/filters-DVTYmlI1.js +400 -0
  201. package/components/formatter-8m-wrIM-.cjs +20 -0
  202. package/components/{period-over-period-condition.const-DLA60ptm.js → formatter-Cq5dFCyU.js} +44 -235
  203. package/components/formula/index.cjs +1 -1
  204. package/components/formula/index.js +1 -1
  205. package/components/formula--lwYaW2w.cjs +45 -0
  206. package/components/{formula-TyfDRy5X.js → formula-Ekyv6mpo.js} +15 -14
  207. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  208. package/components/formula-codemirror/index.d.ts +7 -0
  209. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  210. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  211. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  212. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  213. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  214. package/components/{formula-codemirror-Bewi7Xgc.cjs → formula-codemirror-BZuBN5sE.cjs} +50 -50
  215. package/components/{formula-codemirror-B6ktT1Dm.js → formula-codemirror-DgTmL2Id.js} +21 -19
  216. package/components/formula-display-store-BunPLkc0.cjs +20 -0
  217. package/components/{formula-display-store-ycPV0gru.js → formula-display-store-ezef6EvF.js} +242 -271
  218. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  219. package/components/formula-draggable-field/index.d.ts +8 -0
  220. package/components/formula-draggable-field/types.d.ts +24 -0
  221. package/components/formula-editor/index.cjs +1 -1
  222. package/components/formula-editor/index.d.ts +1 -0
  223. package/components/formula-editor/index.js +4 -3
  224. package/components/formula-editor-CjVohoJB.cjs +218 -0
  225. package/components/{formula-editor-HkD4KWnN.js → formula-editor-DRpm9ej7.js} +143 -348
  226. package/components/formula-field/formula-field.d.ts +20 -0
  227. package/components/formula-field/index.cjs +20 -0
  228. package/components/formula-field/index.d.ts +7 -0
  229. package/components/formula-field/index.js +28 -0
  230. package/components/formula-field-DcgWLGBD.cjs +20 -0
  231. package/components/formula-field-TwMnyN0t.js +40 -0
  232. package/components/formula-input-base-D6QdnUOa.cjs +49 -0
  233. package/components/formula-input-base-Dxk5euNb.js +236 -0
  234. package/components/{funnel-chart-positioning.config-iHk--8l3.cjs → funnel-chart-positioning.config-DaHDyj7V.cjs} +1 -1
  235. package/components/{funnel-chart-positioning.config-9blBdgB7.js → funnel-chart-positioning.config-DysRV01G.js} +1 -1
  236. package/components/get-dataset-name-D4smY8ms.cjs +20 -0
  237. package/components/get-dataset-name-D_ZiWu64.js +27 -0
  238. package/components/groupings-Bzp2EA65.js +52 -0
  239. package/components/groupings-Wfp8piEu.cjs +20 -0
  240. package/components/{heat-map-positioning.config-DgrZWNiT.js → heat-map-positioning.config-C6CqosaH.js} +1 -1
  241. package/components/{heat-map-positioning.config-CqkTB8nU.cjs → heat-map-positioning.config-hFwq08ML.cjs} +1 -1
  242. package/components/{heat-table-positioning.config-BqsqkftW.js → heat-table-positioning.config-B2RuWLH5.js} +1 -1
  243. package/components/{heat-table-positioning.config-Ca-WBNR-.cjs → heat-table-positioning.config-MJ_ox9iT.cjs} +1 -1
  244. package/components/{hexbin-map-positioning.config-sUIrPJP4.cjs → hexbin-map-positioning.config-Dua5Z8M2.cjs} +1 -1
  245. package/components/{hexbin-map-positioning.config-gkLfwTS6.js → hexbin-map-positioning.config-IiGTpp68.js} +1 -1
  246. package/components/index.cjs +1 -749
  247. package/components/index.js +64 -5577
  248. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  249. package/components/interactive-viz-item/index.cjs +20 -0
  250. package/components/interactive-viz-item/index.d.ts +10 -0
  251. package/components/interactive-viz-item/index.js +28 -0
  252. package/components/interactive-viz-item/interactive-viz-item.d.ts +96 -0
  253. package/components/interactive-viz-item/types.d.ts +117 -0
  254. package/components/interactive-viz-item-O2zj8Ix3.cjs +247 -0
  255. package/components/interactive-viz-item-lBrlvX4F.js +693 -0
  256. package/components/item-grid/index.cjs +1 -1
  257. package/components/item-grid/index.js +1 -1
  258. package/components/{item-grid-C6nEE4Uj.cjs → item-grid-CmuMl0eC.cjs} +22 -22
  259. package/components/{item-grid-B59uyBDP.js → item-grid-Cqi995vx.js} +2 -1
  260. package/components/item-menu/item-list/item-list.d.ts +37 -0
  261. package/components/item-option/index.cjs +1 -1
  262. package/components/item-option/index.js +1 -1
  263. package/components/item-option-CQw6Xsi2.cjs +252 -0
  264. package/components/{item-option-zz-Rqh6o.js → item-option-Cg3zRKlU.js} +2 -2
  265. package/components/item-option-action-button-group/index.cjs +1 -1
  266. package/components/item-option-action-button-group/index.js +1 -1
  267. package/components/{item-option-action-button-group-BEXRueVH.js → item-option-action-button-group-C1TU-ng7.js} +2 -2
  268. package/components/item-option-action-button-group-DBdpU9Ac.cjs +53 -0
  269. package/components/item-option-base/item-option-base.d.ts +23 -0
  270. package/components/{item-option-base-DqDKIqRP.js → item-option-base-4mpxvTpE.js} +2 -2
  271. package/components/item-option-base-BtYcXg-E.cjs +56 -0
  272. package/components/item-option-color-palette-picker/index.cjs +1 -1
  273. package/components/item-option-color-palette-picker/index.js +1 -1
  274. package/components/item-option-color-palette-picker-4so22U-2.cjs +40 -0
  275. package/components/{item-option-color-palette-picker-dk5Nm1XB.js → item-option-color-palette-picker-BBnhEOQj.js} +2 -2
  276. package/components/item-option-color-picker/index.cjs +1 -1
  277. package/components/item-option-color-picker/index.js +1 -1
  278. package/components/{item-option-color-picker-oG-wrEZh.js → item-option-color-picker-CTTEHFVR.js} +2 -2
  279. package/components/{item-option-color-picker-Czr_ojzh.cjs → item-option-color-picker-CUBaIdL-.cjs} +2 -2
  280. package/components/item-option-color-range/index.cjs +1 -1
  281. package/components/item-option-color-range/index.js +1 -1
  282. package/components/{item-option-color-range-RbnPnI3s.js → item-option-color-range-BuLEgB7a.js} +2 -2
  283. package/components/item-option-color-range-H4nV-HoV.cjs +98 -0
  284. package/components/item-option-multi-language-field/index.cjs +1 -1
  285. package/components/item-option-multi-language-field/index.js +1 -1
  286. package/components/{item-option-multi-language-field-BqhBRIFH.js → item-option-multi-language-field-CXQj3kSW.js} +2 -2
  287. package/components/{item-option-multi-language-field-BpyuIPcO.cjs → item-option-multi-language-field-d25tETIC.cjs} +2 -2
  288. package/components/item-option-number-field/index.cjs +1 -1
  289. package/components/item-option-number-field/index.js +1 -1
  290. package/components/{item-option-number-field-BDPEAzdF.js → item-option-number-field-CEQEjnu8.js} +2 -2
  291. package/components/{item-option-number-field-CV2xpQrk.cjs → item-option-number-field-waG1zcr8.cjs} +2 -2
  292. package/components/item-option-panel/index.cjs +1 -1
  293. package/components/item-option-panel/index.js +1 -1
  294. package/components/{item-option-panel-CMrjUb2s.cjs → item-option-panel-Bh4d0Ueb.cjs} +2 -2
  295. package/components/{item-option-panel-XhTxaBZp.js → item-option-panel-CVjT-rr8.js} +3 -3
  296. package/components/item-option-picker/index.cjs +1 -1
  297. package/components/item-option-picker/index.js +1 -1
  298. package/components/{item-option-picker-D_Od3am8.js → item-option-picker-CiEMwzho.js} +2 -2
  299. package/components/{item-option-picker-CvEfEy99.cjs → item-option-picker-YTJ6noOW.cjs} +2 -2
  300. package/components/item-option-position-picker/index.cjs +1 -1
  301. package/components/item-option-position-picker/index.js +1 -1
  302. package/components/item-option-position-picker-DExAtVBF.cjs +32 -0
  303. package/components/{item-option-position-picker-BKw29tj-.js → item-option-position-picker-DVsG8inN.js} +2 -2
  304. package/components/item-option-positions-number-field/index.cjs +1 -1
  305. package/components/item-option-positions-number-field/index.js +1 -1
  306. package/components/{item-option-positions-number-field-lrJdfydy.js → item-option-positions-number-field-7F1_3pxp.js} +2 -2
  307. package/components/item-option-positions-number-field-Ju4e_B6g.cjs +49 -0
  308. package/components/item-option-radio-button-group/index.cjs +1 -1
  309. package/components/item-option-radio-button-group/index.js +1 -1
  310. package/components/{item-option-radio-button-group-DrjpL6YU.cjs → item-option-radio-button-group-6w11UJC-.cjs} +2 -2
  311. package/components/{item-option-radio-button-group-DTyHPaz_.js → item-option-radio-button-group-CHZKF_oZ.js} +2 -2
  312. package/components/item-option-slider/index.cjs +1 -1
  313. package/components/item-option-slider/index.js +1 -1
  314. package/components/{item-option-slider-CIDoZhZl.js → item-option-slider-CQCvF7wI.js} +2 -2
  315. package/components/{item-option-slider-BwKBgW0y.cjs → item-option-slider-DdkgydGa.cjs} +2 -2
  316. package/components/item-option-switch/index.cjs +1 -1
  317. package/components/item-option-switch/index.js +1 -1
  318. package/components/{item-option-switch-DxC1yjeN.js → item-option-switch-68EoGXKU.js} +2 -2
  319. package/components/{item-option-switch-CQtvbTfI.cjs → item-option-switch-IP4wvB7i.cjs} +2 -2
  320. package/components/item-option-text-field/index.cjs +1 -1
  321. package/components/item-option-text-field/index.js +1 -1
  322. package/components/{item-option-text-field-CZtJ1yIj.js → item-option-text-field-0CCtgD5i.js} +2 -2
  323. package/components/{item-option-text-field-pLQzcE25.cjs → item-option-text-field-Be4frWhI.cjs} +2 -2
  324. package/components/item-slot-drop/index.cjs +1 -1
  325. package/components/item-slot-drop/index.d.ts +2 -0
  326. package/components/item-slot-drop/index.js +1 -1
  327. package/components/item-slot-drop-C7BJJcZz.cjs +91 -0
  328. package/components/{item-slot-drop-SqYpfTGj.js → item-slot-drop-PlCmap_s.js} +14 -9
  329. package/components/item-slot-drop-panel/index.cjs +1 -1
  330. package/components/item-slot-drop-panel/index.js +1 -1
  331. package/components/{item-slot-drop-panel-DoWCzjqb.js → item-slot-drop-panel-BevGCcMh.js} +41 -40
  332. package/components/item-slot-drop-panel-hs0gFwb-.cjs +57 -0
  333. package/components/item-slot-picker/index.cjs +1 -1
  334. package/components/item-slot-picker/index.js +1 -1
  335. package/components/{item-slot-picker-CadZEvOA.js → item-slot-picker-BzXlX-Zd.js} +26 -21
  336. package/components/item-slot-picker-dmoR1ZyZ.cjs +174 -0
  337. package/components/item-slot-picker-panel/index.cjs +1 -1
  338. package/components/item-slot-picker-panel/index.js +1 -1
  339. package/components/item-slot-picker-panel-B2TtJUIs.cjs +81 -0
  340. package/components/{item-slot-picker-panel-Bhr6d6Ya.js → item-slot-picker-panel-DnvwcLGy.js} +5 -4
  341. package/components/{line-chart-positioning.config-BIkHxiyg.cjs → line-chart-positioning.config-CYqzjNzS.cjs} +1 -1
  342. package/components/{line-chart-positioning.config-CdnYQBah.js → line-chart-positioning.config-DAs0y-O6.js} +1 -1
  343. package/components/load-data-fields-for-datasets-BVGaku2J.cjs +20 -0
  344. package/components/load-data-fields-for-datasets-DeXLqWt4.js +42 -0
  345. package/components/localized-mixin-BNAt_iYb.cjs +20 -0
  346. package/components/localized-mixin-GXZQgVAD.js +45 -0
  347. package/components/{marker-map-positioning.config-BSz4P-W9.js → marker-map-positioning.config-BQ-kNUJI.js} +1 -1
  348. package/components/{marker-map-positioning.config-t66fioVz.cjs → marker-map-positioning.config-C5h5ydGa.cjs} +1 -1
  349. package/components/{ohlc-chart-positioning.config-tQPPutWX.js → ohlc-chart-positioning.config-BQyRY4rj.js} +1 -1
  350. package/components/{ohlc-chart-positioning.config-BGueS7CJ.cjs → ohlc-chart-positioning.config-fqniDSHf.cjs} +1 -1
  351. package/components/{parallel-coordinates-plot-positioning.config-NrJ2LNM8.cjs → parallel-coordinates-plot-positioning.config-Bhyk-q40.cjs} +1 -1
  352. package/components/{parallel-coordinates-plot-positioning.config-MkX-qYHX.js → parallel-coordinates-plot-positioning.config-DMUrvTKC.js} +1 -1
  353. package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
  354. package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
  355. package/components/{pivot-table-positioning.config-DgJ5PPB9.cjs → pivot-table-positioning.config-CRPJ6cp9.cjs} +1 -1
  356. package/components/{pivot-table-positioning.config-Dr_0v4TM.js → pivot-table-positioning.config-kgOD7qg4.js} +1 -1
  357. package/components/{pyramid-chart-positioning.config-BGRtXKWh.cjs → pyramid-chart-positioning.config-B3g4J0Fc.cjs} +1 -1
  358. package/components/{pyramid-chart-positioning.config-DB0BI8vW.js → pyramid-chart-positioning.config-DzmnUNOa.js} +1 -1
  359. package/components/{radar-chart-positioning.config-DQiJ-Z1s.cjs → radar-chart-positioning.config-DeMZx8WU.cjs} +1 -1
  360. package/components/{radar-chart-positioning.config-D6UfRMMA.js → radar-chart-positioning.config-DtCHigcZ.js} +1 -1
  361. package/components/{route-map-positioning.config-D_ZoyhwX.js → route-map-positioning.config-CNNkOriH.js} +1 -1
  362. package/components/{route-map-positioning.config-Cbic0Cbz.cjs → route-map-positioning.config-GRnTnxOT.cjs} +1 -1
  363. package/components/{sankey-diagram-positioning.config-CZDPh7CR.cjs → sankey-diagram-positioning.config-B4dTAI_t.cjs} +1 -1
  364. package/components/{sankey-diagram-positioning.config-CQNdImz0.js → sankey-diagram-positioning.config-DZzxWrlG.js} +1 -1
  365. package/components/{scatter-plot-positioning.config-BTOiZ8cF.js → scatter-plot-positioning.config-7DccAqx9.js} +1 -1
  366. package/components/{scatter-plot-positioning.config-BPEymo3a.cjs → scatter-plot-positioning.config-CUxiLfKj.cjs} +1 -1
  367. package/components/{slicer-filter-positioning.config-CQE4ocpD.cjs → slicer-filter-positioning.config-DUivNE2P.cjs} +1 -1
  368. package/components/{slicer-filter-positioning.config-CC7uoU2D.js → slicer-filter-positioning.config-aOkoNRyY.js} +1 -1
  369. package/components/{en-GB-DCZl8CPc.cjs → slot-menu/index.cjs} +1 -1
  370. package/components/slot-menu/index.d.ts +10 -0
  371. package/components/slot-menu/index.js +28 -0
  372. package/components/slot-menu/slot-menu.d.ts +148 -0
  373. package/components/slot-menu/types.d.ts +24 -0
  374. package/components/slot-menu-Bgoo0gWv.cjs +71 -0
  375. package/components/slot-menu-Cb8piPji.js +422 -0
  376. package/components/slot-menu-list/index.cjs +20 -0
  377. package/components/slot-menu-list/index.d.ts +8 -0
  378. package/components/slot-menu-list/index.js +28 -0
  379. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  380. package/components/slot-menu-list-Cy6tegSf.cjs +44 -0
  381. package/components/slot-menu-list-VuVIRNtr.js +346 -0
  382. package/components/slot-role-classification-Bvt3bI01.cjs +20 -0
  383. package/components/slot-role-classification-CCzj4WgN.js +133 -0
  384. package/components/slots-config-P_GXW0tl.js +77 -0
  385. package/components/slots-config-YdyClHLc.cjs +20 -0
  386. package/components/{speedometer-chart-positioning.config-ChH-uAdS.js → speedometer-chart-positioning.config-Dj6XK0gq.js} +1 -1
  387. package/components/{speedometer-chart-positioning.config-DpBVarun.cjs → speedometer-chart-positioning.config-DzCh70X-.cjs} +1 -1
  388. package/components/{spike-map-positioning.config-BnEQJ-rD.js → spike-map-positioning.config-BG2pKkf7.js} +1 -1
  389. package/components/{spike-map-positioning.config-DrSoa8Ol.cjs → spike-map-positioning.config-BQIg4Z0U.cjs} +1 -1
  390. package/components/{strip-plot-positioning.config-DlkZ1i6m.cjs → strip-plot-positioning.config-D3ZNgtC4.cjs} +1 -1
  391. package/components/{strip-plot-positioning.config-Be5Desz2.js → strip-plot-positioning.config-HZCVc6kX.js} +1 -1
  392. package/components/{sunburst-chart-positioning.config-RUEkAgKJ.js → sunburst-chart-positioning.config-0O9eMweg.js} +1 -1
  393. package/components/{sunburst-chart-positioning.config-D4zzci9s.cjs → sunburst-chart-positioning.config-B-hCz3bI.cjs} +1 -1
  394. package/components/{symbol-map-positioning.config-JzgtULMk.js → symbol-map-positioning.config-Dod98HkQ.js} +1 -1
  395. package/components/{symbol-map-positioning.config-Dmgmyhv7.cjs → symbol-map-positioning.config-aHnkaWU6.cjs} +1 -1
  396. package/components/{treemap-chart-positioning.config-CSt_vVgw.js → treemap-chart-positioning.config-XB1_FmX-.js} +1 -1
  397. package/components/{treemap-chart-positioning.config-CqHJxz2j.cjs → treemap-chart-positioning.config-qhPL49um.cjs} +1 -1
  398. package/components/utils/base.cjs +1 -1
  399. package/components/utils/base.js +2 -2
  400. package/components/utils-B1BzV2xl.cjs +20 -0
  401. package/components/{utils-DLTDAer5.js → utils-BMOxXnnX.js} +42 -41
  402. package/components/utils.cjs +1 -1
  403. package/components/utils.js +8 -5
  404. package/components/{venn-diagram-positioning.config-DsPI8qfG.js → venn-diagram-positioning.config-Bh1ypVKP.js} +1 -1
  405. package/components/{venn-diagram-positioning.config-CzhNTma3.cjs → venn-diagram-positioning.config-CimHfhlV.cjs} +1 -1
  406. package/components/viz-item-menu/index.cjs +20 -0
  407. package/components/viz-item-menu/index.d.ts +8 -0
  408. package/components/viz-item-menu/index.js +28 -0
  409. package/components/viz-item-menu/types.d.ts +9 -0
  410. package/components/viz-item-menu/viz-item-menu.d.ts +75 -0
  411. package/components/viz-item-menu-CTPd7QMx.cjs +55 -0
  412. package/components/viz-item-menu-sOvrO3Ku.js +170 -0
  413. package/components/{wordcloud-chart-positioning.config-moNJfL1M.cjs → wordcloud-chart-positioning.config-BR_g8Now.cjs} +1 -1
  414. package/components/{wordcloud-chart-positioning.config-BUE8e4fN.js → wordcloud-chart-positioning.config-CmakCQG0.js} +1 -1
  415. package/custom-elements.json +15942 -5759
  416. package/index.d.ts +24 -0
  417. package/package.json +126 -1
  418. package/react/README.md +31 -6
  419. package/react/components/ai-chat/empty-state/index.ts +1 -0
  420. package/react/components/ai-chat/empty-state/types.ts +16 -0
  421. package/react/components/ai-chat/stream/index.ts +1 -0
  422. package/react/components/ai-chat/stream/types.ts +60 -0
  423. package/react/components/ai-chat.component.ts +45 -0
  424. package/react/components/ai-interaction-textarea/index.ts +1 -0
  425. package/react/components/ai-interaction-textarea/types.ts +6 -0
  426. package/react/components/ai-interaction-textarea.component.ts +30 -0
  427. package/react/components/data-field-level.component.ts +30 -0
  428. package/react/components/data-fields-select/index.ts +1 -0
  429. package/react/components/data-fields-select/types.ts +5 -0
  430. package/react/components/data-fields-select.component.ts +27 -0
  431. package/react/components/dataset-icon/index.ts +1 -0
  432. package/react/components/dataset-icon/types.ts +8 -0
  433. package/react/components/dataset-icon.component.ts +22 -0
  434. package/react/components/dataset-selector-list.component.ts +27 -0
  435. package/react/components/dataset-selector-row.component.ts +30 -0
  436. package/react/components/display-settings/index.ts +1 -0
  437. package/react/components/display-settings/types.ts +12 -0
  438. package/react/components/display-settings-binning.component.ts +27 -0
  439. package/react/components/display-settings-datetime.component.ts +27 -0
  440. package/react/components/display-settings-grand-totals.component.ts +27 -0
  441. package/react/components/display-settings-numeric.component.ts +27 -0
  442. package/react/components/display-settings-period-over-period.component.ts +27 -0
  443. package/react/components/display-settings.component.ts +33 -0
  444. package/react/components/filter-expression-picker.component.ts +27 -0
  445. package/react/components/filter-item.component.ts +27 -0
  446. package/react/components/filter-parameter-picker.component.ts +22 -0
  447. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  448. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  449. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  450. package/react/components/filter-value-picker.component.ts +27 -0
  451. package/react/components/formula-draggable-field/index.ts +1 -0
  452. package/react/components/formula-draggable-field/types.ts +26 -0
  453. package/react/components/formula-field.component.ts +30 -0
  454. package/react/components/interactive-viz-item/index.ts +1 -0
  455. package/react/components/interactive-viz-item/types.ts +122 -0
  456. package/react/components/interactive-viz-item.component.ts +33 -0
  457. package/react/components/slot-menu/index.ts +1 -0
  458. package/react/components/slot-menu/types.ts +29 -0
  459. package/react/components/slot-menu-list.component.ts +27 -0
  460. package/react/components/slot-menu.component.ts +42 -0
  461. package/react/components/viz-item-menu/index.ts +1 -0
  462. package/react/components/viz-item-menu/types.ts +11 -0
  463. package/react/components/viz-item-menu.component.ts +33 -0
  464. package/react/esm/components/ai-chat/empty-state/index.d.ts +1 -0
  465. package/react/esm/components/ai-chat/empty-state/index.js +1 -0
  466. package/react/esm/components/ai-chat/empty-state/types.d.ts +14 -0
  467. package/react/esm/components/ai-chat/empty-state/types.js +1 -0
  468. package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
  469. package/react/esm/components/ai-chat/stream/index.js +1 -0
  470. package/react/esm/components/ai-chat/stream/types.d.ts +55 -0
  471. package/react/esm/components/ai-chat/stream/types.js +1 -0
  472. package/react/esm/components/ai-chat.component.d.ts +24 -0
  473. package/react/esm/components/ai-chat.component.js +29 -0
  474. package/react/esm/components/ai-interaction-textarea/index.d.ts +1 -0
  475. package/react/esm/components/ai-interaction-textarea/index.js +1 -0
  476. package/react/esm/components/ai-interaction-textarea/types.d.ts +5 -0
  477. package/react/esm/components/ai-interaction-textarea/types.js +1 -0
  478. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  479. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  480. package/react/esm/components/data-field-level.component.d.ts +14 -0
  481. package/react/esm/components/data-field-level.component.js +19 -0
  482. package/react/esm/components/data-fields-select/index.d.ts +1 -0
  483. package/react/esm/components/data-fields-select/index.js +1 -0
  484. package/react/esm/components/data-fields-select/types.d.ts +4 -0
  485. package/react/esm/components/data-fields-select/types.js +1 -0
  486. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  487. package/react/esm/components/data-fields-select.component.js +17 -0
  488. package/react/esm/components/dataset-icon/index.d.ts +1 -0
  489. package/react/esm/components/dataset-icon/index.js +1 -0
  490. package/react/esm/components/dataset-icon/types.d.ts +11 -0
  491. package/react/esm/components/dataset-icon/types.js +1 -0
  492. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  493. package/react/esm/components/dataset-icon.component.js +13 -0
  494. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  495. package/react/esm/components/dataset-selector-list.component.js +17 -0
  496. package/react/esm/components/dataset-selector-row.component.d.ts +14 -0
  497. package/react/esm/components/dataset-selector-row.component.js +19 -0
  498. package/react/esm/components/display-settings/index.d.ts +1 -0
  499. package/react/esm/components/display-settings/index.js +1 -0
  500. package/react/esm/components/display-settings/types.d.ts +9 -0
  501. package/react/esm/components/display-settings/types.js +1 -0
  502. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  503. package/react/esm/components/display-settings-binning.component.js +17 -0
  504. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  505. package/react/esm/components/display-settings-datetime.component.js +17 -0
  506. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  507. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  508. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  509. package/react/esm/components/display-settings-numeric.component.js +17 -0
  510. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  511. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  512. package/react/esm/components/display-settings.component.d.ts +16 -0
  513. package/react/esm/components/display-settings.component.js +21 -0
  514. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  515. package/react/esm/components/filter-expression-picker.component.js +17 -0
  516. package/react/esm/components/filter-item.component.d.ts +12 -0
  517. package/react/esm/components/filter-item.component.js +17 -0
  518. package/react/esm/components/filter-parameter-picker.component.d.ts +8 -0
  519. package/react/esm/components/filter-parameter-picker.component.js +13 -0
  520. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  521. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  522. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  523. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  524. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  525. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  526. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  527. package/react/esm/components/filter-value-picker.component.js +17 -0
  528. package/react/esm/components/formula-draggable-field/index.d.ts +1 -0
  529. package/react/esm/components/formula-draggable-field/index.js +1 -0
  530. package/react/esm/components/formula-draggable-field/types.d.ts +24 -0
  531. package/react/esm/components/formula-draggable-field/types.js +1 -0
  532. package/react/esm/components/formula-field.component.d.ts +14 -0
  533. package/react/esm/components/formula-field.component.js +19 -0
  534. package/react/esm/components/interactive-viz-item/index.d.ts +1 -0
  535. package/react/esm/components/interactive-viz-item/index.js +1 -0
  536. package/react/esm/components/interactive-viz-item/types.d.ts +117 -0
  537. package/react/esm/components/interactive-viz-item/types.js +16 -0
  538. package/react/esm/components/interactive-viz-item.component.d.ts +16 -0
  539. package/react/esm/components/interactive-viz-item.component.js +21 -0
  540. package/react/esm/components/slot-menu/index.d.ts +1 -0
  541. package/react/esm/components/slot-menu/index.js +1 -0
  542. package/react/esm/components/slot-menu/types.d.ts +24 -0
  543. package/react/esm/components/slot-menu/types.js +1 -0
  544. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  545. package/react/esm/components/slot-menu-list.component.js +17 -0
  546. package/react/esm/components/slot-menu.component.d.ts +22 -0
  547. package/react/esm/components/slot-menu.component.js +27 -0
  548. package/react/esm/components/viz-item-menu/index.d.ts +1 -0
  549. package/react/esm/components/viz-item-menu/index.js +1 -0
  550. package/react/esm/components/viz-item-menu/types.d.ts +9 -0
  551. package/react/esm/components/viz-item-menu/types.js +1 -0
  552. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  553. package/react/esm/components/viz-item-menu.component.js +21 -0
  554. package/react/esm/index.d.ts +27 -2
  555. package/react/esm/index.js +102 -2
  556. package/react/esm/types.d.ts +15 -0
  557. package/react/index.ts +102 -2
  558. package/react/luzmo-stub.d.ts +164 -0
  559. package/react/types.ts +12 -0
  560. package/storybook/inject-global-vars.d.ts +1 -0
  561. package/storybook/register-components.d.ts +51 -0
  562. package/types/ai-chat.types.d.ts +90 -0
  563. package/types/data-field-events.types.d.ts +7 -0
  564. package/types.d.ts +8 -0
  565. package/components/base-CYiGlWug.cjs +0 -20
  566. package/components/data-field-iGBGWoGH.cjs +0 -89
  567. package/components/data-field-panel-NktuTUUp.cjs +0 -87
  568. package/components/data-fields-select-DL1nFRg3.cjs +0 -41
  569. package/components/display-settings-datetime-25LwuZM_.cjs +0 -217
  570. package/components/display-settings-grand-totals-1tBdxbFY.cjs +0 -44
  571. package/components/display-settings-numeric-Bbx4qmpA.cjs +0 -190
  572. package/components/display-settings-period-over-period-4bJbXWB7.cjs +0 -229
  573. package/components/filters-Bzx4DYm-.cjs +0 -323
  574. package/components/filters-DSod7vIq.js +0 -1637
  575. package/components/formula-DcCDYDt4.cjs +0 -45
  576. package/components/formula-display-store-DxjO7Q-n.cjs +0 -20
  577. package/components/formula-editor-DQp_XiX5.cjs +0 -247
  578. package/components/item-option-C4c-e1QF.cjs +0 -252
  579. package/components/item-option-action-button-group-BU1wvtEd.cjs +0 -53
  580. package/components/item-option-base-DATaPQ-m.cjs +0 -56
  581. package/components/item-option-color-palette-picker-Cc2nTuxC.cjs +0 -40
  582. package/components/item-option-color-range-CTnHZ72E.cjs +0 -98
  583. package/components/item-option-position-picker-DBs4JlFi.cjs +0 -32
  584. package/components/item-option-positions-number-field-DIIEFHd4.cjs +0 -49
  585. package/components/item-slot-drop-UygcXM5D.cjs +0 -91
  586. package/components/item-slot-drop-panel-9T8BWejl.cjs +0 -57
  587. package/components/item-slot-picker-Rnb_wwCV.cjs +0 -174
  588. package/components/item-slot-picker-panel-2VJY6C0b.cjs +0 -81
  589. package/components/load-data-fields-for-datasets-CU75T9Az.js +0 -86
  590. package/components/load-data-fields-for-datasets-DkK1JsFd.cjs +0 -20
  591. package/components/localized-mixin-DAOiXh71.cjs +0 -20
  592. package/components/period-over-period-condition.const-DystGY6B.cjs +0 -20
  593. package/components/slot-menu-BL772rj7.js +0 -1048
  594. package/components/slot-menu-CCbZ-krJ.cjs +0 -215
  595. package/components/utils-Ez3j4EOS.cjs +0 -20
@@ -1,1048 +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 { n as e, o as t, t as n } from "./pragmatic-element-adapter-e5LbH_lv.js";
21
- import { i as r, n as i, t as a } from "./base-p2I4mVSW.js";
22
- import { n as o } from "./localized-mixin-CBMYHOPv.js";
23
- import { t as s } from "./data-broker-CVDImE1j.js";
24
- import { n as c, s as l } from "./type-check-CGREdneG.js";
25
- import { t as u } from "./localize-BT7REYBY.js";
26
- import { a as d, f, i as p, l as m, t as h } from "./period-over-period-condition.const-DLA60ptm.js";
27
- import "./formula-TyfDRy5X.js";
28
- import { t as g } from "./validate-J3P0rm_n.js";
29
- import { n as _, t as v } from "./get-css-variable-COcan5CX.js";
30
- import { luzmoArrows as y, luzmoCalculator as b, luzmoClose12 as ee, luzmoFormula as x, luzmoIcon as S, luzmoInfoCircleOutline as te, luzmoTrashOutline as C } from "@luzmo/icons";
31
- import "@luzmo/lucero/icon";
32
- import { html as w, nothing as ne, unsafeCSS as T } from "lit";
33
- import { property as E, query as D, queryAll as re, state as O } from "lit/decorators.js";
34
- import { msg as k } from "@lit/localize";
35
- import "@luzmo/lucero/tooltip";
36
- import "@luzmo/lucero/action-button";
37
- import "@luzmo/lucero/field-label";
38
- import { ifDefined as A } from "lit/directives/if-defined.js";
39
- import "@luzmo/lucero/text-field";
40
- import { Task as ie } from "@lit/task";
41
- import "@luzmo/lucero/divider";
42
- import { ContextProvider as ae, consume as j, createContext as oe } from "@lit/context";
43
- import { SignalWatcher as M, computed as N, signal as P } from "@lit-labs/signals";
44
- import "@luzmo/lucero/multi-language-field";
45
- import "@luzmo/lucero/progress-circle";
46
- import { guard as F } from "lit/directives/guard.js";
47
- //#region src/utils/data-field-types/default-acceptable-data-field-types.ts
48
- var I = [
49
- "datetime",
50
- "hierarchy",
51
- "numeric",
52
- "spatial",
53
- "array[datetime]",
54
- "array[numeric]",
55
- "array[hierarchy]",
56
- "array[spatial]"
57
- ], L = oe(Symbol("slot-store-context")), R = class {
58
- constructor() {
59
- this.slotContents = P([]), this.slotsContents = P([]), this.periodOverPeriodUiType = P(null), this.linkedDataset = P([]), this._popEnabledChartTypes = [
60
- "area-chart",
61
- "bar-chart",
62
- "combination-chart",
63
- "column-chart",
64
- "line-chart"
65
- ], this.activeSlotContents = N(() => this.slotContents.get()[this.activeIndex.get()]), this.activeIndex = P(0);
66
- }
67
- isArrayColumnType(e) {
68
- return e.startsWith("array[");
69
- }
70
- setPeriodOverPeriodCondition(e, t) {
71
- if (!t?.periodOverPeriod?.newUi) {
72
- this.periodOverPeriodUiType.set(this.oldConditionalLogic(e));
73
- return;
74
- }
75
- this.periodOverPeriodUiType.set(this.getUiConditionToApply(t));
76
- }
77
- getUiConditionToApply(e) {
78
- let t = this.hasDatetimeColumnOnCategoryOrXAxis(), n = e?.periodOverPeriod?.hasConnectedComparisonFilter, r = this.linkedDataset.get().some(({ columns: e }) => e?.some((e) => e.type === "datetime"));
79
- return !t && !n && !r ? null : t && n ? h.HasDatetimeColumnAndComparisonFilters : t && !n ? h.HasDatetimeColumnAndNoComparisonFilters : !t && n ? h.NoDatetimeColumnButComparisonFilters : h.NoDatetimeColumnAndNoComparisonFilters;
80
- }
81
- oldConditionalLogic(e) {
82
- let t = this.slotsContents.get() ?? [], n = (t.find((e) => [
83
- "y-axis",
84
- "x-axis",
85
- "row"
86
- ].includes(e.name))?.content ?? [])?.[0] ?? null, r = t.find((e) => e.name === "measure")?.content ?? [];
87
- return n && this._popEnabledChartTypes.includes(e) && n.type === "datetime" && !this.isArrayColumnType(n.type) && (!n.datetimeDisplayMode || n.datetimeDisplayMode === "default") && n.level !== 4 && r.length > 0 ? h.OldImplementation : null;
88
- }
89
- hasDatetimeColumnOnCategoryOrXAxis() {
90
- let e = ((this.slotsContents.get() ?? []).find((e) => ["y-axis", "x-axis"].includes(e.name))?.content ?? [])?.[0] ?? null;
91
- return !!(e && e.type === "datetime" && !this.isArrayColumnType(e.type));
92
- }
93
- setContents(e, t) {
94
- if (this.slotContents.set(e), this.activeIndex.get() >= e.length && this.activeIndex.set(e.length > 0 ? e.length - 1 : 0), t) {
95
- let n = structuredClone(this.slotsContents.get()) ?? [], r = n.find((e) => e.name === t);
96
- r && (r.content = e), this.setFullContents(n);
97
- }
98
- }
99
- setFullContents(e) {
100
- this.slotsContents.set(e);
101
- }
102
- updateActive(e) {
103
- e >= 0 && e < this.slotContents.get().length && this.activeIndex.set(e);
104
- }
105
- updateContent(e, t = this.activeIndex.get()) {
106
- if (t < 0 || t >= this.slotContents.get().length) return;
107
- let n = [...this.slotContents.get()];
108
- n[t] = structuredClone(e), this.slotContents.set(n);
109
- }
110
- removeContent(e) {
111
- if (e < 0 || e >= this.slotContents.get().length) return;
112
- let t = this.slotContents.get().filter((t, n) => n !== e);
113
- this.slotContents.set(t), this.activeIndex.get() >= t.length && this.activeIndex.set(t.length > 0 ? t.length - 1 : 0);
114
- }
115
- }, z = (e) => typeof e == "string" && e.trim().length > 0, B = (e) => !!(e && z(e.formula) && !e.formulaId && !l(e.formula)), V = (e) => !!(e && z(e.expression) && !e.columnId && !e.column && !e.formulaId && !e.formula), H = (e) => V(e) ? e?.expression : B(e) ? e?.formula : void 0, se = (e) => e?.columnId ?? e?.formulaId ?? e?.column ?? e?.formula ?? e?.expression, U = (e, t) => V(e) ? !0 : !e || !B(e) ? !1 : d({
116
- slotName: String(t.name ?? ""),
117
- slotType: t.type,
118
- contentKind: p(e)
119
- }) === "measure", W = (e) => {
120
- let t = B(e);
121
- return w`<span class="calculation-label">
122
- <span class="calculation-label-icon" aria-hidden="true">${S(t ? x : b)}</span>
123
- <span>${t ? k("Formula", { desc: "Label for the formula type" }) : k("Expression", { desc: "Label for the expression type" })}</span>
124
- </span>`;
125
- }, ce = (e, t) => {
126
- let n = {
127
- type: e.type,
128
- datasetId: e.datasetId,
129
- set: e.datasetId
130
- };
131
- "columnId" in e && !c(e.columnId) && e.columnId !== "" ? (n.columnId = e.columnId, n.column = e.columnId) : "formulaId" in e && !c(e.formulaId) && e.formulaId !== "" ? (n.formulaId = e.formulaId, n.formula = e.formulaId) : "formula" in e && typeof e.formula == "string" && e.formula !== "" && (n.formula = e.formula);
132
- let r = e.type === "datetime" || e.type === "array[datetime]", i = { ...e.name ?? { en: "Untitled" } }, a = e.level;
133
- if (r && (a = a ?? e.lowestLevel ?? 9, t)) {
134
- let e = f.shortLevels?.filter((e) => e !== "All") ?? [], t = e[Math.max(0, Math.min(e.length - 1, (a ?? 1) - 1))];
135
- if (t) {
136
- let e = `(${t})`, n = Object.keys(i);
137
- for (let t of n) i[t] = `${i[t]} ${e}`;
138
- }
139
- }
140
- return n.label = i, c(e.subtype) || (n.subtype = e.subtype), "lowestLevel" in e && !c(e.lowestLevel) && (n.lowestLevel = e.lowestLevel), c(e.format) || (n.format = e.format), c(a) || (n.level = a), c(e.lowestLevel) || (n.lowestLevel = e.lowestLevel), e.type === "numeric" && e.subtype === "currency" && e.currency?.symbol && (n.currency = e.currency.symbol), Array.isArray(e.duration_levels) && e.duration_format && (n.duration = {
141
- levels: e.duration_levels,
142
- format: e.duration_format
143
- }), n;
144
- }, le = ":host{font-family:var(--luzmo-display-settings-font-family,var(--luzmo-font-family));font-size:var(--luzmo-display-settings-font-size,var(--display-settings-font-size));color:var(--luzmo-display-settings-font-color,var(--luzmo-font-color))}.settings-container{gap:var(--luzmo-display-settings-vertical-gap,var(--luzmo-spacing-2));flex-direction:column;display:flex}.settings-row{justify-content:flex-start;align-items:center;gap:var(--luzmo-display-settings-gap,var(--display-settings-gap));display:flex}.label-container{align-items:center;gap:var(--luzmo-display-settings-gap,var(--display-settings-gap));min-width:0;display:flex}.calculation-preview{align-items:flex-start}.calculation-preview luzmo-field-label{--luzmo-field-label-side-aligned-height:auto;--luzmo-field-label-min-height:auto;--luzmo-field-label-padding-block:0;--luzmo-field-label-line-height:1.5}.calculation-preview luzmo-formula{max-block-size:6em;max-inline-size:var(--luzmo-display-settings-calculation-max-width,var(--display-settings-calculation-max-width));overflow-wrap:anywhere;align-items:flex-start;min-width:0;display:inline-flex;overflow-y:auto}.calculation-preview luzmo-formula::-webkit-scrollbar{width:var(--luzmo-scrollbar-size)}.calculation-preview luzmo-formula::-webkit-scrollbar-track{background:var(--luzmo-scrollbar-track-background);border-radius:var(--luzmo-scrollbar-track-border-radius)}.calculation-preview luzmo-formula::-webkit-scrollbar-thumb{background:var(--luzmo-scrollbar-thumb-background);border-radius:var(--luzmo-scrollbar-thumb-border-radius)}.calculation-preview luzmo-formula::-webkit-scrollbar-thumb:hover{background:var(--luzmo-scrollbar-thumb-hover-background)}.calculation-preview luzmo-formula{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-scrollbar-thumb-background) var(--luzmo-scrollbar-track-background)}luzmo-divider{margin:var(--luzmo-display-settings-ids-container-vertical-margin,var(--display-settings-ids-container-vertical-margin)) 0}luzmo-tooltip{--tooltip-font-size:var(--luzmo-display-settings-tooltip-font-size,var(--tooltip-font-size))}.setting{align-items:center;display:flex}.label-action-container{justify-content:space-between;align-items:center;gap:var(--luzmo-display-settings-info-to-remove-icon-gap,var(--display-settings-info-to-remove-icon-gap));display:flex}.label-action-container luzmo-action-button{margin-inline-start:var(--luzmo-spacing-2)}.ids-container{gap:var(--luzmo-display-settings-ids-container-gap,var(--luzmo-spacing-2));border-radius:50%;flex-direction:column;display:flex}.id-label{text-transform:var(--luzmo-display-settings-id-label-text-transform,var(--display-settings-id-label-text-transform));font-size:var(--luzmo-display-settings-id-label-font-size,var(--display-settings-id-label-font-size));color:var(--luzmo-display-settings-id-label-color,var(--display-settings-id-label-color))}.id-value{-webkit-user-select:text;user-select:text;cursor:text}.example-container{line-height:var(--luzmo-display-settings-example-height,var(--display-settings-example-height));font-size:var(--luzmo-display-settings-example-font-size,var(--display-settings-example-font-size));color:var(--luzmo-display-settings-example-color,var(--display-settings-example-color))}.example-container .example-label{font-weight:var(--luzmo-display-settings-example-label-font-weight,var(--display-settings-example-label-font-weight));color:var(--luzmo-display-settings-example-label-color,var(--display-settings-example-label-color))}.example-container .example-language{text-transform:uppercase;color:var(--luzmo-display-settings-example-language-color,var(--display-settings-example-language-color))}.example-container{gap:var(--luzmo-display-settings-example-container-gap,var(--luzmo-spacing-2))}:host{--display-settings-font-family:var(--luzmo-font-family);--display-settings-id-label-text-transform:uppercase;--display-settings-id-label-color:var(--luzmo-primary);--display-settings-font-size:var(--luzmo-font-size);--display-settings-id-label-font-size:var(--luzmo-font-size-s);--display-settings-gap:var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin:var(--luzmo-spacing-4);--display-settings-info-to-remove-icon-gap:var(--luzmo-spacing-5);--display-settings-calculation-max-width:20rem}:host([size=s]){--display-settings-id-label-font-size:var(--luzmo-font-size-s);--display-settings-font-size:var(--luzmo-font-size-s);--display-settings-gap:var(--luzmo-spacing-3);--display-settings-ids-container-vertical-margin:var(--luzmo-spacing-3);--display-settings-info-to-remove-icon-gap:var(--luzmo-spacing-4);--display-settings-calculation-max-width:16rem}:host([size=l]){--display-settings-id-label-font-size:var(--luzmo-font-size);--display-settings-font-size:var(--luzmo-font-size-l);--display-settings-gap:var(--luzmo-spacing-4);--display-settings-ids-container-vertical-margin:var(--luzmo-spacing-5);--display-settings-info-to-remove-icon-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--display-settings-calculation-max-width:24rem}:host([size=xl]){--display-settings-id-label-font-size:var(--luzmo-font-size-l);--display-settings-font-size:var(--luzmo-font-size-xl);--display-settings-gap:var(--luzmo-spacing-5);--display-settings-ids-container-vertical-margin:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--display-settings-info-to-remove-icon-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--display-settings-calculation-max-width:28rem}:host{--display-settings-example-font-size:var(--luzmo-font-size);--display-settings-example-color:var(--luzmo-font-color);--display-settings-example-label-font-weight:bold;--display-settings-example-label-color:var(--luzmo-primary);--display-settings-example-language-color:var(--luzmo-primary);--display-settings-example-height:var(--luzmo-component-height)}:host([size=s]){--display-settings-example-height:var(--luzmo-component-height-s);--display-settings-example-font-size:var(--luzmo-font-size-s)}:host([size=l]){--display-settings-example-height:var(--luzmo-component-height-l);--display-settings-example-font-size:var(--luzmo-font-size)}:host([size=xl]){--display-settings-example-height:var(--luzmo-component-height-xl);--display-settings-example-font-size:var(--luzmo-font-size-l)}", G = class extends M(i(r, { validSizes: Object.values(a) })) {
145
- constructor(...e) {
146
- super(...e), this._loadDisplaySettings = new ie(this, {
147
- task: async ([e, t, n, r, i, a]) => {
148
- let o = [];
149
- a && o.push("grandTotals"), n && o.push("periodOverPeriod"), (e === "numeric" || e === "mixed" && this._currentSlotContent?.type === "numeric") && o.push("numeric"), e !== "numeric" && this._currentSlotContent?.type === "datetime" && o.push("datetime"), !["numeric", "mixed"].includes(e ?? "") && this._currentSlotContent?.type === "numeric" && !r && o.push("binning"), n && !this._settingsTypeLoaded.periodOverPeriod && (await import("./display-settings-period-over-period-lo3myRfT.js").then((e) => e.t), this._settingsTypeLoaded.periodOverPeriod = !0), o.length > 0 && !t && (o.includes("numeric") && !this._settingsTypeLoaded.numeric ? (await import("./display-settings-numeric-CdEgzO7W.js").then((e) => e.t), this._settingsTypeLoaded.numeric = !0) : o.includes("datetime") && !this._settingsTypeLoaded.datetime && i ? (await import("./display-settings-datetime-CLx9sxA7.js").then((e) => e.t), this._settingsTypeLoaded.datetime = !0) : o.includes("binning") && !this._settingsTypeLoaded.binning ? (await import("./display-settings-binning-DGxEB9Fa.js").then((e) => e.t), this._settingsTypeLoaded.binning = !0) : o.includes("grandTotals") && !this._settingsTypeLoaded.grandTotals && (await import("./display-settings-grand-totals-B0Px90rH.js").then((e) => e.t), this._settingsTypeLoaded.grandTotals = !0));
150
- },
151
- args: () => [
152
- this.slotType,
153
- this.hideDisplaySettings,
154
- this._store?.periodOverPeriodUiType.get(),
155
- this.isBinningDisabled,
156
- this.areDatetimeOptionsEnabled,
157
- this.areGrandTotalsEnabled,
158
- this.slotContent
159
- ]
160
- }), this.language = "en", this.contentLanguage = "en", this.slotType = "numeric", this.slotName = "measure", this.slotContent = {}, this.datasetsDataFields = [], this.apiUrl = "https://api.luzmo.com", this.authKey = "", this.authToken = "", this._showIds = !1, this.measureColumns = [], this._settingsTypeLoaded = {
161
- binning: !1,
162
- datetime: !1,
163
- numeric: !1,
164
- grandTotals: !1,
165
- periodOverPeriod: !1,
166
- hierarchy: !0
167
- }, this._currentSlotContent = {};
168
- }
169
- static get styles() {
170
- return [T(le)];
171
- }
172
- _datasetDatetimeColumns() {
173
- return this._store?.linkedDataset.get().flatMap((e) => e.columns?.filter((e) => e.type === "datetime").map((t) => ({
174
- ...t,
175
- datasetId: e.id
176
- })));
177
- }
178
- willUpdate(e) {
179
- let t = this._store?.activeSlotContents.get(), n = this._store?.periodOverPeriodUiType.get();
180
- if (this.periodOverPeriodUiType !== n && (this.periodOverPeriodUiType = n), this._store) {
181
- t !== this._lastStoreContent && (this._lastStoreContent = t, this._currentSlotContent = t ? structuredClone(t) : {});
182
- return;
183
- }
184
- if (e.has("slotContent") || Object.keys(this._currentSlotContent).length === 0) {
185
- let e = this.slotContent;
186
- e && (this._currentSlotContent = structuredClone(e));
187
- }
188
- }
189
- get datasetId() {
190
- return this._currentSlotContent.datasetId ?? this._currentSlotContent.set;
191
- }
192
- get formulaOrColumnId() {
193
- return this._currentSlotContent.formulaId ?? this._currentSlotContent.expression ?? this._currentSlotContent.formula ?? this._currentSlotContent.columnId ?? this._currentSlotContent.column;
194
- }
195
- resetInfoVisibility(e) {
196
- this._showIds && this._toggleIds(e);
197
- }
198
- _onSlotContentChange(e) {
199
- e.stopPropagation(), e.preventDefault(), this._currentSlotContent = structuredClone(e.detail.slotContent), this._sendEvent(), this.requestUpdate();
200
- }
201
- _onLabelChange() {
202
- this._currentSlotContent = structuredClone(this._currentSlotContent), this._currentSlotContent.label = this._multiLanguageFieldElement.value || {}, this._sendEvent(), this.requestUpdate();
203
- }
204
- _sendEvent() {
205
- this.dispatchEvent(new CustomEvent("luzmo-slot-content-changed", {
206
- bubbles: !0,
207
- composed: !0,
208
- cancelable: !0,
209
- detail: { slotContent: { ...this._currentSlotContent } }
210
- })), this._store && (this._store.updateContent({ ...this._currentSlotContent }), this._lastStoreContent = this._store.activeSlotContents.get());
211
- }
212
- _removeEvent() {
213
- this.dispatchEvent(new CustomEvent("luzmo-remove-slot-content", {
214
- bubbles: !0,
215
- composed: !0,
216
- cancelable: !0,
217
- detail: { slotContent: this._currentSlotContent }
218
- }));
219
- }
220
- _toggleIds(e = !0) {
221
- this._showIds = !this._showIds, e && this.dispatchEvent(new CustomEvent("luzmo-info-visibility-changed", { detail: {
222
- isVisible: this._showIds,
223
- slotContent: { ...this._currentSlotContent }
224
- } }));
225
- }
226
- _renderExampleRow() {
227
- let e = this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric", t = this.slotType !== "datetime" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled;
228
- if (!(e || t)) return ne;
229
- let n = !this._currentSlotContent.datetimeDisplayMode || this._currentSlotContent.datetimeDisplayMode === "default", r = e ? 1234.56 : n ? /* @__PURE__ */ new Date() : 1, i = m({
230
- ...this._currentSlotContent,
231
- type: e ? "numeric" : "datetime"
232
- }, {
233
- locale: this.contentLanguage,
234
- level: this._currentSlotContent.level
235
- })(r);
236
- return w`<div class="settings-row example-container">
237
- <span class="example-label"
238
- >${k("Example", { desc: "Label for example" })}:</span
239
- >
240
- <span class="example">${i}</span>
241
- </div>`;
242
- }
243
- _renderDisplaySettings() {
244
- let e = {
245
- name: this.slotName,
246
- type: this.slotType
247
- }, t = U(this._currentSlotContent, e) ? H(this._currentSlotContent) : void 0, n = B(this._currentSlotContent) ? k("Formula", { desc: "Label for the formula type" }) : k("Expression", { desc: "Label for the expression type" }), r = this._currentSlotContent.datasetId ?? this._currentSlotContent.set;
248
- return w`<div class="settings-container">
249
- <div class="settings-row">
250
- <div class="setting">
251
- <div class="label-container">
252
- <luzmo-field-label side-aligned="start" .size=${this.size}
253
- >Label:</luzmo-field-label
254
- >
255
- <luzmo-multi-language-field
256
- label="Label"
257
- .language=${this.contentLanguage}
258
- .value=${this._currentSlotContent.label ?? {}}
259
- .size=${this.size}
260
- debounce="200"
261
- @change=${this._onLabelChange}
262
- ></luzmo-multi-language-field>
263
- </div>
264
- <div class="label-action-container">
265
- <luzmo-action-button quiet .size=${this.size} .label=${k("Show dataset and column IDs", { desc: "Show IDs button label" })} aria-expanded=${this._showIds} @click=${this._toggleIds}>
266
- ${S(te)}
267
- <luzmo-tooltip self-managed placement="top" size=${this.size}>
268
- ${k("Show dataset and column IDs", { desc: "Show IDs button label" })}
269
- </luzmo-tooltip>
270
- </luzmo-action-button>
271
- ${this.showRemoveButton ? w`<luzmo-action-button quiet .size=${this.size} .label=${k("Remove", { desc: "Remove button label" })} @click=${this._removeEvent}>
272
- ${S(C)}
273
- <luzmo-tooltip
274
- self-managed
275
- placement="top"
276
- size=${this.size}
277
- >
278
- ${k("Remove", { desc: "Remove button label" })}
279
- </luzmo-tooltip>
280
- </luzmo-action-button>` : ""}
281
- </div>
282
- </div>
283
- </div>
284
- ${t ? w`<div class="settings-row">
285
- <div class="setting">
286
- <div class="label-container calculation-preview">
287
- <luzmo-field-label side-aligned="start" .size=${this.size}
288
- >${n}:</luzmo-field-label
289
- >
290
- <luzmo-formula
291
- display="text"
292
- .expression=${t}
293
- .datasetsDataFields=${this.datasetsDataFields}
294
- .datasetIds=${r ? [r] : []}
295
- .apiUrl=${this.apiUrl}
296
- .authKey=${this.authKey}
297
- .authToken=${this.authToken}
298
- .contentLanguage=${this.contentLanguage}
299
- .size=${this.size}
300
- ></luzmo-formula>
301
- </div>
302
- </div>
303
- </div>` : ""}
304
- ${this.areGrandTotalsEnabled ? w`<luzmo-display-settings-grand-totals
305
- .language=${this.language}
306
- .slotContent=${this._currentSlotContent}
307
- .size=${this.size}
308
- @luzmo-slot-content-changed=${this._onSlotContentChange}
309
- ></luzmo-display-settings-grand-totals>` : ""}
310
- ${this.slotType === "numeric" || this.slotType === "mixed" && this._currentSlotContent.type === "numeric" ? w`<luzmo-display-settings-numeric
311
- .language=${this.language}
312
- .slotContent=${this._currentSlotContent}
313
- .size=${this.size}
314
- .measureColumns=${this.measureColumns}
315
- .isAggregationDisabled=${this.isAggregationDisabled}
316
- .isCumulativeSumEnabled=${this.isCumulativeSumEnabled}
317
- @luzmo-slot-content-changed=${this._onSlotContentChange}
318
- ></luzmo-display-settings-numeric>` : ""}
319
- ${this.slotType !== "numeric" && this._currentSlotContent.type === "datetime" && this.areDatetimeOptionsEnabled ? w`<luzmo-display-settings-datetime
320
- .language=${this.language}
321
- .contentLanguage=${this.contentLanguage}
322
- .slotContent=${this._currentSlotContent}
323
- .size=${this.size}
324
- @luzmo-slot-content-changed=${this._onSlotContentChange}
325
- ></luzmo-display-settings-datetime>` : ""}
326
- ${!["numeric", "mixed"].includes(this.slotType ?? "") && this._currentSlotContent.type === "numeric" && !this.isBinningDisabled ? w`<luzmo-display-settings-binning
327
- .language=${this.language}
328
- .slotContent=${this._currentSlotContent}
329
- .size=${this.size}
330
- @luzmo-slot-content-changed=${this._onSlotContentChange}
331
- ></luzmo-display-settings-binning>` : ""}
332
- ${this.periodOverPeriodUiType ? w`<luzmo-display-settings-period-over-period
333
- .language=${this.language}
334
- .slotContent=${this._currentSlotContent}
335
- .size=${this.size}
336
- .periodOverPeriodUiType=${this.periodOverPeriodUiType}
337
- .linkedDatasetDatetimeColumns=${this._datasetDatetimeColumns()}
338
- @luzmo-slot-content-changed=${this._onSlotContentChange}
339
- ></luzmo-display-settings-period-over-period>` : ""}
340
- ${this._renderExampleRow()}
341
- </div>
342
- ${this._showIds ? w` <luzmo-divider></luzmo-divider>
343
- <div class="ids-container">
344
- <div>
345
- <span class="id-label"
346
- >${this._currentSlotContent.formula || this._currentSlotContent.formulaId || this._currentSlotContent.expression ? k("Formula", { desc: "Label for the formula type" }) : k("Column", { desc: "Label for column type" })}:
347
- </span>
348
- <span class="id-value">
349
- ${this.formulaOrColumnId}
350
- </span>
351
- </div>
352
- <div>
353
- <span class="id-label">Dataset: </span>
354
- <span class="id-value">
355
- ${this.datasetId}
356
- </span>
357
- </div>
358
- <div></div>
359
- </div>` : ""}`;
360
- }
361
- render() {
362
- return this._loadDisplaySettings.render({
363
- pending: () => w`<luzmo-progress-circle
364
- indeterminate
365
- .label=${k("Loading", { desc: "Loading spinner label" })}
366
- .size=${this.size}
367
- ></luzmo-progress-circle>`,
368
- complete: () => this._renderDisplaySettings(),
369
- error: () => this._renderDisplaySettings()
370
- });
371
- }
372
- disconnectedCallback() {
373
- super.disconnectedCallback?.(), this._loadDisplaySettings.abort?.();
374
- }
375
- };
376
- //#endregion
377
- //#region src/components/display-settings/index.ts
378
- o([E({ type: String })], G.prototype, "language", void 0), o([E({
379
- type: String,
380
- attribute: "content-language"
381
- })], G.prototype, "contentLanguage", void 0), o([E({
382
- type: Boolean,
383
- attribute: "hide-display-settings"
384
- })], G.prototype, "hideDisplaySettings", void 0), o([E({ type: Boolean })], G.prototype, "isBinningDisabled", void 0), o([E({ type: Boolean })], G.prototype, "areDatetimeOptionsEnabled", void 0), o([E({ type: Boolean })], G.prototype, "areGrandTotalsEnabled", void 0), o([E({ type: Boolean })], G.prototype, "isAggregationDisabled", void 0), o([E({ type: Boolean })], G.prototype, "isCumulativeSumEnabled", void 0), o([E({ type: String })], G.prototype, "periodOverPeriodUiType", void 0), o([E({
385
- type: Boolean,
386
- attribute: "show-remove-button"
387
- })], G.prototype, "showRemoveButton", void 0), o([E({
388
- type: String,
389
- attribute: "slot-type"
390
- })], G.prototype, "slotType", void 0), o([E({
391
- type: String,
392
- attribute: "slot-name"
393
- })], G.prototype, "slotName", void 0), o([E({
394
- type: Object,
395
- attribute: !1
396
- })], G.prototype, "slotContent", void 0), o([E({ attribute: !1 })], G.prototype, "datasetsDataFields", void 0), o([E({
397
- type: String,
398
- attribute: "api-url",
399
- reflect: !0
400
- })], G.prototype, "apiUrl", void 0), o([E({
401
- type: String,
402
- attribute: "auth-key",
403
- reflect: !0
404
- })], G.prototype, "authKey", void 0), o([E({
405
- type: String,
406
- attribute: "auth-token",
407
- reflect: !0
408
- })], G.prototype, "authToken", void 0), o([O()], G.prototype, "_showIds", void 0), o([E({
409
- type: Array,
410
- reflect: !1
411
- })], G.prototype, "measureColumns", void 0), o([D("luzmo-multi-language-field")], G.prototype, "_multiLanguageFieldElement", void 0), o([j({
412
- context: L,
413
- subscribe: !0
414
- })], G.prototype, "_store", void 0), customElements.get("luzmo-display-settings") || customElements.define("luzmo-display-settings", G);
415
- //#endregion
416
- //#region src/utils/drag/draggable.ts
417
- function ue({ element: e, handle: t, boundary: n = document.documentElement, onDragStart: r, onDragEnd: i }) {
418
- if (!e || !t) throw Error("makeDraggable: element and handle are required");
419
- let a = e.ownerDocument ?? document, o = -1, s = 0, c = 0, l = 0, u = 0, d = 0, f = 0, p = 0, m = 0, h = (t) => {
420
- if (t.pointerId !== o) return;
421
- let r = t.clientX - s, i = t.clientY - c, a = (n ?? document.documentElement).getBoundingClientRect(), h = l + r, g = u + i;
422
- h = Math.min(Math.max(h, a.left), a.right - d), g = Math.min(Math.max(g, a.top), a.bottom - f);
423
- let _ = h - l, v = g - u, y = p + _, b = m + v;
424
- e.style.transform = `translate3d(${y}px, ${b}px, 0)`;
425
- }, g = (e) => {
426
- e.pointerId === o && (a.removeEventListener("pointermove", h), a.removeEventListener("pointerup", g), o = -1, i?.());
427
- }, _ = (n) => {
428
- if (n.button !== 0) return;
429
- o = n.pointerId;
430
- let i = e.getBoundingClientRect();
431
- l = i.left, u = i.top, d = i.width, f = i.height, s = n.clientX, c = n.clientY;
432
- try {
433
- let t = a.defaultView?.getComputedStyle(e);
434
- if (t) {
435
- let e = new DOMMatrixReadOnly(t.transform);
436
- p = e.m41, m = e.m42;
437
- }
438
- } catch {
439
- p = 0, m = 0;
440
- }
441
- t.setPointerCapture(o), a.addEventListener("pointermove", h), a.addEventListener("pointerup", g), r?.();
442
- };
443
- return t.addEventListener("pointerdown", _), () => {
444
- t.removeEventListener("pointerdown", _), a.removeEventListener("pointermove", h), a.removeEventListener("pointerup", g);
445
- };
446
- }
447
- //#endregion
448
- //#region node_modules/@atlaskit/motion/dist/esm/utils/durations.js
449
- var K = {
450
- none: 0,
451
- small: 100,
452
- medium: 350,
453
- large: 700
454
- }, q = .5;
455
- K.none, K.small * q, K.medium * q, K.large * q;
456
- //#endregion
457
- //#region node_modules/@atlaskit/pragmatic-drag-and-drop-flourish/dist/esm/trigger-post-move-flash.js
458
- function de(e) {
459
- e.animate([{ backgroundColor: "var(--ds-background-selected, #E9F2FF)" }, {}], {
460
- duration: K.large,
461
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1.0)",
462
- iterations: 1
463
- });
464
- }
465
- //#endregion
466
- //#region node_modules/@atlaskit/pragmatic-drag-and-drop-hitbox/dist/esm/closest-edge.js
467
- function J(e, t) {
468
- var n = Object.keys(e);
469
- if (Object.getOwnPropertySymbols) {
470
- var r = Object.getOwnPropertySymbols(e);
471
- t && (r = r.filter(function(t) {
472
- return Object.getOwnPropertyDescriptor(e, t).enumerable;
473
- })), n.push.apply(n, r);
474
- }
475
- return n;
476
- }
477
- function Y(e) {
478
- for (var n = 1; n < arguments.length; n++) {
479
- var r = arguments[n] == null ? {} : arguments[n];
480
- n % 2 ? J(Object(r), !0).forEach(function(n) {
481
- t(e, n, r[n]);
482
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : J(Object(r)).forEach(function(t) {
483
- Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t));
484
- });
485
- }
486
- return e;
487
- }
488
- var fe = {
489
- top: function(e, t) {
490
- return Math.abs(t.y - e.top);
491
- },
492
- right: function(e, t) {
493
- return Math.abs(e.right - t.x);
494
- },
495
- bottom: function(e, t) {
496
- return Math.abs(e.bottom - t.y);
497
- },
498
- left: function(e, t) {
499
- return Math.abs(t.x - e.left);
500
- }
501
- }, X = Symbol("closestEdge");
502
- function pe(e, n) {
503
- var r = n.element, i = n.input, a = n.allowedEdges, o = {
504
- x: i.clientX,
505
- y: i.clientY
506
- }, s = r.getBoundingClientRect(), c = a.map(function(e) {
507
- return {
508
- edge: e,
509
- value: fe[e](s, o)
510
- };
511
- }).sort(function(e, t) {
512
- return e.value - t.value;
513
- })[0]?.edge ?? null;
514
- return Y(Y({}, e), {}, t({}, X, c));
515
- }
516
- function Z(e) {
517
- return e[X] ?? null;
518
- }
519
- //#endregion
520
- //#region src/components/slot-menu-list/slot-menu-list.module.scss?inline
521
- var me = ":host{font-family:var(--luzmo-slot-menu-list-font-family,var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-list-font-size,var(--slot-menu-list-font-size));color:var(--luzmo-slot-menu-list-font-color,var(--luzmo-font-color))}ul{margin:0;padding:0;list-style:none}:host{max-height:var(--luzmo-slot-menu-list-max-height,var(--slot-menu-list-max-height));margin:0;padding:0;list-style:none;overflow-y:auto}:host::-webkit-scrollbar{width:var(--luzmo-slot-menu-list-scrollbar-width,var(--slot-menu-list-scrollbar-width))}:host::-webkit-scrollbar-track{background:var(--luzmo-slot-menu-list-scrollbar-track-background,var(--slot-menu-list-scrollbar-track-background));border-radius:var(--luzmo-slot-menu-list-scrollbar-track-border-radius,var(--slot-menu-list-scrollbar-track-border-radius))}:host::-webkit-scrollbar-thumb{background:var(--luzmo-slot-menu-list-scrollbar-thumb-background,var(--slot-menu-list-scrollbar-thumb-background));border-radius:var(--luzmo-slot-menu-list-scrollbar-thumb-border-radius,var(--slot-menu-list-scrollbar-thumb-border-radius))}:host::-webkit-scrollbar-thumb:hover{background:var(--luzmo-slot-menu-list-scrollbar-thumb-hover-background,var(--slot-menu-list-scrollbar-thumb-hover-background))}:host{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-slot-menu-list-scrollbar-thumb-background,var(--slot-menu-list-scrollbar-thumb-background)) var(--luzmo-slot-menu-list-scrollbar-track-background,var(--slot-menu-list-scrollbar-track-background));border-right:var(--luzmo-slot-menu-list-border-right-width,var(--luzmo-border-width)) solid var(--luzmo-slot-menu-list-border-right-color,var(--luzmo-border-color))}:host li{cursor:pointer;position:relative}:host li:hover{background-color:var(--luzmo-slot-menu-list-background-color-hover,var(--slot-menu-list-background-color-hover))}:host li{border-bottom:var(--luzmo-slot-menu-list-border-bottom-width,var(--slot-menu-list-border-bottom-width)) solid var(--luzmo-slot-menu-list-border-bottom-color,var(--slot-menu-list-border-bottom-color))}:host .active{background-color:var(--luzmo-slot-menu-list-active-background-color,var(--slot-menu-list-active-background-color));color:var(--luzmo-slot-menu-list-active-color,var(--slot-menu-list-active-color))}:host .active:hover{background-color:var(--luzmo-slot-menu-list-active-background-color-hover,var(--slot-menu-list-active-background-color-hover))}:host .active .draggable-slot-content:focus-visible{background-color:var(--luzmo-slot-menu-list-active-background-color-hover,var(--slot-menu-list-active-background-color-hover));outline:none}:host .active .draggable-slot-content-remove:focus-visible{outline-color:var(--luzmo-slot-menu-list-active-color,var(--slot-menu-list-active-color));background-color:var(--luzmo-slot-menu-list-active-background-color-hover,var(--slot-menu-list-active-background-color-hover))}.calculation-label{align-items:center;gap:var(--luzmo-spacing-3);display:inline-flex}.calculation-label-icon{flex:none;display:inline-flex}.drop-indicator{height:var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height));background-color:var(--luzmo-slot-menu-list-drop-indicator-color,var(--slot-menu-list-drop-indicator-color));position:absolute;left:0;right:0}.drop-indicator:before{content:\"\";border:var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height)) solid var(--luzmo-slot-menu-list-drop-indicator-color,var(--slot-menu-list-drop-indicator-color));background:var(--luzmo-slot-menu-list-drop-indicator-background,var(--luzmo-background-color));width:100%;left:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size,var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height))));top:calc(-.5 * (var(--luzmo-slot-menu-list-drop-indicator-circle-size,var(--slot-menu-list-drop-indicator-circle-size)) + var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height))));height:var(--luzmo-slot-menu-list-drop-indicator-circle-size,var(--slot-menu-list-drop-indicator-circle-size));width:var(--luzmo-slot-menu-list-drop-indicator-circle-size,var(--slot-menu-list-drop-indicator-circle-size));border-radius:50%;display:block;position:absolute}.drop-indicator[data-edge=top]{top:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height)))}.drop-indicator[data-edge=bottom]{bottom:calc(-.5 * var(--luzmo-slot-menu-list-drop-indicator-height,var(--slot-menu-list-drop-indicator-height)))}.draggable-slot-content{justify-content:space-between;gap:var(--luzmo-slot-menu-label-to-icon-gap,var(--slot-menu-label-to-icon-gap));touch-action:none;cursor:pointer;align-items:center;display:flex}.draggable-slot-content:focus-visible{background-color:color-mix(in srgb, var(--luzmo-primary) 20%, transparent);outline:none}.draggable-slot-content .draggable-slot-content-label{padding-block:var(--luzmo-slot-menu-list-item-vertical-padding,var(--slot-menu-list-item-vertical-padding));text-overflow:ellipsis;white-space:nowrap;font:inherit;color:inherit;cursor:inherit;text-align:start;background:0 0;border:none;flex:auto;padding-inline-start:var(--luzmo-slot-menu-list-item-horizontal-padding,var(--slot-menu-list-item-horizontal-padding));overflow:hidden}.draggable-slot-content .draggable-slot-content-remove{padding:var(--luzmo-spacing-1);font:inherit;color:inherit;cursor:inherit;border-radius:var(--luzmo-border-radius);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-inline-end:var(--luzmo-slot-menu-list-item-horizontal-padding,var(--slot-menu-list-item-horizontal-padding));display:flex}.draggable-slot-content .draggable-slot-content-remove:focus-visible{outline:var(--luzmo-indicator-width) solid var(--luzmo-indicator-color);outline-offset:1px}:host{--slot-menu-list-active-background-color:var(--luzmo-primary);--slot-menu-list-active-background-color-hover:var(--luzmo-primary-hover);--slot-menu-list-active-color:var(--luzmo-primary-inverse-color);--slot-menu-list-background-color-hover:var(--luzmo-background-color-hover);--slot-menu-list-drop-indicator-color:var(--luzmo-font-color-down);--slot-menu-list-drop-indicator-height:2px;--slot-menu-list-drop-indicator-circle-size:4px;--slot-menu-list-border-bottom-width:0px;--slot-menu-list-border-bottom-color:transparent;--slot-menu-list-max-height:calc(var(--luzmo-component-height) * 4);--slot-menu-list-scrollbar-width:var(--luzmo-scrollbar-size);--slot-menu-list-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--slot-menu-list-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--slot-menu-list-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--slot-menu-list-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--slot-menu-list-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--slot-menu-display-settings-min-width:19rem;--slot-menu-min-height:calc(var(--luzmo-component-height) * 2);--slot-menu-font-size:var(--luzmo-font-size);--slot-menu-list-item-horizontal-padding:var(--luzmo-spacing-4);--slot-menu-list-item-vertical-padding:var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap:var(--luzmo-spacing-3)}:host([size=s]){--slot-menu-display-settings-min-width:16rem;--slot-menu-min-height:calc(var(--luzmo-component-height-s) * 2);--slot-menu-font-size:var(--luzmo-font-size-s);--slot-menu-list-item-horizontal-padding:var(--luzmo-spacing-3);--slot-menu-list-item-vertical-padding:var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap:var(--luzmo-spacing-2)}:host([size=l]){--slot-menu-display-settings-min-width:23rem;--slot-menu-min-height:calc(var(--luzmo-component-height-l) * 2);--slot-menu-font-size:var(--luzmo-font-size-l);--slot-menu-list-item-horizontal-padding:var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding:var(--luzmo-spacing-3);--slot-menu-label-to-icon-gap:var(--luzmo-spacing-4)}:host([size=xl]){--slot-menu-display-settings-min-width:26rem;--slot-menu-min-height:calc(var(--luzmo-component-height-xl) * 2);--slot-menu-font-size:var(--luzmo-font-size-xl);--slot-menu-list-item-horizontal-padding:var(--luzmo-spacing-5);--slot-menu-list-item-vertical-padding:var(--luzmo-spacing-4);--slot-menu-label-to-icon-gap:var(--luzmo-spacing-5)}", Q = class extends i(r, { validSizes: Object.values(a) }) {
522
- constructor(...t) {
523
- super(...t), this.language = "en", this.contentLanguage = "en", this.slotContents = [], this.slotName = "measure", this.slotType = "numeric", this.activeIndex = 0, this._sendChangeEvent = () => {
524
- this.dispatchEvent(new CustomEvent("luzmo-slot-list-changed", {
525
- bubbles: !0,
526
- composed: !0,
527
- cancelable: !0,
528
- detail: {
529
- slotContents: structuredClone(this.slotContents),
530
- activeIndex: this.activeIndex
531
- }
532
- }));
533
- }, this._cleanupFns = [], this._attachAll = () => {
534
- [...this._draggableSlotContentElements].forEach((t) => {
535
- let r = this._sendChangeEvent.bind(this), i = this, a = n({
536
- element: t,
537
- onGenerateDragPreview({ nativeSetDragImage: e }) {
538
- _({
539
- nativeSetDragImage: e,
540
- render({ container: e }) {
541
- let n = document.createElement("div");
542
- n.classList.add("drag-preview");
543
- let r = {};
544
- [
545
- [
546
- "borderColor",
547
- "--luzmo-slot-menu-list-border-color",
548
- "--luzmo-border-color"
549
- ],
550
- [
551
- "backgroundColor",
552
- "--luzmo-slot-menu-list-background-color",
553
- "--luzmo-background-color"
554
- ],
555
- [
556
- "color",
557
- "--luzmo-slot-menu-list-font-color",
558
- "--slot-menu-list-font-color"
559
- ],
560
- [
561
- "fontSize",
562
- "--luzmo-slot-menu-list-font-size",
563
- "--slot-menu-list-font-size"
564
- ],
565
- [
566
- "horizontalPadding",
567
- "--luzmo-slot-menu-list-item-horizontal-padding",
568
- "--slot-menu-list-item-horizontal-padding"
569
- ],
570
- [
571
- "verticalPadding",
572
- "--luzmo-slot-menu-list-item-vertical-padding",
573
- "--slot-menu-list-item-vertical-padding"
574
- ],
575
- [
576
- "borderRadius",
577
- "--luzmo-slot-menu-list-border-radius",
578
- "--luzmo-border-radius"
579
- ],
580
- [
581
- "fontFamily",
582
- "--luzmo-slot-menu-list-font-family",
583
- "--luzmo-font-family"
584
- ]
585
- ].forEach(([e, n, i]) => {
586
- r[e] = v(t, n) || v(t, i);
587
- }), n.textContent = t.querySelector("[data-task-content]")?.textContent || t.dataset.taskLabel || t.textContent, Object.assign(n.style, {
588
- border: `1px solid ${r.borderColor}`,
589
- backgroundColor: r.backgroundColor,
590
- borderRadius: r.borderRadius,
591
- fontFamily: r.fontFamily,
592
- fontSize: r.fontSize,
593
- color: r.color,
594
- paddingInline: `${r.horizontalPadding}`,
595
- paddingBlock: `${r.verticalPadding}`
596
- }), e.append(n);
597
- }
598
- });
599
- },
600
- getInitialData() {
601
- let e = t.parentElement, n = 0;
602
- return e && (n = [...e.parentElement?.children ?? []].indexOf(e)), { index: n };
603
- },
604
- onDragStart() {
605
- t.style.opacity = "0.5";
606
- },
607
- onDrop() {
608
- t.style.opacity = "1";
609
- }
610
- });
611
- this._cleanupFns.push(a);
612
- let o = e({
613
- element: t,
614
- canDrop({ source: e }) {
615
- return e.element === t ? !1 : e?.element?.classList.contains("draggable-slot-content");
616
- },
617
- getData(e) {
618
- return pe({}, {
619
- element: t,
620
- input: e.input,
621
- allowedEdges: ["top", "bottom"]
622
- });
623
- },
624
- getIsSticky() {
625
- return !0;
626
- },
627
- onDragEnter({ self: e }) {
628
- let n = Z(e.data);
629
- if (!n) return;
630
- let r = document.createElement("div");
631
- r.classList.add("drop-indicator"), r.dataset.edge = n, t.after(r);
632
- },
633
- onDrag({ self: e }) {
634
- let n = Z(e.data);
635
- if (!n) {
636
- t.nextElementSibling?.remove();
637
- return;
638
- }
639
- if (t.nextElementSibling?.getAttribute("data-edge") === n) return;
640
- t.nextElementSibling?.remove();
641
- let r = document.createElement("div");
642
- r.classList.add("drop-indicator"), r.dataset.edge = n, t.after(r);
643
- },
644
- onDragLeave() {
645
- t.nextElementSibling?.remove();
646
- },
647
- onDrop({ self: e, source: n }) {
648
- t.nextElementSibling?.remove();
649
- let a = Z(e.data), o = e.element.parentElement;
650
- if (typeof n.data.index == "number" && o) {
651
- let e = [...o.parentElement?.children ?? []].indexOf(o);
652
- a === "bottom" && n.data.index >= e && e < (o?.parentElement?.children?.length ?? 0) - 1 ? e += 1 : a === "top" && e > n.data.index && --e;
653
- let t = i.activeIndex, r = n.data.index, s = e, c = i.slotContents[r];
654
- i.slotContents.splice(r, 1), i.slotContents.splice(s, 0, c), r === t ? i.activeIndex = s : r < t && s >= t ? i.activeIndex = t - 1 : r > t && s <= t && (i.activeIndex = t + 1);
655
- }
656
- a && (de(n.element), i.requestUpdate(), r());
657
- }
658
- });
659
- this._cleanupFns.push(o);
660
- });
661
- }, this._detachAll = () => {
662
- this._cleanupFns.forEach((e) => e()), this._cleanupFns = [];
663
- };
664
- }
665
- static get styles() {
666
- return [T(me)];
667
- }
668
- willUpdate() {
669
- this._detachAll();
670
- }
671
- updated() {
672
- this._attachAll();
673
- }
674
- disconnectedCallback() {
675
- super.disconnectedCallback(), this._detachAll();
676
- }
677
- setActiveIndex(e) {
678
- this.activeIndex = e, this._sendChangeEvent();
679
- }
680
- removeSlotContent(e) {
681
- this.slotContents = this.slotContents.filter((t, n) => n !== e), this.activeIndex = this.slotContents.length === 0 ? 0 : Math.min(this.activeIndex, this.slotContents.length - 1), this._sendChangeEvent();
682
- }
683
- _moveItem(e, t) {
684
- let n = this.slotContents[e], r = [...this.slotContents];
685
- r.splice(e, 1), r.splice(t, 0, n), this.slotContents = r, this.activeIndex === e ? this.activeIndex = t : e < this.activeIndex && t >= this.activeIndex ? --this.activeIndex : e > this.activeIndex && t <= this.activeIndex && (this.activeIndex += 1), this._sendChangeEvent(), this.updateComplete.then(() => this._draggableSlotContentElements[t]?.focus());
686
- }
687
- _handleContentKeydown(e, t) {
688
- switch (t.key) {
689
- case " ":
690
- case "Enter":
691
- t.preventDefault(), this.setActiveIndex(e);
692
- break;
693
- case "ArrowUp":
694
- t.preventDefault(), t.altKey && e > 0 ? this._moveItem(e, e - 1) : !t.altKey && e > 0 && this._draggableSlotContentElements[e - 1]?.focus();
695
- break;
696
- case "ArrowDown":
697
- t.preventDefault(), t.altKey && e < this.slotContents.length - 1 ? this._moveItem(e, e + 1) : !t.altKey && e < this.slotContents.length - 1 && this._draggableSlotContentElements[e + 1]?.focus();
698
- break;
699
- }
700
- }
701
- _handleTrashClick(e, t) {
702
- t.stopPropagation(), this.removeSlotContent(e);
703
- }
704
- _handleTrashKeydown(e) {
705
- (e.key === " " || e.key === "Enter") && e.stopPropagation();
706
- }
707
- render() {
708
- let e = {
709
- name: this.slotName,
710
- type: this.slotType
711
- }, t = this.slotContents.map((t, n) => {
712
- let r = u(t.label ?? {}, this.contentLanguage) ?? k("Untitled", { desc: "Fallback label for a slot content without a name" }), i = U(t, e) ? H(t) : void 0, a = n === this.activeIndex;
713
- return w`<li class=${a ? "active" : ""}>
714
- <div class="draggable-slot-content"
715
- data-task-label=${i ?? r}
716
- tabindex="0"
717
- role="option"
718
- aria-selected=${a ? "true" : "false"}
719
- @click=${this.setActiveIndex.bind(this, n)}
720
- @keydown=${this._handleContentKeydown.bind(this, n)}
721
- >
722
- <span class="draggable-slot-content-label" data-task-content>
723
- ${i ? W(t) : r}
724
- </span>
725
- <button
726
- class="draggable-slot-content-remove"
727
- aria-label=${k("Remove", { desc: "Remove button label" })}
728
- @click=${this._handleTrashClick.bind(this, n)}
729
- @keydown=${this._handleTrashKeydown}
730
- >
731
- ${S(C)}
732
- </button>
733
- </div>
734
- </li>`;
735
- });
736
- return w`<ul role="listbox" aria-label=${k("Slot contents", { desc: "Accessible label for slot menu content list" })}>${t}</ul>`;
737
- }
738
- };
739
- //#endregion
740
- //#region src/components/slot-menu-list/index.ts
741
- o([E({
742
- type: String,
743
- reflect: !0
744
- })], Q.prototype, "language", void 0), o([E({
745
- type: String,
746
- attribute: "content-language",
747
- reflect: !0
748
- })], Q.prototype, "contentLanguage", void 0), o([re(".draggable-slot-content")], Q.prototype, "_draggableSlotContentElements", void 0), o([E({ type: Array })], Q.prototype, "slotContents", void 0), o([E({
749
- type: String,
750
- attribute: "slot-name",
751
- reflect: !0
752
- })], Q.prototype, "slotName", void 0), o([E({
753
- type: String,
754
- attribute: "slot-type",
755
- reflect: !0
756
- })], Q.prototype, "slotType", void 0), o([E({ type: Number })], Q.prototype, "activeIndex", void 0), customElements.get("luzmo-slot-menu-list") || customElements.define("luzmo-slot-menu-list", Q);
757
- //#endregion
758
- //#region src/components/slot-menu/slot-menu.module.scss?inline
759
- var he = ":host{font-family:var(--luzmo-slot-menu-font-family,var(--luzmo-font-family));font-size:var(--luzmo-slot-menu-font-size,var(--slot-menu-font-size));color:var(--luzmo-slot-menu-font-color,var(--luzmo-font-color));width:fit-content;display:block}luzmo-slot-menu-list{min-width:var(--luzmo-slot-menu-list-min-width,var(--slot-menu-list-min-width));max-width:var(--luzmo-slot-menu-list-max-width,var(--slot-menu-list-max-width));background-color:var(--luzmo-slot-menu-list-background-color,var(--slot-menu-list-background-color));border-bottom-left-radius:var(--luzmo-slot-menu-list-border-radius,var(--slot-menu-list-border-radius))}.slot-contents-container{border:var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color,var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius,var(--luzmo-border-radius));background:var(--luzmo-slot-menu-background-color,var(--luzmo-background-color));--slot-menu-popup-filter:drop-shadow(var(--luzmo-slot-menu-popup-shadow-horizontal,var(--slot-menu-popup-shadow-horizontal)) var(--luzmo-slot-menu-popup-shadow-vertical,var(--slot-menu-popup-shadow-vertical)) var(--luzmo-slot-menu-popup-shadow-blur,var(--slot-menu-popup-shadow-blur)) var(--luzmo-slot-menu-popup-shadow-color,var(--slot-menu-popup-shadow-color)));filter:var(--luzmo-slot-menu-popup-filter,var(--slot-menu-popup-filter));border-top-left-radius:0;position:relative}.slot-contents-container .inner-container{align-items:stretch;display:flex}.slot-contents-container .inner-container luzmo-display-settings{min-width:var(--luzmo-slot-menu-display-settings-min-width,var(--slot-menu-display-settings-min-width));padding:var(--luzmo-slot-menu-display-settings-vertical-padding,var(--slot-menu-display-settings-vertical-padding)) var(--luzmo-slot-menu-display-settings-horizontal-padding,var(--slot-menu-display-settings-horizontal-padding))}.slot-contents-container:has(>.close) .inner-container luzmo-display-settings{padding-block-start:var(--luzmo-slot-menu-close-button-clearance,var(--slot-menu-close-button-clearance))}:host([variant=popup]) .slot-contents-container{border-top-left-radius:var(--luzmo-slot-menu-border-radius,var(--luzmo-border-radius));overflow:hidden}.slot-menu-top-menu{border-radius:var(--luzmo-slot-menu-border-radius,var(--luzmo-border-radius));z-index:1;width:fit-content;margin-bottom:calc(-1 * var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)));border-bottom-right-radius:0;border-bottom-left-radius:0;align-items:center;display:flex;position:relative;overflow:hidden}.drag-handle{background-color:var(--luzmo-slot-menu-drag-handle-background-color,var(--luzmo-background-color-highlight));cursor:move;border:var(--luzmo-slot-menu-drag-handle-border-width,var(--slot-menu-drag-handle-border-width)) solid var(--luzmo-slot-menu-border-color,var(--luzmo-background-color-highlight));width:fit-content;font-size:var(--luzmo-slot-menu-drag-handle-size,var(--slot-menu-drag-handle-size));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding,var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding,var(--slot-menu-drag-handle-horizontal-padding));border-bottom:none}.drag-handle:hover{background-color:var(--luzmo-slot-menu-drag-handle-background-color-hover,var(--luzmo-background-color-highlight-hover))}.drag-handle:focus-visible{box-shadow:0 0 0 var(--luzmo-indicator-width) var(--luzmo-indicator-color)}.slot-content-action{max-width:var(--luzmo-slot-menu-top-menu-label-max-width,var(--slot-menu-top-menu-label-max-width));gap:var(--luzmo-slot-menu-label-to-icon-gap,var(--slot-menu-label-to-icon-gap));background-color:var(--luzmo-slot-menu-content-label-background-color,var(--luzmo-primary));color:var(--luzmo-slot-menu-content-label-color,var(--luzmo-primary-inverse-color));border:var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)) solid var(--luzmo-slot-menu-content-label-border-color,var(--luzmo-primary));padding:var(--luzmo-slot-menu-drag-handle-vertical-padding,var(--slot-menu-drag-handle-vertical-padding)) var(--luzmo-slot-menu-drag-handle-horizontal-padding,var(--slot-menu-drag-handle-horizontal-padding));border-bottom:none;flex:0 auto;display:flex}.slot-content-action:hover{background-color:var(--luzmo-slot-menu-content-label-background-color-hover,var(--luzmo-primary-hover))}.slot-content-action:focus{background-color:var(--luzmo-slot-menu-content-label-background-color-focus,var(--luzmo-primary-focus))}.slot-content-action .slot-content-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.slot-content-action .slot-content-remove{cursor:pointer;border-radius:var(--luzmo-slot-menu-border-radius,var(--luzmo-border-radius));font:inherit;color:inherit;background:0 0;border:none;flex:none;padding:0}.slot-content-action .slot-content-remove:focus-visible{background-color:var(--luzmo-slot-menu-content-label-background-color-focus,var(--luzmo-primary-focus));box-shadow:0 0 0 var(--luzmo-indicator-width) var(--luzmo-slot-menu-content-label-color,var(--luzmo-primary-inverse-color));outline:none}.calculation-label{align-items:center;gap:var(--luzmo-spacing-3);display:inline-flex}.calculation-label-icon{flex:none;display:inline-flex}.close{font:inherit;color:inherit;right:var(--luzmo-slot-menu-close-icon-right,var(--slot-menu-close-icon-right));cursor:pointer;top:calc(-2 * var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)));background:0 0;background-color:var(--luzmo-slot-menu-close-button-background-color,var(--luzmo-background-color-highlight));font-size:var(--luzmo-slot-menu-close-button-size,var(--slot-menu-close-button-size));border:none;border:var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)) solid var(--luzmo-slot-menu-border-color,var(--luzmo-border-color));border-radius:var(--luzmo-slot-menu-border-radius,var(--luzmo-border-radius));padding:0;padding:var(--luzmo-slot-menu-close-button-vertical-padding,var(--slot-menu-close-button-vertical-padding)) var(--luzmo-slot-menu-close-button-horizontal-padding,var(--slot-menu-close-button-horizontal-padding));border-top-left-radius:0;border-top-right-radius:0;position:absolute}.close:hover{background-color:var(--luzmo-slot-menu-close-button-background-color-hover,var(--luzmo-background-color-highlight-hover))}.close:focus-visible{border-color:var(--luzmo-indicator-color);outline:none}:host{--slot-menu-display-settings-min-width:19rem;--slot-menu-min-height:calc(var(--luzmo-component-height) * 2);--slot-menu-font-size:var(--luzmo-font-size);--slot-menu-display-settings-horizontal-padding:var(--luzmo-spacing-5);--slot-menu-display-settings-vertical-padding:var(--luzmo-spacing-4);--slot-menu-top-menu-label-max-width:12rem;--slot-menu-list-min-width:8rem;--slot-menu-list-max-width:12rem;--slot-menu-label-to-icon-gap:var(--luzmo-spacing-3);--slot-menu-drag-handle-size:var(--luzmo-font-size);--slot-menu-drag-handle-vertical-padding:var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding:var(--luzmo-spacing-3);--slot-menu-drag-handle-border-width:var(--luzmo-border-width);--slot-menu-close-button-size:var(--luzmo-font-size-s);--slot-menu-close-button-vertical-padding:var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--slot-menu-close-button-clearance:calc(var(--luzmo-slot-menu-close-button-size,var(--slot-menu-close-button-size)) + 2 * var(--luzmo-slot-menu-close-button-vertical-padding,var(--slot-menu-close-button-vertical-padding)) + 2 * var(--luzmo-slot-menu-border-width,var(--luzmo-border-width)) + var(--luzmo-spacing-2));--slot-menu-popup-shadow-horizontal:0;--slot-menu-popup-shadow-vertical:1px;--slot-menu-popup-shadow-blur:4px;--slot-menu-popup-shadow-color:var(--luzmo-border-color);--slot-menu-popup-box-shadow:var(--slot-menu-popup-shadow-horizontal) var(--slot-menu-popup-shadow-vertical) var(--slot-menu-popup-shadow-blur) var(--slot-menu-popup-shadow-color);--slot-menu-close-icon-right:1rem;--slot-menu-list-border-radius:var(--luzmo-border-radius)}:host([size=s]){--slot-menu-display-settings-min-width:16rem;--slot-menu-min-height:calc(var(--luzmo-component-height-s) * 2);--slot-menu-font-size:var(--luzmo-font-size-s);--slot-menu-display-settings-horizontal-padding:var(--luzmo-spacing-4);--slot-menu-display-settings-vertical-padding:var(--luzmo-spacing-3);--slot-menu-top-menu-label-max-width:10rem;--slot-menu-list-min-width:6rem;--slot-menu-list-max-width:10rem;--slot-menu-label-to-icon-gap:var(--luzmo-spacing-2);--slot-menu-drag-handle-size:var(--luzmo-font-size-s);--slot-menu-drag-handle-vertical-padding:var(--luzmo-spacing-2);--slot-menu-drag-handle-horizontal-padding:var(--luzmo-spacing-3);--slot-menu-close-button-size:var(--luzmo-font-size-xs);--slot-menu-close-button-vertical-padding:var(--luzmo-spacing-2);--slot-menu-close-button-horizontal-padding:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1))}:host([size=l]){--slot-menu-display-settings-min-width:23rem;--slot-menu-min-height:calc(var(--luzmo-component-height-l) * 2);--slot-menu-font-size:var(--luzmo-font-size-l);--slot-menu-display-settings-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--slot-menu-display-settings-vertical-padding:var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width:14rem;--slot-menu-list-min-width:9rem;--slot-menu-list-max-width:14rem;--slot-menu-label-to-icon-gap:var(--luzmo-spacing-4);--slot-menu-drag-handle-size:var(--luzmo-font-size-l);--slot-menu-drag-handle-vertical-padding:var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding:var(--luzmo-spacing-3);--slot-menu-close-button-size:var(--luzmo-font-size);--slot-menu-close-button-vertical-padding:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--slot-menu-close-button-horizontal-padding:var(--luzmo-spacing-3)}:host([size=xl]){--slot-menu-display-settings-min-width:26rem;--slot-menu-min-height:calc(var(--luzmo-component-height-xl) * 2);--slot-menu-font-size:var(--luzmo-font-size-xl);--slot-menu-display-settings-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--slot-menu-display-settings-vertical-padding:var(--luzmo-spacing-5);--slot-menu-top-menu-label-max-width:16rem;--slot-menu-list-min-width:10rem;--slot-menu-list-max-width:16rem;--slot-menu-label-to-icon-gap:var(--luzmo-spacing-5);--slot-menu-drag-handle-size:var(--luzmo-font-size-xl);--slot-menu-drag-handle-vertical-padding:var(--luzmo-spacing-3);--slot-menu-drag-handle-horizontal-padding:var(--luzmo-spacing-4);--slot-menu-close-button-size:var(--luzmo-font-size-l);--slot-menu-close-button-vertical-padding:var(--luzmo-spacing-3);--slot-menu-close-button-horizontal-padding:var(--luzmo-spacing-3)}", $ = class extends M(i(r, { validSizes: Object.values(a) })) {
760
- constructor(...e) {
761
- super(...e), this.language = "en", this.contentLanguage = "en", this.slotType = "numeric", this.variant = "draggable", this._periodOverPeriodUiType = null, this.measureColumns = [], this.apiUrl = "https://api.luzmo.com", this.authKey = "", this.authToken = "", this.datasetsDataFields = [], this._slotContents = [], this._activeIndex = this.slotIndex ?? 0, this._linkedDatasetsIds = [];
762
- }
763
- static get styles() {
764
- return [T(he)];
765
- }
766
- get _store() {
767
- return this._consumedStore ? this._consumedStore : (this._ownStore || (this._ownStore = new R(), new ae(this, {
768
- context: L,
769
- initialValue: this._ownStore
770
- })), this._ownStore);
771
- }
772
- get _currentSlotContent() {
773
- return this._slotContents[this.slotIndex ?? this._activeIndex] ?? {};
774
- }
775
- get _currentLabel() {
776
- return u(this._currentSlotContent.label, this.contentLanguage) ?? "Untitled";
777
- }
778
- _renderCurrentLabel() {
779
- let e = {
780
- name: this.slotName,
781
- type: this.slotType
782
- };
783
- return U(this._currentSlotContent, e) ? W(this._currentSlotContent) : this._currentLabel;
784
- }
785
- connectedCallback() {
786
- let e = {};
787
- this.apiUrl && (e.apiUrl = this.apiUrl), this.authKey && this.authToken && (e.authKey = this.authKey, e.authToken = this.authToken), s.configure(e), super.connectedCallback(), this._attachDragHandle();
788
- }
789
- disconnectedCallback() {
790
- super.disconnectedCallback(), this._cleanupDrag &&= (this._cleanupDrag(), void 0), this._panelResizeObserver?.disconnect(), this._panelResizeObserver = void 0;
791
- }
792
- _syncListMaxHeight() {
793
- let e = this.displaySettingsElement, t = this.slotMenuListElement;
794
- if (!e || !t) return;
795
- let n = e.offsetHeight;
796
- n > 0 && t.style.setProperty("--luzmo-slot-menu-list-max-height", `${n}px`);
797
- }
798
- _observePanelResize() {
799
- let e = this.displaySettingsElement;
800
- e && (this._panelResizeObserver ||= new ResizeObserver(() => this._syncListMaxHeight()), this._panelResizeObserver.disconnect(), this._panelResizeObserver.observe(e), this._syncListMaxHeight());
801
- }
802
- _attachDragHandle() {
803
- if (this._cleanupDrag || this.variant !== "draggable" || this.noDrag) return;
804
- let e = this.renderRoot.querySelector(".drag-handle");
805
- if (!e) return;
806
- let t = this.dragBoundary ? document.querySelector(this.dragBoundary) : document.documentElement;
807
- this._cleanupDrag = ue({
808
- element: this,
809
- handle: e,
810
- boundary: t
811
- });
812
- }
813
- _sendChangeEvent() {
814
- let e = this._store.slotContents.get();
815
- this.dispatchEvent(new CustomEvent("luzmo-slot-contents-changed", {
816
- bubbles: !0,
817
- composed: !0,
818
- cancelable: !0,
819
- detail: {
820
- slotContents: structuredClone(e),
821
- linkedDatasetsIds: [...this._linkedDatasetsIds]
822
- }
823
- }));
824
- }
825
- resetInfoVisibility() {
826
- this.displaySettingsElement?.resetInfoVisibility && this.displaySettingsElement.resetInfoVisibility(!1);
827
- }
828
- _sendCloseEvent() {
829
- this.dispatchEvent(new CustomEvent("luzmo-close", {
830
- bubbles: !0,
831
- composed: !0,
832
- cancelable: !0
833
- }));
834
- }
835
- isArrayColumnType(e) {
836
- return e.startsWith("array[");
837
- }
838
- async willUpdate(e) {
839
- let t = this._store, n = t.slotContents.get(), r = e.has("slotContents");
840
- Array.isArray(this.slotContents) && (n.length === 0 || r) && t.setContents(structuredClone(this.slotContents), this.slotName);
841
- let i = t.slotContents.get();
842
- if (i !== this._slotContents) {
843
- this._slotContents = i;
844
- let { set: e, column: n } = this._currentSlotContent;
845
- if (e && g(e) && e !== this._lastFetchedDatasetId) {
846
- if (this._lastFetchedDatasetId = e, await s.fetchDatasetsRecursive([e]), !this.isConnected) return;
847
- this._linkedDatasetsIds = s.getLinkedDatasetsIds(e);
848
- }
849
- let r = s.getAvailableDatasets();
850
- if (this.measureColumns = r.map((e) => ({
851
- datasetId: e.id,
852
- datasetName: e.name,
853
- columns: e.columns?.filter((e) => e.type === "numeric" && e.id !== n)
854
- })), t.activeIndex.get() !== this._activeIndex && t.updateActive(this._activeIndex), this.slotName === "measure") {
855
- t.linkedDataset.set(r.filter((t) => t.id === e)), t.setPeriodOverPeriodCondition(this.itemType, this._currentSlotContent);
856
- let n = this._currentSlotContent.subtype === "duration" && this.isArrayColumnType(this._currentSlotContent.type);
857
- this._periodOverPeriodUiType = n ? null : t.periodOverPeriodUiType.get();
858
- }
859
- }
860
- }
861
- updated() {
862
- this.displaySettingsElement && (this.displaySettingsElement.periodOverPeriodUiType = this._periodOverPeriodUiType, this.displaySettingsElement.measureColumns = this.measureColumns, this.displaySettingsElement.showRemoveButton = this.variant === "popup" && (typeof this.slotIndex == "number" || this._slotContents?.length === 1)), this._observePanelResize();
863
- }
864
- _handleSlotListChange(e) {
865
- let t = this._store, n = structuredClone(e.detail.slotContents), r = e.detail.activeIndex;
866
- r !== this._activeIndex && (this._activeIndex = r, t.updateActive(r)), t.setContents(n, this.slotName), this._slotContents = t.slotContents.get();
867
- let i = this._slotContents[this._activeIndex], a = i?.column ?? i?.columnId, o = i?.set ?? i?.datasetId, s = i?.formulaId ?? (l(i?.formula) ? i.formula : void 0);
868
- (a || s) && o && (this.dispatchEvent(new CustomEvent("luzmo-slot-menu-active", {
869
- bubbles: !0,
870
- composed: !0,
871
- detail: { datasetId: o }
872
- })), setTimeout(() => {
873
- this.dispatchEvent(new CustomEvent("luzmo-slot-menu-highlight", {
874
- bubbles: !0,
875
- composed: !0,
876
- detail: {
877
- datasetId: o,
878
- level: i?.level ?? 0,
879
- ...a && { columnId: a },
880
- ...s && { formulaId: s }
881
- }
882
- }));
883
- })), this._slotContents.length <= 1 && this.requestUpdate(), this._sendChangeEvent();
884
- }
885
- _handleSlotContentChange(e) {
886
- let t = this._store, n = this.slotIndex ?? this._activeIndex;
887
- t.updateContent(structuredClone(e.detail.slotContent), n), this._slotContents = t.slotContents.get(), this.slotMenuListElement && (this.slotMenuListElement.slotContents = this._slotContents), this._sendChangeEvent();
888
- }
889
- removeSlotContent(e) {
890
- let t = this._store;
891
- t.removeContent(e), this._slotContents = t.slotContents.get(), this._slotContents.length === 0 && this.dispatchEvent(new CustomEvent("luzmo-slot-menu-inactive", {
892
- bubbles: !0,
893
- composed: !0
894
- })), this._sendChangeEvent(), this.close(), this.requestUpdate();
895
- }
896
- close() {
897
- this._sendCloseEvent(), this.resetInfoVisibility();
898
- }
899
- _removeActiveSlotContent() {
900
- this.removeSlotContent(this.slotIndex ?? this._activeIndex);
901
- }
902
- _handleInfoVisibilityChanged(e) {
903
- this.dispatchEvent(new CustomEvent("luzmo-info-visibility-changed", { detail: e.detail }));
904
- }
905
- render() {
906
- let e = `${this.slotType}-${this._currentSlotContent?.type ?? ""}`;
907
- return w`<div class="slot-menu-top-menu" role="region" aria-label=${k("Slot menu", { desc: "Accessible label for slot menu region" })}>
908
- ${this.variant === "draggable" ? w`<div class="drag-handle">${S(y)}</div>` : ""}
909
- ${this._slotContents && this._slotContents.length === 1 && this.variant !== "popup" ? w` <div class="slot-content-action">
910
- <div class="slot-content-label">${this._renderCurrentLabel()}</div>
911
- <button
912
- class="slot-content-remove"
913
- aria-label=${k("Remove", { desc: "Remove button label" })}
914
- @click=${this.removeSlotContent.bind(this, 0)}
915
- >
916
- ${S(C)}
917
- </button>
918
- </div>` : ""}
919
- </div>
920
- <div
921
- class="slot-contents-container ${this._slotContents?.length > 1 ? "multiple" : ""}"
922
- >
923
- ${this.variant === "popup" ? "" : w`<button class="close" aria-label=${k("Close", {
924
- id: "close-action",
925
- desc: "Close button label"
926
- })} @click=${this.close}>
927
- ${S(ee)}
928
- </button>`}
929
- <div class="inner-container">
930
- ${this._slotContents?.length > 1 && typeof this.slotIndex != "number" ? w`<luzmo-slot-menu-list
931
- .slotContents=${this._slotContents}
932
- .contentLanguage=${this.contentLanguage}
933
- .slotName=${this.slotName}
934
- .slotType=${this.slotType}
935
- .activeIndex=${this.slotIndex ?? this._activeIndex}
936
- @luzmo-slot-list-changed=${this._handleSlotListChange}
937
- ></luzmo-slot-menu-list>` : ""}
938
- ${F([
939
- this.variant,
940
- this.language,
941
- this.contentLanguage,
942
- this._periodOverPeriodUiType,
943
- this._activeIndex,
944
- this.size,
945
- e,
946
- this.slotName,
947
- this.datasetsDataFields,
948
- this.apiUrl,
949
- this.authKey,
950
- this.authToken
951
- ], () => w`<luzmo-display-settings
952
- .size=${this.size}
953
- .language=${this.language}
954
- .contentLanguage=${this.contentLanguage}
955
- .slotName=${this.slotName}
956
- .slotType=${this.slotType}
957
- .measureColumns=${this.measureColumns}
958
- .showRemoveButton=${this.variant === "popup" && (typeof this.slotIndex == "number" || this._slotContents?.length === 1)}
959
- .slotContent=${this._currentSlotContent}
960
- .datasetsDataFields=${this.datasetsDataFields}
961
- api-url=${A(this.apiUrl)}
962
- auth-key=${A(this.authKey)}
963
- auth-token=${A(this.authToken)}
964
- .areGrandTotalsEnabled=${this.areGrandTotalsEnabled}
965
- .areDatetimeOptionsEnabled=${this.areDatetimeOptionsEnabled}
966
- .isBinningDisabled=${this.isBinningDisabled}
967
- .isAggregationDisabled=${this.isAggregationDisabled}
968
- .isCumulativeSumEnabled=${this.isCumulativeSumEnabled}
969
- @luzmo-slot-content-changed=${this._handleSlotContentChange}
970
- @luzmo-remove-slot-content=${this._removeActiveSlotContent}
971
- @luzmo-info-visibility-changed=${this._handleInfoVisibilityChanged}
972
- ></luzmo-display-settings>`)}
973
- </div>
974
- </div>`;
975
- }
976
- firstUpdated() {
977
- this._attachDragHandle(), this._observePanelResize();
978
- }
979
- resetPosition() {
980
- this.style.transform = "";
981
- }
982
- };
983
- //#endregion
984
- //#region src/components/slot-menu/index.ts
985
- o([E({
986
- type: String,
987
- reflect: !0
988
- })], $.prototype, "language", void 0), o([E({
989
- type: String,
990
- attribute: "content-language",
991
- reflect: !0
992
- })], $.prototype, "contentLanguage", void 0), o([E({
993
- type: String,
994
- attribute: "slot-type",
995
- reflect: !0
996
- })], $.prototype, "slotType", void 0), o([E({
997
- type: String,
998
- attribute: "slot-name",
999
- reflect: !0
1000
- })], $.prototype, "slotName", void 0), o([E({
1001
- type: String,
1002
- attribute: "item-type",
1003
- reflect: !0
1004
- })], $.prototype, "itemType", void 0), o([E({
1005
- type: Boolean,
1006
- attribute: "no-drag",
1007
- reflect: !0
1008
- })], $.prototype, "noDrag", void 0), o([E({
1009
- type: Boolean,
1010
- attribute: "no-close",
1011
- reflect: !0
1012
- })], $.prototype, "noClose", void 0), o([E({
1013
- type: String,
1014
- reflect: !0
1015
- })], $.prototype, "variant", void 0), o([E({
1016
- type: Boolean,
1017
- attribute: "no-top-menu-label",
1018
- reflect: !0
1019
- })], $.prototype, "noTopMenuLabel", void 0), o([j({
1020
- context: L,
1021
- subscribe: !0
1022
- })], $.prototype, "_consumedStore", void 0), o([E({
1023
- type: String,
1024
- attribute: "drag-boundary",
1025
- reflect: !1
1026
- })], $.prototype, "dragBoundary", void 0), o([E({ type: Boolean })], $.prototype, "areGrandTotalsEnabled", void 0), o([E({ type: Boolean })], $.prototype, "areDatetimeOptionsEnabled", void 0), o([E({ type: Boolean })], $.prototype, "isBinningDisabled", void 0), o([E({ type: Boolean })], $.prototype, "isAggregationDisabled", void 0), o([E({ type: Boolean })], $.prototype, "isCumulativeSumEnabled", void 0), o([E({
1027
- type: Array,
1028
- reflect: !1,
1029
- attribute: "slot-contents"
1030
- })], $.prototype, "slotContents", void 0), o([O()], $.prototype, "_periodOverPeriodUiType", void 0), o([O()], $.prototype, "measureColumns", void 0), o([E({
1031
- type: Number,
1032
- reflect: !1,
1033
- attribute: "slot-index"
1034
- })], $.prototype, "slotIndex", void 0), o([D("luzmo-display-settings")], $.prototype, "displaySettingsElement", void 0), o([D("luzmo-slot-menu-list")], $.prototype, "slotMenuListElement", void 0), o([E({
1035
- type: String,
1036
- attribute: "api-url",
1037
- reflect: !0
1038
- })], $.prototype, "apiUrl", void 0), o([E({
1039
- type: String,
1040
- attribute: "auth-key",
1041
- reflect: !0
1042
- })], $.prototype, "authKey", void 0), o([E({
1043
- type: String,
1044
- attribute: "auth-token",
1045
- reflect: !0
1046
- })], $.prototype, "authToken", void 0), o([E({ attribute: !1 })], $.prototype, "datasetsDataFields", void 0), o([O()], $.prototype, "_slotContents", void 0), customElements.get("luzmo-slot-menu") || customElements.define("luzmo-slot-menu", $);
1047
- //#endregion
1048
- export { W as a, R as c, ce as i, L as l, Q as n, se as o, G as r, U as s, $ as t, I as u };