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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/README.md +6 -4
  2. package/components/ad-hoc-slot-content-BwcFfXCV.cjs +20 -0
  3. package/components/ad-hoc-slot-content-hSlT62VS.js +29 -0
  4. package/components/ai-chat/ai-chat-events.d.ts +139 -0
  5. package/components/ai-chat/ai-chat-request.d.ts +25 -0
  6. package/components/ai-chat/ai-chat.d.ts +347 -0
  7. package/components/ai-chat/ai-prompt-types.d.ts +133 -0
  8. package/components/ai-chat/empty-state/ai-chat-empty-state.d.ts +46 -0
  9. package/components/ai-chat/empty-state/index.d.ts +8 -0
  10. package/components/ai-chat/empty-state/types.d.ts +14 -0
  11. package/components/ai-chat/helpers/agent-config.d.ts +12 -0
  12. package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
  13. package/components/ai-chat/index.cjs +20 -0
  14. package/components/ai-chat/index.d.ts +24 -0
  15. package/components/ai-chat/index.js +29 -0
  16. package/components/ai-chat/session/ai-chat-session-controller.d.ts +60 -0
  17. package/components/ai-chat/session/ai-chat-session-types.d.ts +119 -0
  18. package/components/ai-chat/session/ai-chat-session.d.ts +119 -0
  19. package/components/ai-chat/session/index.d.ts +2 -0
  20. package/components/ai-chat/stream/chunk-extractors.d.ts +29 -0
  21. package/components/ai-chat/stream/index.d.ts +53 -0
  22. package/components/ai-chat/stream/progress.d.ts +3 -0
  23. package/components/ai-chat/stream/registry.d.ts +6 -0
  24. package/components/ai-chat/stream/stream-processor.d.ts +2 -0
  25. package/components/ai-chat/stream/transport.d.ts +26 -0
  26. package/components/ai-chat/stream/types.d.ts +59 -0
  27. package/components/ai-chat/types.d.ts +24 -0
  28. package/components/ai-chat-1OlRpimu.cjs +337 -0
  29. package/components/ai-chat-PesGGOLP.js +4350 -0
  30. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +232 -0
  31. package/components/ai-interaction-textarea/index.cjs +20 -0
  32. package/components/ai-interaction-textarea/index.d.ts +10 -0
  33. package/components/ai-interaction-textarea/index.js +28 -0
  34. package/components/ai-interaction-textarea/types.d.ts +12 -0
  35. package/components/ai-interaction-textarea-BXKG2elT.js +820 -0
  36. package/components/ai-interaction-textarea-CmFGJzbb.cjs +99 -0
  37. package/components/{area-chart-options.config-B94ERc30.js → area-chart-options.config-DJnPr93H.js} +1 -1
  38. package/components/{area-chart-positioning.config-Cbeon6-x.cjs → area-chart-positioning.config-C37nmNfP.cjs} +1 -1
  39. package/components/{area-chart-positioning.config-BJK4Q4NL.js → area-chart-positioning.config-CF8Z7PuX.js} +1 -1
  40. package/components/{area-chart-slots.config-DdPO34_g.js → area-chart-slots.config-ClE-gYVY.js} +1 -1
  41. package/components/{bar-chart-options.config-B1C3t6uk.js → bar-chart-options.config-D1x5WPbL.js} +1 -1
  42. package/components/{bar-chart-positioning.config-BnhZQUtb.cjs → bar-chart-positioning.config-C4ii41mE.cjs} +1 -1
  43. package/components/{bar-chart-positioning.config-B4UuSMIW.js → bar-chart-positioning.config-vuRQZsYr.js} +1 -1
  44. package/components/{bar-chart-slots.config-BnbZRLIr.js → bar-chart-slots.config-rMFwFprg.js} +1 -1
  45. package/components/{base-IE9Qxmub.js → base-8L8Jt2vi.js} +3 -2
  46. package/components/base-K-bf6_7X.cjs +20 -0
  47. package/components/{box-plot-options.config-sBfVzPTw.js → box-plot-options.config-CooBIc6N.js} +1 -1
  48. package/components/{box-plot-positioning.config-DsldCFWm.cjs → box-plot-positioning.config-D2LpbgQ_.cjs} +1 -1
  49. package/components/{box-plot-positioning.config-CYk5koLu.js → box-plot-positioning.config-DMIsI9yU.js} +1 -1
  50. package/components/{box-plot-slots.config-D6F2R2dw.js → box-plot-slots.config-DS2UIfRF.js} +1 -1
  51. package/components/{bubble-chart-options.config-DKeBF5A0.js → bubble-chart-options.config-B6aLA_1d.js} +1 -1
  52. package/components/{bubble-chart-positioning.config-BV-T_2cy.cjs → bubble-chart-positioning.config-Btak-zwN.cjs} +1 -1
  53. package/components/{bubble-chart-positioning.config-BSDmuPwq.js → bubble-chart-positioning.config-jYu0Q0Mc.js} +1 -1
  54. package/components/{bubble-chart-slots.config-BJdtdpS0.js → bubble-chart-slots.config-2qy2RqaU.js} +1 -1
  55. package/components/{bullet-chart-options.config-DdTBWTAF.js → bullet-chart-options.config-CBmbmhzI.js} +1 -1
  56. package/components/{bullet-chart-positioning.config-B3GeLs8o.js → bullet-chart-positioning.config-BWHfPPyA.js} +1 -1
  57. package/components/{bullet-chart-positioning.config-BoqQq4g_.cjs → bullet-chart-positioning.config-CwoRVgNS.cjs} +1 -1
  58. package/components/{bullet-chart-slots.config-NeUTKgYI.js → bullet-chart-slots.config-BaMmwIH0.js} +1 -1
  59. package/components/{choropleth-map-options.config-nOE0NWaD.js → choropleth-map-options.config-DWWydGJ3.js} +1 -1
  60. package/components/{choropleth-map-positioning.config-C_I3wf8H.cjs → choropleth-map-positioning.config-DttV0Dk_.cjs} +1 -1
  61. package/components/{choropleth-map-positioning.config-6OT0sZa5.js → choropleth-map-positioning.config-KtxcLW7E.js} +1 -1
  62. package/components/{choropleth-map-slots.config-BbBwTeuw.js → choropleth-map-slots.config-DqOi1kCn.js} +1 -1
  63. package/components/{circle-pack-chart-options.config-CgE8vGP9.js → circle-pack-chart-options.config-D2RCikyA.js} +1 -1
  64. package/components/{circle-pack-chart-positioning.config-D7Oke8BW.cjs → circle-pack-chart-positioning.config-N-rZvQjR.cjs} +1 -1
  65. package/components/{circle-pack-chart-positioning.config-BuuhKB85.js → circle-pack-chart-positioning.config-QBO-pwDr.js} +1 -1
  66. package/components/{circle-pack-chart-slots.config-CJFjalBn.js → circle-pack-chart-slots.config-B7_1p86m.js} +1 -1
  67. package/components/{circular-gauge-options.config-DtNYelhq.js → circular-gauge-options.config-syWQJHKT.js} +1 -1
  68. package/components/{circular-gauge-positioning.config-B_IJzIBn.cjs → circular-gauge-positioning.config-Cf1zuLXa.cjs} +1 -1
  69. package/components/{circular-gauge-positioning.config-DlWvKl0e.js → circular-gauge-positioning.config-DKGmEpFj.js} +1 -1
  70. package/components/{circular-gauge-slots.config-DAKsa5Hq.js → circular-gauge-slots.config-BxjCP1ao.js} +1 -1
  71. package/components/{column-chart-options.config-C2GGiHOI.js → column-chart-options.config-B2LIl9lL.js} +1 -1
  72. package/components/{column-chart-positioning.config-DngsP5So.cjs → column-chart-positioning.config-DcErS56C.cjs} +1 -1
  73. package/components/{column-chart-positioning.config-BLacEiY5.js → column-chart-positioning.config-LkQSNtSH.js} +1 -1
  74. package/components/{column-chart-slots.config-Bpr-WaCi.js → column-chart-slots.config-D6MBTcj4.js} +1 -1
  75. package/components/{combination-chart-options.config-LddX4naq.js → combination-chart-options.config-0ATFph8S.js} +1 -1
  76. package/components/{combination-chart-positioning.config-DxnmzV6O.js → combination-chart-positioning.config-7iAEpO7h.js} +1 -1
  77. package/components/{combination-chart-positioning.config-BVV0Bq-d.cjs → combination-chart-positioning.config-Dzi93oAp.cjs} +1 -1
  78. package/components/{combination-chart-slots.config-u-QLoQQ-.js → combination-chart-slots.config-dYT9lz8M.js} +1 -1
  79. package/components/{conditional-number-options.config-qdX9T4zu.js → conditional-number-options.config-Bv2xONtI.js} +1 -1
  80. package/components/{conditional-number-positioning.config-YEo_yFBu.js → conditional-number-positioning.config-Bse6AKPP.js} +1 -1
  81. package/components/{conditional-number-positioning.config-DfitbPT6.cjs → conditional-number-positioning.config-CTy0zLXu.cjs} +1 -1
  82. package/components/{conditional-number-slots.config-CiLUXRSe.js → conditional-number-slots.config-DtYkqtN8.js} +1 -1
  83. package/components/convert-datasets-to-data-fields-B13rl1an.cjs +20 -0
  84. package/components/convert-datasets-to-data-fields-PmQzeVLG.js +68 -0
  85. package/components/create-lazy-loader-BO_oTDF5.js +31 -0
  86. package/components/create-lazy-loader-DYPgQh0L.cjs +20 -0
  87. package/components/data-field/index.cjs +1 -1
  88. package/components/data-field/index.d.ts +1 -0
  89. package/components/data-field/index.js +1 -1
  90. package/components/data-field-CSm9APdz.js +121 -0
  91. package/components/data-field-D2y4cv9j.cjs +54 -0
  92. package/components/data-field-level/data-field-level.d.ts +40 -0
  93. package/components/data-field-level/helpers/generate-preview.d.ts +9 -0
  94. package/components/data-field-level/index.cjs +20 -0
  95. package/components/data-field-level/index.d.ts +8 -0
  96. package/components/data-field-level/index.js +28 -0
  97. package/components/{data-field-yTJb-R63.js → data-field-level-B0aj8c5M.js} +48 -142
  98. package/components/data-field-level-Llx0Y9m-.cjs +55 -0
  99. package/components/data-field-panel/index.cjs +1 -1
  100. package/components/data-field-panel/index.d.ts +1 -0
  101. package/components/data-field-panel/index.js +1 -1
  102. package/components/{data-field-panel-BWBr1Fog.js → data-field-panel-DpBWJnes.js} +6 -5
  103. package/components/data-field-panel-Dv60lRUC.cjs +87 -0
  104. package/components/data-fields-select/data-fields-select.d.ts +137 -0
  105. package/components/data-fields-select/index.cjs +20 -0
  106. package/components/data-fields-select/index.d.ts +9 -0
  107. package/components/data-fields-select/index.js +28 -0
  108. package/components/data-fields-select/types.d.ts +4 -0
  109. package/components/{data-fields-select-Bb1HXwlO.js → data-fields-select-69TDpIG_.js} +17 -7
  110. package/components/data-fields-select-BHa8THub.cjs +43 -0
  111. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  112. package/components/dataset-icon/index.cjs +20 -0
  113. package/components/dataset-icon/index.d.ts +8 -0
  114. package/components/dataset-icon/index.js +28 -0
  115. package/components/dataset-icon/types.d.ts +11 -0
  116. package/components/dataset-icon-BAV0S4sZ.cjs +64 -0
  117. package/components/dataset-icon-CWT5Ju8w.js +125 -0
  118. package/components/dataset-selector-list/dataset-selector-list.d.ts +106 -0
  119. package/components/dataset-selector-list/index.cjs +20 -0
  120. package/components/dataset-selector-list/index.d.ts +8 -0
  121. package/components/dataset-selector-list/index.js +28 -0
  122. package/components/dataset-selector-list-D5lBv2sD.cjs +75 -0
  123. package/components/dataset-selector-list-DTMXvqfO.js +323 -0
  124. package/components/dataset-selector-row/dataset-selector-row.d.ts +135 -0
  125. package/components/dataset-selector-row/index.cjs +20 -0
  126. package/components/dataset-selector-row/index.d.ts +9 -0
  127. package/components/dataset-selector-row/index.js +28 -0
  128. package/components/dataset-selector-row-gHWsZlrC.cjs +102 -0
  129. package/components/dataset-selector-row-kiHtzZcP.js +427 -0
  130. package/components/{date-comparison-filter-options.config-BSzzAJPM.js → date-comparison-filter-options.config-DgLx-m3L.js} +1 -1
  131. package/components/{date-comparison-filter-slots.config-Cvze969w.js → date-comparison-filter-slots.config-BKZ13uzB.js} +1 -1
  132. package/components/{date-filter-options.config-C6VvDjd8.js → date-filter-options.config-Cbiy0QKd.js} +1 -1
  133. package/components/{date-filter-slots.config-Y8hmQh0S.js → date-filter-slots.config-SzWky1y7.js} +1 -1
  134. package/components/{de-C5CMIy08.js → de-BhKtDR6p.js} +34 -0
  135. package/components/de-DXFLsh4N.cjs +20 -0
  136. package/components/decompose-numeric-format-DGJua3rU.cjs +20 -0
  137. package/components/decompose-numeric-format-DS0j2wa1.js +36 -0
  138. package/components/decorate-DCJt-2rt.cjs +20 -0
  139. package/components/{localized-mixin-DhiGdPMj.js → decorate-DyMgX_Uh.js} +2 -26
  140. package/components/default-acceptable-data-field-types-DFOFWWnT.js +53 -0
  141. package/components/default-acceptable-data-field-types-fPsz64ka.cjs +20 -0
  142. package/components/display-settings/display-settings.d.ts +117 -0
  143. package/components/display-settings/index.cjs +20 -0
  144. package/components/display-settings/index.d.ts +8 -0
  145. package/components/display-settings/index.js +28 -0
  146. package/components/display-settings/types.d.ts +9 -0
  147. package/components/display-settings-DKuvd62j.js +315 -0
  148. package/components/display-settings-DPqTRJ7E.cjs +142 -0
  149. package/components/display-settings-binning/display-settings-binning.d.ts +32 -0
  150. package/components/display-settings-binning/index.cjs +20 -0
  151. package/components/display-settings-binning/index.d.ts +8 -0
  152. package/components/display-settings-binning/index.js +28 -0
  153. package/components/{display-settings-binning-CaE87u3h.js → display-settings-binning-BkCNSkgf.js} +17 -19
  154. package/components/{display-settings-binning-CjvB12ds.cjs → display-settings-binning-DZKo_tBm.cjs} +2 -2
  155. package/components/display-settings-datetime/display-settings-datetime.d.ts +86 -0
  156. package/components/display-settings-datetime/index.cjs +20 -0
  157. package/components/display-settings-datetime/index.d.ts +8 -0
  158. package/components/display-settings-datetime/index.js +28 -0
  159. package/components/{display-settings-datetime-5rq55OAn.js → display-settings-datetime-BTgriFcv.js} +69 -71
  160. package/components/display-settings-datetime-DD7Oh-2T.cjs +217 -0
  161. package/components/display-settings-grand-totals/display-settings-grand-totals.d.ts +29 -0
  162. package/components/display-settings-grand-totals/index.cjs +20 -0
  163. package/components/display-settings-grand-totals/index.d.ts +8 -0
  164. package/components/display-settings-grand-totals/index.js +28 -0
  165. package/components/display-settings-grand-totals-BsIZg67h.cjs +44 -0
  166. package/components/{display-settings-grand-totals-DnKvI34n.js → display-settings-grand-totals-DH7AoyQY.js} +17 -19
  167. package/components/display-settings-numeric/display-settings-numeric.d.ts +82 -0
  168. package/components/display-settings-numeric/helpers/constants.d.ts +19 -0
  169. package/components/display-settings-numeric/index.cjs +20 -0
  170. package/components/display-settings-numeric/index.d.ts +8 -0
  171. package/components/display-settings-numeric/index.js +28 -0
  172. package/components/{display-settings-numeric-B8MCRz-V.js → display-settings-numeric-CkFpOoWU.js} +79 -81
  173. package/components/display-settings-numeric-CsmrnEp2.cjs +190 -0
  174. package/components/display-settings-period-over-period/display-settings-period-over-period.d.ts +76 -0
  175. package/components/display-settings-period-over-period/helpers/constants.d.ts +44 -0
  176. package/components/display-settings-period-over-period/index.cjs +20 -0
  177. package/components/display-settings-period-over-period/index.d.ts +8 -0
  178. package/components/display-settings-period-over-period/index.js +28 -0
  179. package/components/{display-settings-period-over-period-W3dPK8LR.js → display-settings-period-over-period-CdI5wuL_.js} +85 -86
  180. package/components/display-settings-period-over-period-Co37HcSm.cjs +227 -0
  181. package/components/{donut-chart-options.config-CPHgS1Wi.js → donut-chart-options.config-C8wpZzyJ.js} +1 -1
  182. package/components/{donut-chart-positioning.config-QOZXaJmt.cjs → donut-chart-positioning.config-BThtaJEt.cjs} +1 -1
  183. package/components/{donut-chart-positioning.config-fGckMun2.js → donut-chart-positioning.config-D2uG_Irk.js} +1 -1
  184. package/components/{donut-chart-slots.config-DilGk7ju.js → donut-chart-slots.config-fGqtoKZi.js} +1 -1
  185. package/components/{dropdown-filter-options.config-DFJKns3l.js → dropdown-filter-options.config-DkiapYtc.js} +1 -1
  186. package/components/{dropdown-filter-slots.config-7heZtoEY.js → dropdown-filter-slots.config-DPcT6v-9.js} +1 -1
  187. package/components/{en-DdS5q1ZT.js → en-CcLhGxIh.js} +1 -1
  188. package/components/{en-GB-Cn0xDC0K.js → en-GB-DzkdeUQh.js} +1 -1
  189. package/components/en-GB-uxY5qmIM.cjs +20 -0
  190. package/components/{en-US-DdS5q1ZT.js → en-US-CcLhGxIh.js} +1 -1
  191. package/components/{en-CSPDwq2y.cjs → en-US-q_Ruzags.cjs} +1 -1
  192. package/components/{en-US-CSPDwq2y.cjs → en-q_Ruzags.cjs} +1 -1
  193. package/components/es-DK-49nGv.cjs +20 -0
  194. package/components/{es-BCur0-77.js → es-DUENN-m1.js} +34 -0
  195. package/components/{evolution-number-options.config-DT7iGQA8.js → evolution-number-options.config-Ca9ABNVM.js} +1 -1
  196. package/components/{evolution-number-positioning.config-CVIysE4H.js → evolution-number-positioning.config-BtjobZqK.js} +1 -1
  197. package/components/{evolution-number-positioning.config-B7lBArog.cjs → evolution-number-positioning.config-DtYiv9oB.cjs} +1 -1
  198. package/components/{evolution-number-slots.config-noZzIHkT.js → evolution-number-slots.config-CKawNqUS.js} +1 -1
  199. package/components/filter-expression-picker/filter-expression-picker.d.ts +77 -0
  200. package/components/filter-expression-picker/index.cjs +20 -0
  201. package/components/filter-expression-picker/index.d.ts +7 -0
  202. package/components/filter-expression-picker/index.js +28 -0
  203. package/components/filter-expression-picker-C4kE_Thd.js +433 -0
  204. package/components/filter-expression-picker-CU-OfSmI.cjs +40 -0
  205. package/components/filter-item/filter-item.d.ts +142 -0
  206. package/components/filter-item/index.cjs +20 -0
  207. package/components/filter-item/index.d.ts +8 -0
  208. package/components/filter-item/index.js +28 -0
  209. package/components/filter-item-Be6Z7NMz.js +792 -0
  210. package/components/filter-item-CxPrwF-R.cjs +111 -0
  211. package/components/filter-parameter-picker/filter-parameter-picker.d.ts +91 -0
  212. package/components/filter-parameter-picker/filter-parameter-picker.helpers.d.ts +8 -0
  213. package/components/filter-parameter-picker/index.cjs +20 -0
  214. package/components/filter-parameter-picker/index.d.ts +9 -0
  215. package/components/filter-parameter-picker/index.js +28 -0
  216. package/components/filter-parameter-picker/types.d.ts +4 -0
  217. package/components/filter-parameter-picker-Ba8bvoPZ.js +371 -0
  218. package/components/filter-parameter-picker-BtJLCUbT.cjs +124 -0
  219. package/components/filter-value-picker/filter-value-picker.d.ts +72 -0
  220. package/components/filter-value-picker/index.cjs +20 -0
  221. package/components/filter-value-picker/index.d.ts +7 -0
  222. package/components/filter-value-picker/index.js +28 -0
  223. package/components/filter-value-picker-DD206JZl.js +169 -0
  224. package/components/filter-value-picker-Dpua1vcJ.cjs +69 -0
  225. package/components/filter-value-picker-datetime/filter-value-picker-datetime.d.ts +51 -0
  226. package/components/filter-value-picker-datetime/index.cjs +20 -0
  227. package/components/filter-value-picker-datetime/index.d.ts +7 -0
  228. package/components/filter-value-picker-datetime/index.js +28 -0
  229. package/components/filter-value-picker-datetime-Bj0YaPtB.js +159 -0
  230. package/components/filter-value-picker-datetime-DWgI83nJ.cjs +51 -0
  231. package/components/filter-value-picker-hierarchy/filter-value-picker-hierarchy.d.ts +105 -0
  232. package/components/filter-value-picker-hierarchy/index.cjs +20 -0
  233. package/components/filter-value-picker-hierarchy/index.d.ts +7 -0
  234. package/components/filter-value-picker-hierarchy/index.js +28 -0
  235. package/components/filter-value-picker-hierarchy-BEoqkQq0.cjs +54 -0
  236. package/components/filter-value-picker-hierarchy-ZMThNJYm.js +315 -0
  237. package/components/filter-value-picker-numeric/filter-value-picker-numeric.d.ts +89 -0
  238. package/components/filter-value-picker-numeric/index.cjs +20 -0
  239. package/components/filter-value-picker-numeric/index.d.ts +7 -0
  240. package/components/filter-value-picker-numeric/index.js +28 -0
  241. package/components/filter-value-picker-numeric-1Vxp_Vam.cjs +54 -0
  242. package/components/filter-value-picker-numeric-CVaDogFQ.js +236 -0
  243. package/components/filters/filters.d.ts +62 -2
  244. package/components/filters/index.cjs +1 -1
  245. package/components/filters/index.d.ts +2 -1
  246. package/components/filters/index.js +2 -2
  247. package/components/filters/types.d.ts +2 -0
  248. package/components/filters-Cnm0Kwk3.js +926 -0
  249. package/components/filters-Dtbt99BP.cjs +199 -0
  250. package/components/formatter-BeXmurVe.cjs +20 -0
  251. package/components/{period-over-period-condition.const-IOVIrgKJ.js → formatter-Cq5dFCyU.js} +44 -234
  252. package/components/formula/index.cjs +1 -1
  253. package/components/formula/index.js +1 -1
  254. package/components/{formula-CdAkO1za.js → formula-BE9bipho.js} +15 -14
  255. package/components/formula-DGMnKmnR.cjs +45 -0
  256. package/components/formula-codemirror/formula-codemirror.d.ts +79 -0
  257. package/components/formula-codemirror/index.d.ts +7 -0
  258. package/components/formula-codemirror/pills/formula-aggregation/formula-aggregation.d.ts +125 -0
  259. package/components/formula-codemirror/pills/formula-aggregation/index.d.ts +7 -0
  260. package/components/formula-codemirror/pills/formula-empty-argument-pill/formula-empty-argument-pill.d.ts +28 -0
  261. package/components/formula-codemirror/pills/formula-empty-argument-pill/index.d.ts +7 -0
  262. package/components/formula-codemirror/pills/formula-include-exclude-panel.d.ts +38 -0
  263. package/components/formula-codemirror-B14vsZXJ.cjs +215 -0
  264. package/components/{formula-codemirror-jVC8mjQ3.js → formula-codemirror-xfm0QtJN.js} +22 -20
  265. package/components/formula-display-store-8hohve9v.cjs +20 -0
  266. package/components/{formula-display-store-CLAt_fik.js → formula-display-store-JAaWuYNB.js} +239 -274
  267. package/components/formula-draggable-field/formula-draggable-field.d.ts +53 -0
  268. package/components/formula-draggable-field/index.d.ts +8 -0
  269. package/components/formula-draggable-field/types.d.ts +24 -0
  270. package/components/formula-editor/index.cjs +1 -1
  271. package/components/formula-editor/index.d.ts +1 -0
  272. package/components/formula-editor/index.js +4 -3
  273. package/components/formula-editor-CkW-JfyT.cjs +224 -0
  274. package/components/{formula-editor-Bd9F-xdZ.js → formula-editor-DN87mT8q.js} +147 -352
  275. package/components/formula-field/formula-field.d.ts +20 -0
  276. package/components/formula-field/index.cjs +20 -0
  277. package/components/formula-field/index.d.ts +7 -0
  278. package/components/formula-field/index.js +28 -0
  279. package/components/formula-field-B1EMJOfK.js +40 -0
  280. package/components/formula-field-CQYFSBHL.cjs +20 -0
  281. package/components/formula-input-base-BCQXmd1P.cjs +49 -0
  282. package/components/formula-input-base-HL0Fg74x.js +236 -0
  283. package/components/{fr-BnECl1nx.js → fr-CePmGBUH.js} +34 -0
  284. package/components/fr-uE3fb3kc.cjs +20 -0
  285. package/components/{funnel-chart-options.config-D21WdHBI.js → funnel-chart-options.config-CygQsQVD.js} +1 -1
  286. package/components/{funnel-chart-positioning.config-zEqgz9Wz.cjs → funnel-chart-positioning.config-DeLnAGGT.cjs} +1 -1
  287. package/components/{funnel-chart-positioning.config-BGi7ixet.js → funnel-chart-positioning.config-TVzSiV6I.js} +1 -1
  288. package/components/{funnel-chart-slots.config-BWszdEe8.js → funnel-chart-slots.config-CfnSH4Ay.js} +1 -1
  289. package/components/{get-css-variable-B8sJUuig.cjs → get-css-variable-CBXsAxR6.cjs} +1 -1
  290. package/components/{get-css-variable-r1spgqX0.js → get-css-variable-DYnldi15.js} +1 -1
  291. package/components/get-dataset-name-DLjeChNS.js +32 -0
  292. package/components/get-dataset-name-mGNEfkAv.cjs +20 -0
  293. package/components/groupings-CODDxpbZ.js +52 -0
  294. package/components/groupings-DKMq8DgS.cjs +20 -0
  295. package/components/{heat-map-options.config-DkuYkbWu.js → heat-map-options.config-X96sw-BV.js} +1 -1
  296. package/components/{heat-map-positioning.config-CK2DBngE.js → heat-map-positioning.config--wm9l7bB.js} +1 -1
  297. package/components/{heat-map-positioning.config-3dxU6qwG.cjs → heat-map-positioning.config-ddrgZXa9.cjs} +1 -1
  298. package/components/{heat-map-slots.config-Cwun49Qb.js → heat-map-slots.config-D2ypExJQ.js} +1 -1
  299. package/components/{heat-table-options.config-BJP1jVB8.js → heat-table-options.config-D6dA9J97.js} +1 -1
  300. package/components/{heat-table-positioning.config-C55D814C.js → heat-table-positioning.config-CIhhBEMg.js} +1 -1
  301. package/components/{heat-table-positioning.config-CbscS7w1.cjs → heat-table-positioning.config-qMDSRhZR.cjs} +1 -1
  302. package/components/{heat-table-slots.config-nGB_B2mh.js → heat-table-slots.config-B1iOn6ay.js} +1 -1
  303. package/components/{hexbin-map-options.config-Bqp3u2bH.js → hexbin-map-options.config-FK9DrXGD.js} +1 -1
  304. package/components/{hexbin-map-positioning.config-CHecaD9p.cjs → hexbin-map-positioning.config-E_BpcIFy.cjs} +1 -1
  305. package/components/{hexbin-map-positioning.config-9nnyZGzx.js → hexbin-map-positioning.config-S7VYUwVD.js} +1 -1
  306. package/components/{hexbin-map-slots.config-BK-ftozd.js → hexbin-map-slots.config-CC1xZINm.js} +1 -1
  307. package/components/{image-options.config-Cz55iN7J.js → image-options.config-DxF0RSUF.js} +1 -1
  308. package/components/{image-slots.config-kvHutBFK.js → image-slots.config-Ba8NXeCH.js} +1 -1
  309. package/components/index.cjs +1 -840
  310. package/components/index.js +67 -6783
  311. package/components/interactive-viz-item/helpers/chart-helpers.d.ts +7 -0
  312. package/components/interactive-viz-item/index.cjs +20 -0
  313. package/components/interactive-viz-item/index.d.ts +10 -0
  314. package/components/interactive-viz-item/index.js +28 -0
  315. package/components/interactive-viz-item/interactive-viz-item.d.ts +97 -0
  316. package/components/interactive-viz-item/load-config-panel.d.ts +2 -0
  317. package/components/interactive-viz-item/types.d.ts +117 -0
  318. package/components/interactive-viz-item--kqitfEZ.cjs +249 -0
  319. package/components/interactive-viz-item-cdShBZQA.js +722 -0
  320. package/components/item-grid/index.cjs +1 -1
  321. package/components/item-grid/index.js +1 -1
  322. package/components/{item-grid-C2ZvM04g.cjs → item-grid-BfhqMuQA.cjs} +22 -22
  323. package/components/{item-grid-D4xYhMOD.js → item-grid-xCM8AqRH.js} +25 -24
  324. package/components/item-menu/item-list/item-list.d.ts +37 -0
  325. package/components/item-option/index.cjs +1 -1
  326. package/components/item-option/index.js +1 -1
  327. package/components/item-option-B5FraAiv.cjs +269 -0
  328. package/components/{item-option-28BU_oaD.js → item-option-DaAlj_OB.js} +53 -53
  329. package/components/item-option-action-button-group/index.cjs +1 -1
  330. package/components/item-option-action-button-group/index.js +1 -1
  331. package/components/{item-option-action-button-group-D_g6aoYd.js → item-option-action-button-group-4w8ub3cT.js} +2 -2
  332. package/components/item-option-action-button-group-DHu8VjCy.cjs +53 -0
  333. package/components/item-option-base/item-option-base.d.ts +23 -0
  334. package/components/item-option-base-4Bwn-3Fc.cjs +56 -0
  335. package/components/{item-option-base-CxQhI83u.js → item-option-base-BxQUwXzg.js} +2 -2
  336. package/components/item-option-color-palette-picker/index.cjs +1 -1
  337. package/components/item-option-color-palette-picker/index.js +1 -1
  338. package/components/{item-option-color-palette-picker-CRDFqhWx.js → item-option-color-palette-picker-D5nO-Bqb.js} +2 -2
  339. package/components/item-option-color-palette-picker-DrhHKaAK.cjs +40 -0
  340. package/components/item-option-color-picker/index.cjs +1 -1
  341. package/components/item-option-color-picker/index.js +1 -1
  342. package/components/{item-option-color-picker-BJgpBbDp.cjs → item-option-color-picker-Bhv_k1uW.cjs} +2 -2
  343. package/components/{item-option-color-picker-BlkpWjQh.js → item-option-color-picker-CKokPQcS.js} +2 -2
  344. package/components/item-option-color-range/index.cjs +1 -1
  345. package/components/item-option-color-range/index.js +1 -1
  346. package/components/item-option-color-range-CwDkzRcx.cjs +98 -0
  347. package/components/{item-option-color-range-3Wp-Ywz6.js → item-option-color-range-DYsMbFEb.js} +2 -2
  348. package/components/item-option-guidelines/index.cjs +1 -1
  349. package/components/item-option-guidelines/index.js +1 -1
  350. package/components/{item-option-guidelines-CQ_yb7Ar.js → item-option-guidelines-CXl4Yla4.js} +4 -3
  351. package/components/item-option-guidelines-DMjA-h3h.cjs +135 -0
  352. package/components/item-option-multi-language-field/index.cjs +1 -1
  353. package/components/item-option-multi-language-field/index.js +1 -1
  354. package/components/{item-option-multi-language-field-BApbe3pp.cjs → item-option-multi-language-field-C75Hd2fG.cjs} +2 -2
  355. package/components/{item-option-multi-language-field-aLIpQWiQ.js → item-option-multi-language-field-S6Mt3k23.js} +2 -2
  356. package/components/item-option-number-field/index.cjs +1 -1
  357. package/components/item-option-number-field/index.js +1 -1
  358. package/components/{item-option-number-field-B72ZYOAX.cjs → item-option-number-field-Bg5r0IAX.cjs} +2 -2
  359. package/components/{item-option-number-field-Bv5eGoxB.js → item-option-number-field-CALw8q_J.js} +2 -2
  360. package/components/item-option-panel/index.cjs +1 -1
  361. package/components/item-option-panel/index.js +1 -1
  362. package/components/{item-option-panel-A8Jxzwml.cjs → item-option-panel-DBXgOsM4.cjs} +2 -2
  363. package/components/{item-option-panel-kRH7GbzA.js → item-option-panel-v7yUS9hb.js} +4 -4
  364. package/components/item-option-picker/index.cjs +1 -1
  365. package/components/item-option-picker/index.js +1 -1
  366. package/components/{item-option-picker-BuUtW6gD.js → item-option-picker-CZyzd3Nq.js} +2 -2
  367. package/components/{item-option-picker-DOFJ1CnI.cjs → item-option-picker-RFstpFwI.cjs} +2 -2
  368. package/components/item-option-position-picker/index.cjs +1 -1
  369. package/components/item-option-position-picker/index.js +1 -1
  370. package/components/{item-option-position-picker-mf3JQu5q.js → item-option-position-picker-C8cnHEH4.js} +2 -2
  371. package/components/item-option-position-picker-CKHbHHl1.cjs +32 -0
  372. package/components/item-option-positions-number-field/index.cjs +1 -1
  373. package/components/item-option-positions-number-field/index.js +1 -1
  374. package/components/item-option-positions-number-field-BGs3WWaz.cjs +49 -0
  375. package/components/{item-option-positions-number-field-BIBWpagB.js → item-option-positions-number-field-BJTY1qZR.js} +2 -2
  376. package/components/item-option-radio-button-group/index.cjs +1 -1
  377. package/components/item-option-radio-button-group/index.js +1 -1
  378. package/components/{item-option-radio-button-group-B2HYZguB.cjs → item-option-radio-button-group-CN8TLtsV.cjs} +2 -2
  379. package/components/{item-option-radio-button-group-CFnfadK2.js → item-option-radio-button-group-vhm4r4_k.js} +2 -2
  380. package/components/item-option-slider/index.cjs +1 -1
  381. package/components/item-option-slider/index.js +1 -1
  382. package/components/{item-option-slider-CH1l0Ena.js → item-option-slider-CQOKWBZQ.js} +2 -2
  383. package/components/item-option-slider-DbLPhpJd.cjs +33 -0
  384. package/components/item-option-switch/index.cjs +1 -1
  385. package/components/item-option-switch/index.js +1 -1
  386. package/components/{item-option-switch-hUFRE9MC.cjs → item-option-switch-CWpb0nf3.cjs} +2 -2
  387. package/components/{item-option-switch-rqu2ePVU.js → item-option-switch-azZX2vJr.js} +2 -2
  388. package/components/item-option-text-field/index.cjs +1 -1
  389. package/components/item-option-text-field/index.js +1 -1
  390. package/components/{item-option-text-field-CBFMmuK2.js → item-option-text-field-CIM_38yi.js} +2 -2
  391. package/components/{item-option-text-field-C6CocZ5q.cjs → item-option-text-field-CS3Lccda.cjs} +2 -2
  392. package/components/item-options-configs.js +45 -45
  393. package/components/item-slot-drop/index.cjs +1 -1
  394. package/components/item-slot-drop/index.d.ts +2 -0
  395. package/components/item-slot-drop/index.js +1 -1
  396. package/components/item-slot-drop-C8WYPu_w.cjs +91 -0
  397. package/components/{item-slot-drop-DDGclwbP.js → item-slot-drop-DeZ2GvAu.js} +26 -21
  398. package/components/item-slot-drop-panel/index.cjs +1 -1
  399. package/components/item-slot-drop-panel/index.js +1 -1
  400. package/components/item-slot-drop-panel-BcBHDDTT.cjs +57 -0
  401. package/components/{item-slot-drop-panel-Cj6vbgJl.js → item-slot-drop-panel-LpfX7ap0.js} +49 -48
  402. package/components/item-slot-picker/index.cjs +1 -1
  403. package/components/item-slot-picker/index.js +1 -1
  404. package/components/{item-slot-picker-CjQH3MU-.js → item-slot-picker-BSO1ltXC.js} +44 -39
  405. package/components/item-slot-picker-CvySq194.cjs +174 -0
  406. package/components/item-slot-picker-panel/index.cjs +1 -1
  407. package/components/item-slot-picker-panel/index.js +1 -1
  408. package/components/{item-slot-picker-panel-7IFk5QFC.js → item-slot-picker-panel-CsntXcAp.js} +16 -15
  409. package/components/item-slot-picker-panel-DQ_OzMO_.cjs +81 -0
  410. package/components/item-slots-configs.js +45 -45
  411. package/components/{line-chart-options.config-D8gRtfj3.js → line-chart-options.config-C3_RnROS.js} +1 -1
  412. package/components/{line-chart-positioning.config-D5WVvIZT.js → line-chart-positioning.config-CrreArf5.js} +1 -1
  413. package/components/{line-chart-positioning.config-DuXn1WD-.cjs → line-chart-positioning.config-DMe1Ldwk.cjs} +1 -1
  414. package/components/{line-chart-slots.config-C6LEwEwh.js → line-chart-slots.config-CA-I6B6o.js} +1 -1
  415. package/components/load-data-fields-for-datasets-B3XcFFfg.js +42 -0
  416. package/components/load-data-fields-for-datasets-rL24A68g.cjs +20 -0
  417. package/components/localized-mixin-DaLXe5J9.js +45 -0
  418. package/components/localized-mixin-DiUJOd06.cjs +20 -0
  419. package/components/{marker-map-options.config-BE8GnY_T.js → marker-map-options.config-OMdgbAc4.js} +1 -1
  420. package/components/{marker-map-positioning.config-DfN39a-Q.cjs → marker-map-positioning.config-CpI8nCtC.cjs} +1 -1
  421. package/components/{marker-map-positioning.config-D2L7cvCP.js → marker-map-positioning.config-DW9tMO2M.js} +1 -1
  422. package/components/{marker-map-slots.config-Cyk-QFPT.js → marker-map-slots.config-CcGNgr1_.js} +1 -1
  423. package/components/{nl-h9vVAk2e.js → nl-BaZM3WoR.js} +34 -0
  424. package/components/nl-BoEhzeIh.cjs +20 -0
  425. package/components/{ohlc-chart-options.config-xgegn34C.js → ohlc-chart-options.config-CWRI5bXI.js} +1 -1
  426. package/components/{ohlc-chart-positioning.config-DsBuB0VU.cjs → ohlc-chart-positioning.config-9DETh4xy.cjs} +1 -1
  427. package/components/{ohlc-chart-positioning.config-C53dCwaT.js → ohlc-chart-positioning.config-CkX8gyS2.js} +1 -1
  428. package/components/{ohlc-chart-slots.config-CQFi8BIT.js → ohlc-chart-slots.config-Pv0xst-Y.js} +1 -1
  429. package/components/{parallel-coordinates-plot-options.config-BUQLHO1k.js → parallel-coordinates-plot-options.config-DbuNgevO.js} +1 -1
  430. package/components/{parallel-coordinates-plot-positioning.config-aiFzLnnh.cjs → parallel-coordinates-plot-positioning.config-CLDZdGdh.cjs} +1 -1
  431. package/components/{parallel-coordinates-plot-positioning.config-DhoVstsb.js → parallel-coordinates-plot-positioning.config-DTJZLEeT.js} +1 -1
  432. package/components/{parallel-coordinates-plot-slots.config-D5o-5y_j.js → parallel-coordinates-plot-slots.config-GvYC-RXK.js} +1 -1
  433. package/components/period-over-period-condition.const-BZ7j5Z5t.js +29 -0
  434. package/components/period-over-period-condition.const-C1NZ9Bkp.cjs +20 -0
  435. package/components/{pivot-table-options.config-DW9UDipI.js → pivot-table-options.config-CTz4bcGJ.js} +1 -1
  436. package/components/{pivot-table-positioning.config-Bq9BoQWM.cjs → pivot-table-positioning.config-B-SALuVb.cjs} +1 -1
  437. package/components/{pivot-table-positioning.config-Cnai84AH.js → pivot-table-positioning.config-CtSYHD-n.js} +1 -1
  438. package/components/{pivot-table-slots.config-Cl5z3IQo.js → pivot-table-slots.config-BAW0U3nh.js} +1 -1
  439. package/components/{pragmatic-element-adapter-C_7HSvGV.js → pragmatic-element-adapter-D0LRKx5U.js} +75 -74
  440. package/components/{pragmatic-element-adapter-DPWYJiW9.cjs → pragmatic-element-adapter-DdyH32ix.cjs} +4 -4
  441. package/components/{pyramid-chart-options.config-Cbg351Yy.js → pyramid-chart-options.config-C7btzuZj.js} +1 -1
  442. package/components/{pyramid-chart-positioning.config-BeJ5R_Ln.js → pyramid-chart-positioning.config-0Juiava5.js} +1 -1
  443. package/components/{pyramid-chart-positioning.config-D5AKNCPb.cjs → pyramid-chart-positioning.config-BllFtneP.cjs} +1 -1
  444. package/components/{pyramid-chart-slots.config-DNzq2hMx.js → pyramid-chart-slots.config-CsMMyhV3.js} +1 -1
  445. package/components/{radar-chart-options.config-DrNyOkHq.js → radar-chart-options.config-CtA6MpUp.js} +1 -1
  446. package/components/{radar-chart-positioning.config-DsfUBq4B.js → radar-chart-positioning.config-BPbb63S6.js} +1 -1
  447. package/components/{radar-chart-positioning.config-BEIwrzhb.cjs → radar-chart-positioning.config-BY4RKNDi.cjs} +1 -1
  448. package/components/{radar-chart-slots.config-CXgfvAkt.js → radar-chart-slots.config-8Kf_WAFi.js} +1 -1
  449. package/components/{regular-table-options.config-CweBtAvm.js → regular-table-options.config-BRmS77t-.js} +1 -1
  450. package/components/{regular-table-slots.config-DCkw4Xkq.js → regular-table-slots.config-r-N9A-qA.js} +1 -1
  451. package/components/{route-map-options.config-DXHqb8Ve.js → route-map-options.config-C65J81_7.js} +1 -1
  452. package/components/{route-map-positioning.config-CuiRWzbs.js → route-map-positioning.config-D6nZFd8f.js} +1 -1
  453. package/components/{route-map-positioning.config-4Wyvj5OH.cjs → route-map-positioning.config-GQ9AJfej.cjs} +1 -1
  454. package/components/{route-map-slots.config-DJ76FOsJ.js → route-map-slots.config-DMII2UuP.js} +1 -1
  455. package/components/{sankey-diagram-options.config-1lSECht4.js → sankey-diagram-options.config-nQDCRhKs.js} +1 -1
  456. package/components/{sankey-diagram-positioning.config-CZ-zVCQo.cjs → sankey-diagram-positioning.config-DAuj5A08.cjs} +1 -1
  457. package/components/{sankey-diagram-positioning.config-DtN7dARd.js → sankey-diagram-positioning.config-R1EjoR5F.js} +1 -1
  458. package/components/{sankey-diagram-slots.config-BCc8P4j0.js → sankey-diagram-slots.config-DmWIGut0.js} +1 -1
  459. package/components/{scatter-plot-options.config-9zL4v24E.js → scatter-plot-options.config-BplrME7w.js} +1 -1
  460. package/components/{scatter-plot-positioning.config-BXrzdLIc.js → scatter-plot-positioning.config-DGoMnNZy.js} +1 -1
  461. package/components/{scatter-plot-positioning.config-CfAf_FUW.cjs → scatter-plot-positioning.config-o4c-wuRo.cjs} +1 -1
  462. package/components/{scatter-plot-slots.config-BMTdhTZG.js → scatter-plot-slots.config-B7wQVEEj.js} +1 -1
  463. package/components/{search-filter-options.config-B_qQjr68.js → search-filter-options.config-yAz6IIto.js} +1 -1
  464. package/components/{search-filter-slots.config-qCILSYzs.js → search-filter-slots.config-D8-V0BT5.js} +1 -1
  465. package/components/{set-locale-B-GvqA1H.cjs → set-locale-Xh_1AFbC.cjs} +1 -1
  466. package/components/{set-locale-CgCeLPlb.js → set-locale-ydAPif-7.js} +4 -4
  467. package/components/{slicer-filter-options.config-DK62SCMp.js → slicer-filter-options.config-BtGkT2hI.js} +1 -1
  468. package/components/{slicer-filter-positioning.config-CU86hJi6.cjs → slicer-filter-positioning.config-BqpIENEm.cjs} +1 -1
  469. package/components/{slicer-filter-positioning.config-BLGeCJys.js → slicer-filter-positioning.config-D_didkcw.js} +1 -1
  470. package/components/{slicer-filter-slots.config-C9_NdJm4.js → slicer-filter-slots.config-DR0Wg_Zr.js} +1 -1
  471. package/components/{slider-filter-options.config-CP5bXdih.js → slider-filter-options.config-D_yZ_nFz.js} +1 -1
  472. package/components/{slider-filter-slots.config-15eAAGVn.js → slider-filter-slots.config-BUHw-32u.js} +1 -1
  473. package/components/{en-GB-CJR66Ci_.cjs → slot-menu/index.cjs} +1 -1
  474. package/components/slot-menu/index.d.ts +10 -0
  475. package/components/slot-menu/index.js +28 -0
  476. package/components/slot-menu/slot-menu.d.ts +148 -0
  477. package/components/slot-menu/types.d.ts +24 -0
  478. package/components/slot-menu-CUdbaW3K.js +428 -0
  479. package/components/slot-menu-DRx1Ffla.cjs +71 -0
  480. package/components/slot-menu-list/index.cjs +20 -0
  481. package/components/slot-menu-list/index.d.ts +8 -0
  482. package/components/slot-menu-list/index.js +28 -0
  483. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  484. package/components/slot-menu-list-DVSxamVa.js +347 -0
  485. package/components/slot-menu-list-DaHzz_ve.cjs +44 -0
  486. package/components/slot-role-classification-2wChhpcq.cjs +20 -0
  487. package/components/slot-role-classification-B8bkGhQ_.js +133 -0
  488. package/components/slots-config-Cd4xAG4H.cjs +20 -0
  489. package/components/slots-config-GlSNH7Gr.js +76 -0
  490. package/components/{speedometer-chart-options.config-dsUupCqm.js → speedometer-chart-options.config-BL7evgzP.js} +1 -1
  491. package/components/{speedometer-chart-positioning.config-Dam0wOqp.js → speedometer-chart-positioning.config-CmxsV4-x.js} +1 -1
  492. package/components/{speedometer-chart-positioning.config-AeMlNxSj.cjs → speedometer-chart-positioning.config-eVUWDhkL.cjs} +1 -1
  493. package/components/{speedometer-chart-slots.config-DfTw7JTF.js → speedometer-chart-slots.config-2Y_x52Gy.js} +1 -1
  494. package/components/{spike-map-options.config-Dh4Ky5ZP.js → spike-map-options.config-DjoTrAsC.js} +1 -1
  495. package/components/{spike-map-positioning.config-9ShV1fUh.cjs → spike-map-positioning.config-B38djRlf.cjs} +1 -1
  496. package/components/{spike-map-positioning.config-BVzewpfi.js → spike-map-positioning.config-Bta7ar9e.js} +1 -1
  497. package/components/{spike-map-slots.config-i-c0F9QM.js → spike-map-slots.config-DJWMFPIR.js} +1 -1
  498. package/components/{strip-plot-options.config-Vw3GoLef.js → strip-plot-options.config-tDmVlu9U.js} +1 -1
  499. package/components/{strip-plot-positioning.config-OHm3LEo3.js → strip-plot-positioning.config-0vlAfmDB.js} +1 -1
  500. package/components/{strip-plot-positioning.config-BVBdHZvL.cjs → strip-plot-positioning.config-atH68L8u.cjs} +1 -1
  501. package/components/{strip-plot-slots.config-BuF7X3xN.js → strip-plot-slots.config-suFyIf5-.js} +1 -1
  502. package/components/{sunburst-chart-options.config-CXOrVmIe.js → sunburst-chart-options.config-Bjue_lQN.js} +1 -1
  503. package/components/{sunburst-chart-positioning.config-BynNbbxB.js → sunburst-chart-positioning.config-B2x6afBV.js} +1 -1
  504. package/components/{sunburst-chart-positioning.config-DQmuKm-N.cjs → sunburst-chart-positioning.config-NFzFNuXB.cjs} +1 -1
  505. package/components/{sunburst-chart-slots.config-Cq-E6kyI.js → sunburst-chart-slots.config-BqVT-h0Z.js} +1 -1
  506. package/components/{symbol-map-options.config-Dultd0tF.js → symbol-map-options.config-Dyeya5Z2.js} +1 -1
  507. package/components/{symbol-map-positioning.config-bQk_pdAr.js → symbol-map-positioning.config-B6v9PFTk.js} +1 -1
  508. package/components/{symbol-map-positioning.config-D6rgxXTO.cjs → symbol-map-positioning.config-DGpmp_N1.cjs} +1 -1
  509. package/components/{symbol-map-slots.config-BfdBHkzN.js → symbol-map-slots.config-Rhpher5o.js} +1 -1
  510. package/components/{text-options.config-BUiRyi3L.js → text-options.config-CXhvzzPF.js} +1 -1
  511. package/components/{text-slots.config-CM_ZaW3p.js → text-slots.config-Dzj4-x2G.js} +1 -1
  512. package/components/{treemap-chart-options.config-6l3HzikF.js → treemap-chart-options.config-BzOCEWog.js} +1 -1
  513. package/components/{treemap-chart-positioning.config-BB1-rZKL.js → treemap-chart-positioning.config-Bf2VNVRQ.js} +1 -1
  514. package/components/{treemap-chart-positioning.config-ZaoIngRn.cjs → treemap-chart-positioning.config-NMULB8UM.cjs} +1 -1
  515. package/components/{treemap-chart-slots.config-CHkGtIOa.js → treemap-chart-slots.config-DRcafVU-.js} +1 -1
  516. package/components/utils/base.cjs +1 -1
  517. package/components/utils/base.js +2 -2
  518. package/components/utils/store.js +1 -1
  519. package/components/utils-SzKvwZ9-.cjs +20 -0
  520. package/components/{utils-ZoJ1cp2P.js → utils-_8LPCz9-.js} +54 -53
  521. package/components/utils.cjs +1 -1
  522. package/components/utils.js +9 -6
  523. package/components/{venn-diagram-options.config-Wi0dQsAu.js → venn-diagram-options.config-BMlduwIp.js} +1 -1
  524. package/components/{venn-diagram-positioning.config-Cb10sStL.cjs → venn-diagram-positioning.config-D4cODPGV.cjs} +1 -1
  525. package/components/{venn-diagram-positioning.config-C9ARqREi.js → venn-diagram-positioning.config-DgOl0Vh-.js} +1 -1
  526. package/components/{venn-diagram-slots.config-DY04aeYK.js → venn-diagram-slots.config-CMDndPVi.js} +1 -1
  527. package/components/{video-options.config-B6pQUPB7.js → video-options.config-DdfSTJEJ.js} +1 -1
  528. package/components/{video-slots.config-C-kXGzo3.js → video-slots.config-Utnn0DBW.js} +1 -1
  529. package/components/viz-item-menu/index.cjs +20 -0
  530. package/components/viz-item-menu/index.d.ts +8 -0
  531. package/components/viz-item-menu/index.js +28 -0
  532. package/components/viz-item-menu/types.d.ts +9 -0
  533. package/components/viz-item-menu/viz-item-menu.d.ts +78 -0
  534. package/components/viz-item-menu-CNHv6qDa.cjs +55 -0
  535. package/components/viz-item-menu-L_j0L08h.js +170 -0
  536. package/components/{wordcloud-chart-options.config-CpMtpG7q.js → wordcloud-chart-options.config-y9Z5I_ZN.js} +1 -1
  537. package/components/{wordcloud-chart-positioning.config-D59ntNtd.js → wordcloud-chart-positioning.config-BP6iqy-N.js} +1 -1
  538. package/components/{wordcloud-chart-positioning.config-DC89_DYc.cjs → wordcloud-chart-positioning.config-DZEkWvb0.cjs} +1 -1
  539. package/components/{wordcloud-chart-slots.config-Cc5F92Tv.js → wordcloud-chart-slots.config-CvabtgbP.js} +1 -1
  540. package/custom-elements.json +18790 -6833
  541. package/deprecated-react/components/ai-chat.component.cjs +1 -0
  542. package/deprecated-react/components/ai-interaction-textarea.component.cjs +1 -0
  543. package/deprecated-react/components/data-field-level.component.cjs +1 -0
  544. package/deprecated-react/components/data-fields-select.component.cjs +1 -0
  545. package/deprecated-react/components/dataset-icon.component.cjs +1 -0
  546. package/deprecated-react/components/dataset-selector-list.component.cjs +1 -0
  547. package/deprecated-react/components/dataset-selector-row.component.cjs +1 -0
  548. package/deprecated-react/components/display-settings-binning.component.cjs +1 -0
  549. package/deprecated-react/components/display-settings-datetime.component.cjs +1 -0
  550. package/deprecated-react/components/display-settings-grand-totals.component.cjs +1 -0
  551. package/deprecated-react/components/display-settings-numeric.component.cjs +1 -0
  552. package/deprecated-react/components/display-settings-period-over-period.component.cjs +1 -0
  553. package/deprecated-react/components/display-settings.component.cjs +1 -0
  554. package/deprecated-react/components/filter-expression-picker.component.cjs +1 -0
  555. package/deprecated-react/components/filter-item.component.cjs +1 -0
  556. package/deprecated-react/components/filter-parameter-picker.component.cjs +1 -0
  557. package/deprecated-react/components/filter-value-picker-datetime.component.cjs +1 -0
  558. package/deprecated-react/components/filter-value-picker-hierarchy.component.cjs +1 -0
  559. package/deprecated-react/components/filter-value-picker-numeric.component.cjs +1 -0
  560. package/deprecated-react/components/filter-value-picker.component.cjs +1 -0
  561. package/deprecated-react/components/formula-field.component.cjs +1 -0
  562. package/deprecated-react/components/interactive-viz-item.component.cjs +1 -0
  563. package/deprecated-react/components/slot-menu-list.component.cjs +1 -0
  564. package/deprecated-react/components/slot-menu.component.cjs +1 -0
  565. package/deprecated-react/components/viz-item-menu.component.cjs +1 -0
  566. package/index.d.ts +25 -0
  567. package/package.json +127 -2
  568. package/react/components/ai-chat.component.ts +45 -0
  569. package/react/components/ai-interaction-textarea.component.ts +30 -0
  570. package/react/components/data-field-level.component.ts +30 -0
  571. package/react/components/data-fields-select.component.ts +27 -0
  572. package/react/components/dataset-icon.component.ts +22 -0
  573. package/react/components/dataset-selector-list.component.ts +27 -0
  574. package/react/components/dataset-selector-row.component.ts +36 -0
  575. package/react/components/display-settings-binning.component.ts +27 -0
  576. package/react/components/display-settings-datetime.component.ts +27 -0
  577. package/react/components/display-settings-grand-totals.component.ts +27 -0
  578. package/react/components/display-settings-numeric.component.ts +27 -0
  579. package/react/components/display-settings-period-over-period.component.ts +27 -0
  580. package/react/components/display-settings.component.ts +33 -0
  581. package/react/components/filter-expression-picker.component.ts +27 -0
  582. package/react/components/filter-item.component.ts +27 -0
  583. package/react/components/filter-parameter-picker.component.ts +33 -0
  584. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  585. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  586. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  587. package/react/components/filter-value-picker.component.ts +27 -0
  588. package/react/components/filters.component.ts +1 -1
  589. package/react/components/formula-field.component.ts +30 -0
  590. package/react/components/interactive-viz-item.component.ts +33 -0
  591. package/react/components/slot-menu-list.component.ts +27 -0
  592. package/react/components/slot-menu.component.ts +42 -0
  593. package/react/components/viz-item-menu.component.ts +33 -0
  594. package/react/esm/components/ai-chat.component.d.ts +24 -0
  595. package/react/esm/components/ai-chat.component.js +29 -0
  596. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  597. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  598. package/react/esm/components/data-field-level.component.d.ts +14 -0
  599. package/react/esm/components/data-field-level.component.js +19 -0
  600. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  601. package/react/esm/components/data-fields-select.component.js +17 -0
  602. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  603. package/react/esm/components/dataset-icon.component.js +13 -0
  604. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  605. package/react/esm/components/dataset-selector-list.component.js +17 -0
  606. package/react/esm/components/dataset-selector-row.component.d.ts +18 -0
  607. package/react/esm/components/dataset-selector-row.component.js +23 -0
  608. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  609. package/react/esm/components/display-settings-binning.component.js +17 -0
  610. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  611. package/react/esm/components/display-settings-datetime.component.js +17 -0
  612. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  613. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  614. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  615. package/react/esm/components/display-settings-numeric.component.js +17 -0
  616. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  617. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  618. package/react/esm/components/display-settings.component.d.ts +16 -0
  619. package/react/esm/components/display-settings.component.js +21 -0
  620. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  621. package/react/esm/components/filter-expression-picker.component.js +17 -0
  622. package/react/esm/components/filter-item.component.d.ts +12 -0
  623. package/react/esm/components/filter-item.component.js +17 -0
  624. package/react/esm/components/filter-parameter-picker.component.d.ts +16 -0
  625. package/react/esm/components/filter-parameter-picker.component.js +21 -0
  626. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  627. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  628. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  629. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  630. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  631. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  632. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  633. package/react/esm/components/filter-value-picker.component.js +17 -0
  634. package/react/esm/components/filters.component.d.ts +1 -1
  635. package/react/esm/components/filters.component.js +1 -1
  636. package/react/esm/components/formula-field.component.d.ts +14 -0
  637. package/react/esm/components/formula-field.component.js +19 -0
  638. package/react/esm/components/interactive-viz-item.component.d.ts +16 -0
  639. package/react/esm/components/interactive-viz-item.component.js +21 -0
  640. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  641. package/react/esm/components/slot-menu-list.component.js +17 -0
  642. package/react/esm/components/slot-menu.component.d.ts +22 -0
  643. package/react/esm/components/slot-menu.component.js +27 -0
  644. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  645. package/react/esm/components/viz-item-menu.component.js +21 -0
  646. package/react/esm/index.d.ts +27 -2
  647. package/react/esm/index.js +102 -2
  648. package/react/index.ts +102 -2
  649. package/react/luzmo-stub.d.ts +140 -0
  650. package/react/package.json +2 -2
  651. package/storybook/inject-global-vars.d.ts +1 -0
  652. package/storybook/register-components.d.ts +57 -0
  653. package/types/agent.types.d.ts +4 -0
  654. package/types/ai-chat.types.d.ts +104 -0
  655. package/types/data-field-events.types.d.ts +7 -0
  656. package/types.d.ts +9 -0
  657. package/utils/create-lazy-loader.d.ts +5 -0
  658. package/utils/filters/filter-text.d.ts +64 -0
  659. package/utils/filters/index.d.ts +1 -0
  660. package/utils/filters/presentation.d.ts +4 -0
  661. package/utils/filters/tests/filter-text.test.d.ts +1 -0
  662. package/utils/formatter/localized-template.d.ts +4 -0
  663. package/utils/formatter/tests/localized-template.test.d.ts +1 -0
  664. package/utils/tests/create-lazy-loader.test.d.ts +1 -0
  665. package/components/base-BtRS5vm6.cjs +0 -20
  666. package/components/data-field-fvlYzmfX.cjs +0 -89
  667. package/components/data-field-panel-Yrqn4L79.cjs +0 -87
  668. package/components/data-fields-select-Cor6sfzL.cjs +0 -41
  669. package/components/de-CdZnQbKI.cjs +0 -20
  670. package/components/display-settings-datetime-B23w7aH4.cjs +0 -217
  671. package/components/display-settings-grand-totals-BZ0nlLhu.cjs +0 -44
  672. package/components/display-settings-numeric-DoScgfRy.cjs +0 -190
  673. package/components/display-settings-period-over-period-C-hp0ZKN.cjs +0 -227
  674. package/components/es-7RD7O4q3.cjs +0 -20
  675. package/components/filters-DndJU6D5.js +0 -2454
  676. package/components/filters-oB9qOk_M.cjs +0 -443
  677. package/components/formula-BFvxm8kj.cjs +0 -45
  678. package/components/formula-codemirror-ucFOD-2a.cjs +0 -215
  679. package/components/formula-display-store-DmT65fUB.cjs +0 -20
  680. package/components/formula-editor-BeZ-fu-7.cjs +0 -253
  681. package/components/fr-CGw2IwXh.cjs +0 -20
  682. package/components/item-option-BQpS6rM_.cjs +0 -269
  683. package/components/item-option-action-button-group-BwBxRLzB.cjs +0 -53
  684. package/components/item-option-base-C6uwowJD.cjs +0 -56
  685. package/components/item-option-color-palette-picker-BjHadiN0.cjs +0 -40
  686. package/components/item-option-color-range-CQo8uThO.cjs +0 -98
  687. package/components/item-option-guidelines-Daf8Ce5z.cjs +0 -135
  688. package/components/item-option-position-picker-Cnis4wLA.cjs +0 -32
  689. package/components/item-option-positions-number-field-B7gI1IKO.cjs +0 -49
  690. package/components/item-option-slider--7hmhi97.cjs +0 -33
  691. package/components/item-slot-drop-hK-rLhwa.cjs +0 -91
  692. package/components/item-slot-drop-panel-CE4f9X6F.cjs +0 -57
  693. package/components/item-slot-picker-Wf50lM5u.cjs +0 -174
  694. package/components/item-slot-picker-panel-Csn1tabr.cjs +0 -81
  695. package/components/load-data-fields-for-datasets-B76UR0sG.js +0 -86
  696. package/components/load-data-fields-for-datasets-DFYeACsu.cjs +0 -20
  697. package/components/localized-mixin-DfpurTYo.cjs +0 -20
  698. package/components/nl-BnzS_ZtB.cjs +0 -20
  699. package/components/period-over-period-condition.const-DDgiXIfR.cjs +0 -20
  700. package/components/slot-menu-1zlmyLVl.js +0 -1060
  701. package/components/slot-menu-BSu8wKLi.cjs +0 -217
  702. package/components/utils-CPIzW8sp.cjs +0 -20
