@luzmo/analytics-components-kit 1.0.4 → 1.0.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. package/components/ad-hoc-slot-content-BxpvfmjT.js +29 -0
  2. package/components/ad-hoc-slot-content-DJUmB7pS.cjs +20 -0
  3. package/components/ai-chat/ai-chat-events.d.ts +123 -0
  4. package/components/ai-chat/ai-chat-request.d.ts +11 -0
  5. package/components/ai-chat/ai-chat.d.ts +302 -0
  6. package/components/ai-chat/ai-prompt-types.d.ts +94 -0
  7. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
  8. package/components/ai-chat/empty-state/index.d.ts +8 -0
  9. package/components/ai-chat/empty-state/types.d.ts +14 -0
  10. package/components/ai-chat/index.cjs +20 -0
  11. package/components/ai-chat/index.d.ts +20 -0
  12. package/components/ai-chat/index.js +28 -0
  13. package/components/ai-chat/session/ai-chat-session-controller.d.ts +51 -0
  14. package/components/ai-chat/session/ai-chat-session-types.d.ts +88 -0
  15. package/components/ai-chat/session/ai-chat-session.d.ts +91 -0
  16. package/components/ai-chat/session/index.d.ts +2 -0
  17. package/components/ai-chat/stream/chunk-extractors.d.ts +27 -0
  18. package/components/ai-chat/stream/index.d.ts +52 -0
  19. package/components/ai-chat/stream/progress.d.ts +3 -0
  20. package/components/ai-chat/stream/registry.d.ts +6 -0
  21. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  22. package/components/ai-chat/stream/transport.d.ts +26 -0
  23. package/components/ai-chat/stream/types.d.ts +55 -0
  24. package/components/ai-chat-BBc330Jm.js +3832 -0
  25. package/components/ai-chat-DLDSaC7W.cjs +300 -0
  26. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +135 -0
  27. package/components/ai-interaction-textarea/index.cjs +20 -0
  28. package/components/ai-interaction-textarea/index.d.ts +8 -0
  29. package/components/ai-interaction-textarea/index.js +28 -0
  30. package/components/ai-interaction-textarea/types.d.ts +5 -0
  31. package/components/ai-interaction-textarea-BCH5_GBO.cjs +68 -0
  32. package/components/ai-interaction-textarea-DzHetSBZ.js +299 -0
  33. package/components/{area-chart-positioning.config-CQW5h7Eg.js → area-chart-positioning.config-CjeYLy6C.js} +1 -1
  34. package/components/{area-chart-positioning.config-CE8lOCfT.cjs → area-chart-positioning.config-DVrykBho.cjs} +1 -1
  35. package/components/{bar-chart-positioning.config-DFI1wzOQ.cjs → bar-chart-positioning.config-DpF15KcV.cjs} +1 -1
  36. package/components/{bar-chart-positioning.config-DaH_x_VU.js → bar-chart-positioning.config-e-SAdpBe.js} +1 -1
  37. package/components/base-DSXeP3BL.cjs +20 -0
  38. package/components/{base-p2I4mVSW.js → base-a89RuUMb.js} +2 -1
  39. package/components/{box-plot-positioning.config-K2tQGMig.js → box-plot-positioning.config-Bq2INEtG.js} +1 -1
  40. package/components/{box-plot-positioning.config-FOyav5Zq.cjs → box-plot-positioning.config-DbwtHJ4q.cjs} +1 -1
  41. package/components/{bubble-chart-positioning.config-B6DXfqa4.cjs → bubble-chart-positioning.config--EBfDgdN.cjs} +1 -1
  42. package/components/{bubble-chart-positioning.config-D2fwO2JM.js → bubble-chart-positioning.config-DFnW4mJ9.js} +1 -1
  43. package/components/{bullet-chart-positioning.config-DZqzqZSQ.cjs → bullet-chart-positioning.config-CZ46z07k.cjs} +1 -1
  44. package/components/{bullet-chart-positioning.config-DOAG2wFN.js → bullet-chart-positioning.config-DS2OmjBY.js} +1 -1
  45. package/components/{choropleth-map-positioning.config-C3jO3j8R.cjs → choropleth-map-positioning.config-Clm5IUT6.cjs} +1 -1
  46. package/components/{choropleth-map-positioning.config-Jw6fAFM1.js → choropleth-map-positioning.config-DgANsGq1.js} +1 -1
  47. package/components/{circle-pack-chart-positioning.config-Ckb-1sUG.js → circle-pack-chart-positioning.config-2H1CrfH_.js} +1 -1
  48. package/components/{circle-pack-chart-positioning.config-DJT6ivEy.cjs → circle-pack-chart-positioning.config-qF0qGcEO.cjs} +1 -1
  49. package/components/{circular-gauge-positioning.config-B8gL5Br9.cjs → circular-gauge-positioning.config-CMttD_BW.cjs} +1 -1
  50. package/components/{circular-gauge-positioning.config-BGlDGhYZ.js → circular-gauge-positioning.config-CusKP9Tq.js} +1 -1
  51. package/components/{column-chart-positioning.config-LzBETWIy.cjs → column-chart-positioning.config-ColoutIT.cjs} +1 -1
  52. package/components/{column-chart-positioning.config-BJGWvFLD.js → column-chart-positioning.config-rRwPVTbj.js} +1 -1
  53. package/components/{combination-chart-positioning.config-DjmWx90S.cjs → combination-chart-positioning.config-DAVrKW-6.cjs} +1 -1
  54. package/components/{combination-chart-positioning.config-DtneKdwK.js → combination-chart-positioning.config-uLf1RJQr.js} +1 -1
  55. package/components/{conditional-number-positioning.config-Ccb2yjJU.js → conditional-number-positioning.config-DZjwZfsH.js} +1 -1
  56. package/components/{conditional-number-positioning.config-C8bRdffQ.cjs → conditional-number-positioning.config-Nwsh-WyG.cjs} +1 -1
  57. package/components/convert-data-field-to-slot-content-BQkSy_8B.cjs +20 -0
  58. package/components/convert-data-field-to-slot-content-C6IIqU7G.js +53 -0
  59. package/components/convert-datasets-to-data-fields-B13rl1an.cjs +20 -0
  60. package/components/convert-datasets-to-data-fields-PmQzeVLG.js +68 -0
  61. package/components/data-field/index.cjs +1 -1
  62. package/components/data-field/index.d.ts +1 -0
  63. package/components/data-field/index.js +1 -1
  64. package/components/data-field-CFX9bhKN.js +121 -0
  65. package/components/data-field-bRmOqmAe.cjs +54 -0
  66. package/components/data-field-level/data-field-level.d.ts +40 -0
  67. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  68. package/components/data-field-level/index.cjs +20 -0
  69. package/components/data-field-level/index.d.ts +8 -0
  70. package/components/data-field-level/index.js +28 -0
  71. package/components/{data-field-ll2oFVG2.js → data-field-level-Cc6yEETi.js} +46 -140
  72. package/components/data-field-level-Dnl27sxs.cjs +55 -0
  73. package/components/data-field-panel/index.cjs +1 -1
  74. package/components/data-field-panel/index.d.ts +1 -0
  75. package/components/data-field-panel/index.js +1 -1
  76. package/components/data-field-panel-BDExLalA.cjs +87 -0
  77. package/components/{data-field-panel-ntgCpQ_2.js → data-field-panel-DcqVOzMO.js} +5 -4
  78. package/components/data-fields-select/data-fields-select.d.ts +127 -0
  79. package/components/data-fields-select/index.cjs +20 -0
  80. package/components/data-fields-select/index.d.ts +9 -0
  81. package/components/data-fields-select/index.js +28 -0
  82. package/components/data-fields-select/types.d.ts +4 -0
  83. package/components/data-fields-select-B5aGtDYe.cjs +41 -0
  84. package/components/{data-fields-select-DJFkrrPs.js → data-fields-select-CfAfiV-K.js} +4 -3
  85. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  86. package/components/dataset-icon/index.cjs +20 -0
  87. package/components/dataset-icon/index.d.ts +8 -0
  88. package/components/dataset-icon/index.js +28 -0
  89. package/components/dataset-icon/types.d.ts +11 -0
  90. package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
  91. package/components/dataset-icon-BXEgg_8O.js +125 -0
  92. package/components/dataset-selector-list/dataset-selector-list.d.ts +102 -0
  93. package/components/dataset-selector-list/index.cjs +20 -0
  94. package/components/dataset-selector-list/index.d.ts +8 -0
  95. package/components/dataset-selector-list/index.js +28 -0
  96. package/components/dataset-selector-list-WT2ZHjQ4.cjs +75 -0
  97. package/components/dataset-selector-list-bAFTW1Hr.js +313 -0
  98. package/components/dataset-selector-row/dataset-selector-row.d.ts +89 -0
  99. package/components/dataset-selector-row/index.cjs +20 -0
  100. package/components/dataset-selector-row/index.d.ts +8 -0
  101. package/components/dataset-selector-row/index.js +28 -0
  102. package/components/dataset-selector-row-CXrEKQrA.js +273 -0
  103. package/components/dataset-selector-row-CwkXH93E.cjs +79 -0
  104. package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
  105. package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
  106. package/components/{localized-mixin-CBMYHOPv.js → decorate-CaYbmmmm.js} +2 -26
  107. package/components/decorate-DCJt-2rt.cjs +20 -0
  108. package/components/display-settings/display-settings.d.ts +117 -0
  109. package/components/display-settings/index.cjs +20 -0
  110. package/components/display-settings/index.d.ts +8 -0
  111. package/components/display-settings/index.js +28 -0
  112. package/components/display-settings/types.d.ts +9 -0
  113. package/components/display-settings-DrcpHnKo.cjs +140 -0
  114. package/components/display-settings-Ec_smyRC.js +313 -0
  115. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  116. package/components/display-settings-binning/index.cjs +20 -0
  117. package/components/display-settings-binning/index.d.ts +8 -0
  118. package/components/display-settings-binning/index.js +28 -0
  119. package/components/{display-settings-binning-DGxEB9Fa.js → display-settings-binning-COpQPUin.js} +17 -19
  120. package/components/{display-settings-binning-CQKXGp11.cjs → display-settings-binning-XXJdJeGU.cjs} +2 -2
  121. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  122. package/components/display-settings-datetime/index.cjs +20 -0
  123. package/components/display-settings-datetime/index.d.ts +8 -0
  124. package/components/display-settings-datetime/index.js +28 -0
  125. package/components/display-settings-datetime-DhSW10ln.cjs +217 -0
  126. package/components/{display-settings-datetime-CLx9sxA7.js → display-settings-datetime-qj86dnHh.js} +69 -71
  127. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  128. package/components/display-settings-grand-totals/index.cjs +20 -0
  129. package/components/display-settings-grand-totals/index.d.ts +8 -0
  130. package/components/display-settings-grand-totals/index.js +28 -0
  131. package/components/{display-settings-grand-totals-B0Px90rH.js → display-settings-grand-totals-D6IDs0U1.js} +17 -19
  132. package/components/display-settings-grand-totals-DTF0sqA1.cjs +44 -0
  133. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  134. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  135. package/components/display-settings-numeric/index.cjs +20 -0
  136. package/components/display-settings-numeric/index.d.ts +8 -0
  137. package/components/display-settings-numeric/index.js +28 -0
  138. package/components/display-settings-numeric-Dt34JHyR.cjs +190 -0
  139. package/components/{display-settings-numeric-CdEgzO7W.js → display-settings-numeric-Dy2EMcKa.js} +79 -81
  140. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +68 -0
  141. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  142. package/components/display-settings-period-over-period/index.cjs +20 -0
  143. package/components/display-settings-period-over-period/index.d.ts +8 -0
  144. package/components/display-settings-period-over-period/index.js +28 -0
  145. package/components/display-settings-period-over-period-B-ULI6yW.cjs +229 -0
  146. package/components/{display-settings-period-over-period-lo3myRfT.js → display-settings-period-over-period-BMzBnywY.js} +85 -86
  147. package/components/{donut-chart-positioning.config-2cYbI6p-.cjs → donut-chart-positioning.config-BnmePhBH.cjs} +1 -1
  148. package/components/{donut-chart-positioning.config-Dh3XI5f4.js → donut-chart-positioning.config-CnZRc3e8.js} +1 -1
  149. package/components/{en-hPjCnvK0.cjs → en-B34alchz.cjs} +1 -1
  150. package/components/{en-OJGeTneC.js → en-CcLhGxIh.js} +1 -1
  151. package/components/en-GB-B3xz84vF.cjs +20 -0
  152. package/components/{en-GB-D7N1nMuy.js → en-GB-DzkdeUQh.js} +1 -1
  153. package/components/{en-US-hPjCnvK0.cjs → en-US-B34alchz.cjs} +1 -1
  154. package/components/{en-US-OJGeTneC.js → en-US-CcLhGxIh.js} +1 -1
  155. package/components/{evolution-number-positioning.config-BX1lWtDL.cjs → evolution-number-positioning.config-CKgGLWTm.cjs} +1 -1
  156. package/components/{evolution-number-positioning.config-BQQrOKbD.js → evolution-number-positioning.config-DiKxJqRO.js} +1 -1
  157. package/components/filter-expression-picker/filter-expression-picker.d.ts +73 -0
  158. package/components/filter-expression-picker/index.cjs +20 -0
  159. package/components/filter-expression-picker/index.d.ts +7 -0
  160. package/components/filter-expression-picker/index.js +28 -0
  161. package/components/filter-expression-picker-DMZ4sgJ6.js +425 -0
  162. package/components/filter-expression-picker-Dq0X2lo3.cjs +38 -0
  163. package/components/filter-item/filter-item.d.ts +84 -0
  164. package/components/filter-item/index.cjs +20 -0
  165. package/components/filter-item/index.d.ts +7 -0
  166. package/components/filter-item/index.js +28 -0
  167. package/components/filter-item-BEe-Y6l0.js +242 -0
  168. package/components/filter-item-BnxKP0Zg.cjs +58 -0
  169. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +25 -0
  170. package/components/filter-parameter-picker/index.cjs +22 -0
  171. package/components/filter-parameter-picker/index.d.ts +7 -0
  172. package/components/filter-parameter-picker/index.js +58 -0
  173. package/components/filter-value-picker/filter-value-picker.d.ts +65 -0
  174. package/components/filter-value-picker/index.cjs +20 -0
  175. package/components/filter-value-picker/index.d.ts +7 -0
  176. package/components/filter-value-picker/index.js +28 -0
  177. package/components/filter-value-picker-BxaX9BML.cjs +60 -0
  178. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +42 -0
  179. package/components/filter-value-picker-datetime/index.cjs +20 -0
  180. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  181. package/components/filter-value-picker-datetime/index.js +28 -0
  182. package/components/filter-value-picker-datetime-BryAsOYH.cjs +42 -0
  183. package/components/filter-value-picker-datetime-DtZDr9fY.js +139 -0
  184. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +81 -0
  185. package/components/filter-value-picker-hierarchy/index.cjs +20 -0
  186. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  187. package/components/filter-value-picker-hierarchy/index.js +28 -0
  188. package/components/filter-value-picker-hierarchy-BSKoZJ0F.cjs +47 -0
  189. package/components/filter-value-picker-hierarchy-D9BcuttQ.js +232 -0
  190. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +82 -0
  191. package/components/filter-value-picker-numeric/index.cjs +20 -0
  192. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  193. package/components/filter-value-picker-numeric/index.js +28 -0
  194. package/components/filter-value-picker-numeric-B2EcfNUR.cjs +48 -0
  195. package/components/filter-value-picker-numeric-CoU9l9wS.js +219 -0
  196. package/components/filter-value-picker-r1zs2IHx.js +151 -0
  197. package/components/filters/index.cjs +1 -1
  198. package/components/filters/index.js +1 -1
  199. package/components/filters-C9DVFS6T.cjs +150 -0
  200. package/components/filters-DVTYmlI1.js +400 -0
  201. package/components/formatter-8m-wrIM-.cjs +20 -0
  202. package/components/{period-over-period-condition.const-DLA60ptm.js → formatter-Cq5dFCyU.js} +44 -235
  203. package/components/formula/index.cjs +1 -1
  204. package/components/formula/index.js +1 -1
  205. package/components/formula--lwYaW2w.cjs +45 -0
  206. package/components/{formula-TyfDRy5X.js → formula-Ekyv6mpo.js} +15 -14
  207. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  208. package/components/formula-codemirror/index.d.ts +7 -0
  209. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  210. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  211. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  212. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  213. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  214. package/components/{formula-codemirror-Bewi7Xgc.cjs → formula-codemirror-BZuBN5sE.cjs} +50 -50
  215. package/components/{formula-codemirror-B6ktT1Dm.js → formula-codemirror-DgTmL2Id.js} +21 -19
  216. package/components/formula-display-store-BunPLkc0.cjs +20 -0
  217. package/components/{formula-display-store-ycPV0gru.js → formula-display-store-ezef6EvF.js} +242 -271
  218. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  219. package/components/formula-draggable-field/index.d.ts +8 -0
  220. package/components/formula-draggable-field/types.d.ts +24 -0
  221. package/components/formula-editor/index.cjs +1 -1
  222. package/components/formula-editor/index.d.ts +1 -0
  223. package/components/formula-editor/index.js +4 -3
  224. package/components/formula-editor-CjVohoJB.cjs +218 -0
  225. package/components/{formula-editor-HkD4KWnN.js → formula-editor-DRpm9ej7.js} +143 -348
  226. package/components/formula-field/formula-field.d.ts +20 -0
  227. package/components/formula-field/index.cjs +20 -0
  228. package/components/formula-field/index.d.ts +7 -0
  229. package/components/formula-field/index.js +28 -0
  230. package/components/formula-field-DcgWLGBD.cjs +20 -0
  231. package/components/formula-field-TwMnyN0t.js +40 -0
  232. package/components/formula-input-base-D6QdnUOa.cjs +49 -0
  233. package/components/formula-input-base-Dxk5euNb.js +236 -0
  234. package/components/{funnel-chart-positioning.config-iHk--8l3.cjs → funnel-chart-positioning.config-DaHDyj7V.cjs} +1 -1
  235. package/components/{funnel-chart-positioning.config-9blBdgB7.js → funnel-chart-positioning.config-DysRV01G.js} +1 -1
  236. package/components/get-dataset-name-D4smY8ms.cjs +20 -0
  237. package/components/get-dataset-name-D_ZiWu64.js +27 -0
  238. package/components/groupings-Bzp2EA65.js +52 -0
  239. package/components/groupings-Wfp8piEu.cjs +20 -0
  240. package/components/{heat-map-positioning.config-DgrZWNiT.js → heat-map-positioning.config-C6CqosaH.js} +1 -1
  241. package/components/{heat-map-positioning.config-CqkTB8nU.cjs → heat-map-positioning.config-hFwq08ML.cjs} +1 -1
  242. package/components/{heat-table-positioning.config-BqsqkftW.js → heat-table-positioning.config-B2RuWLH5.js} +1 -1
  243. package/components/{heat-table-positioning.config-Ca-WBNR-.cjs → heat-table-positioning.config-MJ_ox9iT.cjs} +1 -1
  244. package/components/{hexbin-map-positioning.config-sUIrPJP4.cjs → hexbin-map-positioning.config-Dua5Z8M2.cjs} +1 -1
  245. package/components/{hexbin-map-positioning.config-gkLfwTS6.js → hexbin-map-positioning.config-IiGTpp68.js} +1 -1
  246. package/components/index.cjs +1 -749
  247. package/components/index.js +64 -5577
  248. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  249. package/components/interactive-viz-item/index.cjs +20 -0
  250. package/components/interactive-viz-item/index.d.ts +10 -0
  251. package/components/interactive-viz-item/index.js +28 -0
  252. package/components/interactive-viz-item/interactive-viz-item.d.ts +96 -0
  253. package/components/interactive-viz-item/types.d.ts +117 -0
  254. package/components/interactive-viz-item-O2zj8Ix3.cjs +247 -0
  255. package/components/interactive-viz-item-lBrlvX4F.js +693 -0
  256. package/components/item-grid/index.cjs +1 -1
  257. package/components/item-grid/index.js +1 -1
  258. package/components/{item-grid-C6nEE4Uj.cjs → item-grid-CmuMl0eC.cjs} +22 -22
  259. package/components/{item-grid-B59uyBDP.js → item-grid-Cqi995vx.js} +2 -1
  260. package/components/item-menu/item-list/item-list.d.ts +37 -0
  261. package/components/item-option/index.cjs +1 -1
  262. package/components/item-option/index.js +1 -1
  263. package/components/item-option-CQw6Xsi2.cjs +252 -0
  264. package/components/{item-option-zz-Rqh6o.js → item-option-Cg3zRKlU.js} +2 -2
  265. package/components/item-option-action-button-group/index.cjs +1 -1
  266. package/components/item-option-action-button-group/index.js +1 -1
  267. package/components/{item-option-action-button-group-BEXRueVH.js → item-option-action-button-group-C1TU-ng7.js} +2 -2
  268. package/components/item-option-action-button-group-DBdpU9Ac.cjs +53 -0
  269. package/components/item-option-base/item-option-base.d.ts +23 -0
  270. package/components/{item-option-base-DqDKIqRP.js → item-option-base-4mpxvTpE.js} +2 -2
  271. package/components/item-option-base-BtYcXg-E.cjs +56 -0
  272. package/components/item-option-color-palette-picker/index.cjs +1 -1
  273. package/components/item-option-color-palette-picker/index.js +1 -1
  274. package/components/item-option-color-palette-picker-4so22U-2.cjs +40 -0
  275. package/components/{item-option-color-palette-picker-dk5Nm1XB.js → item-option-color-palette-picker-BBnhEOQj.js} +2 -2
  276. package/components/item-option-color-picker/index.cjs +1 -1
  277. package/components/item-option-color-picker/index.js +1 -1
  278. package/components/{item-option-color-picker-oG-wrEZh.js → item-option-color-picker-CTTEHFVR.js} +2 -2
  279. package/components/{item-option-color-picker-Czr_ojzh.cjs → item-option-color-picker-CUBaIdL-.cjs} +2 -2
  280. package/components/item-option-color-range/index.cjs +1 -1
  281. package/components/item-option-color-range/index.js +1 -1
  282. package/components/{item-option-color-range-RbnPnI3s.js → item-option-color-range-BuLEgB7a.js} +2 -2
  283. package/components/item-option-color-range-H4nV-HoV.cjs +98 -0
  284. package/components/item-option-multi-language-field/index.cjs +1 -1
  285. package/components/item-option-multi-language-field/index.js +1 -1
  286. package/components/{item-option-multi-language-field-BqhBRIFH.js → item-option-multi-language-field-CXQj3kSW.js} +2 -2
  287. package/components/{item-option-multi-language-field-BpyuIPcO.cjs → item-option-multi-language-field-d25tETIC.cjs} +2 -2
  288. package/components/item-option-number-field/index.cjs +1 -1
  289. package/components/item-option-number-field/index.js +1 -1
  290. package/components/{item-option-number-field-BDPEAzdF.js → item-option-number-field-CEQEjnu8.js} +2 -2
  291. package/components/{item-option-number-field-CV2xpQrk.cjs → item-option-number-field-waG1zcr8.cjs} +2 -2
  292. package/components/item-option-panel/index.cjs +1 -1
  293. package/components/item-option-panel/index.js +1 -1
  294. package/components/{item-option-panel-CMrjUb2s.cjs → item-option-panel-Bh4d0Ueb.cjs} +2 -2
  295. package/components/{item-option-panel-XhTxaBZp.js → item-option-panel-CVjT-rr8.js} +3 -3
  296. package/components/item-option-picker/index.cjs +1 -1
  297. package/components/item-option-picker/index.js +1 -1
  298. package/components/{item-option-picker-D_Od3am8.js → item-option-picker-CiEMwzho.js} +2 -2
  299. package/components/{item-option-picker-CvEfEy99.cjs → item-option-picker-YTJ6noOW.cjs} +2 -2
  300. package/components/item-option-position-picker/index.cjs +1 -1
  301. package/components/item-option-position-picker/index.js +1 -1
  302. package/components/item-option-position-picker-DExAtVBF.cjs +32 -0
  303. package/components/{item-option-position-picker-BKw29tj-.js → item-option-position-picker-DVsG8inN.js} +2 -2
  304. package/components/item-option-positions-number-field/index.cjs +1 -1
  305. package/components/item-option-positions-number-field/index.js +1 -1
  306. package/components/{item-option-positions-number-field-lrJdfydy.js → item-option-positions-number-field-7F1_3pxp.js} +2 -2
  307. package/components/item-option-positions-number-field-Ju4e_B6g.cjs +49 -0
  308. package/components/item-option-radio-button-group/index.cjs +1 -1
  309. package/components/item-option-radio-button-group/index.js +1 -1
  310. package/components/{item-option-radio-button-group-DrjpL6YU.cjs → item-option-radio-button-group-6w11UJC-.cjs} +2 -2
  311. package/components/{item-option-radio-button-group-DTyHPaz_.js → item-option-radio-button-group-CHZKF_oZ.js} +2 -2
  312. package/components/item-option-slider/index.cjs +1 -1
  313. package/components/item-option-slider/index.js +1 -1
  314. package/components/{item-option-slider-CIDoZhZl.js → item-option-slider-CQCvF7wI.js} +2 -2
  315. package/components/{item-option-slider-BwKBgW0y.cjs → item-option-slider-DdkgydGa.cjs} +2 -2
  316. package/components/item-option-switch/index.cjs +1 -1
  317. package/components/item-option-switch/index.js +1 -1
  318. package/components/{item-option-switch-DxC1yjeN.js → item-option-switch-68EoGXKU.js} +2 -2
  319. package/components/{item-option-switch-CQtvbTfI.cjs → item-option-switch-IP4wvB7i.cjs} +2 -2
  320. package/components/item-option-text-field/index.cjs +1 -1
  321. package/components/item-option-text-field/index.js +1 -1
  322. package/components/{item-option-text-field-CZtJ1yIj.js → item-option-text-field-0CCtgD5i.js} +2 -2
  323. package/components/{item-option-text-field-pLQzcE25.cjs → item-option-text-field-Be4frWhI.cjs} +2 -2
  324. package/components/item-slot-drop/index.cjs +1 -1
  325. package/components/item-slot-drop/index.d.ts +2 -0
  326. package/components/item-slot-drop/index.js +1 -1
  327. package/components/item-slot-drop-C7BJJcZz.cjs +91 -0
  328. package/components/{item-slot-drop-SqYpfTGj.js → item-slot-drop-PlCmap_s.js} +14 -9
  329. package/components/item-slot-drop-panel/index.cjs +1 -1
  330. package/components/item-slot-drop-panel/index.js +1 -1
  331. package/components/{item-slot-drop-panel-DoWCzjqb.js → item-slot-drop-panel-BevGCcMh.js} +41 -40
  332. package/components/item-slot-drop-panel-hs0gFwb-.cjs +57 -0
  333. package/components/item-slot-picker/index.cjs +1 -1
  334. package/components/item-slot-picker/index.js +1 -1
  335. package/components/{item-slot-picker-CadZEvOA.js → item-slot-picker-BzXlX-Zd.js} +26 -21
  336. package/components/item-slot-picker-dmoR1ZyZ.cjs +174 -0
  337. package/components/item-slot-picker-panel/index.cjs +1 -1
  338. package/components/item-slot-picker-panel/index.js +1 -1
  339. package/components/item-slot-picker-panel-B2TtJUIs.cjs +81 -0
  340. package/components/{item-slot-picker-panel-Bhr6d6Ya.js → item-slot-picker-panel-DnvwcLGy.js} +5 -4
  341. package/components/{line-chart-positioning.config-BIkHxiyg.cjs → line-chart-positioning.config-CYqzjNzS.cjs} +1 -1
  342. package/components/{line-chart-positioning.config-CdnYQBah.js → line-chart-positioning.config-DAs0y-O6.js} +1 -1
  343. package/components/load-data-fields-for-datasets-BVGaku2J.cjs +20 -0
  344. package/components/load-data-fields-for-datasets-DeXLqWt4.js +42 -0
  345. package/components/localized-mixin-BNAt_iYb.cjs +20 -0
  346. package/components/localized-mixin-GXZQgVAD.js +45 -0
  347. package/components/{marker-map-positioning.config-BSz4P-W9.js → marker-map-positioning.config-BQ-kNUJI.js} +1 -1
  348. package/components/{marker-map-positioning.config-t66fioVz.cjs → marker-map-positioning.config-C5h5ydGa.cjs} +1 -1
  349. package/components/{ohlc-chart-positioning.config-tQPPutWX.js → ohlc-chart-positioning.config-BQyRY4rj.js} +1 -1
  350. package/components/{ohlc-chart-positioning.config-BGueS7CJ.cjs → ohlc-chart-positioning.config-fqniDSHf.cjs} +1 -1
  351. package/components/{parallel-coordinates-plot-positioning.config-NrJ2LNM8.cjs → parallel-coordinates-plot-positioning.config-Bhyk-q40.cjs} +1 -1
  352. package/components/{parallel-coordinates-plot-positioning.config-MkX-qYHX.js → parallel-coordinates-plot-positioning.config-DMUrvTKC.js} +1 -1
  353. package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
  354. package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
  355. package/components/{pivot-table-positioning.config-DgJ5PPB9.cjs → pivot-table-positioning.config-CRPJ6cp9.cjs} +1 -1
  356. package/components/{pivot-table-positioning.config-Dr_0v4TM.js → pivot-table-positioning.config-kgOD7qg4.js} +1 -1
  357. package/components/{pyramid-chart-positioning.config-BGRtXKWh.cjs → pyramid-chart-positioning.config-B3g4J0Fc.cjs} +1 -1
  358. package/components/{pyramid-chart-positioning.config-DB0BI8vW.js → pyramid-chart-positioning.config-DzmnUNOa.js} +1 -1
  359. package/components/{radar-chart-positioning.config-DQiJ-Z1s.cjs → radar-chart-positioning.config-DeMZx8WU.cjs} +1 -1
  360. package/components/{radar-chart-positioning.config-D6UfRMMA.js → radar-chart-positioning.config-DtCHigcZ.js} +1 -1
  361. package/components/{route-map-positioning.config-D_ZoyhwX.js → route-map-positioning.config-CNNkOriH.js} +1 -1
  362. package/components/{route-map-positioning.config-Cbic0Cbz.cjs → route-map-positioning.config-GRnTnxOT.cjs} +1 -1
  363. package/components/{sankey-diagram-positioning.config-CZDPh7CR.cjs → sankey-diagram-positioning.config-B4dTAI_t.cjs} +1 -1
  364. package/components/{sankey-diagram-positioning.config-CQNdImz0.js → sankey-diagram-positioning.config-DZzxWrlG.js} +1 -1
  365. package/components/{scatter-plot-positioning.config-BTOiZ8cF.js → scatter-plot-positioning.config-7DccAqx9.js} +1 -1
  366. package/components/{scatter-plot-positioning.config-BPEymo3a.cjs → scatter-plot-positioning.config-CUxiLfKj.cjs} +1 -1
  367. package/components/{slicer-filter-positioning.config-CQE4ocpD.cjs → slicer-filter-positioning.config-DUivNE2P.cjs} +1 -1
  368. package/components/{slicer-filter-positioning.config-CC7uoU2D.js → slicer-filter-positioning.config-aOkoNRyY.js} +1 -1
  369. package/components/{en-GB-DCZl8CPc.cjs → slot-menu/index.cjs} +1 -1
  370. package/components/slot-menu/index.d.ts +10 -0
  371. package/components/slot-menu/index.js +28 -0
  372. package/components/slot-menu/slot-menu.d.ts +148 -0
  373. package/components/slot-menu/types.d.ts +24 -0
  374. package/components/slot-menu-Bgoo0gWv.cjs +71 -0
  375. package/components/slot-menu-Cb8piPji.js +422 -0
  376. package/components/slot-menu-list/index.cjs +20 -0
  377. package/components/slot-menu-list/index.d.ts +8 -0
  378. package/components/slot-menu-list/index.js +28 -0
  379. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  380. package/components/slot-menu-list-Cy6tegSf.cjs +44 -0
  381. package/components/slot-menu-list-VuVIRNtr.js +346 -0
  382. package/components/slot-role-classification-Bvt3bI01.cjs +20 -0
  383. package/components/slot-role-classification-CCzj4WgN.js +133 -0
  384. package/components/slots-config-P_GXW0tl.js +77 -0
  385. package/components/slots-config-YdyClHLc.cjs +20 -0
  386. package/components/{speedometer-chart-positioning.config-ChH-uAdS.js → speedometer-chart-positioning.config-Dj6XK0gq.js} +1 -1
  387. package/components/{speedometer-chart-positioning.config-DpBVarun.cjs → speedometer-chart-positioning.config-DzCh70X-.cjs} +1 -1
  388. package/components/{spike-map-positioning.config-BnEQJ-rD.js → spike-map-positioning.config-BG2pKkf7.js} +1 -1
  389. package/components/{spike-map-positioning.config-DrSoa8Ol.cjs → spike-map-positioning.config-BQIg4Z0U.cjs} +1 -1
  390. package/components/{strip-plot-positioning.config-DlkZ1i6m.cjs → strip-plot-positioning.config-D3ZNgtC4.cjs} +1 -1
  391. package/components/{strip-plot-positioning.config-Be5Desz2.js → strip-plot-positioning.config-HZCVc6kX.js} +1 -1
  392. package/components/{sunburst-chart-positioning.config-RUEkAgKJ.js → sunburst-chart-positioning.config-0O9eMweg.js} +1 -1
  393. package/components/{sunburst-chart-positioning.config-D4zzci9s.cjs → sunburst-chart-positioning.config-B-hCz3bI.cjs} +1 -1
  394. package/components/{symbol-map-positioning.config-JzgtULMk.js → symbol-map-positioning.config-Dod98HkQ.js} +1 -1
  395. package/components/{symbol-map-positioning.config-Dmgmyhv7.cjs → symbol-map-positioning.config-aHnkaWU6.cjs} +1 -1
  396. package/components/{treemap-chart-positioning.config-CSt_vVgw.js → treemap-chart-positioning.config-XB1_FmX-.js} +1 -1
  397. package/components/{treemap-chart-positioning.config-CqHJxz2j.cjs → treemap-chart-positioning.config-qhPL49um.cjs} +1 -1
  398. package/components/utils/base.cjs +1 -1
  399. package/components/utils/base.js +2 -2
  400. package/components/utils-B1BzV2xl.cjs +20 -0
  401. package/components/{utils-DLTDAer5.js → utils-BMOxXnnX.js} +42 -41
  402. package/components/utils.cjs +1 -1
  403. package/components/utils.js +8 -5
  404. package/components/{venn-diagram-positioning.config-DsPI8qfG.js → venn-diagram-positioning.config-Bh1ypVKP.js} +1 -1
  405. package/components/{venn-diagram-positioning.config-CzhNTma3.cjs → venn-diagram-positioning.config-CimHfhlV.cjs} +1 -1
  406. package/components/viz-item-menu/index.cjs +20 -0
  407. package/components/viz-item-menu/index.d.ts +8 -0
  408. package/components/viz-item-menu/index.js +28 -0
  409. package/components/viz-item-menu/types.d.ts +9 -0
  410. package/components/viz-item-menu/viz-item-menu.d.ts +75 -0
  411. package/components/viz-item-menu-CTPd7QMx.cjs +55 -0
  412. package/components/viz-item-menu-sOvrO3Ku.js +170 -0
  413. package/components/{wordcloud-chart-positioning.config-moNJfL1M.cjs → wordcloud-chart-positioning.config-BR_g8Now.cjs} +1 -1
  414. package/components/{wordcloud-chart-positioning.config-BUE8e4fN.js → wordcloud-chart-positioning.config-CmakCQG0.js} +1 -1
  415. package/custom-elements.json +15942 -5759
  416. package/index.d.ts +24 -0
  417. package/package.json +126 -1
  418. package/react/README.md +31 -6
  419. package/react/components/ai-chat/empty-state/index.ts +1 -0
  420. package/react/components/ai-chat/empty-state/types.ts +16 -0
  421. package/react/components/ai-chat/stream/index.ts +1 -0
  422. package/react/components/ai-chat/stream/types.ts +60 -0
  423. package/react/components/ai-chat.component.ts +45 -0
  424. package/react/components/ai-interaction-textarea/index.ts +1 -0
  425. package/react/components/ai-interaction-textarea/types.ts +6 -0
  426. package/react/components/ai-interaction-textarea.component.ts +30 -0
  427. package/react/components/data-field-level.component.ts +30 -0
  428. package/react/components/data-fields-select/index.ts +1 -0
  429. package/react/components/data-fields-select/types.ts +5 -0
  430. package/react/components/data-fields-select.component.ts +27 -0
  431. package/react/components/dataset-icon/index.ts +1 -0
  432. package/react/components/dataset-icon/types.ts +8 -0
  433. package/react/components/dataset-icon.component.ts +22 -0
  434. package/react/components/dataset-selector-list.component.ts +27 -0
  435. package/react/components/dataset-selector-row.component.ts +30 -0
  436. package/react/components/display-settings/index.ts +1 -0
  437. package/react/components/display-settings/types.ts +12 -0
  438. package/react/components/display-settings-binning.component.ts +27 -0
  439. package/react/components/display-settings-datetime.component.ts +27 -0
  440. package/react/components/display-settings-grand-totals.component.ts +27 -0
  441. package/react/components/display-settings-numeric.component.ts +27 -0
  442. package/react/components/display-settings-period-over-period.component.ts +27 -0
  443. package/react/components/display-settings.component.ts +33 -0
  444. package/react/components/filter-expression-picker.component.ts +27 -0
  445. package/react/components/filter-item.component.ts +27 -0
  446. package/react/components/filter-parameter-picker.component.ts +22 -0
  447. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  448. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  449. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  450. package/react/components/filter-value-picker.component.ts +27 -0
  451. package/react/components/formula-draggable-field/index.ts +1 -0
  452. package/react/components/formula-draggable-field/types.ts +26 -0
  453. package/react/components/formula-field.component.ts +30 -0
  454. package/react/components/interactive-viz-item/index.ts +1 -0
  455. package/react/components/interactive-viz-item/types.ts +122 -0
  456. package/react/components/interactive-viz-item.component.ts +33 -0
  457. package/react/components/slot-menu/index.ts +1 -0
  458. package/react/components/slot-menu/types.ts +29 -0
  459. package/react/components/slot-menu-list.component.ts +27 -0
  460. package/react/components/slot-menu.component.ts +42 -0
  461. package/react/components/viz-item-menu/index.ts +1 -0
  462. package/react/components/viz-item-menu/types.ts +11 -0
  463. package/react/components/viz-item-menu.component.ts +33 -0
  464. package/react/esm/components/ai-chat/empty-state/index.d.ts +1 -0
  465. package/react/esm/components/ai-chat/empty-state/index.js +1 -0
  466. package/react/esm/components/ai-chat/empty-state/types.d.ts +14 -0
  467. package/react/esm/components/ai-chat/empty-state/types.js +1 -0
  468. package/react/esm/components/ai-chat/stream/index.d.ts +1 -0
  469. package/react/esm/components/ai-chat/stream/index.js +1 -0
  470. package/react/esm/components/ai-chat/stream/types.d.ts +55 -0
  471. package/react/esm/components/ai-chat/stream/types.js +1 -0
  472. package/react/esm/components/ai-chat.component.d.ts +24 -0
  473. package/react/esm/components/ai-chat.component.js +29 -0
  474. package/react/esm/components/ai-interaction-textarea/index.d.ts +1 -0
  475. package/react/esm/components/ai-interaction-textarea/index.js +1 -0
  476. package/react/esm/components/ai-interaction-textarea/types.d.ts +5 -0
  477. package/react/esm/components/ai-interaction-textarea/types.js +1 -0
  478. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  479. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  480. package/react/esm/components/data-field-level.component.d.ts +14 -0
  481. package/react/esm/components/data-field-level.component.js +19 -0
  482. package/react/esm/components/data-fields-select/index.d.ts +1 -0
  483. package/react/esm/components/data-fields-select/index.js +1 -0
  484. package/react/esm/components/data-fields-select/types.d.ts +4 -0
  485. package/react/esm/components/data-fields-select/types.js +1 -0
  486. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  487. package/react/esm/components/data-fields-select.component.js +17 -0
  488. package/react/esm/components/dataset-icon/index.d.ts +1 -0
  489. package/react/esm/components/dataset-icon/index.js +1 -0
  490. package/react/esm/components/dataset-icon/types.d.ts +11 -0
  491. package/react/esm/components/dataset-icon/types.js +1 -0
  492. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  493. package/react/esm/components/dataset-icon.component.js +13 -0
  494. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  495. package/react/esm/components/dataset-selector-list.component.js +17 -0
  496. package/react/esm/components/dataset-selector-row.component.d.ts +14 -0
  497. package/react/esm/components/dataset-selector-row.component.js +19 -0
  498. package/react/esm/components/display-settings/index.d.ts +1 -0
  499. package/react/esm/components/display-settings/index.js +1 -0
  500. package/react/esm/components/display-settings/types.d.ts +9 -0
  501. package/react/esm/components/display-settings/types.js +1 -0
  502. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  503. package/react/esm/components/display-settings-binning.component.js +17 -0
  504. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  505. package/react/esm/components/display-settings-datetime.component.js +17 -0
  506. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  507. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  508. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  509. package/react/esm/components/display-settings-numeric.component.js +17 -0
  510. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  511. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  512. package/react/esm/components/display-settings.component.d.ts +16 -0
  513. package/react/esm/components/display-settings.component.js +21 -0
  514. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  515. package/react/esm/components/filter-expression-picker.component.js +17 -0
  516. package/react/esm/components/filter-item.component.d.ts +12 -0
  517. package/react/esm/components/filter-item.component.js +17 -0
  518. package/react/esm/components/filter-parameter-picker.component.d.ts +8 -0
  519. package/react/esm/components/filter-parameter-picker.component.js +13 -0
  520. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  521. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  522. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  523. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  524. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  525. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  526. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  527. package/react/esm/components/filter-value-picker.component.js +17 -0
  528. package/react/esm/components/formula-draggable-field/index.d.ts +1 -0
  529. package/react/esm/components/formula-draggable-field/index.js +1 -0
  530. package/react/esm/components/formula-draggable-field/types.d.ts +24 -0
  531. package/react/esm/components/formula-draggable-field/types.js +1 -0
  532. package/react/esm/components/formula-field.component.d.ts +14 -0
  533. package/react/esm/components/formula-field.component.js +19 -0
  534. package/react/esm/components/interactive-viz-item/index.d.ts +1 -0
  535. package/react/esm/components/interactive-viz-item/index.js +1 -0
  536. package/react/esm/components/interactive-viz-item/types.d.ts +117 -0
  537. package/react/esm/components/interactive-viz-item/types.js +16 -0
  538. package/react/esm/components/interactive-viz-item.component.d.ts +16 -0
  539. package/react/esm/components/interactive-viz-item.component.js +21 -0
  540. package/react/esm/components/slot-menu/index.d.ts +1 -0
  541. package/react/esm/components/slot-menu/index.js +1 -0
  542. package/react/esm/components/slot-menu/types.d.ts +24 -0
  543. package/react/esm/components/slot-menu/types.js +1 -0
  544. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  545. package/react/esm/components/slot-menu-list.component.js +17 -0
  546. package/react/esm/components/slot-menu.component.d.ts +22 -0
  547. package/react/esm/components/slot-menu.component.js +27 -0
  548. package/react/esm/components/viz-item-menu/index.d.ts +1 -0
  549. package/react/esm/components/viz-item-menu/index.js +1 -0
  550. package/react/esm/components/viz-item-menu/types.d.ts +9 -0
  551. package/react/esm/components/viz-item-menu/types.js +1 -0
  552. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  553. package/react/esm/components/viz-item-menu.component.js +21 -0
  554. package/react/esm/index.d.ts +27 -2
  555. package/react/esm/index.js +102 -2
  556. package/react/esm/types.d.ts +15 -0
  557. package/react/index.ts +102 -2
  558. package/react/luzmo-stub.d.ts +164 -0
  559. package/react/types.ts +12 -0
  560. package/storybook/inject-global-vars.d.ts +1 -0
  561. package/storybook/register-components.d.ts +51 -0
  562. package/types/ai-chat.types.d.ts +90 -0
  563. package/types/data-field-events.types.d.ts +7 -0
  564. package/types.d.ts +8 -0
  565. package/components/base-CYiGlWug.cjs +0 -20
  566. package/components/data-field-iGBGWoGH.cjs +0 -89
  567. package/components/data-field-panel-NktuTUUp.cjs +0 -87
  568. package/components/data-fields-select-DL1nFRg3.cjs +0 -41
  569. package/components/display-settings-datetime-25LwuZM_.cjs +0 -217
  570. package/components/display-settings-grand-totals-1tBdxbFY.cjs +0 -44
  571. package/components/display-settings-numeric-Bbx4qmpA.cjs +0 -190
  572. package/components/display-settings-period-over-period-4bJbXWB7.cjs +0 -229
  573. package/components/filters-Bzx4DYm-.cjs +0 -323
  574. package/components/filters-DSod7vIq.js +0 -1637
  575. package/components/formula-DcCDYDt4.cjs +0 -45
  576. package/components/formula-display-store-DxjO7Q-n.cjs +0 -20
  577. package/components/formula-editor-DQp_XiX5.cjs +0 -247
  578. package/components/item-option-C4c-e1QF.cjs +0 -252
  579. package/components/item-option-action-button-group-BU1wvtEd.cjs +0 -53
  580. package/components/item-option-base-DATaPQ-m.cjs +0 -56
  581. package/components/item-option-color-palette-picker-Cc2nTuxC.cjs +0 -40
  582. package/components/item-option-color-range-CTnHZ72E.cjs +0 -98
  583. package/components/item-option-position-picker-DBs4JlFi.cjs +0 -32
  584. package/components/item-option-positions-number-field-DIIEFHd4.cjs +0 -49
  585. package/components/item-slot-drop-UygcXM5D.cjs +0 -91
  586. package/components/item-slot-drop-panel-9T8BWejl.cjs +0 -57
  587. package/components/item-slot-picker-Rnb_wwCV.cjs +0 -174
  588. package/components/item-slot-picker-panel-2VJY6C0b.cjs +0 -81
  589. package/components/load-data-fields-for-datasets-CU75T9Az.js +0 -86
  590. package/components/load-data-fields-for-datasets-DkK1JsFd.cjs +0 -20
  591. package/components/localized-mixin-DAOiXh71.cjs +0 -20
  592. package/components/period-over-period-condition.const-DystGY6B.cjs +0 -20
  593. package/components/slot-menu-BL772rj7.js +0 -1048
  594. package/components/slot-menu-CCbZ-krJ.cjs +0 -215
  595. package/components/utils-Ez3j4EOS.cjs +0 -20
