@luzmo/analytics-components-kit 1.0.3 → 1.0.4-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 (678) hide show
  1. package/components/ai-chat/ai-chat-events.d.ts +123 -0
  2. package/components/ai-chat/ai-chat-request.d.ts +11 -0
  3. package/components/ai-chat/ai-chat.d.ts +279 -0
  4. package/components/ai-chat/ai-prompt-types.d.ts +94 -0
  5. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
  6. package/components/ai-chat/empty-state/index.d.ts +8 -0
  7. package/components/ai-chat/empty-state/types.d.ts +14 -0
  8. package/components/ai-chat/index.cjs +20 -0
  9. package/components/ai-chat/index.d.ts +20 -0
  10. package/components/ai-chat/index.js +28 -0
  11. package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
  12. package/components/ai-chat/session/ai-chat-session-types.d.ts +88 -0
  13. package/components/ai-chat/session/ai-chat-session.d.ts +91 -0
  14. package/components/ai-chat/session/index.d.ts +2 -0
  15. package/components/ai-chat/stream/chunk-extractors.d.ts +27 -0
  16. package/components/ai-chat/stream/index.d.ts +52 -0
  17. package/components/ai-chat/stream/progress.d.ts +3 -0
  18. package/components/ai-chat/stream/registry.d.ts +6 -0
  19. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  20. package/components/ai-chat/stream/transport.d.ts +26 -0
  21. package/components/ai-chat/stream/types.d.ts +55 -0
  22. package/components/ai-chat-BMDfKnEj.cjs +258 -0
  23. package/components/ai-chat-Cd26aDpX.js +3718 -0
  24. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +135 -0
  25. package/components/ai-interaction-textarea/index.cjs +20 -0
  26. package/components/ai-interaction-textarea/index.d.ts +8 -0
  27. package/components/ai-interaction-textarea/index.js +28 -0
  28. package/components/ai-interaction-textarea/types.d.ts +5 -0
  29. package/components/ai-interaction-textarea-CPfJqTB0.cjs +68 -0
  30. package/components/ai-interaction-textarea-DkBglh6Q.js +299 -0
  31. package/components/{area-chart-options.config-CU6FV2Zl.js → area-chart-options.config-4OY_kXkB.js} +1 -1
  32. package/components/{area-chart-positioning.config-DRyIQjFn.js → area-chart-positioning.config-CAPrtEZW.js} +1 -1
  33. package/components/{area-chart-positioning.config-Y_6E7SvI.cjs → area-chart-positioning.config-CfC43YUW.cjs} +1 -1
  34. package/components/{area-chart-slots.config-DPuSQAQa.js → area-chart-slots.config--pd_dBTn.js} +1 -1
  35. package/components/{bar-chart-options.config-NGKHlChC.js → bar-chart-options.config-C3puwFpi.js} +1 -1
  36. package/components/{bar-chart-positioning.config-qTk0gXbd.js → bar-chart-positioning.config-C1MLYyl9.js} +1 -1
  37. package/components/{bar-chart-positioning.config-DXS8KSTz.cjs → bar-chart-positioning.config-vJOALpQP.cjs} +1 -1
  38. package/components/{bar-chart-slots.config-C6CGWcGz.js → bar-chart-slots.config-Dr7v4xxd.js} +1 -1
  39. package/components/{base-DoCXVulO.js → base-B_wdCOxV.js} +3 -2
  40. package/components/base-kQ6cjcIZ.cjs +20 -0
  41. package/components/{box-plot-options.config-Bh9txvcB.js → box-plot-options.config-B486nCds.js} +1 -1
  42. package/components/{box-plot-positioning.config-yAg3VqZJ.js → box-plot-positioning.config-CA27sCpO.js} +1 -1
  43. package/components/{box-plot-positioning.config-NwxT5LtO.cjs → box-plot-positioning.config-DVNeh9kg.cjs} +1 -1
  44. package/components/{box-plot-slots.config-Bk8naosI.js → box-plot-slots.config-Bdb7pkky.js} +1 -1
  45. package/components/{bubble-chart-options.config-Djw_bUxZ.js → bubble-chart-options.config-BymUqNR5.js} +1 -1
  46. package/components/{bubble-chart-positioning.config-C_tWwbjm.cjs → bubble-chart-positioning.config-Dg92VJnB.cjs} +1 -1
  47. package/components/{bubble-chart-positioning.config-B2fMLimr.js → bubble-chart-positioning.config-OlbBZU4m.js} +1 -1
  48. package/components/{bubble-chart-slots.config-DR7Uz54G.js → bubble-chart-slots.config-B4tsJDuz.js} +1 -1
  49. package/components/{bullet-chart-options.config-DGmdW4q4.js → bullet-chart-options.config-BtyRdRk2.js} +1 -1
  50. package/components/{bullet-chart-positioning.config-B94J7_4d.cjs → bullet-chart-positioning.config-BwqxpSSL.cjs} +1 -1
  51. package/components/{bullet-chart-positioning.config-DmP7TvxA.js → bullet-chart-positioning.config-Y18yvzoc.js} +1 -1
  52. package/components/{bullet-chart-slots.config-DbzsDrUl.js → bullet-chart-slots.config-ccCSNJ5q.js} +1 -1
  53. package/components/{choropleth-map-options.config-zZOpXVaM.js → choropleth-map-options.config-CqCciAvW.js} +1 -1
  54. package/components/{choropleth-map-positioning.config-9MmmbjBg.js → choropleth-map-positioning.config-Dmzy3fMc.js} +1 -1
  55. package/components/{choropleth-map-positioning.config-BzsmeLhM.cjs → choropleth-map-positioning.config-y-bYMoxr.cjs} +1 -1
  56. package/components/{choropleth-map-slots.config-CRdWjaCE.js → choropleth-map-slots.config-X2YYrSXc.js} +1 -1
  57. package/components/{circle-pack-chart-options.config-CopW_8_S.js → circle-pack-chart-options.config-D9C-ltHA.js} +1 -1
  58. package/components/{circle-pack-chart-positioning.config-B_UwdpKt.js → circle-pack-chart-positioning.config-YDdY2cc2.js} +1 -1
  59. package/components/{circle-pack-chart-positioning.config-DiNINE6m.cjs → circle-pack-chart-positioning.config-wKIQDFe8.cjs} +1 -1
  60. package/components/{circle-pack-chart-slots.config-BBCVJM7e.js → circle-pack-chart-slots.config-BIO1dZsK.js} +1 -1
  61. package/components/{circular-gauge-options.config-gtbMbogY.js → circular-gauge-options.config-De6SlTLT.js} +1 -1
  62. package/components/{circular-gauge-positioning.config-DVrt25rr.js → circular-gauge-positioning.config-C41euPS9.js} +1 -1
  63. package/components/{circular-gauge-positioning.config-CIsU-S4V.cjs → circular-gauge-positioning.config-CKNanoFX.cjs} +1 -1
  64. package/components/{circular-gauge-slots.config-DNnzoRev.js → circular-gauge-slots.config-Dv_7fAD_.js} +1 -1
  65. package/components/{column-chart-options.config-BKtKoP3J.js → column-chart-options.config-5Dbg3FmH.js} +1 -1
  66. package/components/{column-chart-positioning.config-COxTPiE_.js → column-chart-positioning.config-BdyuErF8.js} +1 -1
  67. package/components/{column-chart-positioning.config-C7uLfFA-.cjs → column-chart-positioning.config-Enx15Dqh.cjs} +1 -1
  68. package/components/{column-chart-slots.config-C6c-fKz2.js → column-chart-slots.config-eHvTwZLX.js} +1 -1
  69. package/components/{combination-chart-options.config-B1GjRnKL.js → combination-chart-options.config-BzmLGCal.js} +1 -1
  70. package/components/{combination-chart-positioning.config-DdWD2qhF.js → combination-chart-positioning.config-BQRn0EfF.js} +1 -1
  71. package/components/{combination-chart-positioning.config-B6W7EIix.cjs → combination-chart-positioning.config-CqlKA__j.cjs} +1 -1
  72. package/components/{combination-chart-slots.config-DNXQAw4U.js → combination-chart-slots.config-CG40JjE3.js} +1 -1
  73. package/components/{conditional-number-options.config-C3dodtlk.js → conditional-number-options.config-CVgV7s7f.js} +1 -1
  74. package/components/{conditional-number-positioning.config-7RAsw-TT.js → conditional-number-positioning.config-BBivi4ps.js} +1 -1
  75. package/components/{conditional-number-positioning.config-D5mpM8sp.cjs → conditional-number-positioning.config-CR45rPru.cjs} +1 -1
  76. package/components/{conditional-number-slots.config-BTpG1Uv3.js → conditional-number-slots.config-o22l-qLv.js} +1 -1
  77. package/components/data-field/index.cjs +1 -1
  78. package/components/data-field/index.js +1 -1
  79. package/components/data-field-CAGprHjS.cjs +54 -0
  80. package/components/data-field-CLfUWgK9.js +121 -0
  81. package/components/data-field-level/data-field-level.d.ts +40 -0
  82. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  83. package/components/data-field-level/index.cjs +20 -0
  84. package/components/data-field-level/index.d.ts +8 -0
  85. package/components/data-field-level/index.js +28 -0
  86. package/components/data-field-level-7qi9K__S.cjs +55 -0
  87. package/components/{data-field-zG8ljDJR.js → data-field-level-CfJ0dmxo.js} +48 -141
  88. package/components/data-field-panel/index.cjs +1 -1
  89. package/components/data-field-panel/index.js +1 -1
  90. package/components/data-field-panel-DUc8y4WA.cjs +87 -0
  91. package/components/{data-field-panel-DAkWBcEK.js → data-field-panel-N7mukLj6.js} +4 -3
  92. package/components/data-fields-select/data-fields-select.d.ts +127 -0
  93. package/components/data-fields-select/index.cjs +20 -0
  94. package/components/data-fields-select/index.d.ts +9 -0
  95. package/components/data-fields-select/index.js +28 -0
  96. package/components/data-fields-select/types.d.ts +4 -0
  97. package/components/{data-fields-select-DF6uZ8No.js → data-fields-select-B1pwPYt6.js} +2 -1
  98. package/components/data-fields-select-qCWuzckJ.cjs +41 -0
  99. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  100. package/components/dataset-icon/index.cjs +20 -0
  101. package/components/dataset-icon/index.d.ts +8 -0
  102. package/components/dataset-icon/index.js +28 -0
  103. package/components/dataset-icon/types.d.ts +11 -0
  104. package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
  105. package/components/dataset-icon-CWT5Ju8w.js +125 -0
  106. package/components/dataset-selector-list/dataset-selector-list.d.ts +102 -0
  107. package/components/dataset-selector-list/index.cjs +20 -0
  108. package/components/dataset-selector-list/index.d.ts +8 -0
  109. package/components/dataset-selector-list/index.js +28 -0
  110. package/components/dataset-selector-list-BPBZ04Lf.cjs +75 -0
  111. package/components/dataset-selector-list-DmajZuNC.js +313 -0
  112. package/components/dataset-selector-row/dataset-selector-row.d.ts +89 -0
  113. package/components/dataset-selector-row/index.cjs +20 -0
  114. package/components/dataset-selector-row/index.d.ts +8 -0
  115. package/components/dataset-selector-row/index.js +28 -0
  116. package/components/dataset-selector-row-SJzYIpO6.js +273 -0
  117. package/components/dataset-selector-row-qxfmcxpm.cjs +79 -0
  118. package/components/{date-comparison-filter-options.config-DANevgy_.js → date-comparison-filter-options.config-BJg_WqL4.js} +1 -1
  119. package/components/{date-comparison-filter-slots.config-WBp-r2dH.js → date-comparison-filter-slots.config-BIK5aZ6P.js} +1 -1
  120. package/components/{date-filter-options.config-BRI2SLGy.js → date-filter-options.config-N6eGgPGL.js} +1 -1
  121. package/components/{date-filter-slots.config-CWkGrxOt.js → date-filter-slots.config-CJJ4P0v6.js} +1 -1
  122. package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
  123. package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
  124. package/components/decorate-DCJt-2rt.cjs +20 -0
  125. package/components/{localized-mixin-DoA4mVsP.js → decorate-DyMgX_Uh.js} +2 -26
  126. package/components/default-acceptable-data-field-types-DFOFWWnT.js +53 -0
  127. package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
  128. package/components/display-settings/display-settings.d.ts +98 -0
  129. package/components/display-settings/index.cjs +20 -0
  130. package/components/display-settings/index.d.ts +8 -0
  131. package/components/display-settings/index.js +28 -0
  132. package/components/display-settings/types.d.ts +9 -0
  133. package/components/display-settings-CkkjJjem.js +272 -0
  134. package/components/display-settings-DnzOjr-1.cjs +120 -0
  135. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  136. package/components/display-settings-binning/index.cjs +20 -0
  137. package/components/display-settings-binning/index.d.ts +8 -0
  138. package/components/display-settings-binning/index.js +28 -0
  139. package/components/{display-settings-binning-Cm1rU9_g.js → display-settings-binning-BohjN2qK.js} +17 -19
  140. package/components/{display-settings-binning-D-p-PsFV.cjs → display-settings-binning-C7-gByrp.cjs} +2 -2
  141. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  142. package/components/display-settings-datetime/index.cjs +20 -0
  143. package/components/display-settings-datetime/index.d.ts +8 -0
  144. package/components/display-settings-datetime/index.js +28 -0
  145. package/components/{display-settings-datetime-BOdXtbJg.js → display-settings-datetime-7pUcku_h.js} +69 -71
  146. package/components/display-settings-datetime-DL0Qcz8Y.cjs +217 -0
  147. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  148. package/components/display-settings-grand-totals/index.cjs +20 -0
  149. package/components/display-settings-grand-totals/index.d.ts +8 -0
  150. package/components/display-settings-grand-totals/index.js +28 -0
  151. package/components/{display-settings-grand-totals-C1VhigDX.js → display-settings-grand-totals-CV5guBhH.js} +17 -19
  152. package/components/display-settings-grand-totals-DHQSZqMI.cjs +44 -0
  153. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  154. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  155. package/components/display-settings-numeric/index.cjs +20 -0
  156. package/components/display-settings-numeric/index.d.ts +8 -0
  157. package/components/display-settings-numeric/index.js +28 -0
  158. package/components/display-settings-numeric--5zk8_7K.cjs +190 -0
  159. package/components/{display-settings-numeric-CppfYXI6.js → display-settings-numeric-D2LjMepO.js} +79 -81
  160. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +68 -0
  161. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  162. package/components/display-settings-period-over-period/index.cjs +20 -0
  163. package/components/display-settings-period-over-period/index.d.ts +8 -0
  164. package/components/display-settings-period-over-period/index.js +28 -0
  165. package/components/display-settings-period-over-period-BE22oHvV.cjs +229 -0
  166. package/components/{display-settings-period-over-period-D1IPvtak.js → display-settings-period-over-period-sqZU6Zj_.js} +83 -84
  167. package/components/{donut-chart-options.config-CvSa4vvo.js → donut-chart-options.config-C66yOoed.js} +1 -1
  168. package/components/{donut-chart-positioning.config-CA93p_1i.cjs → donut-chart-positioning.config-B9sm4yFV.cjs} +1 -1
  169. package/components/{donut-chart-positioning.config-6nbFr06e.js → donut-chart-positioning.config-DtaPAgXE.js} +1 -1
  170. package/components/{donut-chart-slots.config-Hzx_LiNh.js → donut-chart-slots.config-2XbT9Uu8.js} +1 -1
  171. package/components/{dropdown-filter-options.config-BBYNqiB8.js → dropdown-filter-options.config-Cm_wK0mn.js} +1 -1
  172. package/components/{dropdown-filter-slots.config-vJX4At6j.js → dropdown-filter-slots.config-CnESCGuw.js} +1 -1
  173. package/components/{en-US-PSeMMGzt.js → en-CcLhGxIh.js} +1 -1
  174. package/components/{en-GB-m6liqSlO.js → en-GB-DzkdeUQh.js} +1 -1
  175. package/components/en-GB-uxY5qmIM.cjs +20 -0
  176. package/components/{en-PSeMMGzt.js → en-US-CcLhGxIh.js} +1 -1
  177. package/components/{en-US-Cxu7QI9q.cjs → en-US-q_Ruzags.cjs} +1 -1
  178. package/components/{en-Cxu7QI9q.cjs → en-q_Ruzags.cjs} +1 -1
  179. package/components/{evolution-number-options.config-Cjj2PxvX.js → evolution-number-options.config-07Jd0oUL.js} +1 -1
  180. package/components/{evolution-number-positioning.config-B1YadWnr.cjs → evolution-number-positioning.config-DVXhBZYj.cjs} +1 -1
  181. package/components/{evolution-number-positioning.config-Ctl0F_-h.js → evolution-number-positioning.config-v8_6kB1H.js} +1 -1
  182. package/components/{evolution-number-slots.config-C820wN9Q.js → evolution-number-slots.config-BKdD3cKw.js} +1 -1
  183. package/components/filter-expression-picker/filter-expression-picker.d.ts +73 -0
  184. package/components/filter-expression-picker/index.cjs +20 -0
  185. package/components/filter-expression-picker/index.d.ts +7 -0
  186. package/components/filter-expression-picker/index.js +28 -0
  187. package/components/filter-expression-picker-CF4Otpll.cjs +38 -0
  188. package/components/filter-expression-picker-DCrCAIhg.js +425 -0
  189. package/components/filter-item/filter-item.d.ts +84 -0
  190. package/components/filter-item/index.cjs +20 -0
  191. package/components/filter-item/index.d.ts +7 -0
  192. package/components/filter-item/index.js +28 -0
  193. package/components/filter-item-CKg3oQlZ.cjs +58 -0
  194. package/components/filter-item-DtdK1jvx.js +242 -0
  195. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +25 -0
  196. package/components/filter-parameter-picker/index.cjs +22 -0
  197. package/components/filter-parameter-picker/index.d.ts +7 -0
  198. package/components/filter-parameter-picker/index.js +58 -0
  199. package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
  200. package/components/filter-value-picker/index.cjs +20 -0
  201. package/components/filter-value-picker/index.d.ts +7 -0
  202. package/components/filter-value-picker/index.js +28 -0
  203. package/components/filter-value-picker-B5fHoLAG.cjs +60 -0
  204. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +42 -0
  205. package/components/filter-value-picker-datetime/index.cjs +20 -0
  206. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  207. package/components/filter-value-picker-datetime/index.js +28 -0
  208. package/components/filter-value-picker-datetime-CFCV2jkK.js +139 -0
  209. package/components/filter-value-picker-datetime-D20WnWar.cjs +42 -0
  210. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +81 -0
  211. package/components/filter-value-picker-hierarchy/index.cjs +20 -0
  212. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  213. package/components/filter-value-picker-hierarchy/index.js +28 -0
  214. package/components/filter-value-picker-hierarchy-CSM0RPvX.cjs +47 -0
  215. package/components/filter-value-picker-hierarchy-DEbN7h5L.js +232 -0
  216. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +82 -0
  217. package/components/filter-value-picker-numeric/index.cjs +20 -0
  218. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  219. package/components/filter-value-picker-numeric/index.js +28 -0
  220. package/components/filter-value-picker-numeric-BYspQRSi.js +219 -0
  221. package/components/filter-value-picker-numeric-BtZaQvkr.cjs +48 -0
  222. package/components/filter-value-picker-tyoO5ISM.js +151 -0
  223. package/components/filters/index.cjs +1 -1
  224. package/components/filters/index.js +1 -1
  225. package/components/filters-C8fHs4_m.js +400 -0
  226. package/components/filters-sR8GxUGw.cjs +150 -0
  227. package/components/formatter-BeXmurVe.cjs +20 -0
  228. package/components/{slots-config-CA1x9W3U.js → formatter-Cq5dFCyU.js} +314 -392
  229. package/components/formula/formula.d.ts +66 -0
  230. package/components/formula/index.cjs +20 -0
  231. package/components/formula/index.d.ts +7 -0
  232. package/components/formula/index.js +28 -0
  233. package/components/formula-BPHH_GKB.cjs +45 -0
  234. package/components/formula-DYdcMG-v.js +138 -0
  235. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  236. package/components/formula-codemirror/index.d.ts +7 -0
  237. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  238. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  239. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  240. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  241. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  242. package/components/formula-codemirror-CFgPlkN8.cjs +215 -0
  243. package/components/{formula-codemirror-CxRJdjY0.js → formula-codemirror-CQonNhmd.js} +38 -34
  244. package/components/formula-display-store-BGzj13Cs.js +1086 -0
  245. package/components/formula-display-store-DFAvw21p.cjs +20 -0
  246. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  247. package/components/formula-draggable-field/index.d.ts +8 -0
  248. package/components/formula-draggable-field/types.d.ts +24 -0
  249. package/components/formula-editor/formula-aggregations-list.d.ts +21 -0
  250. package/components/formula-editor/formula-datasets-list.d.ts +37 -0
  251. package/components/formula-editor/formula-description.d.ts +17 -0
  252. package/components/formula-editor/formula-editor.d.ts +70 -0
  253. package/components/formula-editor/formula-functions-list.d.ts +28 -0
  254. package/components/formula-editor/index.cjs +20 -0
  255. package/components/formula-editor/index.d.ts +12 -0
  256. package/components/formula-editor/index.js +30 -0
  257. package/components/formula-editor-CtCvJkyS.cjs +218 -0
  258. package/components/formula-editor-KXxQlh2n.js +666 -0
  259. package/components/formula-field/formula-field.d.ts +20 -0
  260. package/components/formula-field/index.cjs +20 -0
  261. package/components/formula-field/index.d.ts +7 -0
  262. package/components/formula-field/index.js +28 -0
  263. package/components/formula-field-OcD4TWAn.js +40 -0
  264. package/components/formula-field-aiqX7nRp.cjs +20 -0
  265. package/components/formula-input-base-CGe2ABn6.cjs +49 -0
  266. package/components/formula-input-base-CQPGmISj.js +236 -0
  267. package/components/{funnel-chart-options.config-CkIVYUyD.js → funnel-chart-options.config-PV1Hlu91.js} +1 -1
  268. package/components/{funnel-chart-positioning.config-CWK690yC.js → funnel-chart-positioning.config-BT-YoTgv.js} +1 -1
  269. package/components/{funnel-chart-positioning.config-BIQQ-zpo.cjs → funnel-chart-positioning.config-C5Z3JkuS.cjs} +1 -1
  270. package/components/{funnel-chart-slots.config-Bbc6r1GZ.js → funnel-chart-slots.config-_9HUPvTb.js} +1 -1
  271. package/components/get-css-variable-CBXsAxR6.cjs +20 -0
  272. package/components/get-css-variable-DYnldi15.js +63 -0
  273. package/components/get-dataset-name-BGCvfcdY.js +27 -0
  274. package/components/get-dataset-name-EkeeFzI3.cjs +20 -0
  275. package/components/groupings-CrE-yp0S.js +52 -0
  276. package/components/groupings-dIFi0bJY.cjs +20 -0
  277. package/components/{heat-map-options.config-Bxj7M6kg.js → heat-map-options.config-CQY6t9AL.js} +1 -1
  278. package/components/{heat-map-positioning.config-BQpzkXu3.js → heat-map-positioning.config-BpFis567.js} +1 -1
  279. package/components/{heat-map-positioning.config-BDbBf5RD.cjs → heat-map-positioning.config-HPftgmdz.cjs} +1 -1
  280. package/components/{heat-map-slots.config-CIYZdLGb.js → heat-map-slots.config-B4AswVSo.js} +1 -1
  281. package/components/{heat-table-options.config-C_PDicoC.js → heat-table-options.config-IlVPk4Q4.js} +1 -1
  282. package/components/{heat-table-positioning.config-By__Tq90.js → heat-table-positioning.config-Canc3aEE.js} +1 -1
  283. package/components/{heat-table-positioning.config-DQKFXpJS.cjs → heat-table-positioning.config-wkrm8Fbk.cjs} +1 -1
  284. package/components/{heat-table-slots.config-fst7kAtH.js → heat-table-slots.config-CB509zU4.js} +1 -1
  285. package/components/{hexbin-map-options.config-DJZZZixE.js → hexbin-map-options.config-vzw6ovva.js} +1 -1
  286. package/components/{hexbin-map-positioning.config-X6OyNJIR.js → hexbin-map-positioning.config-CBv6Lij5.js} +1 -1
  287. package/components/{marker-map-positioning.config-I-HDmH_i.cjs → hexbin-map-positioning.config-D0hAchxV.cjs} +1 -1
  288. package/components/{hexbin-map-slots.config-3HLwV8OK.js → hexbin-map-slots.config-Dyse0pui.js} +1 -1
  289. package/components/icon-element-DpN-9yaN.cjs +20 -0
  290. package/components/icon-element-_jY440X2.js +85 -0
  291. package/components/{image-options.config-b1hHO_hu.js → image-options.config-Cmrsd8Yu.js} +1 -1
  292. package/components/{image-slots.config-C8cFYfbC.js → image-slots.config-CVj-DM07.js} +1 -1
  293. package/components/index.cjs +1 -719
  294. package/components/index.js +63 -6684
  295. package/components/item-grid/index.cjs +1 -1
  296. package/components/item-grid/index.js +1 -1
  297. package/components/{item-grid-BON-D2gT.cjs → item-grid-BXZXJV3g.cjs} +50 -50
  298. package/components/{item-grid-D0dZeOjJ.js → item-grid-uWM-Unjx.js} +2 -1
  299. package/components/item-menu/item-list/item-list.d.ts +37 -0
  300. package/components/item-option/index.cjs +1 -1
  301. package/components/item-option/index.js +1 -1
  302. package/components/item-option-CEwjJc1p.cjs +252 -0
  303. package/components/item-option-action-button-group/index.cjs +1 -1
  304. package/components/item-option-action-button-group/index.js +1 -1
  305. package/components/{item-option-action-button-group-S1d63U_p.js → item-option-action-button-group-BOxQFfBF.js} +2 -2
  306. package/components/item-option-action-button-group-DXCVJqpt.cjs +53 -0
  307. package/components/item-option-base/item-option-base.d.ts +23 -0
  308. package/components/item-option-base-DKieCS-Y.cjs +56 -0
  309. package/components/{item-option-base-xqDg3z0y.js → item-option-base-Dr5-WxZ9.js} +2 -2
  310. package/components/item-option-color-palette-picker/index.cjs +1 -1
  311. package/components/item-option-color-palette-picker/index.js +1 -1
  312. package/components/item-option-color-palette-picker-7vSSpj5o.cjs +40 -0
  313. package/components/{item-option-color-palette-picker-Jpzlm0hc.js → item-option-color-palette-picker-D_mABGWh.js} +2 -2
  314. package/components/item-option-color-picker/index.cjs +1 -1
  315. package/components/item-option-color-picker/index.js +1 -1
  316. package/components/{item-option-color-picker-CD6rbfp3.js → item-option-color-picker-COLBYeRy.js} +2 -2
  317. package/components/{item-option-color-picker-BxSV4n8r.cjs → item-option-color-picker-DMyNeD2e.cjs} +2 -2
  318. package/components/item-option-color-range/index.cjs +1 -1
  319. package/components/item-option-color-range/index.js +1 -1
  320. package/components/item-option-color-range-BFr0B6Vf.cjs +98 -0
  321. package/components/{item-option-color-range-Ds8fbTLQ.js → item-option-color-range-CueVlyT2.js} +2 -2
  322. package/components/item-option-multi-language-field/index.cjs +1 -1
  323. package/components/item-option-multi-language-field/index.js +1 -1
  324. package/components/{item-option-multi-language-field-CzKPujJ2.js → item-option-multi-language-field-CMuQwrwQ.js} +2 -2
  325. package/components/{item-option-multi-language-field-CwVNF00e.cjs → item-option-multi-language-field-q7txF5xA.cjs} +2 -2
  326. package/components/item-option-number-field/index.cjs +1 -1
  327. package/components/item-option-number-field/index.js +1 -1
  328. package/components/{item-option-number-field-CMEF1_zC.js → item-option-number-field-BODNSx66.js} +2 -2
  329. package/components/{item-option-number-field-D9SNipL9.cjs → item-option-number-field-DWeJWUxY.cjs} +2 -2
  330. package/components/item-option-panel/index.cjs +1 -1
  331. package/components/item-option-panel/index.js +1 -1
  332. package/components/{item-option-panel-CFVzIar9.js → item-option-panel-CxOfVI0z.js} +3 -3
  333. package/components/{item-option-panel-rBiAYA96.cjs → item-option-panel-D0dxyUfE.cjs} +2 -2
  334. package/components/item-option-picker/index.cjs +1 -1
  335. package/components/item-option-picker/index.js +1 -1
  336. package/components/{item-option-picker-CoC6THh3.cjs → item-option-picker-BsP_0XyD.cjs} +2 -2
  337. package/components/{item-option-picker-kSepbJdX.js → item-option-picker-CyX7qqrb.js} +2 -2
  338. package/components/item-option-position-picker/index.cjs +1 -1
  339. package/components/item-option-position-picker/index.js +1 -1
  340. package/components/item-option-position-picker-CcmBYyqF.cjs +32 -0
  341. package/components/{item-option-position-picker-C4bdExi6.js → item-option-position-picker-LOg6P4Gl.js} +2 -2
  342. package/components/item-option-positions-number-field/index.cjs +1 -1
  343. package/components/item-option-positions-number-field/index.js +1 -1
  344. package/components/{item-option-positions-number-field-Cv1tA_Pe.js → item-option-positions-number-field-BCbWb1R6.js} +2 -2
  345. package/components/item-option-positions-number-field-o3Qckgwd.cjs +49 -0
  346. package/components/item-option-radio-button-group/index.cjs +1 -1
  347. package/components/item-option-radio-button-group/index.js +1 -1
  348. package/components/{item-option-radio-button-group-BRps0pHb.js → item-option-radio-button-group-CDebmEn3.js} +2 -2
  349. package/components/{item-option-radio-button-group-DK2WnKhT.cjs → item-option-radio-button-group-CjLhWTEJ.cjs} +2 -2
  350. package/components/item-option-slider/index.cjs +1 -1
  351. package/components/item-option-slider/index.js +1 -1
  352. package/components/{item-option-slider-cD6cc904.js → item-option-slider-C9ZJZcdg.js} +2 -2
  353. package/components/{item-option-slider-14YSeg1F.cjs → item-option-slider-CHbkJHLK.cjs} +2 -2
  354. package/components/item-option-switch/index.cjs +1 -1
  355. package/components/item-option-switch/index.js +1 -1
  356. package/components/{item-option-switch-uEeTC7ey.js → item-option-switch-BVMOOWya.js} +2 -2
  357. package/components/{item-option-switch-BvpDNO8q.cjs → item-option-switch-FRAZWozp.cjs} +2 -2
  358. package/components/item-option-text-field/index.cjs +1 -1
  359. package/components/item-option-text-field/index.js +1 -1
  360. package/components/{item-option-text-field-CUF0Gznj.cjs → item-option-text-field-DkYqHfdJ.cjs} +2 -2
  361. package/components/{item-option-text-field-Cveke3fQ.js → item-option-text-field-e6NLDlSq.js} +2 -2
  362. package/components/{item-option-Bpv16SRY.js → item-option-uyAsPcfE.js} +47 -47
  363. package/components/item-options-configs.js +45 -45
  364. package/components/item-slot-drop/index.cjs +1 -1
  365. package/components/item-slot-drop/index.js +1 -1
  366. package/components/item-slot-drop-BUCjEfJf.cjs +91 -0
  367. package/components/{item-slot-drop--ZwfRc3_.js → item-slot-drop-CoReI68M.js} +13 -10
  368. package/components/item-slot-drop-panel/index.cjs +1 -1
  369. package/components/item-slot-drop-panel/index.js +1 -1
  370. package/components/{item-slot-drop-panel-D_AGJhSF.js → item-slot-drop-panel-CEI1q060.js} +41 -40
  371. package/components/item-slot-drop-panel-DqekQtOr.cjs +57 -0
  372. package/components/item-slot-picker/index.cjs +1 -1
  373. package/components/item-slot-picker/index.js +1 -1
  374. package/components/item-slot-picker-CvbXFh6Z.cjs +158 -0
  375. package/components/{item-slot-picker-Dd35AuI2.js → item-slot-picker-dy5hVID5.js} +18 -15
  376. package/components/item-slot-picker-panel/index.cjs +1 -1
  377. package/components/item-slot-picker-panel/index.js +1 -1
  378. package/components/item-slot-picker-panel-BUyp6Hbg.cjs +81 -0
  379. package/components/{item-slot-picker-panel-pGVeLd1V.js → item-slot-picker-panel-CG0NyMDX.js} +5 -4
  380. package/components/item-slots-configs.js +45 -45
  381. package/components/{line-chart-options.config-DSLb95qK.js → line-chart-options.config-1TpSJqeb.js} +1 -1
  382. package/components/{line-chart-positioning.config-CWGSlsV0.js → line-chart-positioning.config-61uNfPZs.js} +1 -1
  383. package/components/{line-chart-positioning.config-BH8RppgE.cjs → line-chart-positioning.config-BNtGFWUK.cjs} +1 -1
  384. package/components/{line-chart-slots.config-CdD8CtUI.js → line-chart-slots.config-CcCpwWzZ.js} +1 -1
  385. package/components/localized-mixin-CiBWThrZ.cjs +20 -0
  386. package/components/localized-mixin-EpweDrTk.js +45 -0
  387. package/components/{marker-map-options.config-D6X6sdKs.js → marker-map-options.config-DTaax79J.js} +1 -1
  388. package/components/{marker-map-positioning.config-DGi1AjpD.js → marker-map-positioning.config-Bi5WCVgJ.js} +1 -1
  389. package/components/{hexbin-map-positioning.config-DHPOyzsM.cjs → marker-map-positioning.config-C2cL7uZJ.cjs} +1 -1
  390. package/components/{marker-map-slots.config-BtyuwUXE.js → marker-map-slots.config-BOWmS_IZ.js} +1 -1
  391. package/components/{ohlc-chart-options.config-B02_nViT.js → ohlc-chart-options.config-Dfes8ROC.js} +1 -1
  392. package/components/{ohlc-chart-positioning.config-CLCmzNVQ.js → ohlc-chart-positioning.config-DFx99k9A.js} +1 -1
  393. package/components/{ohlc-chart-positioning.config-5iMpDBaN.cjs → ohlc-chart-positioning.config-IAOfu4ue.cjs} +1 -1
  394. package/components/{ohlc-chart-slots.config-C6aMcUyV.js → ohlc-chart-slots.config-JRztPEXL.js} +1 -1
  395. package/components/{parallel-coordinates-plot-options.config-B_lWq8Oc.js → parallel-coordinates-plot-options.config-NSk_HC0H.js} +1 -1
  396. package/components/{parallel-coordinates-plot-positioning.config-A5eBN75L.cjs → parallel-coordinates-plot-positioning.config-Bf0Leksw.cjs} +1 -1
  397. package/components/{parallel-coordinates-plot-positioning.config-4zWsg4Nw.js → parallel-coordinates-plot-positioning.config-C9TqUuGC.js} +1 -1
  398. package/components/{parallel-coordinates-plot-slots.config-CChPbNkv.js → parallel-coordinates-plot-slots.config-pmbO5DnL.js} +1 -1
  399. package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
  400. package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
  401. package/components/{pivot-table-options.config-smIfG1vv.js → pivot-table-options.config-B3wYlzEq.js} +1 -1
  402. package/components/{pivot-table-positioning.config-Dzb1GNTm.js → pivot-table-positioning.config-CPXqqtcR.js} +1 -1
  403. package/components/{pivot-table-positioning.config-x9el6e15.cjs → pivot-table-positioning.config-D1R3VO88.cjs} +1 -1
  404. package/components/{pivot-table-slots.config-BDDVAkYz.js → pivot-table-slots.config-DaLfGOP9.js} +1 -1
  405. package/components/{get-css-variable-DV0s58yn.js → pragmatic-element-adapter-D0LRKx5U.js} +1 -43
  406. package/components/{get-css-variable-EMi5nnn2.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +1 -1
  407. package/components/{pyramid-chart-options.config-CAtBdIzA.js → pyramid-chart-options.config-DIyiyqGM.js} +1 -1
  408. package/components/{pyramid-chart-positioning.config-HDPD6TX8.cjs → pyramid-chart-positioning.config-BfXdJS8g.cjs} +1 -1
  409. package/components/{pyramid-chart-positioning.config-wbhfjqP_.js → pyramid-chart-positioning.config-JAUQpA0B.js} +1 -1
  410. package/components/{pyramid-chart-slots.config-aUwwVnl9.js → pyramid-chart-slots.config-DtnUlw5y.js} +1 -1
  411. package/components/{radar-chart-options.config-qlcD8CGC.js → radar-chart-options.config-UVOzUnVT.js} +1 -1
  412. package/components/{radar-chart-positioning.config-CXonxhGG.cjs → radar-chart-positioning.config-Bixdrod2.cjs} +1 -1
  413. package/components/{radar-chart-positioning.config-nWkEtlva.js → radar-chart-positioning.config-CdJSazt4.js} +1 -1
  414. package/components/{radar-chart-slots.config-XtL8uHg5.js → radar-chart-slots.config-CkLoeAV7.js} +1 -1
  415. package/components/{regular-table-options.config-Db12iH2p.js → regular-table-options.config-CBvnxTdd.js} +1 -1
  416. package/components/{regular-table-slots.config-Dx3-s6lB.js → regular-table-slots.config-Cc6hL7iu.js} +1 -1
  417. package/components/resolve-column-presentation-BaEP1mvs.js +34 -0
  418. package/components/resolve-column-presentation-DUETRVCH.cjs +20 -0
  419. package/components/{route-map-options.config-Dd3ZCqZP.js → route-map-options.config-DZrlGa5o.js} +1 -1
  420. package/components/{route-map-positioning.config-B9c2U0zN.cjs → route-map-positioning.config-7aca5Iex.cjs} +1 -1
  421. package/components/{route-map-positioning.config-CrDkKZOV.js → route-map-positioning.config-Bk_BndTS.js} +1 -1
  422. package/components/{route-map-slots.config-D22mi7Rb.js → route-map-slots.config-CQxB8gKC.js} +1 -1
  423. package/components/{sankey-diagram-options.config-Bn1ARzxI.js → sankey-diagram-options.config-s_QRVr1r.js} +1 -1
  424. package/components/{sankey-diagram-positioning.config-Dki0WC81.cjs → sankey-diagram-positioning.config-Bvus3RDi.cjs} +1 -1
  425. package/components/{sankey-diagram-positioning.config-DHu11GbV.js → sankey-diagram-positioning.config-DPgQELIu.js} +1 -1
  426. package/components/{sankey-diagram-slots.config-CGCeuScH.js → sankey-diagram-slots.config-C9tIfWHU.js} +1 -1
  427. package/components/{scatter-plot-options.config-DTz98owa.js → scatter-plot-options.config-DI4hlqi5.js} +1 -1
  428. package/components/{scatter-plot-positioning.config-NJLf-yu-.js → scatter-plot-positioning.config-D-ifHW9P.js} +1 -1
  429. package/components/{scatter-plot-positioning.config-CyUEHLu_.cjs → scatter-plot-positioning.config-DBDCDDad.cjs} +1 -1
  430. package/components/{scatter-plot-slots.config-Cx_QRgUG.js → scatter-plot-slots.config-CUURijrN.js} +1 -1
  431. package/components/{search-filter-options.config-DGLdzM_P.js → search-filter-options.config-CPzfgUWV.js} +1 -1
  432. package/components/{search-filter-slots.config-CDthI9k-.js → search-filter-slots.config-DD119qkk.js} +1 -1
  433. package/components/{slicer-filter-options.config-QCSqtuyO.js → slicer-filter-options.config-F2CZ8ckV.js} +1 -1
  434. package/components/{slicer-filter-positioning.config-BoyhFCY3.js → slicer-filter-positioning.config-0uGZ8EgN.js} +1 -1
  435. package/components/{slicer-filter-positioning.config-CYmIirxA.cjs → slicer-filter-positioning.config-Bx2_7jxp.cjs} +1 -1
  436. package/components/{slicer-filter-slots.config-D_SBoI4C.js → slicer-filter-slots.config-D-BhCuA9.js} +1 -1
  437. package/components/{slider-filter-options.config-CS2ItH5t.js → slider-filter-options.config-DO0HHK2l.js} +1 -1
  438. package/components/{slider-filter-slots.config-CG88ssfQ.js → slider-filter-slots.config-CGQG6JqK.js} +1 -1
  439. package/components/{en-GB-DAF4eew-.cjs → slot-menu/index.cjs} +1 -1
  440. package/components/slot-menu/index.d.ts +10 -0
  441. package/components/slot-menu/index.js +28 -0
  442. package/components/slot-menu/slot-menu.d.ts +143 -0
  443. package/components/slot-menu/types.d.ts +24 -0
  444. package/components/slot-menu-Cw5HJ_bk.js +404 -0
  445. package/components/slot-menu-DkyDLDSd.cjs +64 -0
  446. package/components/slot-menu-list/index.cjs +20 -0
  447. package/components/slot-menu-list/index.d.ts +8 -0
  448. package/components/slot-menu-list/index.js +28 -0
  449. package/components/slot-menu-list/slot-menu-list.d.ts +42 -0
  450. package/components/slot-menu-list-BZllvntQ.cjs +38 -0
  451. package/components/slot-menu-list-CTJ-owp1.js +326 -0
  452. package/components/slots-config-BuHluMEl.js +77 -0
  453. package/components/slots-config-DVH0lz6t.cjs +20 -0
  454. package/components/{speedometer-chart-options.config-C-BoHPnb.js → speedometer-chart-options.config-jK_yQjy2.js} +1 -1
  455. package/components/{speedometer-chart-positioning.config-B_GOu6LC.cjs → speedometer-chart-positioning.config-CNOKIw7e.cjs} +1 -1
  456. package/components/{speedometer-chart-positioning.config-BhPvu0D-.js → speedometer-chart-positioning.config-FzFxMi0X.js} +1 -1
  457. package/components/{speedometer-chart-slots.config-CqejfEfV.js → speedometer-chart-slots.config-CjkHAHNX.js} +1 -1
  458. package/components/{spike-map-options.config-DDHR8R04.js → spike-map-options.config-cj07bETE.js} +1 -1
  459. package/components/{spike-map-positioning.config-C8Sq420l.js → spike-map-positioning.config-B4NYfmEw.js} +1 -1
  460. package/components/{spike-map-positioning.config-uqHrpfnq.cjs → spike-map-positioning.config-Bcdt8670.cjs} +1 -1
  461. package/components/{spike-map-slots.config-DfvNwovo.js → spike-map-slots.config-yMkdy-0w.js} +1 -1
  462. package/components/{strip-plot-options.config-DwZ_uMmE.js → strip-plot-options.config-DmAxeY2S.js} +1 -1
  463. package/components/{strip-plot-positioning.config-BUe2VQLN.cjs → strip-plot-positioning.config-BjcqWJoD.cjs} +1 -1
  464. package/components/{strip-plot-positioning.config-CHAOLSTR.js → strip-plot-positioning.config-n9OIxpa_.js} +1 -1
  465. package/components/{strip-plot-slots.config-Bq5Qkdpi.js → strip-plot-slots.config-C07nIM5s.js} +1 -1
  466. package/components/{sunburst-chart-options.config-CmfOjhz4.js → sunburst-chart-options.config-CLyQG-8x.js} +1 -1
  467. package/components/{sunburst-chart-positioning.config-DDKFlKW3.cjs → sunburst-chart-positioning.config-BIpSCpSi.cjs} +1 -1
  468. package/components/{sunburst-chart-positioning.config-CsCLFckU.js → sunburst-chart-positioning.config-CcGOcwOK.js} +1 -1
  469. package/components/{sunburst-chart-slots.config-rNscb225.js → sunburst-chart-slots.config-BU9ma0xm.js} +1 -1
  470. package/components/{symbol-map-options.config-DC1tq8SG.js → symbol-map-options.config-I_gykFhh.js} +1 -1
  471. package/components/{symbol-map-positioning.config-BZq0UkGQ.cjs → symbol-map-positioning.config-DPv89eCY.cjs} +1 -1
  472. package/components/{symbol-map-positioning.config-BFHhRAAZ.js → symbol-map-positioning.config-H3n2ngaa.js} +1 -1
  473. package/components/{symbol-map-slots.config-Cj7_4U7H.js → symbol-map-slots.config-CQJgV5bh.js} +1 -1
  474. package/components/{text-options.config-Mqd1Oy73.js → text-options.config-DUMx63Ol.js} +1 -1
  475. package/components/{text-slots.config-CcjPSmDJ.js → text-slots.config-YmmXsb-0.js} +1 -1
  476. package/components/{treemap-chart-options.config-Cgy7LEyB.js → treemap-chart-options.config-CAWPa5jK.js} +1 -1
  477. package/components/{treemap-chart-positioning.config-2kIvfVAE.js → treemap-chart-positioning.config-Dzp4TodY.js} +1 -1
  478. package/components/{treemap-chart-positioning.config-CZCU1f19.cjs → treemap-chart-positioning.config-W2sl4gZ0.cjs} +1 -1
  479. package/components/{treemap-chart-slots.config-Cpapm2BY.js → treemap-chart-slots.config-QEVbKZyS.js} +1 -1
  480. package/components/utils/base.cjs +1 -1
  481. package/components/utils/base.js +2 -2
  482. package/components/utils/store.js +1 -1
  483. package/components/{utils-qElG-Syn.cjs → utils-3XO8ba12.cjs} +1 -1
  484. package/components/{utils-BFZqe6Y0.js → utils-B6EE0gvH.js} +1 -1
  485. package/components/utils.cjs +1 -1
  486. package/components/utils.js +5 -3
  487. package/components/{venn-diagram-options.config-Cnu8elgc.js → venn-diagram-options.config-KKD89q3q.js} +1 -1
  488. package/components/{venn-diagram-positioning.config-CE4tTFiI.js → venn-diagram-positioning.config-BLSj3JqA.js} +1 -1
  489. package/components/{venn-diagram-positioning.config-oCiElw_6.cjs → venn-diagram-positioning.config-Bv3pFJIU.cjs} +1 -1
  490. package/components/{venn-diagram-slots.config-CN59FT-M.js → venn-diagram-slots.config-DsIqVOI2.js} +1 -1
  491. package/components/{video-options.config-6VlWxo6-.js → video-options.config-D2SEyNrP.js} +1 -1
  492. package/components/{video-slots.config-BVraFye8.js → video-slots.config-B680gLmP.js} +1 -1
  493. package/components/viz-item-menu/index.cjs +20 -0
  494. package/components/viz-item-menu/index.d.ts +8 -0
  495. package/components/viz-item-menu/index.js +28 -0
  496. package/components/viz-item-menu/types.d.ts +9 -0
  497. package/components/viz-item-menu/viz-item-menu.d.ts +75 -0
  498. package/components/viz-item-menu-CiEJJddu.js +170 -0
  499. package/components/viz-item-menu-Dry8xpRA.cjs +55 -0
  500. package/components/{wordcloud-chart-options.config-CVl6-lm0.js → wordcloud-chart-options.config-DLN2RAEK.js} +1 -1
  501. package/components/{wordcloud-chart-positioning.config-BA0jo1KG.js → wordcloud-chart-positioning.config-DVPWXJXb.js} +1 -1
  502. package/components/{wordcloud-chart-positioning.config-CioSulMl.cjs → wordcloud-chart-positioning.config-ZTO2VLdY.cjs} +1 -1
  503. package/components/{wordcloud-chart-slots.config-D2fzZcjk.js → wordcloud-chart-slots.config-mFvqkiQE.js} +1 -1
  504. package/custom-elements.json +16508 -4907
  505. package/index.d.ts +25 -0
  506. package/package.json +131 -1
  507. package/react/README.md +32 -6
  508. package/react/components/ai-chat/empty-state/index.ts +1 -0
  509. package/react/components/ai-chat/empty-state/types.ts +16 -0
  510. package/react/components/ai-chat/stream/index.ts +1 -0
  511. package/react/components/ai-chat/stream/types.ts +60 -0
  512. package/react/components/ai-chat.component.ts +42 -0
  513. package/react/components/ai-interaction-textarea/index.ts +1 -0
  514. package/react/components/ai-interaction-textarea/types.ts +6 -0
  515. package/react/components/ai-interaction-textarea.component.ts +30 -0
  516. package/react/components/data-field-level.component.ts +30 -0
  517. package/react/components/data-fields-select/index.ts +1 -0
  518. package/react/components/data-fields-select/types.ts +5 -0
  519. package/react/components/data-fields-select.component.ts +27 -0
  520. package/react/components/dataset-icon/index.ts +1 -0
  521. package/react/components/dataset-icon/types.ts +8 -0
  522. package/react/components/dataset-icon.component.ts +22 -0
  523. package/react/components/dataset-selector-list.component.ts +27 -0
  524. package/react/components/dataset-selector-row.component.ts +30 -0
  525. package/react/components/display-settings/index.ts +1 -0
  526. package/react/components/display-settings/types.ts +12 -0
  527. package/react/components/display-settings-binning.component.ts +27 -0
  528. package/react/components/display-settings-datetime.component.ts +27 -0
  529. package/react/components/display-settings-grand-totals.component.ts +27 -0
  530. package/react/components/display-settings-numeric.component.ts +27 -0
  531. package/react/components/display-settings-period-over-period.component.ts +27 -0
  532. package/react/components/display-settings.component.ts +33 -0
  533. package/react/components/filter-expression-picker.component.ts +27 -0
  534. package/react/components/filter-item.component.ts +27 -0
  535. package/react/components/filter-parameter-picker.component.ts +22 -0
  536. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  537. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  538. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  539. package/react/components/filter-value-picker.component.ts +27 -0
  540. package/react/components/formula-draggable-field/index.ts +1 -0
  541. package/react/components/formula-draggable-field/types.ts +26 -0
  542. package/react/components/formula-editor.component.ts +33 -0
  543. package/react/components/formula-field.component.ts +30 -0
  544. package/react/components/formula.component.ts +30 -0
  545. package/react/components/slot-menu/index.ts +1 -0
  546. package/react/components/slot-menu/types.ts +29 -0
  547. package/react/components/slot-menu-list.component.ts +27 -0
  548. package/react/components/slot-menu.component.ts +42 -0
  549. package/react/components/viz-item-menu/index.ts +1 -0
  550. package/react/components/viz-item-menu/types.ts +11 -0
  551. package/react/components/viz-item-menu.component.ts +33 -0
  552. package/react/esm/components/ai-chat/empty-state/index.d.ts +1 -0
  553. package/react/esm/components/ai-chat/empty-state/index.js +1 -0
  554. package/react/esm/components/ai-chat/empty-state/types.d.ts +14 -0
  555. package/react/esm/components/ai-chat/empty-state/types.js +1 -0
  556. package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
  557. package/react/esm/components/ai-chat/stream/index.js +1 -0
  558. package/react/esm/components/ai-chat/stream/types.d.ts +55 -0
  559. package/react/esm/components/ai-chat/stream/types.js +1 -0
  560. package/react/esm/components/ai-chat.component.d.ts +22 -0
  561. package/react/esm/components/ai-chat.component.js +27 -0
  562. package/react/esm/components/ai-interaction-textarea/index.d.ts +1 -0
  563. package/react/esm/components/ai-interaction-textarea/index.js +1 -0
  564. package/react/esm/components/ai-interaction-textarea/types.d.ts +5 -0
  565. package/react/esm/components/ai-interaction-textarea/types.js +1 -0
  566. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  567. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  568. package/react/esm/components/data-field-level.component.d.ts +14 -0
  569. package/react/esm/components/data-field-level.component.js +19 -0
  570. package/react/esm/components/data-fields-select/index.d.ts +1 -0
  571. package/react/esm/components/data-fields-select/index.js +1 -0
  572. package/react/esm/components/data-fields-select/types.d.ts +4 -0
  573. package/react/esm/components/data-fields-select/types.js +1 -0
  574. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  575. package/react/esm/components/data-fields-select.component.js +17 -0
  576. package/react/esm/components/dataset-icon/index.d.ts +1 -0
  577. package/react/esm/components/dataset-icon/index.js +1 -0
  578. package/react/esm/components/dataset-icon/types.d.ts +11 -0
  579. package/react/esm/components/dataset-icon/types.js +1 -0
  580. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  581. package/react/esm/components/dataset-icon.component.js +13 -0
  582. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  583. package/react/esm/components/dataset-selector-list.component.js +17 -0
  584. package/react/esm/components/dataset-selector-row.component.d.ts +14 -0
  585. package/react/esm/components/dataset-selector-row.component.js +19 -0
  586. package/react/esm/components/display-settings/index.d.ts +1 -0
  587. package/react/esm/components/display-settings/index.js +1 -0
  588. package/react/esm/components/display-settings/types.d.ts +9 -0
  589. package/react/esm/components/display-settings/types.js +1 -0
  590. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  591. package/react/esm/components/display-settings-binning.component.js +17 -0
  592. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  593. package/react/esm/components/display-settings-datetime.component.js +17 -0
  594. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  595. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  596. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  597. package/react/esm/components/display-settings-numeric.component.js +17 -0
  598. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  599. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  600. package/react/esm/components/display-settings.component.d.ts +16 -0
  601. package/react/esm/components/display-settings.component.js +21 -0
  602. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  603. package/react/esm/components/filter-expression-picker.component.js +17 -0
  604. package/react/esm/components/filter-item.component.d.ts +12 -0
  605. package/react/esm/components/filter-item.component.js +17 -0
  606. package/react/esm/components/filter-parameter-picker.component.d.ts +8 -0
  607. package/react/esm/components/filter-parameter-picker.component.js +13 -0
  608. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  609. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  610. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  611. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  612. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  613. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  614. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  615. package/react/esm/components/filter-value-picker.component.js +17 -0
  616. package/react/esm/components/formula-draggable-field/index.d.ts +1 -0
  617. package/react/esm/components/formula-draggable-field/index.js +1 -0
  618. package/react/esm/components/formula-draggable-field/types.d.ts +24 -0
  619. package/react/esm/components/formula-draggable-field/types.js +1 -0
  620. package/react/esm/components/formula-editor.component.d.ts +16 -0
  621. package/react/esm/components/formula-editor.component.js +21 -0
  622. package/react/esm/components/formula-field.component.d.ts +14 -0
  623. package/react/esm/components/formula-field.component.js +19 -0
  624. package/react/esm/components/formula.component.d.ts +14 -0
  625. package/react/esm/components/formula.component.js +19 -0
  626. package/react/esm/components/slot-menu/index.d.ts +1 -0
  627. package/react/esm/components/slot-menu/index.js +1 -0
  628. package/react/esm/components/slot-menu/types.d.ts +24 -0
  629. package/react/esm/components/slot-menu/types.js +1 -0
  630. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  631. package/react/esm/components/slot-menu-list.component.js +17 -0
  632. package/react/esm/components/slot-menu.component.d.ts +22 -0
  633. package/react/esm/components/slot-menu.component.js +27 -0
  634. package/react/esm/components/viz-item-menu/index.d.ts +1 -0
  635. package/react/esm/components/viz-item-menu/index.js +1 -0
  636. package/react/esm/components/viz-item-menu/types.d.ts +9 -0
  637. package/react/esm/components/viz-item-menu/types.js +1 -0
  638. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  639. package/react/esm/components/viz-item-menu.component.js +21 -0
  640. package/react/esm/index.d.ts +28 -2
  641. package/react/esm/index.js +106 -2
  642. package/react/esm/types.d.ts +15 -0
  643. package/react/index.ts +106 -2
  644. package/react/luzmo-stub.d.ts +167 -0
  645. package/react/types.ts +12 -0
  646. package/storybook/inject-global-vars.d.ts +1 -0
  647. package/storybook/register-components.d.ts +51 -0
  648. package/types/ai-chat.types.d.ts +63 -0
  649. package/types/data-field-events.types.d.ts +7 -0
  650. package/types.d.ts +8 -0
  651. package/components/base-DALdSJnS.cjs +0 -20
  652. package/components/data-field-Da9-w0dV.cjs +0 -89
  653. package/components/data-field-panel-DiQyyB58.cjs +0 -87
  654. package/components/data-fields-select-eTLgAsP7.cjs +0 -41
  655. package/components/display-settings-datetime-Ce9pfoSc.cjs +0 -217
  656. package/components/display-settings-grand-totals-BS1MwDRW.cjs +0 -44
  657. package/components/display-settings-numeric-DkzMeIJ0.cjs +0 -190
  658. package/components/display-settings-period-over-period-Cra_Q5UR.cjs +0 -229
  659. package/components/filters-BlhodZNo.cjs +0 -323
  660. package/components/filters-C3OYCMyw.js +0 -1637
  661. package/components/formula-codemirror-oGmbSSst.cjs +0 -215
  662. package/components/icon-element-BBvOmuv7.js +0 -214
  663. package/components/icon-element-Cp7X6o4B.cjs +0 -20
  664. package/components/item-option-DQY1ywF7.cjs +0 -252
  665. package/components/item-option-action-button-group-BWvqcvi4.cjs +0 -53
  666. package/components/item-option-base-DmC_wT_2.cjs +0 -56
  667. package/components/item-option-color-palette-picker-D5S3orJU.cjs +0 -40
  668. package/components/item-option-color-range-DtGhcSPp.cjs +0 -98
  669. package/components/item-option-position-picker-B4feLDm1.cjs +0 -32
  670. package/components/item-option-positions-number-field-CRo2MkLX.cjs +0 -49
  671. package/components/item-slot-drop-DJhrCthK.cjs +0 -91
  672. package/components/item-slot-drop-panel-CMn3gtpB.cjs +0 -57
  673. package/components/item-slot-picker-panel-CxJeJTSe.cjs +0 -81
  674. package/components/item-slot-picker-wzfaXWHe.cjs +0 -158
  675. package/components/localized-mixin-WdJ00iIC.cjs +0 -20
  676. package/components/slot-menu-BJ1l9wes.cjs +0 -182
  677. package/components/slot-menu-ZNG92h35.js +0 -971
  678. package/components/slots-config-97A9OVQR.cjs +0 -20
@@ -0,0 +1,66 @@
1
+ import '@luzmo/lucero/icon';
2
+ import '@luzmo/lucero/progress-circle';
3
+ import { type PropertyValues, type TemplateResult } from 'lit';
4
+ import { LuzmoFormulaBase } from '../../utils/formula/base/formula-base';
5
+ import { FormulaDisplayStore } from '../../utils/formula/store/formula-display-store';
6
+ /**
7
+ * @customElement luzmo-formula
8
+ * @description A read-only display of a formula. The default `display="rich"`
9
+ * renders the expression as inline column / aggregation pills (no CodeMirror);
10
+ * `display="text"` renders it as plain text with an inline column-type icon per
11
+ * column reference. Column references resolve to their names from the datasets
12
+ * provided via `datasetsDataFields` or fetched from the Luzmo API via
13
+ * `dataset-ids` (+ auth). To edit a formula use `luzmo-formula-field` (a single
14
+ * field) or `luzmo-formula-editor` (the full builder with lists).
15
+ *
16
+ * @fires {CustomEvent<ExpressionChangedEventDetail>} luzmo-expression-changed - Fired (debounced) when the formula expression changes; `detail.expression` holds the new expression.
17
+ * @fires {CustomEvent<DatasetsErrorEventDetail>} luzmo-datasets-error - Fired when fetching datasets by id fails.
18
+ */
19
+ export declare class LuzmoFormula extends LuzmoFormulaBase {
20
+ static styles: import("lit").CSSResult;
21
+ /**
22
+ * Rendering mode. `rich` (default) renders read-only column / aggregation
23
+ * pills; `text` renders plain text with an inline type icon per column. Both
24
+ * are always read-only.
25
+ */
26
+ display: 'rich' | 'text';
27
+ private readonly _groupingDataMap;
28
+ /** A display uses the lightweight, CodeMirror-free store. */
29
+ protected _createStore(): FormulaDisplayStore;
30
+ /** A display never loads (or needs) the CodeMirror input. */
31
+ protected _shouldLoadInput(): boolean;
32
+ /** A display is read-only and never emits expression changes. */
33
+ protected _canEmitExpression(): boolean;
34
+ /**
35
+ * Parses the expression into aggregation widgets for the `rich` mode so the
36
+ * recursive renderer can resolve nested content. The `text` mode renders the
37
+ * raw expression directly, so it needs no store transform.
38
+ */
39
+ protected _applyExternalExpression(): void;
40
+ protected willUpdate(changedProperties: PropertyValues): void;
41
+ protected render(): TemplateResult;
42
+ private _renderPillFormula;
43
+ /**
44
+ * Recursively renders an aggregation-widget-syntax string: column references
45
+ * become column pills, aggregation placeholders become read-only aggregation
46
+ * pills (with their nested content rendered recursively) and everything else
47
+ * (operators, parentheses, literals) renders as plain text.
48
+ */
49
+ private _renderPillNodes;
50
+ private _renderOperatorText;
51
+ /**
52
+ * Renders a column reference as an inline column pill (data-type icon +
53
+ * localized label). The markup + styles are duplicated here and in the
54
+ * CodeMirror column-pill widget; only the icon/label resolution is shared (via
55
+ * `resolveColumnPresentation`). While datasets are still loading and the column
56
+ * is unresolved, a spinner is shown instead of the (raw column id) label.
57
+ */
58
+ private _renderColumnPill;
59
+ private _renderAggregationPill;
60
+ /**
61
+ * Renders the expression as plain text, replacing every `{datasetId:columnId}`
62
+ * reference with an inline type icon + column name.
63
+ */
64
+ private _renderTextFormula;
65
+ private _renderColumnReference;
66
+ }
@@ -0,0 +1,20 @@
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
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../formula-BPHH_GKB.cjs");Object.defineProperty(exports,"LuzmoFormula",{enumerable:!0,get:function(){return e.t}});
@@ -0,0 +1,7 @@
1
+ import { LuzmoFormula } from './formula';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-formula': LuzmoFormula;
5
+ }
6
+ }
7
+ export { LuzmoFormula } from './formula';
@@ -0,0 +1,28 @@
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
+ // Auto-generated initialization code
21
+ (function() {
22
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
23
+ let e = document.createElement("style");
24
+ e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
25
+ }
26
+ })();
27
+ import { t as e } from "../formula-DYdcMG-v.js";
28
+ export { e as LuzmoFormula };
@@ -0,0 +1,45 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ const e=require("./decorate-DCJt-2rt.cjs"),t=require("./calculate-data-field-icon-DenGmW74.cjs"),n=require("./localize-D3i4Epy_.cjs"),r=require("./formula-display-store-DFAvw21p.cjs"),i=require("./groupings-dIFi0bJY.cjs"),a=require("./resolve-column-presentation-DUETRVCH.cjs");let o=require("@luzmo/icons"),s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/icon"),require("@luzmo/lucero/progress-circle");var u=`: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))}`,d=class extends r.o{constructor(...e){super(...e),this.display=`rich`,this._groupingDataMap=i.n()}static{this.styles=(0,s.unsafeCSS)(u)}_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 s.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 s.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,l.msg)(`Loading column`,{desc:`Accessible label for a column pill whose label is still loading`});return s.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:i,label:c}=a.t(r,this.contentLanguage,n);return s.html`<span class="column-pill-wrapper"
26
+ ><span class="column-pill" title=${c}
27
+ ><span class="column-pill-icon">${(0,o.luzmoIcon)(i)}</span
28
+ ><span class="column-pill-label">${c}</span></span
29
+ ></span>`}_renderAggregationPill(e){let t=this._store.getWidget(e);if(!t)return s.html`${s.nothing}`;let n=this._groupingDataMap[t.grouping],i=n?.color??``,a=this._store.aggregationFunctionDataMap[t.aggregationFunction]?.arity??0,c=n?.label()??``,l=t.grouping===r.g.GROUPINEX?(t.includedColumns?.length??0)+(t.excludedColumns?.length??0):0;return s.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
+ ${a>0?s.html`<span class="agg-value">${this._renderPillNodes(t.content)}</span>`:s.nothing}
33
+ <span
34
+ class="agg-grouping${a>0?``:` agg-grouping--no-value`}"
35
+ title=${c}
36
+ aria-label=${c}
37
+ >
38
+ ${n?.icon?(0,o.luzmoIcon)(n.icon):s.nothing}
39
+ ${l>0?s.html`<span class="agg-grouping-count">${l}</span>`:s.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)),s.html`<span class="formula-text" part="formula-text">${t}</span>`}_renderColumnReference(e,r){let i=this._datasets.find(t=>t.id===e),a=i?.columns.find(e=>e.columnId===r),c=a?n.t(a.name,this.contentLanguage):r,l=i?n.t(i.name,this.contentLanguage):``;return s.html`<span class="formula-text-column" part="formula-text-column" title=${l?`${l} · ${c}`:c}>
43
+ <span class="formula-text-column-icon">${(0,o.luzmoIcon)(t.t({type:a?.type??`hierarchy`},`s`))}</span>
44
+ <span class="formula-text-column-name">${c}</span>
45
+ </span>`}};e.t([(0,c.property)({type:String,reflect:!0})],d.prototype,`display`,void 0),d=e.t([(0,l.localized)()],d),customElements.get(`luzmo-formula`)||customElements.define(`luzmo-formula`,d),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return d}});
@@ -0,0 +1,138 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ import { t as e } from "./decorate-DyMgX_Uh.js";
21
+ import { t } from "./calculate-data-field-icon-DrSg1PuD.js";
22
+ import { t as n } from "./localize-BT7REYBY.js";
23
+ import { f as r, g as i, h as a, o, t as s } from "./formula-display-store-BGzj13Cs.js";
24
+ import { n as c } from "./groupings-CrE-yp0S.js";
25
+ import { t as l } from "./resolve-column-presentation-BaEP1mvs.js";
26
+ import { luzmoIcon as u } from "@luzmo/icons";
27
+ import { html as d, nothing as f, unsafeCSS as p } from "lit";
28
+ import { property as m } from "lit/decorators.js";
29
+ import { localized as h, msg as g } from "@lit/localize";
30
+ import "@luzmo/lucero/icon";
31
+ import "@luzmo/lucero/progress-circle";
32
+ //#region src/components/formula/formula.module.scss?inline
33
+ var _ = ":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))}", v = class extends o {
34
+ constructor(...e) {
35
+ super(...e), this.display = "rich", this._groupingDataMap = c();
36
+ }
37
+ static {
38
+ this.styles = p(_);
39
+ }
40
+ _createStore() {
41
+ return new s();
42
+ }
43
+ _shouldLoadInput() {
44
+ return !1;
45
+ }
46
+ _canEmitExpression() {
47
+ return !1;
48
+ }
49
+ _applyExternalExpression() {
50
+ if (this.display === "text") {
51
+ this._rootContent = "";
52
+ return;
53
+ }
54
+ this._store.clearWidgets(), this._rootContent = this._store.transformToAggregationWidgetSyntax(this.expression ?? "");
55
+ }
56
+ willUpdate(e) {
57
+ super.willUpdate(e), e.has("display") && !e.has("expression") && this._applyExternalExpression();
58
+ }
59
+ render() {
60
+ return this.display === "text" ? this._renderTextFormula() : this._renderPillFormula();
61
+ }
62
+ _renderPillFormula() {
63
+ return d`<span class="formula-pills" part="formula">${this._renderPillNodes(this._rootContent)}</span>`;
64
+ }
65
+ _renderPillNodes(e) {
66
+ let t = [], n = new RegExp(a.source, "gm"), r = 0, i;
67
+ for (; (i = n.exec(e)) !== null;) {
68
+ i.index > r && t.push(this._renderOperatorText(e.slice(r, i.index)));
69
+ let a = i[2], o = i[3];
70
+ a ? t.push(this._renderColumnPill(a)) : o && t.push(this._renderAggregationPill(o)), r = n.lastIndex;
71
+ }
72
+ return r < e.length && t.push(this._renderOperatorText(e.slice(r))), t;
73
+ }
74
+ _renderOperatorText(e) {
75
+ return d`<span class="formula-operator">${e}</span>`;
76
+ }
77
+ _renderColumnPill(e) {
78
+ let [t, n] = e.split(":"), r = this._datasets.find((e) => e.id === t)?.columns.find((e) => e.columnId === n);
79
+ if (this._store.loading && !r) {
80
+ let e = g("Loading column", { desc: "Accessible label for a column pill whose label is still loading" });
81
+ return d`<span class="column-pill-wrapper"
82
+ ><span class="column-pill" title=${e}
83
+ ><span class="column-pill-loading">
84
+ <luzmo-progress-circle indeterminate size="s" .label=${e}></luzmo-progress-circle></span
85
+ ></span
86
+ ></span>`;
87
+ }
88
+ let { icon: i, label: a } = l(r, this.contentLanguage, n);
89
+ return d`<span class="column-pill-wrapper"
90
+ ><span class="column-pill" title=${a}
91
+ ><span class="column-pill-icon">${u(i)}</span
92
+ ><span class="column-pill-label">${a}</span></span
93
+ ></span>`;
94
+ }
95
+ _renderAggregationPill(e) {
96
+ let t = this._store.getWidget(e);
97
+ if (!t) return d`${f}`;
98
+ let n = this._groupingDataMap[t.grouping], r = n?.color ?? "", a = this._store.aggregationFunctionDataMap[t.aggregationFunction]?.arity ?? 0, o = n?.label() ?? "", s = t.grouping === i.GROUPINEX ? (t.includedColumns?.length ?? 0) + (t.excludedColumns?.length ?? 0) : 0;
99
+ return d`<span class="agg-pill" style=${r ? `--agg-accent: ${r}` : ""}>
100
+ <span class="agg-pill-row">
101
+ <span class="agg-fn">${t.aggregationFunction}</span>
102
+ ${a > 0 ? d`<span class="agg-value">${this._renderPillNodes(t.content)}</span>` : f}
103
+ <span
104
+ class="agg-grouping${a > 0 ? "" : " agg-grouping--no-value"}"
105
+ title=${o}
106
+ aria-label=${o}
107
+ >
108
+ ${n?.icon ? u(n.icon) : f}
109
+ ${s > 0 ? d`<span class="agg-grouping-count">${s}</span>` : f}
110
+ </span>
111
+ </span>
112
+ </span>`;
113
+ }
114
+ _renderTextFormula() {
115
+ let e = this.expression ?? "", t = [], n = new RegExp(r.source, "g"), i = 0, a;
116
+ for (; (a = n.exec(e)) !== null;) {
117
+ a.index > i && t.push(e.slice(i, a.index));
118
+ let [r, o] = a[1].split(":");
119
+ t.push(this._renderColumnReference(r, o)), i = n.lastIndex;
120
+ }
121
+ return i < e.length && t.push(e.slice(i)), d`<span class="formula-text" part="formula-text">${t}</span>`;
122
+ }
123
+ _renderColumnReference(e, r) {
124
+ let i = this._datasets.find((t) => t.id === e), a = i?.columns.find((e) => e.columnId === r), o = a ? n(a.name, this.contentLanguage) : r, s = i ? n(i.name, this.contentLanguage) : "";
125
+ return d`<span class="formula-text-column" part="formula-text-column" title=${s ? `${s} · ${o}` : o}>
126
+ <span class="formula-text-column-icon">${u(t({ type: a?.type ?? "hierarchy" }, "s"))}</span>
127
+ <span class="formula-text-column-name">${o}</span>
128
+ </span>`;
129
+ }
130
+ };
131
+ //#endregion
132
+ //#region src/components/formula/index.ts
133
+ e([m({
134
+ type: String,
135
+ reflect: !0
136
+ })], v.prototype, "display", void 0), v = e([h()], v), customElements.get("luzmo-formula") || customElements.define("luzmo-formula", v);
137
+ //#endregion
138
+ export { v as t };
@@ -0,0 +1,79 @@
1
+ import { type Completion } from '@codemirror/autocomplete';
2
+ import { type PropertyValues, type TemplateResult } from 'lit';
3
+ import { LuzmoElement } from '../../utils/base';
4
+ import type { FormulaEditorStore } from '../../utils/formula/store/formula-editor-store';
5
+ import type { FormulaEditorDataset } from '../../types/formula.types';
6
+ import '@luzmo/lucero/progress-circle';
7
+ import './pills/formula-empty-argument-pill';
8
+ import './pills/formula-aggregation';
9
+ declare const LuzmoFormulaCodeMirror_base: (new (...args: any[]) => {
10
+ language: string;
11
+ }) & typeof LuzmoElement;
12
+ /**
13
+ * @customElement luzmo-formula-codemirror
14
+ * @description Internal CodeMirror-backed expression engine for the formula
15
+ * family. Renders columns, empty arguments and aggregation widgets as inline pills,
16
+ * supports drag-to-insert at the cursor and autocompletion. Used as the editing
17
+ * surface of `luzmo-formula-field` and `luzmo-formula-editor`, and inside nested
18
+ * aggregation widgets. Not part of the public API - prefer `luzmo-formula-field`
19
+ * / `luzmo-formula-editor`, which wire its store + autocompletion for you.
20
+ *
21
+ * @fires {CustomEvent<{ content: string }>} luzmo-input-content-changed - Fired when the editor content changes.
22
+ * @fires {CustomEvent<void>} luzmo-input-focused - Fired when the editor gains focus.
23
+ */
24
+ export declare class LuzmoFormulaCodeMirror extends LuzmoFormulaCodeMirror_base {
25
+ static styles: import("lit").CSSResult;
26
+ /** The shared formula editor store. */
27
+ store?: FormulaEditorStore;
28
+ /** Id of the aggregation widget this input belongs to, or null for the root editor. */
29
+ aggregationWidgetId: string | null;
30
+ /** Datasets used to render column pills. */
31
+ datasets: FormulaEditorDataset[];
32
+ contentLanguage: string;
33
+ placeholder: string;
34
+ readonly: boolean;
35
+ singleLine: boolean;
36
+ hasError: boolean;
37
+ editorHeight?: string;
38
+ /** Number of text lines the input is sized to start with. Defaults to 3. */
39
+ rows: number;
40
+ /** Maximum number of text lines before a scrollbar appears (only when `grows`). */
41
+ maxRows?: number;
42
+ /** Whether the input grows in height with its content (up to `maxRows` if set). */
43
+ grows: boolean;
44
+ /** The autocompletion options to offer. */
45
+ autoCompletionList: Completion[];
46
+ private _view?;
47
+ private _pendingContent;
48
+ private readonly _themeCompartment;
49
+ private readonly _readonlyCompartment;
50
+ get content(): string;
51
+ /** Replaces the whole editor content. */
52
+ setContent(content: string): void;
53
+ focusEditor(): void;
54
+ /** Forces the inline pill decorations to be recomputed. */
55
+ refresh(): void;
56
+ disconnectedCallback(): void;
57
+ /** Rebuilds pill decorations when the store signals a refresh (e.g. loading state changed). */
58
+ private _handleStoreRefresh;
59
+ protected firstUpdated(_changedProperties: PropertyValues): void;
60
+ protected updated(changedProperties: PropertyValues): void;
61
+ /**
62
+ * Read-only extensions, kept in a compartment so toggling `readonly` after the
63
+ * view is created can reconfigure them. `readOnly` blocks edits but the view
64
+ * stays focusable and keeps painting a blinking caret; `editable.of(false)`
65
+ * also drops the caret (and the contenteditable), which is what a read-only
66
+ * rendering should show.
67
+ */
68
+ private _readonlyExtensions;
69
+ private _buildDynamicTheme;
70
+ private _buildExtensions;
71
+ private _buildDecorations;
72
+ private _autoComplete;
73
+ private _cleanupDroppable;
74
+ private _attachDroppable;
75
+ private _canDrop;
76
+ private _handleDrop;
77
+ protected render(): TemplateResult;
78
+ }
79
+ export {};
@@ -0,0 +1,7 @@
1
+ import { LuzmoFormulaCodeMirror } from './formula-codemirror';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-formula-codemirror': LuzmoFormulaCodeMirror;
5
+ }
6
+ }
7
+ export { LuzmoFormulaCodeMirror } from './formula-codemirror';
@@ -0,0 +1,125 @@
1
+ import '@luzmo/lucero/icon';
2
+ import '@luzmo/lucero/overlay';
3
+ import '@luzmo/lucero/popover';
4
+ import '@luzmo/lucero/select';
5
+ import { type PropertyValues, type TemplateResult } from 'lit';
6
+ import { LuzmoElement } from '../../../../utils/base';
7
+ import type { FormulaEditorStore } from '../../../../utils/formula/store/formula-editor-store';
8
+ import { type AggregationWidgetConfig } from '../../../../types/formula.types';
9
+ declare const LuzmoFormulaAggregation_base: (new (...args: any[]) => {
10
+ language: string;
11
+ }) & typeof LuzmoElement;
12
+ /**
13
+ * @customElement luzmo-formula-aggregation
14
+ * @description A nested aggregation widget rendered inline inside the formula
15
+ * editor: an aggregation-function selector, a grouping-scope selector, a nested
16
+ * expression input and (for `GROUPINEX`) an include / exclude column panel.
17
+ */
18
+ export declare class LuzmoFormulaAggregation extends LuzmoFormulaAggregation_base {
19
+ static styles: import("lit").CSSResult;
20
+ /** Configuration for this aggregation widget (set by the CodeMirror widget). */
21
+ config: AggregationWidgetConfig['data'];
22
+ /** The shared formula editor store (set by the CodeMirror widget). */
23
+ store?: FormulaEditorStore;
24
+ private _nestedCodeMirror?;
25
+ private _groupingOverlay?;
26
+ private _functionSelect?;
27
+ /** The element the focus/blur listeners are currently bound to, for clean teardown. */
28
+ private _functionFocusTarget?;
29
+ /**
30
+ * Explicit page override for the grouping popover. When `null` the page is
31
+ * derived from the current grouping (include/exclude scope -> the detail page,
32
+ * any other scope -> the scope chooser). Deriving the page - rather than
33
+ * resetting a stored page on open/close - keeps the (still hidden) popover on
34
+ * the correct page, so reopening a configured include/exclude pill no longer
35
+ * flashes the scope chooser for a frame.
36
+ */
37
+ private _groupingPageOverride;
38
+ /** Autocompletion options offered while typing inside this aggregation's nested input. */
39
+ private _autoCompletionList;
40
+ /** Whether the CodeMirror-backed nested input module has finished loading. */
41
+ private _codeMirrorLoaded;
42
+ /**
43
+ * Whether the aggregation-function select currently holds keyboard-driven focus.
44
+ * The select's focusable button lives in its shadow DOM, so a pure CSS
45
+ * `:focus-visible` can't reach it from here; instead we read the browser's own
46
+ * `:focus-visible` verdict off the focused element so the focus ring only shows
47
+ * for keyboard users (not after a mouse switch).
48
+ */
49
+ private _functionKeyboardFocus;
50
+ private readonly _groupingTriggerId;
51
+ private readonly _aggregationDataMap;
52
+ private readonly _groupingDataMap;
53
+ connectedCallback(): void;
54
+ disconnectedCallback(): void;
55
+ /**
56
+ * Binds the keyboard-focus tracking to the `.function-select` element (not the
57
+ * host). The select swallows the bubbling focusin/focusout, so we use the
58
+ * capturing focus/blur events; and they must be bound to `.function-select`
59
+ * rather than the host so focus moving *within* the pill (e.g. Shift+Tab from
60
+ * the nested value input into the select) still crosses into the listener's
61
+ * subtree and is detected. Idempotent and safe to call before first render.
62
+ */
63
+ private _bindFunctionFocusListeners;
64
+ private _unbindFunctionFocusListeners;
65
+ private _handleFunctionFocus;
66
+ private _handleFunctionBlur;
67
+ private _handleWidgetsChanged;
68
+ /**
69
+ * Datasets reach the pill once (via `config.linkedDatasets`) when the widget
70
+ * is created. When the editor loads its datasets asynchronously the store is
71
+ * updated later, so this re-resolves the nested column labels and completions.
72
+ */
73
+ private _handleDatasetsRefresh;
74
+ /** The datasets to use for the nested input: the freshly loaded store ones take precedence. */
75
+ private get _linkedDatasets();
76
+ private _recomputeAutoCompletion;
77
+ private get _widget();
78
+ /** The grouping popover page: an explicit override (e.g. after pressing back), else derived from the grouping scope. */
79
+ private get _groupingPage();
80
+ protected willUpdate(changedProperties: PropertyValues): void;
81
+ /** Lazily loads the CodeMirror-backed input used for this aggregation's nested expression. */
82
+ private _ensureCodeMirrorLoaded;
83
+ protected firstUpdated(): void;
84
+ protected updated(_changedProperties: PropertyValues): void;
85
+ /**
86
+ * When this pill was just created via a list insert / autocomplete, move the
87
+ * cursor into its nested input so the user can immediately keep typing.
88
+ */
89
+ private _focusNestedIfPending;
90
+ private _updateWidget;
91
+ private _handleFunctionChange;
92
+ private _handleGroupingOptionClick;
93
+ private _handleGroupingBack;
94
+ private _handleGroupingMenuOpened;
95
+ private _handleGroupingMenuClosed;
96
+ /**
97
+ * Dismiss the grouping overlay on an outside pointerdown.
98
+ *
99
+ * The overlay is a `type="manual"` popover (see render) so the browser's native
100
+ * Popover-API light-dismiss never collapses it when a nested include / exclude
101
+ * select opens its own `auto` popover - the bug this works around. Manual
102
+ * overlays also opt out of the overlay stack's outside-pointer dismissal, so we
103
+ * reinstate it here. Clicks inside the popover - which include the DOM-nested
104
+ * include / exclude selects and their dropdowns - keep it open; a pointerdown on
105
+ * the trigger closes it (the click controller suppresses its own toggle while
106
+ * the overlay is already open). Escape still closes it through the stack's
107
+ * keydown handler, which does dismiss manual overlays.
108
+ */
109
+ private _handleDocumentPointerdown;
110
+ /**
111
+ * Whether a pointerdown landed inside the grouping popover content. The popover
112
+ * content is promoted to the top layer (native popover) but stays in the DOM
113
+ * tree, so we match the popover / panel by class along the composed path:
114
+ * after a nested select opens (and re-renders) an element reference can stop
115
+ * resolving, but the elements are still present in the click's composed path.
116
+ */
117
+ private _isPointerInsidePopover;
118
+ private _closeGroupingMenu;
119
+ private _handleNestedContentChanged;
120
+ private _handleIncludeExcludeChange;
121
+ private _renderGroupingTypesPage;
122
+ private _renderIncludeExcludePage;
123
+ protected render(): TemplateResult;
124
+ }
125
+ export {};
@@ -0,0 +1,7 @@
1
+ import { LuzmoFormulaAggregation } from './formula-aggregation';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-formula-aggregation': LuzmoFormulaAggregation;
5
+ }
6
+ }
7
+ export { LuzmoFormulaAggregation } from './formula-aggregation';
@@ -0,0 +1,28 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LuzmoElement } from '../../../../utils/base';
3
+ import type { FormulaEditorStore } from '../../../../utils/formula/store/formula-editor-store';
4
+ declare const LuzmoFormulaEmptyArgumentPill_base: (new (...args: any[]) => {
5
+ language: string;
6
+ }) & typeof LuzmoElement;
7
+ /**
8
+ * @customElement luzmo-formula-empty-argument-pill
9
+ * @description An empty argument rendered inline inside the formula editor. Accepts
10
+ * dropped columns / functions / aggregations and lets the user type a literal value.
11
+ */
12
+ export declare class LuzmoFormulaEmptyArgumentPill extends LuzmoFormulaEmptyArgumentPill_base {
13
+ static styles: import("lit").CSSResult;
14
+ emptyArgumentId: string;
15
+ parentAggregationWidgetId: string | null;
16
+ store?: FormulaEditorStore;
17
+ private _cleanupDroppable;
18
+ connectedCallback(): void;
19
+ disconnectedCallback(): void;
20
+ protected firstUpdated(_changedProperties: PropertyValues): void;
21
+ private _attachDroppable;
22
+ private _canDrop;
23
+ private _handleDrop;
24
+ private _handleFocus;
25
+ private _handleInput;
26
+ protected render(): TemplateResult;
27
+ }
28
+ export {};
@@ -0,0 +1,7 @@
1
+ import { LuzmoFormulaEmptyArgumentPill } from './formula-empty-argument-pill';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-formula-empty-argument-pill': LuzmoFormulaEmptyArgumentPill;
5
+ }
6
+ }
7
+ export { LuzmoFormulaEmptyArgumentPill } from './formula-empty-argument-pill';
@@ -0,0 +1,38 @@
1
+ import '@luzmo/lucero/action-button';
2
+ import '@luzmo/lucero/field-label';
3
+ import '@luzmo/lucero/icon';
4
+ import '@luzmo/lucero/select';
5
+ import '@luzmo/lucero/tooltip';
6
+ import { type TemplateResult } from 'lit';
7
+ import { type ElementSize } from '../../../utils/base';
8
+ import type { FormulaEditorDataset } from '../../../types/formula.types';
9
+ export interface IncludeExcludePanelParams {
10
+ /** The linked datasets whose columns can be included / excluded. */
11
+ datasets: FormulaEditorDataset[];
12
+ /** Columns to always group by, as full `datasetId:columnId` references. */
13
+ includedColumns: string[];
14
+ /** Columns to never group by, as full `datasetId:columnId` references. */
15
+ excludedColumns: string[];
16
+ /** Language used to localize column names. */
17
+ contentLanguage: string;
18
+ /** Size of the surrounding editor. */
19
+ size?: ElementSize;
20
+ /** Renders the picker read-only (no adding, removing or moving). */
21
+ readonly?: boolean;
22
+ /** Shows a back button in the header to return to the grouping scope chooser. */
23
+ showBack?: boolean;
24
+ /** Called with the next included / excluded selection whenever it changes. */
25
+ onChange: (includedColumns: string[], excludedColumns: string[]) => void;
26
+ /** Called when the back button is activated. */
27
+ onBack: () => void;
28
+ }
29
+ /**
30
+ * Renders the included / excluded column picker for a `GROUPINEX` aggregation
31
+ * grouping. Replaces the former `luzmo-formula-include-exclude-panel` element:
32
+ * stateless markup driven by the aggregation pill, which owns the widget update.
33
+ *
34
+ * The root carries the `include-exclude-panel` class so the aggregation pill can
35
+ * detect pointerdowns inside the (DOM-nested) panel and keep its grouping
36
+ * popover open.
37
+ */
38
+ export declare function renderIncludeExcludePanel(params: IncludeExcludePanelParams): TemplateResult;