@@ -0,0 +1,820 @@
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 "./set-locale-ydAPif-7.js";
22
+ import { t as n } from "./data-broker-B0uUO5er.js";
23
+ import { i as r, r as i, t as a } from "./calculate-data-field-icon-DrSg1PuD.js";
24
+ import { t as o } from "./localize-BT7REYBY.js";
25
+ import { t as s } from "./get-dataset-name-DLjeChNS.js";
26
+ import "./dataset-icon-CWT5Ju8w.js";
27
+ import "./dataset-selector-row-kiHtzZcP.js";
28
+ import { luzmoPaperclip as c, luzmoPlugin as l } from "@luzmo/icons";
29
+ import "@luzmo/lucero/icon";
30
+ import { LitElement as u, html as d, nothing as f, unsafeCSS as p } from "lit";
31
+ import { property as m, query as h, state as g } from "lit/decorators.js";
32
+ import { localized as _, msg as v, str as y } from "@lit/localize";
33
+ import "@luzmo/lucero/action-button";
34
+ import "@luzmo/lucero/prompt-box";
35
+ import { classMap as b } from "lit/directives/class-map.js";
36
+ //#region src/utils/ai-prompt/attachments.ts
37
+ var x = 20, S = [
38
+ "image/png",
39
+ "image/jpeg",
40
+ "image/webp",
41
+ "image/gif"
42
+ ], C = new Set(S), w = {
43
+ png: "image/png",
44
+ jpg: "image/jpeg",
45
+ jpeg: "image/jpeg",
46
+ webp: "image/webp",
47
+ gif: "image/gif"
48
+ };
49
+ function T(e) {
50
+ try {
51
+ return new URL(e).pathname.match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase();
52
+ } catch {
53
+ return;
54
+ }
55
+ }
56
+ function E(e) {
57
+ try {
58
+ let t = new URL(e);
59
+ return t.protocol === "http:" || t.protocol === "https:";
60
+ } catch {
61
+ return !1;
62
+ }
63
+ }
64
+ function D(e) {
65
+ return C.has(e.toLowerCase());
66
+ }
67
+ function O(e) {
68
+ if (e.type) return D(e.type);
69
+ let t = e.name.split(".").pop()?.toLowerCase();
70
+ return !!(t && w[t]);
71
+ }
72
+ function k(e) {
73
+ if (!E(e)) return !1;
74
+ let t = T(e);
75
+ return !!(t && w[t]);
76
+ }
77
+ function A(e) {
78
+ if (e.length > 20) throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);
79
+ for (let t of e) {
80
+ if (!t.trim()) throw Error("Image input URL must be a non-empty string.");
81
+ if (!E(t)) throw Error(`Image input URL must be an absolute http(s) URL. Received "${t}".`);
82
+ let e = T(t);
83
+ if (e && !w[e]) throw Error(`Unsupported image input URL "${t}". Only PNG, JPEG, WebP, and GIF image URLs are accepted.`);
84
+ }
85
+ }
86
+ function j(e) {
87
+ if (e.length > 20) throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);
88
+ for (let t of e) {
89
+ if (!O(t)) throw Error(`Unsupported image attachment "${t.name}" (${t.type || "unknown type"}). Only PNG, JPEG, WebP, and GIF images are accepted.`);
90
+ if (t.size === 0) throw Error(`Image "${t.name}" is empty.`);
91
+ if (t.size > 15728640) throw Error(`Image "${t.name}" is too large. Maximum size is 15 MB.`);
92
+ }
93
+ }
94
+ //#endregion
95
+ //#region src/utils/ai-prompt/image-upload.ts
96
+ function M(e, t = "0.1.0") {
97
+ return `${e.replace(/\/+$/, "")}/${t.replace(/^\/+|\/+$/g, "")}/upload`;
98
+ }
99
+ function N(e) {
100
+ let { files: t, authKey: n, authToken: r, apiUrl: i, apiVersion: a = "0.1.0", signal: o, fetchImpl: s = fetch } = e;
101
+ if (!n || !r) return Promise.reject(/* @__PURE__ */ Error("Image upload requires authKey and authToken."));
102
+ let c = M(i, a), l = a.replace(/^\/+|\/+$/g, "") || "0.1.0";
103
+ return Promise.all(t.map((e) => P(e, {
104
+ url: c,
105
+ authKey: n,
106
+ authToken: r,
107
+ version: l,
108
+ signal: o,
109
+ fetchImpl: s
110
+ })));
111
+ }
112
+ async function P(e, t) {
113
+ let { url: n, authKey: r, authToken: i, version: a, signal: o, fetchImpl: s } = t, c = new FormData();
114
+ c.append("key", r), c.append("token", i), c.append("version", a), c.append("action", "create"), c.append("properties.type", "image"), c.append("file", e, e.name);
115
+ let l = await s(n, {
116
+ method: "POST",
117
+ body: c,
118
+ signal: o,
119
+ redirect: "error"
120
+ });
121
+ if (!l.ok) {
122
+ let t = await F(l);
123
+ throw Error(`Image upload failed for "${e.name}" (${l.status})${t ? `: ${t}` : "."}`);
124
+ }
125
+ let u = await l.json(), d = typeof u?.url == "string" ? u.url.trim() : "";
126
+ if (!d) throw Error(`Image upload for "${e.name}" did not return a url.`);
127
+ return d;
128
+ }
129
+ async function F(e) {
130
+ try {
131
+ return (await e.text()).trim().slice(0, 200);
132
+ } catch {
133
+ return "";
134
+ }
135
+ }
136
+ //#endregion
137
+ //#region src/utils/ai-prompt/dictation.ts
138
+ function I(e, t = "0.1.0") {
139
+ return `${e.replace(/\/+$/, "")}/${t.replace(/^\/+|\/+$/g, "")}/aidictation`;
140
+ }
141
+ function L(e) {
142
+ let { authKey: t, authToken: n, audioBase64: r, mimeType: i, apiVersion: a = "0.1.0", stream: o = !0, language: s } = e;
143
+ return {
144
+ key: t,
145
+ token: n,
146
+ action: "create",
147
+ version: a,
148
+ properties: {
149
+ audio: r,
150
+ mimetype: i,
151
+ stream: o,
152
+ ...s ? { language: s } : {}
153
+ }
154
+ };
155
+ }
156
+ async function R(e) {
157
+ let t = await e.arrayBuffer(), n = new Uint8Array(t), r = 32768, i = "";
158
+ for (let e = 0; e < n.length; e += r) {
159
+ let t = n.subarray(e, e + r);
160
+ i += String.fromCharCode(...t);
161
+ }
162
+ return btoa(i);
163
+ }
164
+ async function z(e) {
165
+ let { audioBlob: t, mimeType: n, authKey: r, authToken: i, apiUrl: a, apiVersion: o = "0.1.0", language: s, signal: c, onDelta: l, fetchImpl: u = fetch } = e;
166
+ if (!r || !i) throw Error("Voice transcription requires authKey and authToken.");
167
+ if (!t || t.size === 0) throw Error("Voice transcription requires a non-empty audio recording.");
168
+ let d = await R(t), f = I(a, o), p = L({
169
+ authKey: r,
170
+ authToken: i,
171
+ audioBase64: d,
172
+ mimeType: n || t.type || "audio/webm",
173
+ apiVersion: o,
174
+ stream: !0,
175
+ language: s
176
+ }), m = await u(f, {
177
+ method: "POST",
178
+ headers: { "Content-Type": "application/json" },
179
+ mode: "cors",
180
+ redirect: "error",
181
+ body: JSON.stringify(p),
182
+ signal: c
183
+ });
184
+ if (!m.ok) {
185
+ let e = await G(m);
186
+ throw Error(`Voice transcription failed (${m.status})${e ? `: ${e}` : "."}`);
187
+ }
188
+ if (!m.body) throw Error("Voice transcription response body is not readable.");
189
+ await U(m.body, (e) => {
190
+ let t = B(e);
191
+ t && l(t);
192
+ });
193
+ }
194
+ function B(e) {
195
+ return e.type === "text_delta" && typeof e.delta == "string" ? e.delta : typeof e.text_delta == "string" ? e.text_delta : "";
196
+ }
197
+ var V = /^[a-z]+:/i;
198
+ function H(e) {
199
+ let t = e.trim();
200
+ if (!t || t.startsWith(":")) return null;
201
+ let n = t;
202
+ if (n.startsWith("data:")) n = n.slice(5).trimStart();
203
+ else if (V.test(n)) return null;
204
+ return !n || n === "[DONE]" ? null : JSON.parse(n);
205
+ }
206
+ async function U(e, t) {
207
+ let n = e.getReader(), r = new TextDecoder(), i = "";
208
+ try {
209
+ for (;;) {
210
+ let { done: e, value: a } = await n.read();
211
+ if (e) break;
212
+ i += r.decode(a, { stream: !0 });
213
+ let o = i.split(/\r?\n/);
214
+ i = o.pop() ?? "";
215
+ for (let e of o) W(e, t);
216
+ }
217
+ i += r.decode();
218
+ let e = i.trim();
219
+ e && W(e, t);
220
+ } finally {
221
+ n.releaseLock();
222
+ }
223
+ }
224
+ function W(e, t) {
225
+ let n = H(e);
226
+ n && t(n);
227
+ }
228
+ async function G(e) {
229
+ try {
230
+ return (await e.text()).trim().slice(0, 200);
231
+ } catch {
232
+ return "";
233
+ }
234
+ }
235
+ //#endregion
236
+ //#region src/components/ai-interaction-textarea/ai-interaction-textarea.module.scss?inline
237
+ var K = ":host{box-sizing:border-box;display:block}:host .content-wrapper{flex-direction:column;display:flex}:host .content-wrapper.single-line{align-items:stretch}:host .content-wrapper.disabled{opacity:var(--luzmo-ai-interaction-textarea-disabled-opacity,var(--ai-interaction-textarea-disabled-opacity));pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host luzmo-prompt-box{--luzmo-prompt-box-attachments-gap:var(--luzmo-spacing-3,8px);--luzmo-prompt-box-border-radius:var(--ai-interaction-textarea-prompt-box-border-radius);inline-size:100%}:host .attachment-error{color:var(--luzmo-negative-color,#ca221c);font-size:var(--luzmo-font-size-s,12px);margin-block-start:var(--luzmo-spacing-2,4px);line-height:1.4}:host{--ai-interaction-textarea-disabled-opacity:.6;--ai-interaction-textarea-prompt-box-border-radius:var(--luzmo-prompt-box-border-radius,var(--luzmo-border-radius-l,8px))}", q = 3e3, J = 6e4, Y = class extends u {
238
+ constructor(...e) {
239
+ super(...e), this.placeholder = "Type your prompt here...", this.selectedDatasets = [], this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.includePublicDatasets = !1, this.disabled = !1, this.singleLine = !1, this.hideDatasetButton = !1, this.hideDatasetIcons = !1, this.maxVisibleSelectedDatasets = 5, this.selectedAgent = null, this.hideAgents = !1, this.disableDatasetModification = !1, this.hideSelectedDatasets = !1, this.disableColumnMentions = !1, this.isGenerating = !1, this.stoppable = !1, this.value = "", this.retainOnSubmit = !1, this.requireDataset = !1, this.allowImages = !1, this.allowVoiceInput = !1, this.acceptedFileTypes = [], this.apiVersion = "0.1.0", this.fileIcons = {}, this._promptValue = "", this._isPromptValid = !1, this._fieldTriggerOptions = [], this._datasetsFieldConfig = [], this._attachmentError = null, this._isRecording = !1, this._isTranscribing = !1, this._activeFieldRequestId = 0, this._attachmentUploads = /* @__PURE__ */ new Map(), this._pendingAttachmentSync = null, this._attachmentSyncScheduled = !1, this._attachmentErrorClearHandle = 0, this._submitInProgress = !1, this._voiceSessionActive = !1, this._preRecordingValue = "", this._voicePrefix = "", this._voiceSuffix = "", this._streamedTranscript = "", this._transcriptionController = null, this._renderFieldTriggerIcon = (e) => {
240
+ let t = e.data?.datasetInfo;
241
+ return e.header && t ? d`
242
+ <span>
243
+ ${this.hideDatasetIcons ? d`<luzmo-icon .icon=${l} size="s"></luzmo-icon>` : d`
244
+ <luzmo-dataset-icon
245
+ .datasetInfo=${t}
246
+ size="16px"
247
+ app-url=${this.appServer}
248
+ ></luzmo-dataset-icon>
249
+ `}
250
+ </span>
251
+ ` : e.icon ? d`
252
+ <span>
253
+ <luzmo-icon .icon=${e.icon} size="s"></luzmo-icon>
254
+ </span>
255
+ ` : f;
256
+ }, this._handleAttachClick = () => {
257
+ this.openFilePicker();
258
+ }, this._handleAttachmentsChange = (e) => {
259
+ this._pendingAttachmentSync = e.detail?.attachments ?? this.getAttachments(), !this._attachmentSyncScheduled && (this._attachmentSyncScheduled = !0, queueMicrotask(() => {
260
+ if (this._attachmentSyncScheduled = !1, !this.isConnected) {
261
+ this._pendingAttachmentSync = null;
262
+ return;
263
+ }
264
+ let e = this._pendingAttachmentSync ?? this.getAttachments();
265
+ this._pendingAttachmentSync = null, this._syncAttachments(e);
266
+ }));
267
+ }, this._handleVoiceKeydown = (e) => {
268
+ e.key === "Escape" && this._isTranscribing && (e.preventDefault(), e.stopPropagation(), this._cancelVoiceSession());
269
+ }, this._handleRecord = (e) => {
270
+ if (e.stopPropagation(), e.detail?.isRecording) {
271
+ this._captureVoiceInsertPoint(), this._isRecording = !0, this._isTranscribing = !1;
272
+ return;
273
+ }
274
+ this._isRecording = !1;
275
+ }, this._handleRecordCancel = (e) => {
276
+ e.stopPropagation(), this._cancelVoiceSession();
277
+ }, this._handleRecordError = (e) => {
278
+ e.stopPropagation(), this._abortTranscription(), this._resetVoiceSessionState();
279
+ let t = e.detail?.error?.trim() || v("Voice recording failed", { desc: "Error when microphone recording fails in the AI prompt" });
280
+ this._showAttachmentError(t);
281
+ }, this._handleRecordingComplete = (e) => {
282
+ e.stopPropagation();
283
+ let { audioBlob: t, mimeType: n } = e.detail ?? {};
284
+ if (!t) {
285
+ this._resetVoiceSessionState();
286
+ return;
287
+ }
288
+ this._transcribeRecording(t, n || t.type || "audio/webm");
289
+ };
290
+ }
291
+ static {
292
+ this.styles = p(K);
293
+ }
294
+ static {
295
+ this.tagName = "luzmo-ai-interaction-textarea";
296
+ }
297
+ get flagOpendata() {
298
+ return this.includePublicDatasets;
299
+ }
300
+ set flagOpendata(e) {
301
+ this.includePublicDatasets = e;
302
+ }
303
+ get _voiceBusy() {
304
+ return this._isRecording || this._isTranscribing;
305
+ }
306
+ get _buttonDisabled() {
307
+ return this.disabled || this.isGenerating || this._voiceBusy || !this._isPromptValid ? !0 : this.requireDataset && this.selectedDatasets.length === 0 && !this._activeAgent;
308
+ }
309
+ get _activeAgent() {
310
+ return this.hideAgents ? null : this.selectedAgent ?? null;
311
+ }
312
+ get _promptPending() {
313
+ return this.isGenerating || this._isTranscribing;
314
+ }
315
+ get _promptReadonly() {
316
+ return this._voiceBusy;
317
+ }
318
+ get _actionsDisabled() {
319
+ return this.disabled || this.isGenerating || this._voiceBusy;
320
+ }
321
+ get _fieldTriggers() {
322
+ return this.disableColumnMentions ? [] : [{
323
+ key: "@",
324
+ options: this._fieldTriggerOptions,
325
+ highlightSearch: !0,
326
+ iconTemplate: this._renderFieldTriggerIcon
327
+ }];
328
+ }
329
+ connectedCallback() {
330
+ super.connectedCallback(), this._configureBroker(), this._refreshDatasetsFieldConfig(), this.addEventListener("keydown", this._handleVoiceKeydown);
331
+ }
332
+ disconnectedCallback() {
333
+ window.clearTimeout(this._attachmentErrorClearHandle), this._abortAllAttachmentUploads(), this._abortTranscription(), this.removeEventListener("keydown", this._handleVoiceKeydown), super.disconnectedCallback();
334
+ }
335
+ _configureBroker() {
336
+ n.configure({
337
+ authKey: this.authKey,
338
+ authToken: this.authToken,
339
+ apiUrl: this.apiUrl
340
+ });
341
+ }
342
+ _handlePromptInput(e) {
343
+ let t = e.target.value ?? "";
344
+ this._promptValue = t, this._isPromptValid = t.trim().length > 0;
345
+ }
346
+ openFilePicker() {
347
+ this._promptBox?.openFilePicker();
348
+ }
349
+ addFiles(e) {
350
+ return this._promptBox?.addFiles(e) ?? [];
351
+ }
352
+ removeAttachment(e) {
353
+ this._cleanupAttachmentUpload(e), this._promptBox?.removeAttachment(e);
354
+ }
355
+ setAttachmentLoading(e, t) {
356
+ this._promptBox?.setAttachmentLoading(e, t);
357
+ }
358
+ clearAttachments() {
359
+ this._abortAllAttachmentUploads(), this._promptBox?.clearAttachments();
360
+ }
361
+ getAttachments() {
362
+ return this._promptBox?.getAttachments() ?? [];
363
+ }
364
+ getAttachmentUrls(e = this.getAttachments()) {
365
+ return e.map((e) => this._attachmentUploads.get(e.id)?.url).filter((e) => typeof e == "string" && e.length > 0);
366
+ }
367
+ _showAttachmentError(e) {
368
+ this._attachmentError = e, window.clearTimeout(this._attachmentErrorClearHandle), this._attachmentErrorClearHandle = window.setTimeout(() => {
369
+ this._attachmentError = null;
370
+ }, q);
371
+ }
372
+ _cleanupAttachmentUpload(e) {
373
+ this._attachmentUploads.get(e)?.controller?.abort(), this._attachmentUploads.delete(e);
374
+ }
375
+ _abortAllAttachmentUploads() {
376
+ for (let e of this._attachmentUploads.values()) e.controller?.abort();
377
+ this._attachmentUploads.clear();
378
+ }
379
+ async _uploadSingleFile(e, t) {
380
+ let n = "";
381
+ if (typeof this.uploadAttachments == "function") {
382
+ let r = await this.uploadAttachments([e], { signal: t });
383
+ n = Array.isArray(r) ? r[0]?.trim() ?? "" : "";
384
+ } else {
385
+ if (!this.authKey || !this.authToken) throw Error("Image upload requires authKey and authToken.");
386
+ let [r] = await N({
387
+ files: [e],
388
+ authKey: this.authKey,
389
+ authToken: this.authToken,
390
+ apiUrl: this.apiUrl,
391
+ apiVersion: this.apiVersion,
392
+ signal: t
393
+ });
394
+ n = r?.trim() ?? "";
395
+ }
396
+ if (!n) throw Error(`Image upload for "${e.name}" did not return a url.`);
397
+ return A([n]), n;
398
+ }
399
+ _startAttachmentUpload(e) {
400
+ let { id: t, file: n } = e;
401
+ if (!n) {
402
+ this.removeAttachment(t);
403
+ return;
404
+ }
405
+ if (!O(n)) {
406
+ this.removeAttachment(t), this._showAttachmentError(v("Only PNG, JPEG, WebP, and GIF images can be attached.", { desc: "Error when the user attaches an unsupported image type to the AI prompt" }));
407
+ return;
408
+ }
409
+ if (n.size === 0) {
410
+ this.removeAttachment(t), this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
411
+ return;
412
+ }
413
+ if (n.size > 15728640) {
414
+ this.removeAttachment(t), this._showAttachmentError(v("Image is too large. Maximum size is 15 MB.", { desc: "Error when an attached AI prompt image exceeds the 15 MB upload limit" }));
415
+ return;
416
+ }
417
+ this.setAttachmentLoading(t, !0);
418
+ let r = new AbortController(), i = { controller: r };
419
+ this._attachmentUploads.set(t, i);
420
+ let a = window.setTimeout(() => r.abort(), J), o = () => {
421
+ this.removeAttachment(t), this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
422
+ };
423
+ i.promise = (async () => {
424
+ try {
425
+ let e = await this._uploadSingleFile(n, r.signal);
426
+ window.clearTimeout(a);
427
+ let i = this._attachmentUploads.get(t);
428
+ if (!i || i.controller !== r) return;
429
+ i.url = e, i.controller = void 0, i.promise = void 0, this.setAttachmentLoading(t, !1);
430
+ } catch (e) {
431
+ if (window.clearTimeout(a), r.signal.aborted || e?.name === "AbortError") {
432
+ this._attachmentUploads.get(t)?.controller === r && o();
433
+ return;
434
+ }
435
+ o();
436
+ }
437
+ })();
438
+ }
439
+ _syncAttachments(e) {
440
+ let t = new Set(e.map((e) => e.id));
441
+ for (let e of Array.from(this._attachmentUploads.keys())) t.has(e) || this._cleanupAttachmentUpload(e);
442
+ let n = !1;
443
+ for (let t of e) if (!this._attachmentUploads.has(t.id)) {
444
+ if (this._attachmentUploads.size >= 20) {
445
+ n = !0, this._promptBox?.removeAttachment(t.id);
446
+ continue;
447
+ }
448
+ this._startAttachmentUpload(t);
449
+ }
450
+ n && this._showAttachmentError(v(y`You can attach up to ${20} images.`, { desc: "Error when the user tries to attach more images than the AI prompt allows" }));
451
+ }
452
+ async _waitForAttachmentUploads(e) {
453
+ let t = e.map((e) => this._attachmentUploads.get(e.id)?.promise).filter((e) => !!e);
454
+ t.length !== 0 && await Promise.all(t);
455
+ }
456
+ async _submitPrompt(e = this._promptValue, t = []) {
457
+ if (this._promptValue = e, this._isPromptValid = e.trim().length > 0, !(this._buttonDisabled || this._submitInProgress)) {
458
+ this._submitInProgress = !0;
459
+ try {
460
+ let n = e.trim(), r = t.length > 0 ? [...t] : this.getAttachments(), i = r.filter((e) => !!e.file && O(e.file));
461
+ await this._waitForAttachmentUploads(i);
462
+ let a = [];
463
+ for (let e of i) {
464
+ let t = this._attachmentUploads.get(e.id)?.url;
465
+ if (!t) {
466
+ this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
467
+ return;
468
+ }
469
+ a.push(t);
470
+ }
471
+ this.retainOnSubmit || (this._promptValue = "", this._isPromptValid = !1, this._abortAllAttachmentUploads(), this._promptBox?.clear()), this.dispatchEvent(new CustomEvent("prompt-submitted", {
472
+ detail: {
473
+ prompt: n,
474
+ selectedDatasets: this.selectedDatasets,
475
+ selectedAgent: this._activeAgent,
476
+ attachments: r,
477
+ attachmentUrls: a
478
+ },
479
+ bubbles: !0,
480
+ composed: !0
481
+ }));
482
+ } finally {
483
+ this._submitInProgress = !1;
484
+ }
485
+ }
486
+ }
487
+ _handleDatasetSelected(e) {
488
+ let t = e.detail;
489
+ this.selectedDatasets.some((e) => e.id === t.id) || (this.selectedDatasets = [...this.selectedDatasets, t]);
490
+ }
491
+ _handleDatasetRemoved(e) {
492
+ let t = e.detail;
493
+ this.selectedDatasets = this.selectedDatasets.filter((e) => e.id !== t.id);
494
+ }
495
+ _handleAgentSelected(e) {
496
+ this.selectedAgent = e.detail;
497
+ }
498
+ _handleAgentRemoved() {
499
+ this.selectedAgent = null;
500
+ }
501
+ _getLocalizedFieldLabel(e) {
502
+ if (e) return typeof e == "string" ? e : o(e, t());
503
+ }
504
+ _mapColumnToTriggerOption(e, t) {
505
+ return t.id ? {
506
+ label: this._getLocalizedFieldLabel(t.name) || t.id,
507
+ value: `${e}:column:${t.id}`,
508
+ icon: a(t, "s"),
509
+ elementType: "data-field",
510
+ data: {
511
+ datasetId: e,
512
+ columnId: t.id,
513
+ type: t.type,
514
+ subtype: t.subtype
515
+ }
516
+ } : null;
517
+ }
518
+ _mapFormulaToTriggerOption(e, t) {
519
+ return t.id ? {
520
+ label: this._getLocalizedFieldLabel(t.name) || t.id,
521
+ value: `${e}:formula:${t.id}`,
522
+ icon: i.formula[r("s")],
523
+ elementType: "data-field",
524
+ data: {
525
+ datasetId: e,
526
+ formulaId: t.id,
527
+ type: t.type,
528
+ subtype: t.subtype
529
+ }
530
+ } : null;
531
+ }
532
+ _updateFieldTriggerOptionsFromConfig() {
533
+ let e = new Map(this._datasetsFieldConfig.map((e) => [e.id, e])), t = [];
534
+ for (let n of this.selectedDatasets) {
535
+ let r = e.get(n.id), i = [], a = r?.columns?.filter((e) => !e.hidden) ?? [];
536
+ for (let e of a) {
537
+ let t = this._mapColumnToTriggerOption(n.id, e);
538
+ t && i.push(t);
539
+ }
540
+ let o = r?.formulas?.filter((e) => !e.hidden) ?? [];
541
+ for (let e of o) {
542
+ let t = this._mapFormulaToTriggerOption(n.id, e);
543
+ t && i.push(t);
544
+ }
545
+ i.length !== 0 && (t.push({
546
+ label: s(n),
547
+ value: `dataset-header:${n.id}`,
548
+ header: !0,
549
+ data: { datasetInfo: n }
550
+ }), t.push(...i));
551
+ }
552
+ this._fieldTriggerOptions = t;
553
+ }
554
+ async _refreshDatasetsFieldConfig() {
555
+ if (this.disableColumnMentions) {
556
+ this._datasetsFieldConfig = [], this._fieldTriggerOptions = [];
557
+ return;
558
+ }
559
+ let e = [...new Set(this.selectedDatasets.map((e) => e.id).filter(Boolean))];
560
+ if (e.length === 0) {
561
+ this._datasetsFieldConfig = [], this._fieldTriggerOptions = [];
562
+ return;
563
+ }
564
+ let t = ++this._activeFieldRequestId;
565
+ this._updateFieldTriggerOptionsFromConfig();
566
+ try {
567
+ let r = await n.fetchDatasetsWithColumnsAndFormulas(e);
568
+ if (t !== this._activeFieldRequestId) return;
569
+ this._datasetsFieldConfig = r, this._updateFieldTriggerOptionsFromConfig();
570
+ } catch (e) {
571
+ console.error("Error loading dataset fields for prompt triggers:", e), t === this._activeFieldRequestId && (this._datasetsFieldConfig = [], this._updateFieldTriggerOptionsFromConfig());
572
+ }
573
+ }
574
+ _handlePromptSubmit(e) {
575
+ this._submitPrompt(e.detail?.value ?? this._promptValue, e.detail?.attachments ?? []);
576
+ }
577
+ _handlePromptStop(e) {
578
+ if (e.stopPropagation(), this._isTranscribing) {
579
+ this._cancelVoiceSession();
580
+ return;
581
+ }
582
+ this.dispatchEvent(new CustomEvent("prompt-stopped", {
583
+ bubbles: !0,
584
+ composed: !0
585
+ }));
586
+ }
587
+ _getCaretTextOffset() {
588
+ let e = this._promptBox?.shadowRoot;
589
+ if (!e) return this._promptValue.length;
590
+ let t = e.querySelector(".rich-input") ?? e.querySelector("luzmo-text-field");
591
+ if (!t) return this._promptValue.length;
592
+ let n = e.getSelection?.() ?? document.getSelection();
593
+ if (!n || n.rangeCount === 0) return this._promptValue.length;
594
+ let r = n.getRangeAt(0);
595
+ if (!t.contains(r.startContainer)) return this._promptValue.length;
596
+ let i = r.cloneRange();
597
+ return i.selectNodeContents(t), i.setEnd(r.startContainer, r.startOffset), i.toString().length;
598
+ }
599
+ _setPromptText(e) {
600
+ this._promptValue = e, this._isPromptValid = e.trim().length > 0, this._syncControlledValueToPromptBox();
601
+ }
602
+ _captureVoiceInsertPoint() {
603
+ let e = Math.min(Math.max(this._getCaretTextOffset(), 0), this._promptValue.length);
604
+ this._preRecordingValue = this._promptValue, this._voicePrefix = this._promptValue.slice(0, e), this._voiceSuffix = this._promptValue.slice(e), this._streamedTranscript = "", this._voiceSessionActive = !0;
605
+ }
606
+ _applyStreamedTranscript() {
607
+ this._setPromptText(`${this._voicePrefix}${this._streamedTranscript}${this._voiceSuffix}`);
608
+ }
609
+ _resetVoiceSessionState() {
610
+ this._isRecording = !1, this._isTranscribing = !1, this._streamedTranscript = "", this._voicePrefix = "", this._voiceSuffix = "", this._preRecordingValue = "", this._voiceSessionActive = !1;
611
+ }
612
+ _abortTranscription() {
613
+ this._transcriptionController?.abort(), this._transcriptionController = null;
614
+ }
615
+ _cancelVoiceSession() {
616
+ if (!this._voiceSessionActive) {
617
+ this._abortTranscription(), this._resetVoiceSessionState();
618
+ return;
619
+ }
620
+ let e = this._preRecordingValue;
621
+ this._abortTranscription(), this._resetVoiceSessionState(), this._setPromptText(e);
622
+ }
623
+ async _transcribeRecording(e, t) {
624
+ this._abortTranscription();
625
+ let n = new AbortController();
626
+ this._transcriptionController = n, this._isRecording = !1, this._isTranscribing = !0, this._streamedTranscript = "";
627
+ try {
628
+ if (await z({
629
+ audioBlob: e,
630
+ mimeType: t,
631
+ authKey: this.authKey,
632
+ authToken: this.authToken,
633
+ apiUrl: this.apiUrl,
634
+ apiVersion: this.apiVersion,
635
+ signal: n.signal,
636
+ onDelta: (e) => {
637
+ n.signal.aborted || (this._streamedTranscript += e, this._applyStreamedTranscript());
638
+ }
639
+ }), n.signal.aborted) return;
640
+ this._resetVoiceSessionState();
641
+ } catch (e) {
642
+ if (n.signal.aborted) return;
643
+ console.error("Voice transcription failed:", e), this._setPromptText(this._preRecordingValue), this._resetVoiceSessionState(), this._showAttachmentError(v("Failed to transcribe audio", { desc: "Error when AI prompt voice transcription fails" }));
644
+ } finally {
645
+ this._transcriptionController === n && (this._transcriptionController = null);
646
+ }
647
+ }
648
+ _syncControlledValueToPromptBox() {
649
+ let e = this._promptBox;
650
+ if (!e?.allowElements) {
651
+ e && (e.value = this._promptValue);
652
+ return;
653
+ }
654
+ e.segments = this._promptValue ? [{
655
+ type: "text",
656
+ value: this._promptValue
657
+ }] : [];
658
+ }
659
+ willUpdate(e) {
660
+ e.has("value") && (this._promptValue = this.value, this._isPromptValid = this.value.trim().length > 0);
661
+ let t = e.has("authKey") || e.has("authToken") || e.has("apiUrl");
662
+ t && this._configureBroker(), (t || e.has("selectedDatasets") || e.has("disableColumnMentions")) && this._refreshDatasetsFieldConfig();
663
+ }
664
+ updated(e) {
665
+ super.updated(e), e.has("value") && this._syncControlledValueToPromptBox();
666
+ }
667
+ render() {
668
+ return d`
669
+ <div class=${b({
670
+ "content-wrapper": !0,
671
+ disabled: this.disabled,
672
+ "single-line": this.singleLine
673
+ })} aria-busy=${this.isGenerating || this._voiceBusy ? "true" : "false"}>
674
+ <luzmo-prompt-box
675
+ ?single-line=${this.singleLine}
676
+ ?pending=${this._promptPending}
677
+ ?stoppable=${this.stoppable && this.isGenerating || this._isTranscribing}
678
+ ?disabled=${this.disabled}
679
+ ?readonly=${this._promptReadonly}
680
+ ?disable-submit=${this._buttonDisabled}
681
+ ?allow-images=${this.allowImages}
682
+ ?recording=${this.allowVoiceInput}
683
+ .acceptedFileTypes=${this.acceptedFileTypes}
684
+ .fileIcons=${this.fileIcons}
685
+ grows
686
+ allow-elements
687
+ .placeholder=${this.placeholder}
688
+ .value=${this._promptValue}
689
+ .triggers=${this._fieldTriggers}
690
+ @input=${this._handlePromptInput}
691
+ @luzmo-submit=${this._handlePromptSubmit}
692
+ @luzmo-stop=${this._handlePromptStop}
693
+ @luzmo-attachments-change=${this._handleAttachmentsChange}
694
+ @luzmo-record=${this._handleRecord}
695
+ @luzmo-recording-complete=${this._handleRecordingComplete}
696
+ @luzmo-record-cancel=${this._handleRecordCancel}
697
+ @luzmo-record-error=${this._handleRecordError}
698
+ >
699
+ ${this.hideSelectedDatasets || this.hideDatasetButton ? "" : d`
700
+ <luzmo-dataset-selector-row
701
+ slot="top-actions"
702
+ .selectedDatasets=${this.selectedDatasets}
703
+ .selectedAgent=${this.selectedAgent}
704
+ ?hide-agents=${this.hideAgents}
705
+ .maxVisibleSelectedDatasets=${this.maxVisibleSelectedDatasets}
706
+ auth-key=${this.authKey}
707
+ auth-token=${this.authToken}
708
+ api-url=${this.apiUrl}
709
+ app-server=${this.appServer}
710
+ ?include-public-datasets=${this.includePublicDatasets}
711
+ ?hide-dataset-icons=${this.hideDatasetIcons}
712
+ ?disabled=${this._actionsDisabled}
713
+ ?disable-dataset-modification=${this.disableDatasetModification}
714
+ @dataset-selected=${this._handleDatasetSelected}
715
+ @dataset-removed=${this._handleDatasetRemoved}
716
+ @luzmo-agent-selected=${this._handleAgentSelected}
717
+ @luzmo-agent-removed=${this._handleAgentRemoved}
718
+ ></luzmo-dataset-selector-row>
719
+ `}
720
+ ${this.allowImages ? d`
721
+ <luzmo-action-button
722
+ slot="bottom-actions"
723
+ size="m"
724
+ quiet
725
+ ?disabled=${this._actionsDisabled}
726
+ label=${v("Add attachments", { desc: "Accessible label for the AI prompt attachment button" })}
727
+ @click=${this._handleAttachClick}
728
+ >
729
+ <luzmo-icon slot="icon" size="m" .icon=${c}></luzmo-icon>
730
+ </luzmo-action-button>
731
+ ` : f}
732
+ </luzmo-prompt-box>
733
+ ${this._attachmentError ? d`
734
+ <div class="attachment-error" role="alert">${this._attachmentError}</div>
735
+ ` : f}
736
+ </div>
737
+ `;
738
+ }
739
+ };
740
+ //#endregion
741
+ //#region src/components/ai-interaction-textarea/index.ts
742
+ e([m({ type: String })], Y.prototype, "placeholder", void 0), e([m({ type: Array })], Y.prototype, "selectedDatasets", void 0), e([m({
743
+ type: String,
744
+ attribute: "auth-key"
745
+ })], Y.prototype, "authKey", void 0), e([m({
746
+ type: String,
747
+ attribute: "auth-token"
748
+ })], Y.prototype, "authToken", void 0), e([m({
749
+ type: String,
750
+ attribute: "api-url"
751
+ })], Y.prototype, "apiUrl", void 0), e([m({
752
+ type: String,
753
+ attribute: "app-server"
754
+ })], Y.prototype, "appServer", void 0), e([m({
755
+ type: Boolean,
756
+ reflect: !0,
757
+ attribute: "include-public-datasets"
758
+ })], Y.prototype, "includePublicDatasets", void 0), e([m({
759
+ type: Boolean,
760
+ attribute: "flag-opendata"
761
+ })], Y.prototype, "flagOpendata", null), e([m({
762
+ type: Boolean,
763
+ reflect: !0,
764
+ attribute: "disabled"
765
+ })], Y.prototype, "disabled", void 0), e([m({
766
+ type: Boolean,
767
+ attribute: "single-line"
768
+ })], Y.prototype, "singleLine", void 0), e([m({
769
+ type: Boolean,
770
+ attribute: "hide-dataset-button"
771
+ })], Y.prototype, "hideDatasetButton", void 0), e([m({
772
+ type: Boolean,
773
+ attribute: "hide-dataset-icons"
774
+ })], Y.prototype, "hideDatasetIcons", void 0), e([m({
775
+ type: Number,
776
+ reflect: !0,
777
+ useDefault: !0,
778
+ attribute: "max-visible-selected-datasets"
779
+ })], Y.prototype, "maxVisibleSelectedDatasets", void 0), e([m({ attribute: !1 })], Y.prototype, "selectedAgent", void 0), e([m({
780
+ type: Boolean,
781
+ reflect: !0,
782
+ attribute: "hide-agents"
783
+ })], Y.prototype, "hideAgents", void 0), e([m({
784
+ type: Boolean,
785
+ attribute: "disable-dataset-modification"
786
+ })], Y.prototype, "disableDatasetModification", void 0), e([m({
787
+ type: Boolean,
788
+ attribute: "hide-selected-datasets"
789
+ })], Y.prototype, "hideSelectedDatasets", void 0), e([m({
790
+ type: Boolean,
791
+ attribute: "disable-column-mentions"
792
+ })], Y.prototype, "disableColumnMentions", void 0), e([m({
793
+ type: Boolean,
794
+ attribute: "is-generating"
795
+ })], Y.prototype, "isGenerating", void 0), e([m({
796
+ type: Boolean,
797
+ reflect: !0
798
+ })], Y.prototype, "stoppable", void 0), e([m({ type: String })], Y.prototype, "value", void 0), e([m({
799
+ type: Boolean,
800
+ attribute: "retain-on-submit"
801
+ })], Y.prototype, "retainOnSubmit", void 0), e([m({
802
+ type: Boolean,
803
+ attribute: "require-dataset"
804
+ })], Y.prototype, "requireDataset", void 0), e([m({
805
+ type: Boolean,
806
+ reflect: !0,
807
+ attribute: "allow-images"
808
+ })], Y.prototype, "allowImages", void 0), e([m({
809
+ type: Boolean,
810
+ reflect: !0,
811
+ attribute: "allow-voice-input"
812
+ })], Y.prototype, "allowVoiceInput", void 0), e([m({
813
+ type: Array,
814
+ attribute: "accepted-file-types"
815
+ })], Y.prototype, "acceptedFileTypes", void 0), e([m({
816
+ type: String,
817
+ attribute: "api-version"
818
+ })], Y.prototype, "apiVersion", void 0), e([m({ attribute: !1 })], Y.prototype, "uploadAttachments", void 0), e([m({ attribute: !1 })], Y.prototype, "fileIcons", void 0), e([g()], Y.prototype, "_promptValue", void 0), e([g()], Y.prototype, "_isPromptValid", void 0), e([g()], Y.prototype, "_fieldTriggerOptions", void 0), e([g()], Y.prototype, "_datasetsFieldConfig", void 0), e([g()], Y.prototype, "_attachmentError", void 0), e([g()], Y.prototype, "_isRecording", void 0), e([g()], Y.prototype, "_isTranscribing", void 0), e([h("luzmo-prompt-box")], Y.prototype, "_promptBox", void 0), Y = e([_()], Y), customElements.get("luzmo-ai-interaction-textarea") || customElements.define("luzmo-ai-interaction-textarea", Y);
819
+ //#endregion
820
+ export { z as a, S as c, A as d, O as f, I as i, x as l, k as m, R as n, M as o, D as p, L as r, N as s, Y as t, j as u };