@@ -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("../ai-chat-DLDSaC7W.cjs");exports.AiChatSession=e.i,exports.AiChatSessionController=e.r,exports.LuzmoAiChat=e.n,exports.LuzmoAiChatEmptyState=e.T,exports.buildAiPromptDeleteRequest=e._,exports.buildAiPromptProperties=e.v,exports.buildAiPromptRequest=e.y,exports.buildAnalystAiPromptProperties=e.b,exports.buildDashboardAiPromptProperties=e.x,exports.buildItemAiPromptProperties=e.S,exports.chartToItemAsset=e.C,exports.createAiChatSession=e.a,exports.createInitialProgress=e.f,exports.createInitialStreamState=e.o,exports.createStreamHandler=e.s,exports.extractChartFromChunk=e.u,exports.extractDashboardFromChunk=e.d,exports.fetchStreamingResponse=e.m,exports.getAgentStreamDefinition=e.c,exports.getAiPromptUrl=e.w,exports.hasProgressChunk=e.p,exports.isRecognizedStep=e.t,exports.parseStreamLine=e.h,exports.processStreamChunk=e.l,exports.readNdjsonStream=e.g;
@@ -0,0 +1,20 @@
1
+ import { LuzmoAiChat } from './ai-chat';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-ai-chat': LuzmoAiChat;
5
+ }
6
+ }
7
+ export type { ProgressTreeNode, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, AiChatMessageSentEventDetail, AiChatDatasetsChangedEventDetail, AiChatConversationIdChangedEventDetail } from '../../types/ai-chat.types';
8
+ export { isRecognizedStep } from './ai-chat-events';
9
+ export type { AiChatCompleteEvent, AiChatRecognizedStepType, AiChatStepBase, AiChatStepEvent, RecognizedStepEvent, UnknownStepEvent } from './ai-chat-events';
10
+ export { AiChatSession, AiChatSessionController, createAiChatSession } from './session';
11
+ export type { AiChatSessionControllerOptions, AiChatSessionSeed } from './session/ai-chat-session-controller';
12
+ export type { AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionState, AiChatSessionSubmitParams, AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from './session/ai-chat-session-types';
13
+ export { LuzmoAiChat } from './ai-chat';
14
+ export { LuzmoAiChatEmptyState } from './empty-state';
15
+ export type { AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail } from './empty-state';
16
+ export * from './ai-prompt-types';
17
+ export * from './ai-chat-request';
18
+ export { createInitialProgress, createInitialStreamState, createStreamHandler, extractChartFromChunk, extractDashboardFromChunk, fetchStreamingResponse, getAgentStreamDefinition, hasProgressChunk, parseStreamLine, processStreamChunk, readNdjsonStream } from './stream';
19
+ export type { StreamingRequestOptions, StreamingResponse } from './stream/transport';
20
+ export type { AgentStreamDefinition, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState } from './stream';
@@ -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 { C as e, S as t, T as n, _ as r, a as i, b as a, c as o, d as s, f as c, g as l, h as u, i as d, l as f, m as p, n as m, o as h, p as g, r as _, s as v, t as y, u as b, v as x, w as S, x as C, y as w } from "../ai-chat-BBc330Jm.js";
28
+ export { d as AiChatSession, _ as AiChatSessionController, m as LuzmoAiChat, n as LuzmoAiChatEmptyState, r as buildAiPromptDeleteRequest, x as buildAiPromptProperties, w as buildAiPromptRequest, a as buildAnalystAiPromptProperties, C as buildDashboardAiPromptProperties, t as buildItemAiPromptProperties, e as chartToItemAsset, i as createAiChatSession, c as createInitialProgress, h as createInitialStreamState, v as createStreamHandler, b as extractChartFromChunk, s as extractDashboardFromChunk, p as fetchStreamingResponse, o as getAgentStreamDefinition, S as getAiPromptUrl, g as hasProgressChunk, y as isRecognizedStep, u as parseStreamLine, f as processStreamChunk, l as readNdjsonStream };
@@ -0,0 +1,51 @@
1
+ import type { ChatMessage, Dataset } from '../../../types';
2
+ import { type AiChatSession } from './ai-chat-session';
3
+ import type { AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionState } from './ai-chat-session-types';
4
+ export type AiChatSessionSeed = {
5
+ messages: ChatMessage[];
6
+ selectedDatasets: Dataset[];
7
+ conversationId: string | null;
8
+ };
9
+ export type AiChatSessionControllerOptions = {
10
+ getConfig: () => AiChatSessionConfig;
11
+ getSeed: () => AiChatSessionSeed;
12
+ createDomBridge: () => AiChatSessionCallbacks;
13
+ onRenderNeeded: () => void;
14
+ };
15
+ /**
16
+ * Single {@link AiChatSession} slot for `luzmo-ai-chat`.
17
+ * The chat component uses {@link current}, {@link state}, and {@link requireSession} only.
18
+ */
19
+ export declare class AiChatSessionController {
20
+ private readonly options;
21
+ /** The active {@link AiChatSession}. Null until first bind or action. */
22
+ private _session;
23
+ /** When true, {@link teardown} aborts and clears the session. */
24
+ private _ownsSession;
25
+ /** Whether the session has been seeded from props. Used to avoid unnecessary updates. */
26
+ private _seededFromProps;
27
+ private _unsubscribe;
28
+ constructor(options: AiChatSessionControllerOptions);
29
+ get current(): AiChatSession | null;
30
+ get state(): Readonly<AiChatSessionState>;
31
+ get ownsCurrentSession(): boolean;
32
+ /**
33
+ * Use an app-provided session (e.g. from `.chatSession`).
34
+ * Pass `null` to clear it; an owned session may be created later via {@link requireSession}.
35
+ */
36
+ setSession(session: AiChatSession | null): void;
37
+ /**
38
+ * Sync config / seed props after Lit `updated`.
39
+ * Call after handling `chatSession` via {@link setSession}.
40
+ */
41
+ syncProperties(changedProperties: Map<string, unknown>): void;
42
+ requireSession(): AiChatSession;
43
+ /** Re-attach UI bridge and state subscription after {@link teardown} on reconnect. */
44
+ connect(): void;
45
+ teardown(): void;
46
+ private _createSessionIfMissing;
47
+ private _clearSession;
48
+ private _seedFromPropsOnce;
49
+ private _wire;
50
+ private _unwire;
51
+ }
@@ -0,0 +1,88 @@
1
+ import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
2
+ import type { AiSampleChart, ChatMessage, Dataset, LuzmoChart } from '../../../types';
3
+ import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
4
+ import type { AiPromptAgent, AiPromptCreateBody, AiPromptDeleteBody, AiPromptItemTask, AiPromptScreenMode, BuildAiPromptRequestContext, DashboardStatePayload, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail } from '../ai-prompt-types';
5
+ import type { StreamingRequestOptions, StreamingResponse } from '../stream/transport';
6
+ export interface AiChatSessionConfig {
7
+ agent: AiPromptAgent;
8
+ authKey: string;
9
+ authToken: string;
10
+ apiUrl?: string;
11
+ apiVersion?: string;
12
+ stream?: boolean;
13
+ conversationId?: string | null;
14
+ chart?: LuzmoChart | null;
15
+ dashboard?: DashboardStatePayload | null;
16
+ currentScreenMode?: AiPromptScreenMode;
17
+ localeId?: string;
18
+ timezoneId?: string;
19
+ task?: AiPromptItemTask;
20
+ modelPreference?: 'performance' | 'quality';
21
+ /** Initial transcript when hydrating a saved conversation. */
22
+ messages?: ChatMessage[];
23
+ /** Datasets attached to the prompt input. */
24
+ selectedDatasets?: Dataset[];
25
+ /** When true, {@link AiChatSession.submit} requires at least one selected dataset. */
26
+ requireDataset?: boolean;
27
+ /** Initial loading flag (e.g. Storybook or restored UI state). */
28
+ isGenerating?: boolean;
29
+ /** Initial progress tree. */
30
+ progress?: ProgressTreeNode | null;
31
+ /** Initial progress collapsed flag. */
32
+ progressCollapsed?: boolean;
33
+ /**
34
+ * Custom streaming HTTP client. Defaults to the built-in {@link fetchStreamingResponse}.
35
+ * Use for proxies, mocks, or alternate auth transport while keeping session state handling.
36
+ */
37
+ fetchStreaming?: (options: StreamingRequestOptions) => Promise<StreamingResponse>;
38
+ }
39
+ export interface AiChatSessionState {
40
+ messages: ChatMessage[];
41
+ selectedDatasets: Dataset[];
42
+ isGenerating: boolean;
43
+ progress: ProgressTreeNode | null;
44
+ progressCollapsed: boolean;
45
+ conversationId: string | null;
46
+ /** In-flight assistant message (streaming). Also present in `messages` while streaming. */
47
+ inflightMessage: ChatMessage | null;
48
+ }
49
+ export interface AiChatSessionCallbacks {
50
+ onStateChange?: (state: AiChatSessionState) => void;
51
+ onConversationIdChange?: (conversationId: string) => void;
52
+ /** Fired for every incremental, kit-assembled event during a streamed response. */
53
+ onStep?: (event: AiChatStepEvent) => void;
54
+ /** Fired exactly once per response with the authoritative final result (or error). */
55
+ onComplete?: (event: AiChatCompleteEvent) => void;
56
+ onMessageSent?: (message: ChatMessage, selectedDatasets: Dataset[]) => void;
57
+ onDatasetsChanged?: (selectedDatasets: Dataset[]) => void;
58
+ /**
59
+ * Host-owned submit: session updates transcript and loading state, then invokes this
60
+ * with the same payload shape as the former `luzmo-prompt-submitted` event plus an abort signal. No built-in fetch.
61
+ */
62
+ onPromptSubmitted?: (detail: LuzmoPromptSubmittedEventDetail) => void | Promise<void>;
63
+ /** Host-owned cleanup hook invoked for user-initiated prompt stops. */
64
+ onPromptStopped?: () => void | Promise<void>;
65
+ /**
66
+ * Host-owned restore (item agent): session invokes this with delete request + URL; no built-in fetch.
67
+ */
68
+ onRestoreRequested?: (detail: LuzmoRestoreRequestedEventDetail) => void | Promise<void>;
69
+ }
70
+ export interface AiChatSessionSubmitParams {
71
+ prompt: string;
72
+ /** Defaults to ids from {@link AiChatSessionState.selectedDatasets}. */
73
+ datasetIds?: string[];
74
+ /** Optional stable id for the in-flight AI message. */
75
+ aiMessageId?: string;
76
+ /** When true, does not append a user message (e.g. `initial-prompt` already in the transcript). */
77
+ skipUserMessage?: boolean;
78
+ }
79
+ export interface AiChatSessionRestoreParams {
80
+ restoreToMessageId: string;
81
+ messageIndex: number;
82
+ }
83
+ export type AiChatSessionBuildContext = Omit<BuildAiPromptRequestContext, 'prompt' | 'datasetIds'>;
84
+ export interface AiChatSessionRestoreResult {
85
+ chart?: AiSampleChart;
86
+ message?: string;
87
+ }
88
+ export type { AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail };
@@ -0,0 +1,91 @@
1
+ import type { Dataset } from '../../../types';
2
+ import type { AiPromptCreateBody, AiPromptDeleteBody, LuzmoPromptSubmittedEventDetail } from '../ai-prompt-types';
3
+ import type { AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionState, AiChatSessionSubmitParams } from './ai-chat-session-types';
4
+ /**
5
+ * Headless chat controller: transcript, datasets, streaming, and API calls without a DOM host.
6
+ * Use with `luzmo-ai-chat` via `.chatSession` for the same simplicity as internal mode,
7
+ * while keeping the session alive when the panel unmounts.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const session = createAiChatSession(
12
+ * { agent: 'dashboard', authKey, authToken, dashboard, currentScreenMode },
13
+ * {
14
+ * onComplete: (e) => {
15
+ * if (e.dashboard) applyToEditor(e.dashboard, e.name);
16
+ * },
17
+ * onStateChange: (s) => persistConversation(s.messages),
18
+ * }
19
+ * );
20
+ *
21
+ * html`<luzmo-ai-chat .chatSession=${session}></luzmo-ai-chat>`;
22
+ * ```
23
+ */
24
+ export declare class AiChatSession {
25
+ private _config;
26
+ /** Callbacks passed to {@link createAiChatSession} (host application). */
27
+ private _hostCallbacks;
28
+ /** Optional bridge from `luzmo-ai-chat` (DOM events). Replaced on each bind, not chained. */
29
+ private _uiBridgeCallbacks;
30
+ private readonly _subscribers;
31
+ private _state;
32
+ private _abortController;
33
+ private _inflightMessage;
34
+ private _receivedProgress;
35
+ constructor(config: AiChatSessionConfig, callbacks?: AiChatSessionCallbacks);
36
+ get state(): Readonly<AiChatSessionState>;
37
+ get isGenerating(): boolean;
38
+ /**
39
+ * Subscribe to full session state (for `luzmo-ai-chat` rendering). Returns an unsubscribe function.
40
+ * The listener is invoked immediately with the current state.
41
+ */
42
+ subscribe(listener: (state: AiChatSessionState) => void): () => void;
43
+ /**
44
+ * Wire `luzmo-ai-chat` DOM event bridging. Safe to call again when hot-swapping the same
45
+ * session back onto the component — replaces the previous bridge instead of stacking it.
46
+ */
47
+ setUiBridge(bridge: AiChatSessionCallbacks): void;
48
+ /** Merge config (chart, conversationId, agent, …) without aborting an in-flight request. */
49
+ updateConfig(partial: Partial<AiChatSessionConfig>): void;
50
+ /** Replace the full dataset selection (e.g. when the dashboard context changes). */
51
+ setSelectedDatasets(datasets: Dataset[]): void;
52
+ addDataset(dataset: Dataset): void;
53
+ removeDataset(datasetId: string): void;
54
+ isDatasetRequirementMet(): boolean;
55
+ getAiPromptUrl(): string;
56
+ buildRequestBody(prompt: string, datasetIds: string[]): AiPromptCreateBody;
57
+ /** Same payload passed to {@link AiChatSessionCallbacks.onPromptSubmitted}. */
58
+ buildPromptSubmittedDetail(prompt: string, selectedDatasets: Dataset[], datasetIds: string[], signal?: AbortSignal): LuzmoPromptSubmittedEventDetail;
59
+ /**
60
+ * Append the user prompt (unless `skipUserMessage`), start streaming, and update {@link state}.
61
+ */
62
+ submit(params: AiChatSessionSubmitParams): Promise<void>;
63
+ /** Item agent only — restore conversation to a prior API message. */
64
+ restore(params: AiChatSessionRestoreParams): Promise<AiChatSessionRestoreResult>;
65
+ buildRestoreRequest(restoreToMessageId: string): AiPromptDeleteBody;
66
+ /**
67
+ * Cancel the in-flight prompt.
68
+ * User-initiated stops (`notify`) leave a "response cancelled" placeholder where the assistant
69
+ * reply would have been; internal aborts discard any partial assistant output.
70
+ */
71
+ abort(options?: {
72
+ notify?: boolean;
73
+ cancelledMessage?: string;
74
+ }): void;
75
+ private _abortInflight;
76
+ private _createStreamCallbacks;
77
+ private _setConversationId;
78
+ private _upsertMessage;
79
+ private _finalizeInflightMessage;
80
+ private _removeInflightFromMessages;
81
+ private _markInflightCancelled;
82
+ private _discardInflightMessage;
83
+ private _handleSubmitError;
84
+ private _hasCallback;
85
+ private _emit;
86
+ private _invokeCallback;
87
+ private _patchState;
88
+ private _areSelectedDatasetsEqual;
89
+ private _areChatMessagesEqual;
90
+ }
91
+ export declare function createAiChatSession(config: AiChatSessionConfig, callbacks?: AiChatSessionCallbacks): AiChatSession;
@@ -0,0 +1,2 @@
1
+ export { AiChatSession, createAiChatSession } from './ai-chat-session';
2
+ export { AiChatSessionController } from './ai-chat-session-controller';
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Pure field extractors for raw stream chunks.
3
+ *
4
+ * These read assistant text, chart, dashboard, and conversation-id values out of
5
+ * the various shapes a chunk can take (inline fields, `aiMessageAssets`, or a
6
+ * nested `result.assistant_message`). They are side-effect free, except
7
+ * `applyConversationId`, which forwards the id through a callback.
8
+ */
9
+ import type { DashboardStatePayload } from '../ai-prompt-types';
10
+ import type { StreamHandlerContext } from './types';
11
+ export declare function extractInlineStreamText(chunk: Record<string, unknown>): string;
12
+ export declare function extractStreamText(chunk: Record<string, unknown>): string;
13
+ /**
14
+ * Authoritative assistant text from a terminal chunk's `result.assistant_message`.
15
+ *
16
+ * Unlike {@link extractStreamText}, this never falls back to inline delta fields, so
17
+ * it is safe to use when finalizing the message: it yields the full answer to *set*
18
+ * (not append), avoiding duplication when the same text was already streamed as deltas.
19
+ */
20
+ export declare function extractResultAssistantText(chunk: Record<string, unknown>): string;
21
+ export declare function isStreamDone(chunk: Record<string, unknown>): boolean;
22
+ export declare function applyConversationId(chunk: Record<string, unknown>, ctx: StreamHandlerContext): void;
23
+ export declare function extractChartFromChunk(chunk: Record<string, unknown>): Record<string, unknown> | null;
24
+ export declare function extractDashboardName(assets: unknown[]): Record<string, string> | undefined;
25
+ export declare function extractDashboardFromChunk(chunk: Record<string, unknown>): DashboardStatePayload | null;
26
+ /** Collect dashboard name from whichever asset array the chunk exposes. */
27
+ export declare function extractDashboardNameFromChunk(chunk: Record<string, unknown>): Record<string, string> | undefined;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * AI chat streaming — public barrel for the stream pipeline.
3
+ *
4
+ * Orchestrated by `ai-chat-session.ts` when a prompt is submitted. The pipeline
5
+ * has three layers: transport (HTTP + line parsing), processing (chunk → state +
6
+ * events), and shared helpers (field extraction).
7
+ *
8
+ * ## End-to-end flow
9
+ *
10
+ * ```
11
+ * submit prompt
12
+ * → createInitialProgress() // "Thinking" progress tree in the UI
13
+ * → fetchStreamingResponse() // POST to aiprompt API (or custom fetchStreaming)
14
+ * → readNdjsonStream(body, onChunk) // decode NDJSON / SSE lines into JSON objects
15
+ * → createStreamHandler(agent) // bound processStreamChunk per agent
16
+ * → processStreamChunk() // map chunk → callbacks (onStep, onComplete, …)
17
+ * → session applies callbacks // updates messages, progress, chart/dashboard
18
+ * ```
19
+ *
20
+ * ## Modules
21
+ *
22
+ * | File | Responsibility |
23
+ * | -------------------- | ----------------------------------------------------------- |
24
+ * | `transport` | HTTP fetch + NDJSON/SSE line parsing |
25
+ * | `progress` | Initial progress tree + progress-chunk detection |
26
+ * | `registry` | Agent wiring: `createStreamHandler`, initial stream state |
27
+ * | `stream-processor` | Chunk routing, asset buffering, step/complete event emission |
28
+ * | `chunk-extractors` | Chunk field extraction (text, chart, dashboard, conversation) |
29
+ * | `types` | `StreamHandlerContext`, callbacks, per-chunk state |
30
+ *
31
+ * ## Agent mapping (`registry.ts`)
32
+ *
33
+ * - **dashboard** — `dashboardAssetType: 'dashboard'`; emits layout/title/item steps.
34
+ * - **item** — `chartAssetType: 'item'`; final chart on `onComplete`.
35
+ * - **analyst** — text and progress only.
36
+ *
37
+ * ## Callbacks (`StreamHandlerCallbacks`)
38
+ *
39
+ * Each chunk drives incremental UI via `onStep` (typed stream events), `onProgress`,
40
+ * `onMessageUpdate`, and `onProgressCollapsed`. The stream ends with a single
41
+ * `onComplete` carrying the final message and optional chart/dashboard payload.
42
+ *
43
+ * See `stream-processor.ts` for the full chunk-handler priority order and mapping table.
44
+ */
45
+ export type { StreamingRequestOptions, StreamingResponse } from './transport';
46
+ export { fetchStreamingResponse, parseStreamLine, readNdjsonStream } from './transport';
47
+ export { createInitialProgress, hasProgressChunk } from './progress';
48
+ export type { StreamChunkProcessor } from './registry';
49
+ export { createInitialStreamState, createStreamHandler, getAgentStreamDefinition } from './registry';
50
+ export type { AgentStreamDefinition, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState } from './types';
51
+ export { applyConversationId, extractChartFromChunk, extractDashboardFromChunk, extractDashboardName, extractDashboardNameFromChunk, extractInlineStreamText, extractResultAssistantText, extractStreamText, isStreamDone } from './chunk-extractors';
52
+ export { processStreamChunk } from './stream-processor';
@@ -0,0 +1,3 @@
1
+ import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
2
+ export declare function createInitialProgress(): ProgressTreeNode;
3
+ export declare function hasProgressChunk(value: Record<string, unknown>): boolean;
@@ -0,0 +1,6 @@
1
+ import type { AiPromptAgent } from '../ai-prompt-types';
2
+ import type { AgentStreamDefinition, StreamHandlerContext } from './types';
3
+ export type StreamChunkProcessor = (chunk: Record<string, unknown>, ctx: StreamHandlerContext) => void;
4
+ export declare function getAgentStreamDefinition(agent: AiPromptAgent): AgentStreamDefinition;
5
+ export declare function createStreamHandler(agent: AiPromptAgent): StreamChunkProcessor;
6
+ export declare function createInitialStreamState(): StreamHandlerContext['state'];
@@ -0,0 +1,2 @@
1
+ import type { AgentStreamDefinition, StreamHandlerContext } from './types';
2
+ export declare function processStreamChunk(chunk: Record<string, unknown>, ctx: StreamHandlerContext, def: AgentStreamDefinition): void;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Transport layer for AI chat streaming.
3
+ *
4
+ * Owns the HTTP request to the aiprompt API and the wire-format decoding of the
5
+ * response body. Knows nothing about chunk semantics — it produces raw JSON
6
+ * objects that `stream-processor.ts` interprets.
7
+ *
8
+ * Supports both plain NDJSON (`{"type":"progress",...}`) and SSE (`data: {...}`).
9
+ */
10
+ export interface StreamingRequestOptions {
11
+ url: string;
12
+ body: Record<string, unknown>;
13
+ signal?: AbortSignal;
14
+ }
15
+ export interface StreamingResponse {
16
+ body: ReadableStream<Uint8Array>;
17
+ conversationId: string | null;
18
+ }
19
+ export declare function fetchStreamingResponse(options: StreamingRequestOptions): Promise<StreamingResponse>;
20
+ /**
21
+ * Parse one line from an aiprompt response stream.
22
+ * Supports plain NDJSON (`{"type":"progress",...}`) and SSE (`data: {...}`).
23
+ */
24
+ export declare function parseStreamLine(line: string): Record<string, unknown> | null;
25
+ /** Read NDJSON or SSE (`data:`) chunks from a streaming aiprompt response body. */
26
+ export declare function readNdjsonStream(body: ReadableStream<Uint8Array>, onChunk: (chunk: Record<string, unknown>) => void): Promise<void>;
@@ -0,0 +1,55 @@
1
+ import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
2
+ import type { ChatMessage } from '../../../types';
3
+ import type { AiChatCompleteEvent, AiChatStepEvent } from '../ai-chat-events';
4
+ import type { AiPromptAgent, DashboardStatePayload } from '../ai-prompt-types';
5
+ export interface StreamHandlerCallbacks {
6
+ onConversationIdChange: (conversationId: string) => void;
7
+ onProgress: (progress: ProgressTreeNode) => void;
8
+ onProgressCollapsed: (collapsed: boolean) => void;
9
+ onMessageUpdate: (message: ChatMessage) => void;
10
+ getConversationId: () => string | null;
11
+ /** Fired for every incremental, assembled stream event. */
12
+ onStep: (event: AiChatStepEvent) => void;
13
+ /** Fired exactly once with the authoritative final result (or error). */
14
+ onComplete: (event: AiChatCompleteEvent) => void;
15
+ }
16
+ /** Per-asset accumulation buffer for the ASSET_START/DELTA/END channel. */
17
+ export interface StreamAssetBuffer {
18
+ assetType: string;
19
+ snapshot: Record<string, unknown>;
20
+ }
21
+ export interface StreamHandlerState {
22
+ progressCollapsed: boolean;
23
+ /** Accumulated assistant text streamed so far. */
24
+ accumulatedText: string;
25
+ /** Latest classifier decision routed from the progress root node. */
26
+ decision: 'create' | 'edit' | 'question' | null;
27
+ /** In-flight asset buffers keyed by asset id (or asset type as fallback). */
28
+ assets: Record<string, StreamAssetBuffer>;
29
+ /** Authoritative dashboard snapshot (dashboard agent). */
30
+ dashboardSnapshot: DashboardStatePayload | null;
31
+ /** Dashboard name keyed by locale (dashboard agent). */
32
+ dashboardName: Record<string, string> | undefined;
33
+ /** Authoritative chart snapshot (item agent). */
34
+ chartSnapshot: Record<string, unknown> | null;
35
+ /** Pending clarification question, when the agent interrupted. */
36
+ interruptQuestion: string | null;
37
+ /** Guards against firing {@link StreamHandlerCallbacks.onComplete} more than once. */
38
+ completed: boolean;
39
+ }
40
+ export interface StreamHandlerContext {
41
+ aiMessage: ChatMessage;
42
+ callbacks: StreamHandlerCallbacks;
43
+ state: StreamHandlerState;
44
+ }
45
+ /**
46
+ * Per-agent stream definition. The shared processor owns the envelope/emit logic;
47
+ * the agent only declares which final `asset_type`s map to its authoritative result.
48
+ */
49
+ export interface AgentStreamDefinition {
50
+ agent: AiPromptAgent;
51
+ /** Final asset type whose payload becomes {@link AiChatCompleteEvent.chart}. */
52
+ chartAssetType?: string;
53
+ /** Final asset type whose payload becomes {@link AiChatCompleteEvent.dashboard}. */
54
+ dashboardAssetType?: string;
55
+ }