@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,45 +0,0 @@
1
- /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
- *
3
- * Copyright © 2026 Luzmo
4
- * All rights reserved.
5
- * Luzmo web components (“Luzmo Web Components”)
6
- * must be used according to the Luzmo Terms of Service.
7
- * This license allows users with a current active Luzmo account
8
- * to use the Luzmo Web Components. This license terminates
9
- * automatically if a user no longer has an active Luzmo account.
10
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * */
20
- const e=require("./localized-mixin-DAOiXh71.cjs"),t=require("./calculate-data-field-icon-DenGmW74.cjs"),n=require("./localize-D3i4Epy_.cjs"),r=require("./formula-display-store-DxjO7Q-n.cjs"),i=require("./resolve-column-presentation-DUETRVCH.cjs");let a=require("@luzmo/icons");require("@luzmo/lucero/icon");let o=require("lit"),s=require("lit/decorators.js"),c=require("@lit/localize");require("@luzmo/lucero/progress-circle");var l=`:host{box-sizing:border-box;font-family:var(--luzmo-font-family);color:var(--luzmo-font-color);display:inline-block}.formula-text{font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));white-space:pre-wrap;word-break:break-word;line-height:1.5}.formula-text-column{white-space:nowrap}.formula-text-column-icon{margin-inline-end:var(--luzmo-spacing-1)}.formula-pills{align-items:center;gap:var(--luzmo-spacing-1) 0;font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));flex-wrap:wrap;line-height:1.5;display:inline-flex}.formula-operator{white-space:pre-wrap}.column-pill-wrapper{vertical-align:middle;padding-inline-end:var(--luzmo-formula-column-pill-trailing-space,var(--luzmo-spacing-1));display:inline-flex}.column-pill{justify-content:center;align-items:center;gap:var(--luzmo-spacing-2);box-sizing:border-box;max-width:16rem;min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-formula-column-pill-padding-inline,calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1)));border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-formula-column-pill-background,var(--luzmo-background-color-highlight));color:var(--luzmo-font-color);white-space:nowrap;font-size:.85em;line-height:1.2;display:inline-flex}.column-pill-icon{flex:none;display:inline-flex}.column-pill-label{text-overflow:ellipsis;overflow:hidden}.column-pill-loading{--luzmo-progress-circle-size:1em;align-items:center;display:inline-flex}.agg-pill{padding-block:var(--luzmo-spacing-1);border-radius:var(--luzmo-border-radius);background-color:var(--agg-accent,var(--luzmo-primary));color:var(--luzmo-primary-inverse-color);font-size:var(--luzmo-formula-font-size,var(--luzmo-font-size));vertical-align:middle;padding-inline:0;display:inline-flex}.agg-pill-row{align-items:center;gap:var(--luzmo-spacing-1);min-height:var(--luzmo-formula-control-height,1.375rem);display:inline-flex}.agg-fn{text-transform:uppercase;padding-inline-start:var(--luzmo-spacing-3);padding-inline-end:var(--luzmo-spacing-3);font-size:.85em}.agg-value{min-height:var(--luzmo-formula-control-height,1.375rem);padding:0 var(--luzmo-spacing-2);border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-background-color);color:var(--luzmo-font-color);--luzmo-formula-column-pill-background:transparent;--luzmo-formula-column-pill-padding-inline:0px;align-items:center;line-height:1;display:inline-flex}.agg-grouping{align-items:center;gap:var(--luzmo-spacing-1);padding-inline:var(--luzmo-spacing-2) var(--luzmo-spacing-3);font-size:var(--luzmo-formula-grouping-icon-size,var(--luzmo-icon-size-m));display:inline-flex}.agg-grouping--no-value{padding-inline-start:0}.agg-grouping-count{border-radius:var(--luzmo-border-radius-full,999rem);background:var(--luzmo-primary-inverse-color);min-width:1.25em;color:var(--agg-accent,var(--luzmo-primary));font-size:.6875rem;font-weight:var(--luzmo-font-weight-bold);justify-content:center;align-items:center;padding:0 .25em;line-height:1.4;display:inline-flex}:host{--luzmo-formula-font-size:var(--luzmo-font-size);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-m);--luzmo-formula-control-height:calc(var(--luzmo-component-height) - 2 * var(--luzmo-spacing-1))}:host([size=s]){--luzmo-formula-font-size:var(--luzmo-font-size-s);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-s);--luzmo-formula-control-height:calc(var(--luzmo-component-height-s) - 2 * var(--luzmo-spacing-1))}:host([size=l]){--luzmo-formula-font-size:var(--luzmo-font-size-l);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-l);--luzmo-formula-control-height:calc(var(--luzmo-component-height-l) - 2 * var(--luzmo-spacing-1))}:host([size=xl]){--luzmo-formula-font-size:var(--luzmo-font-size-xl);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-xl);--luzmo-formula-control-height:calc(var(--luzmo-component-height-xl) - 2 * var(--luzmo-spacing-1))}`,u=class extends r.o{constructor(...e){super(...e),this.display=`rich`,this._groupingDataMap=r._()}static{this.styles=(0,o.unsafeCSS)(l)}_createStore(){return new r.t}_shouldLoadInput(){return!1}_canEmitExpression(){return!1}_applyExternalExpression(){if(this.display===`text`){this._rootContent=``;return}this._store.clearWidgets(),this._rootContent=this._store.transformToAggregationWidgetSyntax(this.expression??``)}willUpdate(e){super.willUpdate(e),e.has(`display`)&&!e.has(`expression`)&&this._applyExternalExpression()}render(){return this.display===`text`?this._renderTextFormula():this._renderPillFormula()}_renderPillFormula(){return o.html`<span class="formula-pills" part="formula">${this._renderPillNodes(this._rootContent)}</span>`}_renderPillNodes(e){let t=[],n=new RegExp(r.h.source,`gm`),i=0,a;for(;(a=n.exec(e))!==null;){a.index>i&&t.push(this._renderOperatorText(e.slice(i,a.index)));let r=a[2],o=a[3];r?t.push(this._renderColumnPill(r)):o&&t.push(this._renderAggregationPill(o)),i=n.lastIndex}return i<e.length&&t.push(this._renderOperatorText(e.slice(i))),t}_renderOperatorText(e){return o.html`<span class="formula-operator">${e}</span>`}_renderColumnPill(e){let[t,n]=e.split(`:`),r=this._datasets.find(e=>e.id===t)?.columns.find(e=>e.columnId===n);if(this._store.loading&&!r){let e=(0,c.msg)(`Loading column`,{desc:`Accessible label for a column pill whose label is still loading`});return o.html`<span class="column-pill-wrapper"
21
- ><span class="column-pill" title=${e}
22
- ><span class="column-pill-loading">
23
- <luzmo-progress-circle indeterminate size="s" .label=${e}></luzmo-progress-circle></span
24
- ></span
25
- ></span>`}let{icon:s,label:l}=i.t(r,this.contentLanguage,n);return o.html`<span class="column-pill-wrapper"
26
- ><span class="column-pill" title=${l}
27
- ><span class="column-pill-icon">${(0,a.luzmoIcon)(s)}</span
28
- ><span class="column-pill-label">${l}</span></span
29
- ></span>`}_renderAggregationPill(e){let t=this._store.getWidget(e);if(!t)return o.html`${o.nothing}`;let n=this._groupingDataMap[t.grouping],i=n?.color??``,s=this._store.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0,c=n?.label()??``,l=t.grouping===r.v.GROUPINEX?(t.includedColumns?.length??0)+(t.excludedColumns?.length??0):0;return o.html`<span class="agg-pill" style=${i?`--agg-accent: ${i}`:``}>
30
- <span class="agg-pill-row">
31
- <span class="agg-fn">${t.aggregationFunction}</span>
32
- ${s>0?o.html`<span class="agg-value">${this._renderPillNodes(t.content)}</span>`:o.nothing}
33
- <span
34
- class="agg-grouping${s>0?``:` agg-grouping--no-value`}"
35
- title=${c}
36
- aria-label=${c}
37
- >
38
- ${n?.icon?(0,a.luzmoIcon)(n.icon):o.nothing}
39
- ${l>0?o.html`<span class="agg-grouping-count">${l}</span>`:o.nothing}
40
- </span>
41
- </span>
42
- </span>`}_renderTextFormula(){let e=this.expression??``,t=[],n=new RegExp(r.f.source,`g`),i=0,a;for(;(a=n.exec(e))!==null;){a.index>i&&t.push(e.slice(i,a.index));let[r,o]=a[1].split(`:`);t.push(this._renderColumnReference(r,o)),i=n.lastIndex}return i<e.length&&t.push(e.slice(i)),o.html`<span class="formula-text" part="formula-text">${t}</span>`}_renderColumnReference(e,r){let i=this._datasets.find(t=>t.id===e),s=i?.columns.find(e=>e.columnId===r),c=s?n.t(s.name,this.contentLanguage):r,l=i?n.t(i.name,this.contentLanguage):``;return o.html`<span class="formula-text-column" part="formula-text-column" title=${l?`${l} · ${c}`:c}>
43
- <span class="formula-text-column-icon">${(0,a.luzmoIcon)(t.t({type:s?.type??`hierarchy`},`s`))}</span>
44
- <span class="formula-text-column-name">${c}</span>
45
- </span>`}};e.n([(0,s.property)({type:String,reflect:!0})],u.prototype,`display`,void 0),u=e.n([(0,c.localized)()],u),customElements.get(`luzmo-formula`)||customElements.define(`luzmo-formula`,u),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});
@@ -1,20 +0,0 @@
1
- /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
- *
3
- * Copyright © 2026 Luzmo
4
- * All rights reserved.
5
- * Luzmo web components (“Luzmo Web Components”)
6
- * must be used according to the Luzmo Terms of Service.
7
- * This license allows users with a current active Luzmo account
8
- * to use the Luzmo Web Components. This license terminates
9
- * automatically if a user no longer has an active Luzmo account.
10
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * */
20
- const e=require("./base-CYiGlWug.cjs"),t=require("./localized-mixin-DAOiXh71.cjs"),n=require("./load-data-fields-for-datasets-DkK1JsFd.cjs");let r=require("@luzmo/icons"),i=require("lit/decorators.js"),a=require("@lit/localize");var o=function(e){return e.GROUP=``,e.GROUPFULL=`GROUPFULL`,e.GROUPINEX=`GROUPINEX`,e}({}),s=[o.GROUP,o.GROUPFULL,o.GROUPINEX];function c(){return{[o.GROUP]:{label:()=>(0,a.msg)(`Grouped`,{desc:`Formula aggregation grouping label for grouped scope`}),description:()=>(0,a.msg)(`Aggregates within the current grouping of the chart.`,{desc:`Formula aggregation grouping description for grouped scope`}),icon:r.luzmoScopeGrouped,color:`var(--luzmo-formula-grouping-color-grouped, #625df6)`},[o.GROUPFULL]:{label:()=>(0,a.msg)(`Full`,{desc:`Formula aggregation grouping label for full scope`}),description:()=>(0,a.msg)(`Aggregates across the entire dataset, ignoring the chart grouping.`,{desc:`Formula aggregation grouping description for full scope`}),icon:r.luzmoScopeFull,color:`var(--luzmo-formula-grouping-color-full, #0ca789)`},[o.GROUPINEX]:{label:()=>(0,a.msg)(`Include / exclude`,{desc:`Formula aggregation grouping label for include/exclude scope`}),description:()=>(0,a.msg)(`Aggregates over a custom grouping built from included and excluded columns.`,{desc:`Formula aggregation grouping description for include/exclude scope`}),icon:r.luzmoScopeFixed,color:`var(--luzmo-formula-grouping-color-include-exclude, #f00f65)`}}}var l=String.raw`[\da-f]{8}(?:-[\da-f]{4}){3}-[\da-f]{12}`,u=RegExp(`##EMPTYARG-(${l})##|{(${l}:${l})}|##AGGR-(${l})##`,`gm`),d=RegExp(`##EMPTYARG-(${l})##|{(${l}:${l})}`,`gm`),f=/((GROUPFULL|GROUPINEX)\()?(AVG|COUNT|COUNTD|COUNTR|MAX|MIN|SUM)\(/m,p=/(AVG|COUNT|COUNTD|MAX|MIN|SUM)\(\)/m,m=RegExp(`##AGGR-(${l})##`,`m`),h=/\[(.*?)\]/gm,g=RegExp(`{(${l}:${l})}`,`gm`);function _(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}function v(){return`##EMPTYARG-${_()}##`}function y(e){return`##AGGR-${e}##`}function b(e,t){let{aggregationFunction:n,content:r,grouping:i,includedColumns:a,excludedColumns:s}=e??{},c=`${n}(${t[n]?.arity>0?r:``})`;switch(i){case o.GROUPFULL:return`GROUPFULL(${c})`;case o.GROUPINEX:return`GROUPINEX(${c}, [${a?.map(e=>`{${e}}`).join(`, `)||``}], [${s?.map(e=>`{${e}}`).join(`, `)||``}])`;default:return c}}function x(e){let t=e.split(``),n=null;for(let e=0;e<t.length;e++){let r=t[e];n?r===n?n=null:t[e]=` `:(r===`'`||r===`"`)&&(n=r)}return t.join(``)}function S(e,t=0){let n=0,r=-1,i=null;for(let a=t,o=e.length;a<o;a++){let t=e[a];if(i){t===i&&(i=null);continue}if(t===`'`||t===`"`)i=t;else if(t===`(`)n++;else if(t===`)`){if(n===0){r=a;break}n--}}return r}function C(e){let t=e.match(h),n=t?.[0],r=t?.[1];return{includedColumns:n?.match(g)?.map(e=>e.slice(1,-1))??[],excludedColumns:r?.match(g)?.map(e=>e.slice(1,-1))??[]}}function w(e=`light`){return!e||e===`light`?[`#0E89E0`,`#F45000`,`#15BF49`,`#685AC2`,`#636363`]:[`#BDDCF9`,`#FFCFA1`,`#C1F3B7`,`#D7D7EF`,`#D7D7EF`]}function T(e){let t=w(`light`),n=e.length>1;return e.map((e,r)=>{let i=[];return`dataFields`in e&&Array.isArray(e.dataFields)&&e.dataFields.length>0?i=e.dataFields.filter(e=>!!e.columnId):`columns`in e&&Array.isArray(e.columns)&&(i=e.columns.map(t=>{let n=`columnId`in t&&typeof t.columnId==`string`?t.columnId:`id`in t&&typeof t.id==`string`?t.id:void 0;if(n)return{...t,columnId:n,datasetId:e.id}}).filter(e=>!!e)),{id:e.id,name:e.name,description:`description`in e?e.description:void 0,color:n?t[r%t.length]:void 0,columns:i}})}var E=!1,D;async function O(){if(!E){D??=Promise.resolve().then(()=>require("./formula-codemirror-Bewi7Xgc.cjs"));try{await D,E=!0}catch(e){throw D=void 0,e}}}function k(){return E}var A=class extends t.t(e.n(e.i,{validSizes:[`s`,`m`,`l`,`xl`]})){constructor(){super(),this.expression=``,this.datasetsDataFields=[],this.datasetIds=[],this.apiUrl=`https://api.luzmo.com`,this.showAggregations=!0,this.contentLanguage=`en`,this.multiStageAggregation=!0,this.nestedAggregation=!0,this._datasets=[],this._codeMirrorLoaded=k(),this._rootContent=``,this._lastEmittedExpression=null,this._applyingExternalExpression=!1,this._handleWidgetsChanged=()=>{this._recomputeExpression()},this._store=this._createStore()}connectedCallback(){super.connectedCallback(),this._store.addEventListener(`widgets-changed`,this._handleWidgetsChanged)}disconnectedCallback(){super.disconnectedCallback(),this._store.removeEventListener(`widgets-changed`,this._handleWidgetsChanged),this._emitTimer&&clearTimeout(this._emitTimer)}firstUpdated(e){super.firstUpdated(e),this._pushRootContent()}updated(e){super.updated(e),e.has(`_codeMirrorLoaded`)&&this._codeMirrorLoaded&&this._pushRootContent()}_pushRootContent(){this._rootContent&&this._codeMirrorElement?.setContent(this._rootContent)}get _codeMirrorElement(){return this.renderRoot?.querySelector(`luzmo-formula-codemirror`)}async _ensureCodeMirrorLoaded(){this._codeMirrorLoaded||=(await O(),!0)}willUpdate(e){super.willUpdate(e),this._shouldLoadInput()&&this._ensureCodeMirrorLoaded(),(e.has(`multiStageAggregation`)||e.has(`nestedAggregation`)||e.has(`contentLanguage`)||e.has(`size`))&&(this._store.multiStageAggregation=this.multiStageAggregation,this._store.nestedAggregation=this.nestedAggregation,this._store.contentLanguage=this.contentLanguage,this._store.size=this.size),(e.has(`datasetsDataFields`)||e.has(`datasetIds`)||e.has(`apiUrl`)||e.has(`authKey`)||e.has(`authToken`))&&this._loadDatasets(),e.has(`showAggregations`)&&this._rebuildAutoCompletion(),e.has(`expression`)&&this._applyExternalExpression()}async _loadDatasets(){if(this.datasetsDataFields.length===0&&this.datasetIds.length===0){this._datasets=[],this._store.datasets=[],this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetsDataFields.length>0){this._datasets=T(this.datasetsDataFields),this._store.datasets=this._datasets,this._setLoading(!1),this._rebuildAutoCompletion();return}if(this.datasetIds.length>0){this._setLoading(!0);try{let e=await n.t(this.datasetIds,{dataBrokerConfig:{apiUrl:this.apiUrl,authKey:this.authKey,authToken:this.authToken}});this._datasets=T(e),this._store.datasets=this._datasets,this._rebuildAutoCompletion()}catch(e){console.warn(`[${this.localName}] Failed to load datasets:`,e),this.dispatchEvent(new CustomEvent(`luzmo-datasets-error`,{bubbles:!0,composed:!0,detail:{error:e}}))}finally{this._setLoading(!1)}}}_rebuildAutoCompletion(){}_syncExpressionToStore(){return this.expression===this._lastEmittedExpression?null:(this._store.clearWidgets(),this._rootContent=this.multiStageAggregation?this._store.transformToAggregationWidgetSyntax(this.expression):this.expression,this._rootContent)}_applyExternalExpression(){this._applyingExternalExpression=!0;try{this._syncExpressionToStore()}finally{this._applyingExternalExpression=!1}}_recomputeExpression(){if(this._applyingExternalExpression||!this._canEmitExpression())return;let e=this.multiStageAggregation?this._store.transformToAggregationFunctionSyntax(this._rootContent):this._rootContent;this._emitTimer&&clearTimeout(this._emitTimer),this._emitTimer=setTimeout(()=>this._onExpressionComputed(e),this._emitDebounceMs)}_emitExpressionChanged(e){this._lastEmittedExpression=e,this.dispatchEvent(new CustomEvent(`luzmo-expression-changed`,{bubbles:!0,composed:!0,detail:{expression:e}}))}_shouldLoadInput(){return!0}_canEmitExpression(){return!0}get _emitDebounceMs(){return 300}_onExpressionComputed(e){e!==this._lastEmittedExpression&&this._emitExpressionChanged(e)}_setLoading(e){}};t.n([(0,i.property)({type:String})],A.prototype,`expression`,void 0),t.n([(0,i.property)({attribute:!1})],A.prototype,`datasetsDataFields`,void 0),t.n([(0,i.property)({type:Array,attribute:`dataset-ids`})],A.prototype,`datasetIds`,void 0),t.n([(0,i.property)({type:String,attribute:`api-url`})],A.prototype,`apiUrl`,void 0),t.n([(0,i.property)({type:String,attribute:`auth-key`})],A.prototype,`authKey`,void 0),t.n([(0,i.property)({type:String,attribute:`auth-token`})],A.prototype,`authToken`,void 0),t.n([(0,i.property)({type:Boolean,attribute:`show-aggregations`,reflect:!0})],A.prototype,`showAggregations`,void 0),t.n([(0,i.property)({type:String,attribute:`content-language`,reflect:!0})],A.prototype,`contentLanguage`,void 0),t.n([(0,i.property)({type:Boolean,attribute:`multi-stage-aggregation`})],A.prototype,`multiStageAggregation`,void 0),t.n([(0,i.property)({type:Boolean,attribute:`nested-aggregation`})],A.prototype,`nestedAggregation`,void 0),t.n([(0,i.state)()],A.prototype,`_datasets`,void 0),t.n([(0,i.state)()],A.prototype,`_codeMirrorLoaded`,void 0);var j=[`AVG`,`COUNT`,`COUNTD`,`COUNTR`,`MAX`,`MIN`,`SUM`];function M(){return{AVG:{arity:1,label:()=>(0,a.msg)(`Average`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Calculates the average of the values.`,{desc:`Formula aggregation description for AVG`}),example:()=>`AVG(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},COUNT:{arity:1,label:()=>(0,a.msg)(`Count`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of non-empty values.`,{desc:`Formula aggregation description for COUNT`}),example:()=>`COUNT(⟨numeric⟩ Order Number)`,exampleHasIcons:!0},COUNTD:{arity:1,label:()=>(0,a.msg)(`Count distinct`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of distinct values.`,{desc:`Formula aggregation description for COUNTD`}),example:()=>`COUNTD(⟨numeric⟩ Customer ID)`,exampleHasIcons:!0},COUNTR:{arity:0,label:()=>(0,a.msg)(`Count rows`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Counts the number of rows.`,{desc:`Formula aggregation description for COUNTR`}),example:()=>`COUNTR()`},MAX:{arity:1,label:()=>(0,a.msg)(`Maximum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the largest value.`,{desc:`Formula aggregation description for MAX`}),example:()=>`MAX(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},MIN:{arity:1,label:()=>(0,a.msg)(`Minimum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the smallest value.`,{desc:`Formula aggregation description for MIN`}),example:()=>`MIN(⟨numeric⟩ Order Value)`,exampleHasIcons:!0},SUM:{arity:1,label:()=>(0,a.msg)(`Sum`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Adds up all the values.`,{desc:`Formula aggregation description for SUM`}),example:()=>`SUM(⟨numeric⟩ Quantity Sold)`,exampleHasIcons:!0}}}function N(){return[{key:`string`,title:()=>(0,a.msg)(`String`,{desc:`Formula function category title for string functions`}),functions:[`||`,`LENGTH`,`LOWER`,`UPPER`,`LTRIM`,`RTRIM`,`TRIM`,`REPLACE`,`STRPOS`,`SUBSTR`,`SPLIT_PART`]},{key:`dateTime`,title:()=>(0,a.msg)(`Date and time`,{desc:`Formula function category title for date and time functions`}),functions:[`NOW`,`DATE_ADD`,`DATE_DIFF`,`YEAR`,`YEAR_UTC`,`QUARTER`,`QUARTER_UTC`,`MONTH`,`MONTH_UTC`,`WEEK`,`WEEK_UTC`,`DAY`,`DAY_UTC`,`DAY_OF_WEEK`,`DAY_OF_WEEK_UTC`,`DAY_OF_YEAR`,`DAY_OF_YEAR_UTC`,`YEAR_OF_WEEK`,`YEAR_OF_WEEK_UTC`,`HOUR`,`HOUR_UTC`,`MINUTE`,`MINUTE_UTC`,`SECOND`,`SECOND_UTC`]},{key:`mathematical`,title:()=>(0,a.msg)(`Mathematical`,{desc:`Formula function category title for mathematical functions`}),functions:[`+`,`-`,`*`,`/`,`%`,`ABS`,`CEIL`,`E`,`EXP`,`FLOOR`,`LN`,`LOG`,`PI`,`POW`,`RAND`,`ROUND`,`SQRT`]},{key:`conditional`,title:()=>(0,a.msg)(`Conditional`,{desc:`Formula function category title for conditional functions`}),functions:[`IF`,`COALESCE`]},{key:`conversion`,title:()=>(0,a.msg)(`Conversion`,{desc:`Formula function category title for conversion functions`}),functions:[`CAST`]},{key:`comparison`,title:()=>(0,a.msg)(`Comparison`,{desc:`Formula function category title for comparison functions`}),functions:[`>`,`<`,`<=`,`>=`,`=`,`<>`]},{key:`logical`,title:()=>(0,a.msg)(`Logical`,{desc:`Formula function category title for logical functions`}),functions:[`AND`,`OR`,`NOT`]},{key:`circular`,title:()=>(0,a.msg)(`Circular`,{desc:`Formula function category title for circular functions`}),functions:[`SIN`,`COS`,`TAN`,`ASIN`,`ACOS`,`ATAN`,`SINH`,`COSH`,`TANH`]},{key:`spatial`,title:()=>(0,a.msg)(`Spatial`,{desc:`Formula function category title for spatial functions`}),functions:[`COORDS`]}]}function P(){let e=2026;return{"+":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Addition`,{desc:`Formula function label for addition`}),description:()=>(0,a.msg)(`Adds two numeric values.`,{desc:`Formula function description for addition operator`}),example:()=>`42.0 + ⟨numeric⟩ Average burrito price`,exampleHasIcons:!0},"-":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Difference`,{desc:`Formula function label for subtraction`}),description:()=>(0,a.msg)(`Subtracts the second value from the first value.`,{desc:`Formula function description for subtraction operator`}),example:()=>`⟨numeric⟩ Burrito weight - 42`,exampleHasIcons:!0},"*":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Multiplication`,{desc:`Formula function label for multiplication`}),description:()=>(0,a.msg)(`Multiplies two numeric values.`,{desc:`Formula function description for multiplication operator`}),example:()=>`⟨numeric⟩ Number of burritos * 2`,exampleHasIcons:!0},"/":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Division`,{desc:`Formula function label for division`}),description:()=>(0,a.msg)(`Divides the first numeric value by the second numeric value.`,{desc:`Formula function description for division operator`}),example:()=>`⟨numeric⟩ Number of burritos / 2`,exampleHasIcons:!0},"%":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Modulo`,{desc:`Formula function label for modulo`}),description:()=>(0,a.msg)(`Returns the remainder after dividing the first value by the second value.`,{desc:`Formula function description for modulo operator`}),example:()=>`5 % 2`},">":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than`,{desc:`Formula function label for greater than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than the second value.`,{desc:`Formula function description for greater than operator`}),example:()=>`⟨numeric⟩ Burrito weight > 50`,exampleHasIcons:!0},"<":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than`,{desc:`Formula function label for less than comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than the second value.`,{desc:`Formula function description for less than operator`}),example:()=>`⟨numeric⟩ Burrito weight < 50`,exampleHasIcons:!0},">=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Greater than or equal`,{desc:`Formula function label for greater than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is greater than or equal to the second value.`,{desc:`Formula function description for greater than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight >= 50`,exampleHasIcons:!0},"<=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Less than or equal`,{desc:`Formula function label for less than or equal comparison`}),description:()=>(0,a.msg)(`Checks whether the first value is less than or equal to the second value.`,{desc:`Formula function description for less than or equal operator`}),example:()=>`⟨numeric⟩ Burrito weight <= 50`,exampleHasIcons:!0},"=":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Equal`,{desc:`Formula function label for equality comparison`}),description:()=>(0,a.msg)(`Checks whether both values are equal.`,{desc:`Formula function description for equality operator`}),example:()=>`⟨hierarchy⟩ Burrito type = 'Savoury'`,exampleHasIcons:!0},"<>":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Not equal`,{desc:`Formula function label for inequality comparison`}),description:()=>(0,a.msg)(`Checks whether two values are different.`,{desc:`Formula function description for inequality operator`}),example:()=>`⟨hierarchy⟩ Burrito type <> 'Sweet'`,exampleHasIcons:!0},ABS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Absolute value`,{desc:`Formula function label for ABS`}),description:()=>(0,a.msg)(`Returns the absolute value of a number.`,{desc:`Formula function description for ABS`}),example:()=>`ABS(-5.0)`},CEIL:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round up`,{desc:`Formula function label for CEIL`}),description:()=>(0,a.msg)(`Rounds a number up to the nearest integer.`,{desc:`Formula function description for CEIL`}),example:()=>`CEIL(11.3)`},E:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Euler's number`,{desc:`Formula function label for E`}),description:()=>(0,a.msg)(`Returns Euler's constant e.`,{desc:`Formula function description for E`}),example:()=>`E()`},EXP:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Exponential`,{desc:`Formula function label for EXP`}),description:()=>(0,a.msg)(`Returns e raised to the specified power.`,{desc:`Formula function description for EXP`}),example:()=>`EXP(11.3)`},FLOOR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Round down`,{desc:`Formula function label for FLOOR`}),description:()=>(0,a.msg)(`Rounds a number down to the nearest integer.`,{desc:`Formula function description for FLOOR`}),example:()=>`FLOOR(11.7)`},LN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Natural logarithm`,{desc:`Formula function label for LN`}),description:()=>(0,a.msg)(`Returns the natural logarithm of a number.`,{desc:`Formula function description for LN`}),example:()=>`LN(11.7)`},LOG:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Logarithm`,{desc:`Formula function label for LOG`}),description:()=>(0,a.msg)(`Returns the logarithm of a number for a specific base.`,{desc:`Formula function description for LOG`}),example:()=>`LOG(3.6, 10)`},PI:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Pi`,{desc:`Formula function label for PI`}),description:()=>(0,a.msg)(`Returns the mathematical constant pi.`,{desc:`Formula function description for PI`}),example:()=>`PI()`},POW:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Power`,{desc:`Formula function label for POW`}),description:()=>(0,a.msg)(`Raises a number to a given power.`,{desc:`Formula function description for POW`}),example:()=>`POW(2.35, 2)`},RAND:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Random number`,{desc:`Formula function label for RAND`}),description:()=>(0,a.msg)(`Returns a random number between 0 and 1.`,{desc:`Formula function description for RAND`}),example:()=>`RAND()`},ROUND:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Round`,{desc:`Formula function label for ROUND`}),description:()=>(0,a.msg)(`Rounds a number to a specified number of decimal places.`,{desc:`Formula function description for ROUND`}),example:()=>`ROUND(4.567, 1)`},SQRT:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Square root`,{desc:`Formula function label for SQRT`}),description:()=>(0,a.msg)(`Returns the square root of a number.`,{desc:`Formula function description for SQRT`}),example:()=>`SQRT(4)`},CAST:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Convert value`,{desc:`Formula function label for CAST`}),description:()=>(0,a.msg)(`Converts the first argument to the type given by the second argument. Possible types are 'hierarchy', 'numeric', 'datetime' and 'boolean'.`,{desc:`Formula function description for CAST`}),example:()=>`CAST(⟨numeric⟩ Burrito weight, hierarchy)`,exampleHasIcons:!0},IF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`If`,{desc:`Formula function label for IF`}),description:()=>(0,a.msg)(`Returns one value when a condition is true and another value when false.`,{desc:`Formula function description for IF`}),example:()=>`IF(⟨numeric⟩ Burrito weight < 200,'Small','Large')`,exampleHasIcons:!0},COALESCE:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Is empty`,{desc:`Formula function label for COALESCE`}),description:()=>(0,a.msg)(`Returns the first non-null value from the provided arguments.`,{desc:`Formula function description for COALESCE`}),example:()=>`COALESCE(⟨hierarchy⟩ Burrito type, 'Unknown type')`,exampleHasIcons:!0},AND:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical and`,{desc:`Formula function label for AND`}),description:()=>(0,a.msg)(`Returns true when both conditions are true.`,{desc:`Formula function description for AND`}),example:()=>`Burrito weight > 50 AND Burrito weight < 75`},OR:{type:`infix`,arity:2,label:()=>(0,a.msg)(`Logical or`,{desc:`Formula function label for OR`}),description:()=>(0,a.msg)(`Returns true when at least one condition is true.`,{desc:`Formula function description for OR`}),example:()=>`Burrito price > 10.1 OR Burrito weight >= 50`},NOT:{type:`prefix_op`,arity:1,label:()=>(0,a.msg)(`Logical not`,{desc:`Formula function label for NOT`}),description:()=>(0,a.msg)(`Negates a boolean condition.`,{desc:`Formula function description for NOT`}),example:()=>`NOT (Burrito type = 'Salty')`},SIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Sine`,{desc:`Formula function label for SIN`}),description:()=>(0,a.msg)(`Returns the sine of an angle in radians.`,{desc:`Formula function description for SIN`}),example:()=>`SIN(3.14)`},COS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Cosine`,{desc:`Formula function label for COS`}),description:()=>(0,a.msg)(`Returns the cosine of an angle in radians.`,{desc:`Formula function description for COS`}),example:()=>`COS(3.14)`},TAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Tangent`,{desc:`Formula function label for TAN`}),description:()=>(0,a.msg)(`Returns the tangent of an angle in radians.`,{desc:`Formula function description for TAN`}),example:()=>`TAN(3.14)`},ASIN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arcsine`,{desc:`Formula function label for ASIN`}),description:()=>(0,a.msg)(`Returns the arcsine of a number.`,{desc:`Formula function description for ASIN`}),example:()=>`ASIN(3.14)`},ACOS:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arccosine`,{desc:`Formula function label for ACOS`}),description:()=>(0,a.msg)(`Returns the arccosine of a number.`,{desc:`Formula function description for ACOS`}),example:()=>`ACOS(3.14)`},ATAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Arctangent`,{desc:`Formula function label for ATAN`}),description:()=>(0,a.msg)(`Returns the arctangent of a number.`,{desc:`Formula function description for ATAN`}),example:()=>`ATAN(3.14)`},SINH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic sine`,{desc:`Formula function label for SINH`}),description:()=>(0,a.msg)(`Returns the hyperbolic sine of a number.`,{desc:`Formula function description for SINH`}),example:()=>`SINH(3.14)`},COSH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic cosine`,{desc:`Formula function label for COSH`}),description:()=>(0,a.msg)(`Returns the hyperbolic cosine of a number.`,{desc:`Formula function description for COSH`}),example:()=>`COSH(3.14)`},TANH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hyperbolic tangent`,{desc:`Formula function label for TANH`}),description:()=>(0,a.msg)(`Returns the hyperbolic tangent of a number.`,{desc:`Formula function description for TANH`}),example:()=>`TANH(3.14)`},MEAN:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Mean`,{desc:`Formula function label for MEAN`}),description:()=>(0,a.msg)(`Returns the arithmetic mean of all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for MEAN`}),example:()=>`MEAN(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},STDDEV:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Standard deviation`,{desc:`Aggregation label`}),description:()=>(0,a.msg)(`Returns the sample standard deviation over all values in a numeric column. The value is calculated over the entire dataset and does not change when filtering.`,{desc:`Formula function description for STDDEV`}),example:()=>`STDDEV(⟨numeric⟩ Burrito weight)`,exampleHasIcons:!0},"||":{type:`infix`,arity:2,label:()=>(0,a.msg)(`Concatenate`,{desc:`Formula function label for concatenate operator`}),description:()=>(0,a.msg)(`Concatenates two strings.`,{desc:`Formula function description for concatenate operator`}),example:()=>`'Tasty' || ' burrito'`},LENGTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`String length`,{desc:`Formula function label for LENGTH`}),description:()=>(0,a.msg)(`Returns the number of characters in a string.`,{desc:`Formula function description for LENGTH`}),example:()=>`LENGTH('Burrito')`},LOWER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Lowercase`,{desc:`Formula function label for LOWER`}),description:()=>(0,a.msg)(`Converts a string to lowercase.`,{desc:`Formula function description for LOWER`}),example:()=>`LOWER('BURRITO')`},UPPER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Uppercase`,{desc:`Formula function label for UPPER`}),description:()=>(0,a.msg)(`Converts a string to uppercase.`,{desc:`Formula function description for UPPER`}),example:()=>`UPPER('burrito')`},LTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim left`,{desc:`Formula function label for LTRIM`}),description:()=>(0,a.msg)(`Removes leading spaces from a string.`,{desc:`Formula function description for LTRIM`}),example:()=>`LTRIM(' Burrito')`},RTRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim right`,{desc:`Formula function label for RTRIM`}),description:()=>(0,a.msg)(`Removes trailing spaces from a string.`,{desc:`Formula function description for RTRIM`}),example:()=>`RTRIM('Burrito ')`},TRIM:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Trim`,{desc:`Formula function label for TRIM`}),description:()=>(0,a.msg)(`Removes leading and trailing spaces from a string.`,{desc:`Formula function description for TRIM`}),example:()=>`TRIM('Burrito ')`},REPLACE:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Replace text`,{desc:`Formula function label for REPLACE`}),description:()=>(0,a.msg)(`Replaces occurrences of a substring with another substring.`,{desc:`Formula function description for REPLACE`}),example:()=>`REPLACE('Sweet burrito','Sweet', 'Savoury')`},STRPOS:{type:`prefix`,arity:2,label:()=>(0,a.msg)(`Find substring`,{desc:`Formula function label for STRPOS`}),description:()=>(0,a.msg)(`Returns the position of a substring in a string.`,{desc:`Formula function description for STRPOS`}),example:()=>`STRPOS('Sweet burrito','burrito')`},SUBSTR:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Take substring`,{desc:`Formula function label for SUBSTR`}),description:()=>(0,a.msg)(`Extracts part of a string. The first argument is the text, the second the starting position (the first character is 1; a negative position counts from the end), and the third the length.`,{desc:`Formula function description for SUBSTR`}),example:()=>`SUBSTR('Sweet burrito',7,3)`},SPLIT_PART:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Split part`,{desc:`Formula function label for SPLIT_PART`}),description:()=>(0,a.msg)(`Splits a string into parts using a delimiter. The first argument is the text to split, the second the delimiter, and the third the position of the part to return (starting from 1).`,{desc:`Formula function description for SPLIT_PART`}),example:()=>`SPLIT_PART('Sweet burrito', ' ', 2)`},NOW:{type:`prefix`,arity:0,label:()=>(0,a.msg)(`Current date and time`,{desc:`Formula function label for NOW`}),description:()=>(0,a.msg)(`Returns the current date and time.`,{desc:`Formula function description for NOW`}),example:()=>`NOW()`},YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the year from a date value.`,{desc:`Formula function description for YEAR`}),example:()=>`YEAR('${e}-02-17')`},YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year (UTC)`,{desc:`Formula function label for YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the year from a date value in UTC.`,{desc:`Formula function description for YEAR_UTC`}),example:()=>`YEAR_UTC('${e}-02-17')`},QUARTER:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value.`,{desc:`Formula function description for QUARTER`}),example:()=>`QUARTER('${e}-02-17')`},QUARTER_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Quarter (UTC)`,{desc:`Formula function label for QUARTER_UTC`}),description:()=>(0,a.msg)(`Extracts the quarter from a date value in UTC.`,{desc:`Formula function description for QUARTER_UTC`}),example:()=>`QUARTER_UTC('${e}-02-17')`},MONTH:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value.`,{desc:`Formula function description for MONTH`}),example:()=>`MONTH('${e}-02-17 15:36:59')`},MONTH_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Month (UTC)`,{desc:`Formula function label for MONTH_UTC`}),description:()=>(0,a.msg)(`Extracts the month from a date or datetime value in UTC.`,{desc:`Formula function description for MONTH_UTC`}),example:()=>`MONTH_UTC('${e}-02-17 15:36:59')`},WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value.`,{desc:`Formula function description for WEEK`}),example:()=>`WEEK('${e}-02-17 15:36:59')`},WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Week (UTC)`,{desc:`Formula function label for WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO 8601 week number (1-53) from a date or datetime value in UTC.`,{desc:`Formula function description for WEEK_UTC`}),example:()=>`WEEK_UTC('${e}-02-17 15:36:59')`},DAY:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month`,{desc:`Formula function label for DAY`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value.`,{desc:`Formula function description for DAY`}),example:()=>`DAY('${e}-02-17 15:36:59')`},DAY_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of month (UTC)`,{desc:`Formula function label for DAY_UTC`}),description:()=>(0,a.msg)(`Extracts the day of month from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_UTC`}),example:()=>`DAY_UTC('${e}-02-17 15:36:59')`},DAY_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week`,{desc:`Formula function label for DAY_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value.`,{desc:`Formula function description for DAY_OF_WEEK`}),example:()=>`DAY_OF_WEEK('${e}-02-17 15:36:59')`},DAY_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of week (UTC)`,{desc:`Formula function label for DAY_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the day of week (1-7, where 1 is Monday) from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_WEEK_UTC`}),example:()=>`DAY_OF_WEEK_UTC('${e}-02-17 15:36:59')`},DAY_OF_YEAR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year`,{desc:`Formula function label for DAY_OF_YEAR`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value.`,{desc:`Formula function description for DAY_OF_YEAR`}),example:()=>`DAY_OF_YEAR('${e}-02-17 15:36:59')`},DAY_OF_YEAR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Day of year (UTC)`,{desc:`Formula function label for DAY_OF_YEAR_UTC`}),description:()=>(0,a.msg)(`Extracts the day of year from a date or datetime value in UTC.`,{desc:`Formula function description for DAY_OF_YEAR_UTC`}),example:()=>`DAY_OF_YEAR_UTC('${e}-02-17 15:36:59')`},YEAR_OF_WEEK:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week`,{desc:`Formula function label for YEAR_OF_WEEK`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value.`,{desc:`Formula function description for YEAR_OF_WEEK`}),example:()=>`YEAR_OF_WEEK('${e}-02-17 15:36:59')`},YEAR_OF_WEEK_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Year of ISO week (UTC)`,{desc:`Formula function label for YEAR_OF_WEEK_UTC`}),description:()=>(0,a.msg)(`Extracts the ISO week-numbering year from a date or datetime value in UTC.`,{desc:`Formula function description for YEAR_OF_WEEK_UTC`}),example:()=>`YEAR_OF_WEEK_UTC('${e}-02-17 15:36:59')`},HOUR:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value.`,{desc:`Formula function description for HOUR`}),example:()=>`HOUR('${e}-02-17 15:36:59')`},HOUR_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Hour (UTC)`,{desc:`Formula function label for HOUR_UTC`}),description:()=>(0,a.msg)(`Extracts the hour from a datetime value in UTC.`,{desc:`Formula function description for HOUR_UTC`}),example:()=>`HOUR_UTC('${e}-02-17 15:36:59')`},MINUTE:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value.`,{desc:`Formula function description for MINUTE`}),example:()=>`MINUTE('${e}-02-17 15:36:59')`},MINUTE_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Minute (UTC)`,{desc:`Formula function label for MINUTE_UTC`}),description:()=>(0,a.msg)(`Extracts the minute from a datetime value in UTC.`,{desc:`Formula function description for MINUTE_UTC`}),example:()=>`MINUTE_UTC('${e}-02-17 15:36:59')`},SECOND:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second`,{desc:`Time unit`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value.`,{desc:`Formula function description for SECOND`}),example:()=>`SECOND('${e}-02-17 15:36:59')`},SECOND_UTC:{type:`prefix`,arity:1,label:()=>(0,a.msg)(`Second (UTC)`,{desc:`Formula function label for SECOND_UTC`}),description:()=>(0,a.msg)(`Extracts the second from a datetime value in UTC.`,{desc:`Formula function description for SECOND_UTC`}),example:()=>`SECOND_UTC('${e}-02-17 15:36:59')`},DATE_ADD:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Add/subtract duration`,{desc:`Formula function label for DATE_ADD`}),description:()=>(0,a.msg)(`Adds a duration to (or subtracts it from) a date or datetime value. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'), the second the number of units to add (negative to subtract), and the third the date or datetime to start from.`,{desc:`Formula function description for DATE_ADD`}),example:()=>`DATE_ADD('hour', 2, ⟨datetime⟩ Arrival time)`,exampleHasIcons:!0},DATE_DIFF:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Difference between dates`,{desc:`Formula function label for DATE_DIFF`}),description:()=>(0,a.msg)(`Returns the difference between two dates or datetimes in the selected unit. The first argument is the unit ('millisecond', 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'); the difference is calculated from the second date towards the third date.`,{desc:`Formula function description for DATE_DIFF`}),example:()=>`DATE_DIFF('day', ⟨datetime⟩ Arrival date, '${e}-02-17 15:36:59')`,exampleHasIcons:!0},COORDS:{type:`prefix`,arity:3,label:()=>(0,a.msg)(`Coordinates`,{id:`formula-function-label-coords`,desc:`Formula function label for COORDS`}),description:()=>(0,a.msg)(`Builds a geography value from latitude, longitude, and spatial reference.`,{desc:`Formula function description for COORDS`}),example:()=>`COORDS(⟨numeric⟩ Latitude, ⟨numeric⟩ Longitude, 'wgs84')`,exampleHasIcons:!0}}}var F=class extends EventTarget{constructor(...e){super(...e),this.functionDataMap=P(),this.aggregationFunctionDataMap=M(),this.multiStageAggregation=!0,this.nestedAggregation=!0,this.readonly=!1,this.contentLanguage=`en`,this.size=`m`,this.datasets=[],this.loading=!1,this.lastFocusedAggregationWidgetId=null,this.lastFocusedEmptyArgumentId=null,this.pendingFocusAggregationWidgetId=null,this._aggregationWidgets=[]}get aggregationWidgets(){return this._aggregationWidgets}addWidgets(e){!e||e.length===0||(this._aggregationWidgets=[...this._aggregationWidgets,...e],this._notifyWidgetsChanged())}removeWidgets(e){this._aggregationWidgets=this._aggregationWidgets.filter(({widgetId:t})=>!e.includes(t)),this._notifyWidgetsChanged()}updateWidget(e){this._aggregationWidgets=this._aggregationWidgets.map(t=>t.widgetId===e.widgetId?e:t),this._notifyWidgetsChanged()}getWidget(e){return this._aggregationWidgets.find(t=>t.widgetId===e)}clearWidgets(){this._aggregationWidgets.length!==0&&(this._aggregationWidgets=[],this._notifyWidgetsChanged())}_notifyWidgetsChanged(){this.dispatchEvent(new CustomEvent(`widgets-changed`))}setReadonly(e){this.readonly!==e&&(this.readonly=e,this.dispatchEvent(new CustomEvent(`widgets-changed`)))}setLoading(e){this.loading!==e&&(this.loading=e,this.dispatchEvent(new CustomEvent(`refresh-decorations`)))}_markAggregationForFocus(e){let t=e[0];t&&(this.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0)>0&&(this.pendingFocusAggregationWidgetId=t.widgetId)}transformToAggregationWidgetSyntax(e){let t=x(e).match(f);if(!t)return e;let n=!!t[1],r=t.index??0,i=S(e,r+(n?t[1].length:t[0].length)-1+1),a=S(e,r+t[0].length);if(i===-1)return e;let s=e.slice(r+t[0].length,a),c=this.transformToAggregationWidgetSyntax(s),l={widgetId:_(),grouping:t[2]??o.GROUP,aggregationFunction:t[3],content:c};if(l.grouping===o.GROUPINEX){let{includedColumns:t,excludedColumns:n}=C(e.slice(a+1,i));l.includedColumns=t,l.excludedColumns=n}let u=y(l.widgetId),d=`${e.slice(0,r)}${u}${e.slice(i+1)}`;return this.addWidgets([l]),this.transformToAggregationWidgetSyntax(d)}transformToAggregationFunctionSyntax(e){let t=e.match(m);if(!t)return e;let n=t.index??0,r=n+t[0].length-1,i=t[1],a=this.getWidget(i),o=a?this.transformToAggregationFunctionSyntax(b(a,this.aggregationFunctionDataMap)):``,s=`${e.slice(0,n)}${o}${e.slice(r+1)}`;return this.transformToAggregationFunctionSyntax(s)}};Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return o}});
@@ -1,247 +0,0 @@
1
- /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
- *
3
- * Copyright © 2026 Luzmo
4
- * All rights reserved.
5
- * Luzmo web components (“Luzmo Web Components”)
6
- * must be used according to the Luzmo Terms of Service.
7
- * This license allows users with a current active Luzmo account
8
- * to use the Luzmo Web Components. This license terminates
9
- * automatically if a user no longer has an active Luzmo account.
10
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
- *
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * */
20
- const e=require("./base-CYiGlWug.cjs"),t=require("./localized-mixin-DAOiXh71.cjs"),n=require("./data-broker-BH5WDG0j.cjs"),r=require("./calculate-data-field-icon-DenGmW74.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./formula-display-store-DxjO7Q-n.cjs"),o=require("./pragmatic-element-adapter-U3ppsQDe.cjs"),s=require("./get-css-variable-B1BZoBcs.cjs");require("./data-field-iGBGWoGH.cjs");const c=require("./icon-element-DpN-9yaN.cjs");let l=require("@luzmo/icons");require("@luzmo/lucero/icon");let u=require("lit"),d=require("lit/decorators.js"),f=require("@lit/localize");require("@luzmo/lucero/select"),require("@luzmo/lucero/tooltip");let p=require("lit/directives/repeat.js");require("@luzmo/lucero/field-label");let m=require("lit/directives/if-defined.js"),h=require("@lit/context");require("@luzmo/lucero/progress-circle"),require("@luzmo/lucero/search");var g=(0,h.createContext)(Symbol(`formula-editor-store-context`)),_=`__root__`,v={numeric:`numeric`,hierarchy:`hierarchy`,datetime:`datetime`},y=class extends a.t{constructor(...e){super(...e),this._editors=new Map}registerEditor(e,t){this._editors.set(e??`__root__`,t)}unregisterEditor(e){this._editors.delete(e??`__root__`)}getEditor(e=null){return this._editors.get(e??`__root__`)}getDropExpression(e,t,n,r){let i=[],o=``;if(e===`text`)o=r??``;else if(e===`column`)n&&t&&(o=`{${n}:${t}}`);else if(e===`function`){let e=this.functionDataMap[t],n=/^[a-z]/i.test(t??``);switch(e?.type){case`infix`:o=`${n?` ${t} `:t}${e.arity>1?a.d():``}`;break;case`prefix_op`:o=`${t}${n?` `:``}${a.d()}`;break;case`prefix`:{let n=[];for(let t=0;t<e.arity;t++)n.push(a.d());o=`${t}(${n.join(`,`)})`;break}}}else if(e===`aggregation`){let e=t,n=this.aggregationFunctionDataMap[e];if(this.multiStageAggregation){let t={widgetId:a.l(),aggregationFunction:e,grouping:a.v.GROUP,content:``};o=a.u(t.widgetId),i.push(t)}else o=`${e}(${n?.arity>0?a.d():``})`}return{expression:o,aggregationWidgets:i}}onExtendExpression(e){let{type:t,id:n,aggregationWidgetId:r,datasetId:i,targetEmptyArgumentId:a,textContent:o}=e;if(t===`aggregation`&&r&&!this.nestedAggregation)return;let{expression:s,aggregationWidgets:l}=this.getDropExpression(t,n,i,o),u=this.getEditor(r);!u||!s||(this.addWidgets(l),this._markAggregationForFocus(l),a&&u.state.doc.toString().includes(`##EMPTYARG-${a}##`)?c.a(u,s,a):c.n(u,s))}getAutoCompletionList(e,t){let n=[],o={...this.functionDataMap,...this.aggregationFunctionDataMap};for(let e of Object.keys(o)){let r=a.i.includes(e);if(r&&!t)continue;let i=o[e];n.push({label:i.label(),type:r?`namespace`:`function`,info:()=>this._buildOperationInfo(i),iconDef:r?l.luzmoAggregation:l.luzmoFunction,apply:(t,n,i,a)=>{let{expression:o,aggregationWidgets:s}=this.getDropExpression(r?`aggregation`:`function`,e);this.addWidgets(s),this._markAggregationForFocus(s),t.dispatch({changes:{from:i,to:a,insert:o}})}})}for(let t of e)for(let a of t.columns){let o=a.columnId,s=i.t(a.name,this.contentLanguage);!o||!s||n.push({label:s,type:`variable`,info:e.length>1?i.t(t.name,this.contentLanguage):``,iconDef:r.t(a),apply:this.getDropExpression(`column`,o,t.id).expression})}return n}_buildOperationInfo(e){let t=document.createElement(`div`);t.className=`cm-completion-info-formula`;let n=e.example();if(n){let i=document.createElement(`code`);if(i.className=`cm-completion-info-example`,e.exampleHasIcons)for(let e of n.split(/(⟨\w+⟩)/g)){let t=e.match(/^⟨(\w+)⟩$/),n=t?v[t[1]]:void 0;if(n){let e=document.createElement(`span`);e.className=`cm-completion-info-icon`,e.appendChild(c.t(r.t({type:n},`s`))),i.appendChild(e)}else e&&i.appendChild(document.createTextNode(e))}else i.textContent=n;t.appendChild(i)}let i=document.createElement(`div`);return i.className=`cm-completion-info-desc`,i.textContent=e.description(),t.appendChild(i),t}},b=class extends a.o{constructor(){super(),this._autoCompletionList=[],this.readonly=!1,this.placeholder=``,this.rows=3,this.grows=!0,new h.ContextProvider(this,{context:g,initialValue:this._store})}_createStore(){return new y}willUpdate(e){super.willUpdate(e),e.has(`readonly`)&&this._store.setReadonly(this.readonly)}_rebuildAutoCompletion(){this._autoCompletionList=this._store.getAutoCompletionList(this._datasets,this.showAggregations)}_applyExternalExpression(){this._applyingExternalExpression=!0;try{let e=this._syncExpressionToStore();if(e===null)return;let t=this._store.getEditor(null),n=this._codeMirrorElement;t?t.state.doc.toString()!==e&&c.i(t,e):n&&n.setContent(e)}finally{this._applyingExternalExpression=!1}}_handleInputContentChanged(e){e.stopPropagation(),!this.readonly&&(this._rootContent=e.detail.content,this._recomputeExpression())}_renderFormulaCodeMirror(e={}){return this._codeMirrorLoaded?u.html`
21
- <luzmo-formula-codemirror
22
- part=${(0,m.ifDefined)(e.part)}
23
- .store=${this._store}
24
- .datasets=${this._datasets}
25
- content-language=${this.contentLanguage}
26
- .placeholder=${this.placeholder}
27
- .rows=${this.rows}
28
- .maxRows=${this.maxRows}
29
- .grows=${this.grows}
30
- ?readonly=${this.readonly}
31
- ?has-error=${e.hasError??!1}
32
- .autoCompletionList=${this._autoCompletionList}
33
- @luzmo-input-content-changed=${this._handleInputContentChanged}
34
- ></luzmo-formula-codemirror>
35
- `:this._renderInputLoadingPlaceholder(e)}_renderInputLoadingPlaceholder(e){let t=`calc(${this.rows} * 1.5 * var(--luzmo-formula-font-size, var(--luzmo-font-size)) + 2 * var(--luzmo-spacing-3) + 2px)`,n=e.hasError?`var(--luzmo-negative-color, #ca221c)`:`var(--luzmo-border-color, rgba(0, 0, 0, 0.1))`,r=[`box-sizing: border-box`,`display: flex`,`align-items: flex-start`,`justify-content: flex-start`,`padding: var(--luzmo-spacing-3) var(--luzmo-spacing-4)`,`width: 100%`,`min-height: ${t}`,`border: 1px solid ${n}`,`border-radius: var(--luzmo-border-radius)`,`border-end-start-radius: var(--luzmo-formula-field-bottom-radius, var(--luzmo-border-radius))`,`border-end-end-radius: var(--luzmo-formula-field-bottom-radius, var(--luzmo-border-radius))`,`background: var(--luzmo-background-color, #ffffff)`].join(`; `);return u.html`
36
- <div
37
- class="formula-codemirror-loading"
38
- part=${(0,m.ifDefined)(e.part)}
39
- role="status"
40
- aria-busy="true"
41
- style=${r}
42
- >
43
- <luzmo-progress-circle
44
- indeterminate
45
- .size=${this.size}
46
- .label=${(0,f.msg)(`Loading the formula editor`,{desc:`Spinner label while the formula editor input loads`})}
47
- ></luzmo-progress-circle>
48
- </div>
49
- `}};t.n([(0,d.property)({type:Boolean,reflect:!0})],b.prototype,`readonly`,void 0),t.n([(0,d.property)({type:String})],b.prototype,`placeholder`,void 0),t.n([(0,d.property)({type:Number})],b.prototype,`rows`,void 0),t.n([(0,d.property)({type:Number,attribute:`max-rows`})],b.prototype,`maxRows`,void 0),t.n([(0,d.property)({type:Boolean})],b.prototype,`grows`,void 0);var x=[`numeric`,`hierarchy`,`datetime`,`spatial`],S=[`true`,`false`,`null`],C=[`GROUP`,`GROUPFULL`,`GROUPINEX`],w=/'(?:[^']|'')*'|"(?:[^"]|"")*"/g,ee=/\{[^}]*\}/g,T=/[A-Za-z_][A-Za-z0-9_]*/g;function E(e,t){let n=new Set;for(let t of Object.keys(e))/^[A-Za-z_]/.test(t)&&n.add(t.toUpperCase());for(let e of Object.keys(t))n.add(e.toUpperCase());for(let e of[...C,...x,...S])n.add(e.toUpperCase());return n}function D(e,t){let n=e.replace(w,` `).replace(ee,` `);T.lastIndex=0;let r;for(;(r=T.exec(n))!==null;)if(!t.has(r[0].toUpperCase()))return r[0];return null}function O(e){return function(t){var n=t.container;return Object.assign(n.style,{borderLeft:`${e.x} solid transparent`,borderTop:`${e.y} solid transparent`}),{x:0,y:0}}}var k=`.draggable{align-items:center;gap:var(--luzmo-spacing-3);box-sizing:border-box;width:100%;min-height:var(--formula-draggable-field-height);padding:0 var(--luzmo-spacing-3);border-radius:var(--luzmo-border-radius);background-color:var(--formula-draggable-field-background);color:var(--luzmo-font-color);font-family:var(--luzmo-font-family);font-size:var(--formula-draggable-field-font-size);text-align:start;cursor:grab;-webkit-user-select:none;user-select:none;border:none;display:flex}.draggable:hover{background-color:var(--luzmo-background-color-highlight)}.draggable:focus-visible{outline:2px solid var(--luzmo-primary);outline-offset:-2px}:host([disabled]) .draggable{opacity:.5;cursor:not-allowed}.draggable-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drag-icon{color:var(--luzmo-font-color-extra-dimmed);font-size:var(--luzmo-formula-draggable-field-drag-icon-size,var(--formula-draggable-field-drag-icon-size));flex:none;align-items:center;display:inline-flex}.icon-slot{flex:none;align-items:center;display:none}.icon-slot.has-icon{display:inline-flex}.tooltip-content{gap:var(--luzmo-spacing-2);text-align:start;flex-direction:column;display:flex}:host{width:100%;font-family:var(--luzmo-font-family);--formula-draggable-field-height:var(--luzmo-component-height);--formula-draggable-field-font-size:var(--luzmo-font-size);--formula-draggable-field-background:transparent;--formula-draggable-field-drag-icon-size:var(--luzmo-font-size-s);font-size:var(--formula-draggable-field-font-size);display:flex}:host([size=s]){--formula-draggable-field-height:var(--luzmo-component-height-s);--formula-draggable-field-font-size:var(--luzmo-font-size-s);--formula-draggable-field-drag-icon-size:var(--luzmo-font-size-xs)}:host([size=l]){--formula-draggable-field-height:var(--luzmo-component-height-l);--formula-draggable-field-font-size:var(--luzmo-font-size-l);--formula-draggable-field-drag-icon-size:var(--luzmo-font-size)}:host([size=xl]){--formula-draggable-field-height:var(--luzmo-component-height-xl);--formula-draggable-field-font-size:var(--luzmo-font-size-xl);--formula-draggable-field-drag-icon-size:var(--luzmo-font-size-l)}:host([variant=highlight]){--formula-draggable-field-background:var(--luzmo-formula-draggable-field-background,var(--luzmo-background-color-highlight))}`,A=class extends e.n(e.i,{validSizes:[`s`,`m`,`l`,`xl`],noDefaultSize:!0}){constructor(...e){super(...e),this.kind=``,this.value=``,this.label=``,this.description=``,this.tooltipPlacement=`right`,this.variant=`default`,this.disabled=!1,this._hasIcon=!1,this._hasTooltipSlot=!1}static{this.styles=(0,u.unsafeCSS)(k)}_handleIconSlotChange(e){this._hasIcon=e.target.assignedNodes({flatten:!0}).length>0}_handleTooltipSlotChange(e){this._hasTooltipSlot=e.target.assignedNodes({flatten:!0}).length>0}disconnectedCallback(){super.disconnectedCallback(),this._cleanupDraggable?.(),this._cleanupDraggable=void 0}firstUpdated(e){this._cleanupDraggable=o.t({element:this,canDrag:()=>!this.disabled,onDragStart:()=>{this.style.opacity=`0.5`},onDrop:()=>{this.style.opacity=`1`},getInitialData:()=>({kind:this.kind,value:this.value}),onGenerateDragPreview:({nativeSetDragImage:e})=>{s.n({nativeSetDragImage:e,getOffset:O({x:`8px`,y:`8px`}),render:({container:e})=>{e.append(this._buildDragPreview())}})}})}_buildDragPreview(){let e=document.createElement(`div`),t=this.variant===`highlight`?s.t(this,`--luzmo-formula-draggable-field-background`)||s.t(this,`--luzmo-background-color-highlight`):s.t(this,`--luzmo-background-color`);return e.textContent=this.label,Object.assign(e.style,{display:`inline-flex`,alignItems:`center`,maxWidth:`14rem`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,padding:`4px 8px`,borderRadius:s.t(this,`--luzmo-border-radius`)||`6px`,border:`1px solid ${s.t(this,`--luzmo-border-color`)}`,background:t,color:s.t(this,`--luzmo-font-color`),fontFamily:s.t(this,`--luzmo-font-family`),fontSize:getComputedStyle(this).fontSize,lineHeight:`1`,boxShadow:s.t(this,`--luzmo-box-shadow`)||`0 1px 4px rgb(0 0 0 / 15%)`}),e}_handleClick(e){e.detail===0&&this._activate()}_activate(){this.disabled||this.dispatchEvent(new CustomEvent(`luzmo-formula-draggable-field-activate`,{bubbles:!0,composed:!0,detail:{kind:this.kind,value:this.value}}))}_describe(){this.dispatchEvent(new CustomEvent(`luzmo-formula-draggable-field-describe`,{bubbles:!0,composed:!0,detail:{kind:this.kind,value:this.value}}))}render(){let e=this._hasTooltipSlot||!!this.description;return u.html`
50
- <button
51
- class="draggable"
52
- type="button"
53
- aria-label=${this.label}
54
- ?disabled=${this.disabled}
55
- @click=${this._handleClick}
56
- @dblclick=${this._activate}
57
- @mouseenter=${this._describe}
58
- @focus=${this._describe}
59
- >
60
- <span class="drag-icon" aria-hidden="true">${(0,l.luzmoIcon)(l.luzmoArrows)}</span>
61
- <slot
62
- name="icon"
63
- class="icon-slot ${this._hasIcon?`has-icon`:``}"
64
- @slotchange=${this._handleIconSlotChange}
65
- ></slot>
66
- <span class="draggable-label">${this.label}</span>
67
- <luzmo-tooltip
68
- self-managed
69
- placement=${this.tooltipPlacement}
70
- .size=${this.size}
71
- ?disabled=${!e}
72
- >
73
- <div class="tooltip-content">
74
- ${this._hasTooltipSlot?u.nothing:this.description?u.html`<span>${this.description}</span>`:u.nothing}
75
- <slot name="tooltip" @slotchange=${this._handleTooltipSlotChange}></slot>
76
- </div>
77
- </luzmo-tooltip>
78
- </button>
79
- `}};t.n([(0,d.property)({type:String})],A.prototype,`kind`,void 0),t.n([(0,d.property)({type:String})],A.prototype,`value`,void 0),t.n([(0,d.property)({type:String})],A.prototype,`label`,void 0),t.n([(0,d.property)({type:String})],A.prototype,`description`,void 0),t.n([(0,d.property)({type:String,attribute:`tooltip-placement`})],A.prototype,`tooltipPlacement`,void 0),t.n([(0,d.property)({type:String,reflect:!0})],A.prototype,`variant`,void 0),t.n([(0,d.property)({type:Boolean,reflect:!0})],A.prototype,`disabled`,void 0),t.n([(0,d.state)()],A.prototype,`_hasIcon`,void 0),t.n([(0,d.state)()],A.prototype,`_hasTooltipSlot`,void 0),customElements.get(`luzmo-formula-draggable-field`)||customElements.define(`luzmo-formula-draggable-field`,A);var j={numeric:`numeric`,hierarchy:`hierarchy`,datetime:`datetime`};function M(e,t){return t?u.html`<code class="tooltip-example">${e.split(/(⟨\w+⟩)/g).map(e=>{let t=e.match(/^⟨(\w+)⟩$/);if(t){let e=j[t[1]];if(e)return u.html`<span class="example-icon" aria-hidden="true">${(0,l.luzmoIcon)(r.t({type:e},`s`))}</span>`}return e})}</code>`:u.html`<code class="tooltip-example">${e}</code>`}function N(e,t,n){return!e&&!t?u.nothing:u.html`
80
- <div slot="tooltip" class="explanation-tooltip">
81
- ${e?u.html`<span>${e}</span>`:u.nothing}
82
- ${t?M(t,n):u.nothing}
83
- </div>
84
- `}var P=a.a();function F(e){return u.html`
85
- <div class="list-loading" role="status" part="list-loading">
86
- <luzmo-progress-circle
87
- indeterminate
88
- .label=${(0,f.msg)(`Loading aggregations`,{desc:`Formula editor aggregations list loading spinner label`})}
89
- .size=${e}
90
- ></luzmo-progress-circle>
91
- </div>
92
- `}function I({size:e,explanationTooltips:t,disabled:n}){return u.html`
93
- <div class="list-items" part="list-items" role="list">
94
- ${(0,p.repeat)(a.i,e=>e,r=>u.html`
95
- <luzmo-formula-draggable-field
96
- role="listitem"
97
- kind="aggregation"
98
- value=${r}
99
- .label=${P[r]?.label()??r}
100
- .size=${e}
101
- ?disabled=${n}
102
- >
103
- ${t?N(P[r]?.description()??``,P[r]?.example()??``,P[r]?.exampleHasIcons??!1):u.nothing}
104
- </luzmo-formula-draggable-field>
105
- `)}
106
- </div>
107
- `}function L(e){return u.html`
108
- <div class="list" part="list aggregations-list">
109
- <luzmo-field-label class="list-header" part="list-header" .size=${e.size}
110
- >${(0,f.msg)(`Aggregations`,{desc:`Formula editor aggregations list title`})}</luzmo-field-label
111
- >
112
- ${e.loading?F(e.size):I(e)}
113
- </div>
114
- `}function R(e,t,n){let r=t.trim().toLowerCase();return r?e.columns.filter(e=>i.t(e.name,n).toLowerCase().includes(r)):e.columns}function z(e){return u.html`
115
- <div class="list-loading" role="status" part="list-loading">
116
- <luzmo-progress-circle
117
- indeterminate
118
- .label=${(0,f.msg)(`Loading columns`,{desc:`Formula editor datasets list loading spinner label`})}
119
- .size=${e}
120
- ></luzmo-progress-circle>
121
- </div>
122
- `}function B(e,t){let{datasets:n,contentLanguage:r,size:a,disabled:o,searchQuery:s,collapsed:c,onToggleCollapse:d,onInsertColumn:f}=e;return u.html`
123
- <div class="list-scroll" part="list-scroll">
124
- ${(0,p.repeat)(n,e=>e.id,e=>{let n=R(e,s,r),m=c.has(e.id);return n.length===0?u.nothing:u.html`
125
- <div class="dataset-group" part="dataset-group">
126
- ${t?u.html`<button
127
- class="dataset-group-header"
128
- part="dataset-group-header"
129
- type="button"
130
- aria-expanded=${!m}
131
- @click=${()=>d(e.id)}
132
- >
133
- <span class="dataset-group-icon" aria-hidden="true"
134
- >${(0,l.luzmoIcon)(m?l.luzmoAngleRight:l.luzmoAngleDown)}</span
135
- >
136
- <span class="dataset-group-label">${i.t(e.name,r)||e.id}</span>
137
- </button>`:u.nothing}
138
- ${m?u.nothing:u.html`<div class="dataset-group-fields" role="list">
139
- ${(0,p.repeat)(n,e=>`${e.datasetId}:${e.columnId}`,e=>u.html`
140
- <luzmo-data-field
141
- role="listitem"
142
- hide-sublevels
143
- .data=${e}
144
- .language=${r}
145
- .size=${a}
146
- ?disabled=${o}
147
- @dblclick=${()=>f(e)}
148
- ></luzmo-data-field>
149
- `)}
150
- </div>`}
151
- </div>
152
- `})}
153
- </div>
154
- `}function V(e){let{size:t,loading:n=!1,disabled:r=!1,searchQuery:i,onSearchInput:a}=e,o=e.datasets.length>1;return u.html`
155
- <div class="list" part="list datasets-list">
156
- <luzmo-field-label class="list-header" part="list-header" .size=${t}
157
- >${(0,f.msg)(`Data`,{id:`formula-datasets-list-title`,desc:`Formula editor datasets list title`})}</luzmo-field-label
158
- >
159
- <luzmo-search
160
- .size=${t}
161
- .placeholder=${(0,f.msg)(`Search columns...`,{desc:`Formula editor datasets list search placeholder`})}
162
- .value=${i}
163
- ?disabled=${r||n}
164
- @input=${a}
165
- ></luzmo-search>
166
- ${n?z(t):B(e,o)}
167
- </div>
168
- `}var H={numeric:`numeric`,hierarchy:`hierarchy`,datetime:`datetime`},U=a.r(),W=a.a(),G=a._();function K(e,t){return t?u.html`<code class="example-code">${e.split(/(⟨\w+⟩)/g).map(e=>{let t=e.match(/^⟨(\w+)⟩$/);if(t){let e=H[t[1]];if(e)return u.html`<span class="example-icon" aria-hidden="true">${(0,l.luzmoIcon)(r.t({type:e},`s`))}</span>`}return e})}</code>`:u.html`<code class="example-code">${e}</code>`}function q(e){if(!e)return u.html`
169
- <div class="description-empty" part="description-empty">
170
- ${(0,f.msg)(`Hover a function or aggregation to see its description.`,{desc:`Formula editor description empty state`})}
171
- </div>
172
- `;if(e.kind===`grouping`){let t=G[e.id];return u.html`
173
- <div class="description-title" part="description-title">${t?.label()??e.id}</div>
174
- <div class="description-text" part="description-text">${t?.description()??``}</div>
175
- `}let t=e.kind===`aggregation`?W[e.id]:U[e.id];return t?u.html`
176
- <div class="description-title" part="description-title">${t.label()}</div>
177
- ${K(t.example(),t.exampleHasIcons??!1)}
178
- <div class="description-text" part="description-text">${t.description()}</div>
179
- `:u.nothing}function J({target:e,size:t}){return u.html`
180
- <div class="list description" part="list description-list">
181
- <luzmo-field-label class="list-header" part="list-header" .size=${t}
182
- >${(0,f.msg)(`Description`,{desc:`Formula editor description title`})}</luzmo-field-label
183
- >
184
- ${q(e)}
185
- </div>
186
- `}var Y=a.r();function X(e){return u.html`
187
- <div class="list-loading" role="status" part="list-loading">
188
- <luzmo-progress-circle
189
- indeterminate
190
- .label=${(0,f.msg)(`Loading functions`,{desc:`Formula editor functions list loading spinner label`})}
191
- .size=${e}
192
- ></luzmo-progress-circle>
193
- </div>
194
- `}function Z(e,{size:t,explanationTooltips:n,disabled:r}){return u.html`
195
- <div class="list-items" part="list-items" role="list">
196
- ${(0,p.repeat)(e,e=>e,e=>u.html`
197
- <luzmo-formula-draggable-field
198
- role="listitem"
199
- kind="function"
200
- value=${e}
201
- .label=${Y[e]?.label()??e}
202
- .size=${t}
203
- ?disabled=${r}
204
- >
205
- ${n?N(Y[e]?.description()??``,Y[e]?.example()??``,Y[e]?.exampleHasIcons??!1):u.nothing}
206
- </luzmo-formula-draggable-field>
207
- `)}
208
- </div>
209
- `}function Q(e){let{size:t,loading:n=!1,disabled:r=!1,selectedCategory:i,onCategoryChange:o}=e,s=a.n(),c=s.find(e=>e.key===i)??s[0],l=s.map(e=>({value:e.key,label:e.title()}));return u.html`
210
- <div class="list" part="list functions-list">
211
- <luzmo-field-label class="list-header" part="list-header" .size=${t}
212
- >${(0,f.msg)(`Functions`,{desc:`Formula editor functions list title`})}</luzmo-field-label
213
- >
214
- <luzmo-select
215
- selects="single"
216
- variant="highlight"
217
- .size=${t}
218
- .options=${l}
219
- .value=${[c.key]}
220
- aria-label=${(0,f.msg)(`Function category`,{desc:`Accessible label for the function category selector`})}
221
- ?disabled=${r||n}
222
- @change=${o}
223
- ></luzmo-select>
224
- ${n?X(t):Z(c.functions,e)}
225
- </div>
226
- `}var te=`:host{--luzmo-formula-editor-error-color:var(--luzmo-negative-color);--luzmo-formula-editor-error-background:color-mix(in srgb, var(--luzmo-negative-color) 10%, var(--luzmo-background-color) 90%);--luzmo-formula-editor-error-text-color:var(--luzmo-font-color);--luzmo-formula-font-size:var(--luzmo-font-size);--luzmo-formula-pill-disclosure-icon-size:var(--luzmo-font-size);--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-m);--luzmo-formula-control-height:calc(var(--luzmo-component-height) - 2 * var(--luzmo-spacing-1));--formula-editor-lists-height:24rem}:host([size=s]){--luzmo-formula-font-size:var(--luzmo-font-size-s);--luzmo-formula-control-height:calc(var(--luzmo-component-height-s) - 2 * var(--luzmo-spacing-1));--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-s);--formula-editor-lists-height:20rem}:host([size=l]){--luzmo-formula-font-size:var(--luzmo-font-size-l);--luzmo-formula-control-height:calc(var(--luzmo-component-height-l) - 2 * var(--luzmo-spacing-1));--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-l);--formula-editor-lists-height:28rem}:host([size=xl]){--luzmo-formula-font-size:var(--luzmo-font-size-xl);--luzmo-formula-control-height:calc(var(--luzmo-component-height-xl) - 2 * var(--luzmo-spacing-1));--luzmo-formula-grouping-icon-size:var(--luzmo-icon-size-xl);--formula-editor-lists-height:32rem}:host{box-sizing:border-box;width:100%;max-width:100%;font-family:var(--luzmo-font-family);color:var(--luzmo-font-color);display:block}.formula-editor{flex-direction:column;width:100%;display:flex}luzmo-formula-codemirror,.formula-codemirror-loading{--luzmo-formula-field-bottom-radius:0;z-index:1;width:100%;position:relative}.error{align-items:flex-start;gap:var(--luzmo-spacing-2);padding:var(--luzmo-spacing-2) var(--luzmo-spacing-3);border:1px solid var(--luzmo-formula-editor-error-color,var(--luzmo-negative-color));background:var(--luzmo-formula-editor-error-background,color-mix(in srgb, var(--luzmo-negative-color) 10%, var(--luzmo-background-color) 90%));color:var(--luzmo-formula-editor-error-text-color,var(--luzmo-font-color));font-size:var(--luzmo-font-size-s);border-block-start:0;line-height:1.4;display:flex}.error svg{flex:none;margin-block-start:.2em}.lists{box-sizing:border-box;min-height:0;border:1px solid var(--luzmo-border-color);border-block-start:0;border-end-end-radius:var(--luzmo-border-radius);border-end-start-radius:var(--luzmo-border-radius);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;padding-block-start:var(--luzmo-formula-editor-gap,0);display:grid}:host([show-aggregations]) .lists,:host([explanation-display=description]) .lists{grid-template-columns:repeat(3,minmax(0,1fr))}:host([show-aggregations][explanation-display=description]) .lists{grid-template-columns:repeat(4,minmax(0,1fr))}.lists>*{min-width:0;padding:var(--luzmo-formula-editor-list-padding,var(--luzmo-spacing-3));--luzmo-formula-list-height:var(--luzmo-formula-editor-lists-height,var(--formula-editor-lists-height,16rem))}.lists>:not(:last-child){border-inline-end:1px solid var(--luzmo-border-color)}.lists{--list-text-font-size:var(--luzmo-font-size)}:host([size=s]) .lists{--list-text-font-size:var(--luzmo-font-size-s)}:host([size=l]) .lists{--list-text-font-size:var(--luzmo-font-size-l)}:host([size=xl]) .lists{--list-text-font-size:var(--luzmo-font-size-xl)}.lists .list{gap:var(--luzmo-spacing-2);min-height:0;height:var(--luzmo-formula-list-height,100%);box-sizing:border-box;flex-direction:column;display:flex}.lists .list-header{flex-shrink:0;margin-block-end:var(--luzmo-spacing-1);display:block}.lists .list-items{gap:var(--luzmo-spacing-1);flex-direction:column;align-content:flex-start;min-height:0;display:flex;overflow-y:auto}.lists .list-items::-webkit-scrollbar{width:var(--luzmo-scrollbar-width,6px)}.lists .list-items::-webkit-scrollbar-track{background:var(--luzmo-scrollbar-track-background,transparent);border-radius:var(--luzmo-scrollbar-track-border-radius,4px)}.lists .list-items::-webkit-scrollbar-thumb{background:var(--luzmo-scrollbar-thumb-background,#0003);border-radius:var(--luzmo-scrollbar-thumb-border-radius,4px)}.lists .list-items::-webkit-scrollbar-thumb:hover{background:var(--luzmo-scrollbar-thumb-hover-background,#00000059)}.lists .list-items{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-scrollbar-thumb-background,#0003) var(--luzmo-scrollbar-track-background,transparent)}.lists .list-scroll{gap:var(--luzmo-spacing-2,.5rem);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.lists .list-scroll::-webkit-scrollbar{width:var(--luzmo-scrollbar-width,6px)}.lists .list-scroll::-webkit-scrollbar-track{background:var(--luzmo-scrollbar-track-background,transparent);border-radius:var(--luzmo-scrollbar-track-border-radius,4px)}.lists .list-scroll::-webkit-scrollbar-thumb{background:var(--luzmo-scrollbar-thumb-background,#0003);border-radius:var(--luzmo-scrollbar-thumb-border-radius,4px)}.lists .list-scroll::-webkit-scrollbar-thumb:hover{background:var(--luzmo-scrollbar-thumb-hover-background,#00000059)}.lists .list-scroll{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-scrollbar-thumb-background,#0003) var(--luzmo-scrollbar-track-background,transparent)}.lists luzmo-select,.lists luzmo-search{width:100%}.lists .list-loading{min-height:0;padding:var(--luzmo-spacing-4);flex:1;justify-content:center;align-items:center;display:flex}.lists .dataset-group{gap:var(--luzmo-spacing-1);flex-direction:column;display:flex}.lists .dataset-group-header{align-items:center;gap:var(--luzmo-spacing-1);width:100%;padding:var(--luzmo-spacing-1) 0;color:var(--luzmo-font-color-extra-dimmed);font:inherit;font-size:var(--list-text-font-size);font-weight:var(--luzmo-font-weight-bold);text-align:start;cursor:pointer;background:0 0;border:none;display:flex}.lists .dataset-group-fields{gap:var(--luzmo-spacing-1);flex-direction:column;display:flex}.lists .dataset-group-fields luzmo-data-field{--luzmo-data-field-level-border-width:0;--luzmo-data-field-level-background-color:transparent;--luzmo-data-field-level-horizontal-padding:var(--luzmo-spacing-3);--luzmo-data-field-level-gap:var(--luzmo-spacing-3);--luzmo-data-field-level-background-color-hover:var(--luzmo-formula-editor-data-field-background-color-hover,var(--luzmo-background-color-highlight));--luzmo-data-field-level-border-color-hover:var(--luzmo-formula-editor-data-field-border-color-hover,var(--luzmo-background-color-highlight));--luzmo-data-field-level-background-color-active:var(--luzmo-formula-editor-data-field-background-color-active,var(--luzmo-background-color-highlight-down));--luzmo-data-field-level-border-color-active:var(--luzmo-formula-editor-data-field-border-color-active,var(--luzmo-background-color-highlight-down));--luzmo-data-field-level-background-color-focus-visible:var(--luzmo-formula-editor-data-field-background-color-focus,var(--luzmo-background-color-highlight-focus))}.lists .description{gap:var(--luzmo-spacing-2)}.lists .description-title{font-weight:var(--luzmo-font-weight-bold);font-size:var(--list-text-font-size)}.lists .description-text{font-size:var(--list-text-font-size);color:var(--luzmo-font-color-extra-dimmed);line-height:1.4}.lists .description-empty{font-size:var(--list-text-font-size);color:var(--luzmo-font-color-tertiary,#767676);font-style:italic}.lists .example-code{align-items:center;gap:var(--luzmo-spacing-1);padding:var(--luzmo-spacing-2);border-radius:var(--luzmo-border-radius-s);background-color:var(--luzmo-background-color-highlight);font-family:var(--luzmo-font-family-mono,monospace);font-size:var(--list-text-font-size);flex-wrap:wrap;display:inline-flex}.lists .example-icon{vertical-align:middle;display:inline-flex}.lists .explanation-tooltip{gap:var(--luzmo-spacing-2);text-align:start;flex-direction:column;display:flex}.lists .explanation-tooltip .tooltip-example{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-weight:var(--luzmo-font-weight-bold,700);white-space:pre-wrap;display:block}.lists .explanation-tooltip .example-icon{display:inline}`,ne=750,$=class extends b{constructor(...e){super(...e),this.expressionResource=`formula`,this.explanationDisplay=`tooltip`,this._loadingDatasets=!1,this._describeTarget=null,this._hasError=!1,this._errorMessage=null,this._selectedCategory=`string`,this._searchQuery=``,this._collapsedDatasets=new Set,this._validWordIdentifiers=E(this._store.functionDataMap,this._store.aggregationFunctionDataMap),this._validationSequence=0}static{this.styles=(0,u.unsafeCSS)(te)}get _emitDebounceMs(){return ne}_onExpressionComputed(e){e!==this._lastEmittedExpression&&(this._validate(e),this._emitExpressionChanged(e))}_setLoading(e){this._loadingDatasets=e,this._store.setLoading(e)}_validate(e){let t=this._localValidity(e),n=++this._validationSequence;if(!t.valid){this._emitValidity(t);return}if(!this.authKey||!this.authToken){this._emitValidity(this._offlineValidity(e));return}this._runBackendValidation(e,n)}async _runBackendValidation(e,t){try{n.t.configure({apiUrl:this.apiUrl,authKey:this.authKey??``,authToken:this.authToken??``});let r=await n.t.validate(this.expressionResource,{expression:e,explain_error:!0});if(t!==this._validationSequence)return;this._emitValidity({valid:r.valid,error:r.valid?null:r.explanation??r.reason??null,type:r.type})}catch(n){console.warn(`[luzmo-formula-editor] Expression validation failed, falling back to local validation:`,n),t===this._validationSequence&&this._emitValidity(this._offlineValidity(e))}}_localValidity(e){return e.trim()?e.includes(`##EMPTYARG-`)?{valid:!1,error:(0,f.msg)(`Complete all empty arguments.`,{desc:`Formula editor validation error for empty arguments`})}:a.p.test(e)?{valid:!1,error:(0,f.msg)(`Provide a value for every aggregation.`,{desc:`Formula editor validation error for empty aggregations`})}:{valid:!0,error:null}:{valid:!1,error:null}}_offlineValidity(e){let t=D(e,this._validWordIdentifiers);return t?{valid:!1,error:(0,f.msg)(f.str`'${t}' is not a valid column, function, or value.`,{desc:`Formula editor validation error for unresolved free text in the expression`})}:{valid:!0,error:null}}_emitValidity(e){this._hasError=!e.valid&&!!e.error,this._errorMessage=e.error,this.dispatchEvent(new CustomEvent(`luzmo-validity-changed`,{bubbles:!0,composed:!0,detail:e}))}_insertColumn(e){this.readonly||!e.columnId||this._store.onExtendExpression({type:`column`,id:e.columnId,datasetId:e.datasetId,aggregationWidgetId:this._store.lastFocusedAggregationWidgetId,targetEmptyArgumentId:this._store.lastFocusedEmptyArgumentId??void 0})}_handleCategoryChange(e){let t=e.detail?.value?.[0];t&&(this._selectedCategory=t)}_handleSearchInput(e){this._searchQuery=e.target.value}_toggleCollapse(e){let t=new Set(this._collapsedDatasets);t.has(e)?t.delete(e):t.add(e),this._collapsedDatasets=t}_handleDraggableActivate(e){if(e.stopPropagation(),this.readonly)return;let{kind:t,value:n}=e.detail;this._store.onExtendExpression({type:t,id:n,aggregationWidgetId:this._store.lastFocusedAggregationWidgetId,targetEmptyArgumentId:this._store.lastFocusedEmptyArgumentId??void 0})}_handleDraggableDescribe(e){e.stopPropagation();let{kind:t,value:n}=e.detail;this._describeTarget=n?{kind:t,id:n}:null}_renderLists(){if(this.readonly)return u.nothing;let e=this.explanationDisplay===`tooltip`;return u.html`
227
- <div
228
- class="lists"
229
- part="lists"
230
- @luzmo-formula-draggable-field-activate=${this._handleDraggableActivate}
231
- @luzmo-formula-draggable-field-describe=${this._handleDraggableDescribe}
232
- >
233
- ${this.showAggregations?L({explanationTooltips:e,loading:this._loadingDatasets,size:this.size}):u.nothing}
234
- ${V({datasets:this._datasets,loading:this._loadingDatasets,contentLanguage:this.contentLanguage,size:this.size,searchQuery:this._searchQuery,collapsed:this._collapsedDatasets,onSearchInput:e=>this._handleSearchInput(e),onToggleCollapse:e=>this._toggleCollapse(e),onInsertColumn:e=>this._insertColumn(e)})}
235
- ${Q({explanationTooltips:e,loading:this._loadingDatasets,size:this.size,selectedCategory:this._selectedCategory,onCategoryChange:e=>this._handleCategoryChange(e)})}
236
- ${e?u.nothing:J({target:this._describeTarget,size:this.size})}
237
- </div>
238
- `}render(){return u.html`
239
- <div class="formula-editor" part="formula-editor">
240
- ${this._renderFormulaCodeMirror({hasError:this._hasError})}
241
- ${this._hasError&&this._errorMessage?u.html`<div class="error" part="error" role="alert">
242
- ${(0,l.luzmoIcon)(l.luzmoAlertOutline)}
243
- <span>${this._errorMessage}</span>
244
- </div>`:u.nothing}
245
- ${this._renderLists()}
246
- </div>
247
- `}};t.n([(0,d.property)({type:String,attribute:`expression-resource`,reflect:!0})],$.prototype,`expressionResource`,void 0),t.n([(0,d.property)({type:String,attribute:`explanation-display`,reflect:!0})],$.prototype,`explanationDisplay`,void 0),t.n([(0,d.state)()],$.prototype,`_loadingDatasets`,void 0),t.n([(0,d.state)()],$.prototype,`_describeTarget`,void 0),t.n([(0,d.state)()],$.prototype,`_hasError`,void 0),t.n([(0,d.state)()],$.prototype,`_errorMessage`,void 0),t.n([(0,d.state)()],$.prototype,`_selectedCategory`,void 0),t.n([(0,d.state)()],$.prototype,`_searchQuery`,void 0),t.n([(0,d.state)()],$.prototype,`_collapsedDatasets`,void 0),$=t.n([(0,f.localized)()],$),customElements.get(`luzmo-formula-editor`)||customElements.define(`luzmo-formula-editor`,$),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});