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

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 +22 -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-CVxHPPvM.js +4351 -0
  29. package/components/ai-chat-DEVIxsRP.cjs +337 -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 +21 -0
  34. package/components/ai-interaction-textarea/types.d.ts +12 -0
  35. package/components/ai-interaction-textarea-D_Lw29_i.cjs +99 -0
  36. package/components/ai-interaction-textarea-i9SabsmQ.js +821 -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-B8xSL1XU.cjs} +1 -1
  39. package/components/{area-chart-positioning.config-BJK4Q4NL.js → area-chart-positioning.config-C0_dxknc.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-B4UuSMIW.js → bar-chart-positioning.config-B4fazkYv.js} +1 -1
  43. package/components/{bar-chart-positioning.config-BnhZQUtb.cjs → bar-chart-positioning.config-B6A5m0ZR.cjs} +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-BRTs2KqJ.js} +30 -30
  46. package/components/base-BWU343D_.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-CYk5koLu.js → box-plot-positioning.config-BI9F_JjL.js} +1 -1
  49. package/components/{box-plot-positioning.config-DsldCFWm.cjs → box-plot-positioning.config-DVXXjP8U.cjs} +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-C0tGI4fC.cjs} +1 -1
  53. package/components/{bubble-chart-positioning.config-BSDmuPwq.js → bubble-chart-positioning.config-DXhama4z.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-Czlw32Ii.js} +1 -1
  57. package/components/{bullet-chart-positioning.config-BoqQq4g_.cjs → bullet-chart-positioning.config-Dmb_yizO.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-6OT0sZa5.js → choropleth-map-positioning.config-BWJmEGy6.js} +1 -1
  61. package/components/{choropleth-map-positioning.config-C_I3wf8H.cjs → choropleth-map-positioning.config-JIj9p6-n.cjs} +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-D3Ogj0P9.cjs} +1 -1
  65. package/components/{circle-pack-chart-positioning.config-BuuhKB85.js → circle-pack-chart-positioning.config-PhYH_yh8.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-DlWvKl0e.js → circular-gauge-positioning.config-COSdEO1U.js} +1 -1
  69. package/components/{circular-gauge-positioning.config-B_IJzIBn.cjs → circular-gauge-positioning.config-DxfZmoEP.cjs} +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-6OVsL5vU.cjs} +1 -1
  73. package/components/{column-chart-positioning.config-BLacEiY5.js → column-chart-positioning.config-BRYZk4cF.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-BVV0Bq-d.cjs → combination-chart-positioning.config-4qgeM8BL.cjs} +1 -1
  77. package/components/{combination-chart-positioning.config-DxnmzV6O.js → combination-chart-positioning.config-CTj23r8f.js} +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-BUdWeVNm.js} +1 -1
  81. package/components/{conditional-number-positioning.config-DfitbPT6.cjs → conditional-number-positioning.config-Dg67t4VA.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 -8
  90. package/components/data-field-CwC5VH16.js +122 -0
  91. package/components/data-field-DHpgI_wv.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 +21 -0
  97. package/components/data-field-level-8-eOBdl6.cjs +55 -0
  98. package/components/{data-field-yTJb-R63.js → data-field-level-Ben_W9pd.js} +49 -142
  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 -8
  102. package/components/data-field-panel-CiuTVMXF.cjs +87 -0
  103. package/components/{data-field-panel-BWBr1Fog.js → data-field-panel-DppKRagT.js} +7 -5
  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 +21 -0
  108. package/components/data-fields-select/types.d.ts +4 -0
  109. package/components/data-fields-select-DjDeBEj-.cjs +43 -0
  110. package/components/{data-fields-select-Bb1HXwlO.js → data-fields-select-HwMkrPAn.js} +18 -7
  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/{en-CSPDwq2y.cjs → dataset-icon/index.js} +2 -1
  115. package/components/dataset-icon/types.d.ts +11 -0
  116. package/components/dataset-icon-BEq1MNml.js +126 -0
  117. package/components/dataset-icon-tec1Xulw.cjs +64 -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 +21 -0
  122. package/components/dataset-selector-list-BL2uKzCy.cjs +75 -0
  123. package/components/dataset-selector-list-BWavenTF.js +324 -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 +21 -0
  128. package/components/dataset-selector-row-BP4Txybx.cjs +102 -0
  129. package/components/dataset-selector-row-C_O6h4Ir.js +428 -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 +21 -0
  146. package/components/display-settings/types.d.ts +9 -0
  147. package/components/display-settings-Dmvi7XT-.cjs +142 -0
  148. package/components/display-settings-V5AltVPN.js +316 -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 +21 -0
  153. package/components/{display-settings-binning-CaE87u3h.js → display-settings-binning-BNofVnZE.js} +18 -19
  154. package/components/{display-settings-binning-CjvB12ds.cjs → display-settings-binning-C1Fvc8tj.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 +21 -0
  159. package/components/{display-settings-datetime-5rq55OAn.js → display-settings-datetime-CUR1w0k5.js} +70 -71
  160. package/components/{display-settings-datetime-B23w7aH4.cjs → display-settings-datetime-OiFwicTh.cjs} +9 -9
  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 +21 -0
  165. package/components/display-settings-grand-totals-Bi1OcC7p.cjs +44 -0
  166. package/components/{display-settings-grand-totals-DnKvI34n.js → display-settings-grand-totals-CgzHbK1K.js} +18 -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 +21 -0
  172. package/components/display-settings-numeric-BQ_vQrnj.cjs +190 -0
  173. package/components/{display-settings-numeric-B8MCRz-V.js → display-settings-numeric-CUWkiQtR.js} +80 -81
  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/{en-GB-CJR66Ci_.cjs → display-settings-period-over-period/index.js} +2 -1
  179. package/components/display-settings-period-over-period-Br08rz7r.cjs +227 -0
  180. package/components/{display-settings-period-over-period-W3dPK8LR.js → display-settings-period-over-period-C7cfSyIL.js} +86 -86
  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-B4JdERSl.cjs} +1 -1
  183. package/components/{donut-chart-positioning.config-fGckMun2.js → donut-chart-positioning.config-CWGYZUec.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-US-CSPDwq2y.cjs → en-US-q_Ruzags.cjs} +1 -1
  192. package/components/en-q_Ruzags.cjs +20 -0
  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-B7lBArog.cjs → evolution-number-positioning.config-CqQeAPbN.cjs} +1 -1
  197. package/components/{evolution-number-positioning.config-CVIysE4H.js → evolution-number-positioning.config-DZ7SVvue.js} +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 +21 -0
  203. package/components/filter-expression-picker-3xcrAACt.js +434 -0
  204. package/components/filter-expression-picker-BrtXMSBv.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 +21 -0
  209. package/components/filter-item-CH5sjhJy.js +793 -0
  210. package/components/filter-item-C_h4rbuL.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 +21 -0
  216. package/components/filter-parameter-picker/types.d.ts +4 -0
  217. package/components/filter-parameter-picker-CB3uIoZ2.js +372 -0
  218. package/components/filter-parameter-picker-DJKHZxlT.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 +21 -0
  223. package/components/filter-value-picker-CW9vKpn1.cjs +69 -0
  224. package/components/filter-value-picker-DeO855hf.js +170 -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 +21 -0
  229. package/components/filter-value-picker-datetime-B0lLveRY.js +160 -0
  230. package/components/filter-value-picker-datetime-DapMI9Jr.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 +21 -0
  235. package/components/filter-value-picker-hierarchy-B2xSmjFz.js +316 -0
  236. package/components/filter-value-picker-hierarchy-C9mJ8PH7.cjs +54 -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 +21 -0
  241. package/components/filter-value-picker-numeric-CayroCHe.js +237 -0
  242. package/components/filter-value-picker-numeric-DE5h7dZN.cjs +54 -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 -9
  247. package/components/filters/types.d.ts +2 -0
  248. package/components/filters-CGqIDlPK.cjs +199 -0
  249. package/components/filters-D5oua2IU.js +927 -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 -8
  254. package/components/{formula-BFvxm8kj.cjs → formula-8YhND5Y7.cjs} +13 -13
  255. package/components/{formula-CdAkO1za.js → formula-B4lrmE5g.js} +16 -14
  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-CBvQJGHq.cjs +215 -0
  264. package/components/{formula-codemirror-jVC8mjQ3.js → formula-codemirror-CVlF_Qyh.js} +23 -20
  265. package/components/formula-display-store-BJvPYYsO.cjs +20 -0
  266. package/components/{formula-display-store-CLAt_fik.js → formula-display-store-D9MWhreP.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 -10
  273. package/components/{formula-editor-Bd9F-xdZ.js → formula-editor-BGT-QcuH.js} +148 -352
  274. package/components/formula-editor-De9Zj-9c.cjs +224 -0
  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 +21 -0
  279. package/components/formula-field--gNwmTRk.cjs +20 -0
  280. package/components/formula-field-CQcnyXOD.js +41 -0
  281. package/components/formula-input-base-BdKh5O_E.js +236 -0
  282. package/components/formula-input-base-CZih19kC.cjs +49 -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-BGi7ixet.js → funnel-chart-positioning.config-B6I8z0_N.js} +1 -1
  287. package/components/{funnel-chart-positioning.config-zEqgz9Wz.cjs → funnel-chart-positioning.config-BhK0EStG.cjs} +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-C1WNuUBe.js +52 -0
  294. package/components/groupings-CvXvU4Fr.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-3dxU6qwG.cjs → heat-map-positioning.config-B9Njs88T.cjs} +1 -1
  297. package/components/{heat-map-positioning.config-CK2DBngE.js → heat-map-positioning.config-DAAt2hIR.js} +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-CbscS7w1.cjs → heat-table-positioning.config-Cn7Ouv5g.cjs} +1 -1
  301. package/components/{heat-table-positioning.config-C55D814C.js → heat-table-positioning.config-D6ChanEH.js} +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-BqfRSZbU.cjs} +1 -1
  305. package/components/{hexbin-map-positioning.config-9nnyZGzx.js → hexbin-map-positioning.config-CNId41q1.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 +68 -6790
  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 +21 -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-CzIT8K3I.js +723 -0
  319. package/components/interactive-viz-item-DUyE1QEJ.cjs +249 -0
  320. package/components/item-grid/index.cjs +1 -1
  321. package/components/item-grid/index.js +1 -8
  322. package/components/{item-grid-D4xYhMOD.js → item-grid-BaW6EZ2a.js} +26 -24
  323. package/components/{item-grid-C2ZvM04g.cjs → item-grid-BcgBGxIq.cjs} +22 -22
  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 -8
  327. package/components/item-option-8PQMxg8v.cjs +269 -0
  328. package/components/item-option-action-button-group/index.cjs +1 -1
  329. package/components/item-option-action-button-group/index.js +1 -8
  330. package/components/{item-option-action-button-group-D_g6aoYd.js → item-option-action-button-group-BcZTtikv.js} +3 -2
  331. package/components/item-option-action-button-group-zZp49Gbz.cjs +53 -0
  332. package/components/item-option-base/item-option-base.d.ts +23 -0
  333. package/components/{item-option-base-CxQhI83u.js → item-option-base-DJ9FLqmu.js} +2 -2
  334. package/components/item-option-base-K2pn6CrX.cjs +56 -0
  335. package/components/item-option-color-palette-picker/index.cjs +1 -1
  336. package/components/item-option-color-palette-picker/index.js +1 -8
  337. package/components/item-option-color-palette-picker-B9JlHGA8.cjs +40 -0
  338. package/components/{item-option-color-palette-picker-CRDFqhWx.js → item-option-color-palette-picker-DJX3MxcT.js} +3 -2
  339. package/components/item-option-color-picker/index.cjs +1 -1
  340. package/components/item-option-color-picker/index.js +1 -8
  341. package/components/{item-option-color-picker-BlkpWjQh.js → item-option-color-picker-Dgz-VK03.js} +3 -2
  342. package/components/{item-option-color-picker-BJgpBbDp.cjs → item-option-color-picker-ayYko5QB.cjs} +2 -2
  343. package/components/item-option-color-range/index.cjs +1 -1
  344. package/components/item-option-color-range/index.js +1 -8
  345. package/components/item-option-color-range-Cc8thG33.cjs +98 -0
  346. package/components/{item-option-color-range-3Wp-Ywz6.js → item-option-color-range-DibSfro5.js} +3 -2
  347. package/components/{item-option-28BU_oaD.js → item-option-em2Lp2zJ.js} +54 -53
  348. package/components/item-option-guidelines/index.cjs +1 -1
  349. package/components/item-option-guidelines/index.js +1 -8
  350. package/components/{item-option-guidelines-CQ_yb7Ar.js → item-option-guidelines-DXUcdAel.js} +5 -3
  351. package/components/item-option-guidelines-h5-NrAYD.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 -8
  354. package/components/{item-option-multi-language-field-BApbe3pp.cjs → item-option-multi-language-field-BlnTZCFJ.cjs} +2 -2
  355. package/components/{item-option-multi-language-field-aLIpQWiQ.js → item-option-multi-language-field-Bqo9OeK4.js} +3 -2
  356. package/components/item-option-number-field/index.cjs +1 -1
  357. package/components/item-option-number-field/index.js +1 -8
  358. package/components/{item-option-number-field-Bv5eGoxB.js → item-option-number-field-BZHhCuuj.js} +3 -2
  359. package/components/{item-option-number-field-B72ZYOAX.cjs → item-option-number-field-D9vv1Q-O.cjs} +2 -2
  360. package/components/item-option-panel/index.cjs +1 -1
  361. package/components/item-option-panel/index.js +1 -8
  362. package/components/{item-option-panel-A8Jxzwml.cjs → item-option-panel-Bo3sC4u5.cjs} +2 -2
  363. package/components/{item-option-panel-kRH7GbzA.js → item-option-panel-DvgDiRPH.js} +5 -4
  364. package/components/item-option-picker/index.cjs +1 -1
  365. package/components/item-option-picker/index.js +1 -8
  366. package/components/{item-option-picker-DOFJ1CnI.cjs → item-option-picker-D5xhm36O.cjs} +2 -2
  367. package/components/{item-option-picker-BuUtW6gD.js → item-option-picker-cy0KK-ev.js} +3 -2
  368. package/components/item-option-position-picker/index.cjs +1 -1
  369. package/components/item-option-position-picker/index.js +1 -8
  370. package/components/item-option-position-picker-BJ35DWBL.cjs +32 -0
  371. package/components/{item-option-position-picker-mf3JQu5q.js → item-option-position-picker-BbYP1Jnh.js} +3 -2
  372. package/components/item-option-positions-number-field/index.cjs +1 -1
  373. package/components/item-option-positions-number-field/index.js +1 -8
  374. package/components/{item-option-positions-number-field-BIBWpagB.js → item-option-positions-number-field-DO4z_aKu.js} +3 -2
  375. package/components/item-option-positions-number-field-DzYQoSpk.cjs +49 -0
  376. package/components/item-option-radio-button-group/index.cjs +1 -1
  377. package/components/item-option-radio-button-group/index.js +1 -8
  378. package/components/{item-option-radio-button-group-B2HYZguB.cjs → item-option-radio-button-group-CF1gttvP.cjs} +2 -2
  379. package/components/{item-option-radio-button-group-CFnfadK2.js → item-option-radio-button-group-DX7wCv8J.js} +3 -2
  380. package/components/item-option-slider/index.cjs +1 -1
  381. package/components/item-option-slider/index.js +1 -8
  382. package/components/item-option-slider-DeGmGyZE.cjs +33 -0
  383. package/components/{item-option-slider-CH1l0Ena.js → item-option-slider-z1CwX5mE.js} +3 -2
  384. package/components/item-option-switch/index.cjs +1 -1
  385. package/components/item-option-switch/index.js +1 -8
  386. package/components/{item-option-switch-hUFRE9MC.cjs → item-option-switch-D3jq7jIt.cjs} +2 -2
  387. package/components/{item-option-switch-rqu2ePVU.js → item-option-switch-D41KguKr.js} +3 -2
  388. package/components/item-option-text-field/index.cjs +1 -1
  389. package/components/item-option-text-field/index.js +1 -8
  390. package/components/{item-option-text-field-CBFMmuK2.js → item-option-text-field-CnFcApMz.js} +3 -2
  391. package/components/{item-option-text-field-C6CocZ5q.cjs → item-option-text-field-cXy2sx5N.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 -8
  396. package/components/item-slot-drop-CtEMLkmt.cjs +91 -0
  397. package/components/{item-slot-drop-DDGclwbP.js → item-slot-drop-YAKpKb2-.js} +27 -21
  398. package/components/item-slot-drop-panel/index.cjs +1 -1
  399. package/components/item-slot-drop-panel/index.js +1 -8
  400. package/components/{item-slot-drop-panel-Cj6vbgJl.js → item-slot-drop-panel-JZtBKPJu.js} +50 -48
  401. package/components/item-slot-drop-panel-aom0ugTz.cjs +57 -0
  402. package/components/item-slot-picker/index.cjs +1 -1
  403. package/components/item-slot-picker/index.js +1 -8
  404. package/components/{item-slot-picker-CjQH3MU-.js → item-slot-picker-D-FvHowO.js} +45 -39
  405. package/components/item-slot-picker-D8h7QXGD.cjs +174 -0
  406. package/components/item-slot-picker-panel/index.cjs +1 -1
  407. package/components/item-slot-picker-panel/index.js +1 -8
  408. package/components/item-slot-picker-panel-C98lpd4g.cjs +81 -0
  409. package/components/{item-slot-picker-panel-7IFk5QFC.js → item-slot-picker-panel-g4JDw1M_.js} +17 -15
  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-DuXn1WD-.cjs → line-chart-positioning.config-BZUWqKWz.cjs} +1 -1
  413. package/components/{line-chart-positioning.config-D5WVvIZT.js → line-chart-positioning.config-C3VzNcws.js} +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-D2L7cvCP.js → marker-map-positioning.config-BlvgG6yX.js} +1 -1
  421. package/components/{marker-map-positioning.config-DfN39a-Q.cjs → marker-map-positioning.config-CGF74mJI.cjs} +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-B__cD7Wo.cjs} +1 -1
  427. package/components/{ohlc-chart-positioning.config-C53dCwaT.js → ohlc-chart-positioning.config-BdbEgiry.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-BqdmUJLk.cjs} +1 -1
  431. package/components/{parallel-coordinates-plot-positioning.config-DhoVstsb.js → parallel-coordinates-plot-positioning.config-DNu5qhNR.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-Cnai84AH.js → pivot-table-positioning.config-CUfnXIHj.js} +1 -1
  437. package/components/{pivot-table-positioning.config-Bq9BoQWM.cjs → pivot-table-positioning.config-DDpgWCZ7.cjs} +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-D5AKNCPb.cjs → pyramid-chart-positioning.config-B2TxqefZ.cjs} +1 -1
  443. package/components/{pyramid-chart-positioning.config-BeJ5R_Ln.js → pyramid-chart-positioning.config-CZBcrHEG.js} +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-BEIwrzhb.cjs → radar-chart-positioning.config-ddvHAHJF.cjs} +1 -1
  447. package/components/{radar-chart-positioning.config-DsfUBq4B.js → radar-chart-positioning.config-j1WOeFnM.js} +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-ChBYybF1.js} +1 -1
  453. package/components/{route-map-positioning.config-4Wyvj5OH.cjs → route-map-positioning.config-xBhhxtYu.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-DtN7dARd.js → sankey-diagram-positioning.config-CudMit_S.js} +1 -1
  457. package/components/{sankey-diagram-positioning.config-CZ-zVCQo.cjs → sankey-diagram-positioning.config-tZu-dDV-.cjs} +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-BoJEGmgK.js} +1 -1
  461. package/components/{scatter-plot-positioning.config-CfAf_FUW.cjs → scatter-plot-positioning.config-DQOtIhJi.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-BLGeCJys.js → slicer-filter-positioning.config-CY4jw7_A.js} +1 -1
  469. package/components/{slicer-filter-positioning.config-CU86hJi6.cjs → slicer-filter-positioning.config-CZY2fvwt.cjs} +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/slot-menu/index.cjs +20 -0
  474. package/components/slot-menu/index.d.ts +10 -0
  475. package/components/slot-menu/index.js +21 -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-Bl6PrLIN.cjs +71 -0
  479. package/components/slot-menu-hIK2_qR3.js +429 -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 +21 -0
  483. package/components/slot-menu-list/slot-menu-list.d.ts +47 -0
  484. package/components/slot-menu-list-BgwZS32Q.js +348 -0
  485. package/components/slot-menu-list-BhgD2zt4.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-AeMlNxSj.cjs → speedometer-chart-positioning.config-D3CWnYTb.cjs} +1 -1
  492. package/components/{speedometer-chart-positioning.config-Dam0wOqp.js → speedometer-chart-positioning.config-cBMverSU.js} +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-i7ntIkN5.cjs} +1 -1
  496. package/components/{spike-map-positioning.config-BVzewpfi.js → spike-map-positioning.config-vuoKutnj.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-BVBdHZvL.cjs → strip-plot-positioning.config-C2H-io7l.cjs} +1 -1
  500. package/components/{strip-plot-positioning.config-OHm3LEo3.js → strip-plot-positioning.config-_-ElbWoV.js} +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-DQmuKm-N.cjs → sunburst-chart-positioning.config-MB8z_ZfG.cjs} +1 -1
  504. package/components/{sunburst-chart-positioning.config-BynNbbxB.js → sunburst-chart-positioning.config-yzTnv1BQ.js} +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-BPkEp4Pj.js} +1 -1
  508. package/components/{symbol-map-positioning.config-D6rgxXTO.cjs → symbol-map-positioning.config-L11e_Z3x.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/tokens-BWMfo_w4.cjs +20 -0
  513. package/components/tokens-Ov1pCR4Y.js +29 -0
  514. package/components/{treemap-chart-options.config-6l3HzikF.js → treemap-chart-options.config-BzOCEWog.js} +1 -1
  515. package/components/{treemap-chart-positioning.config-ZaoIngRn.cjs → treemap-chart-positioning.config-40_GcY2u.cjs} +1 -1
  516. package/components/{treemap-chart-positioning.config-BB1-rZKL.js → treemap-chart-positioning.config-CitiBQB2.js} +1 -1
  517. package/components/{treemap-chart-slots.config-CHkGtIOa.js → treemap-chart-slots.config-DRcafVU-.js} +1 -1
  518. package/components/utils/base.cjs +1 -1
  519. package/components/utils/base.js +2 -2
  520. package/components/utils/store.js +1 -1
  521. package/components/utils-SzKvwZ9-.cjs +20 -0
  522. package/components/{utils-ZoJ1cp2P.js → utils-_8LPCz9-.js} +54 -53
  523. package/components/utils.cjs +1 -1
  524. package/components/utils.js +9 -6
  525. package/components/{venn-diagram-options.config-Wi0dQsAu.js → venn-diagram-options.config-BMlduwIp.js} +1 -1
  526. package/components/{venn-diagram-positioning.config-C9ARqREi.js → venn-diagram-positioning.config-A28suR_R.js} +1 -1
  527. package/components/{venn-diagram-positioning.config-Cb10sStL.cjs → venn-diagram-positioning.config-C7bkb2Qv.cjs} +1 -1
  528. package/components/{venn-diagram-slots.config-DY04aeYK.js → venn-diagram-slots.config-CMDndPVi.js} +1 -1
  529. package/components/{video-options.config-B6pQUPB7.js → video-options.config-DdfSTJEJ.js} +1 -1
  530. package/components/{video-slots.config-C-kXGzo3.js → video-slots.config-Utnn0DBW.js} +1 -1
  531. package/components/viz-item-menu/index.cjs +20 -0
  532. package/components/viz-item-menu/index.d.ts +8 -0
  533. package/components/viz-item-menu/index.js +21 -0
  534. package/components/viz-item-menu/types.d.ts +9 -0
  535. package/components/viz-item-menu/viz-item-menu.d.ts +85 -0
  536. package/components/viz-item-menu-DsIJZRgm.js +203 -0
  537. package/components/viz-item-menu-DtHlgOqt.cjs +63 -0
  538. package/components/{wordcloud-chart-options.config-CpMtpG7q.js → wordcloud-chart-options.config-y9Z5I_ZN.js} +1 -1
  539. package/components/{wordcloud-chart-positioning.config-DC89_DYc.cjs → wordcloud-chart-positioning.config-BQFzFNko.cjs} +1 -1
  540. package/components/{wordcloud-chart-positioning.config-D59ntNtd.js → wordcloud-chart-positioning.config-Dk13J1zq.js} +1 -1
  541. package/components/{wordcloud-chart-slots.config-Cc5F92Tv.js → wordcloud-chart-slots.config-CvabtgbP.js} +1 -1
  542. package/custom-elements.json +18790 -6833
  543. package/deprecated-react/components/ai-chat.component.cjs +1 -0
  544. package/deprecated-react/components/ai-interaction-textarea.component.cjs +1 -0
  545. package/deprecated-react/components/data-field-level.component.cjs +1 -0
  546. package/deprecated-react/components/data-fields-select.component.cjs +1 -0
  547. package/deprecated-react/components/dataset-icon.component.cjs +1 -0
  548. package/deprecated-react/components/dataset-selector-list.component.cjs +1 -0
  549. package/deprecated-react/components/dataset-selector-row.component.cjs +1 -0
  550. package/deprecated-react/components/display-settings-binning.component.cjs +1 -0
  551. package/deprecated-react/components/display-settings-datetime.component.cjs +1 -0
  552. package/deprecated-react/components/display-settings-grand-totals.component.cjs +1 -0
  553. package/deprecated-react/components/display-settings-numeric.component.cjs +1 -0
  554. package/deprecated-react/components/display-settings-period-over-period.component.cjs +1 -0
  555. package/deprecated-react/components/display-settings.component.cjs +1 -0
  556. package/deprecated-react/components/filter-expression-picker.component.cjs +1 -0
  557. package/deprecated-react/components/filter-item.component.cjs +1 -0
  558. package/deprecated-react/components/filter-parameter-picker.component.cjs +1 -0
  559. package/deprecated-react/components/filter-value-picker-datetime.component.cjs +1 -0
  560. package/deprecated-react/components/filter-value-picker-hierarchy.component.cjs +1 -0
  561. package/deprecated-react/components/filter-value-picker-numeric.component.cjs +1 -0
  562. package/deprecated-react/components/filter-value-picker.component.cjs +1 -0
  563. package/deprecated-react/components/formula-field.component.cjs +1 -0
  564. package/deprecated-react/components/interactive-viz-item.component.cjs +1 -0
  565. package/deprecated-react/components/slot-menu-list.component.cjs +1 -0
  566. package/deprecated-react/components/slot-menu.component.cjs +1 -0
  567. package/deprecated-react/components/viz-item-menu.component.cjs +1 -0
  568. package/index.d.ts +25 -0
  569. package/package.json +127 -2
  570. package/react/components/ai-chat.component.ts +45 -0
  571. package/react/components/ai-interaction-textarea.component.ts +30 -0
  572. package/react/components/data-field-level.component.ts +30 -0
  573. package/react/components/data-fields-select.component.ts +27 -0
  574. package/react/components/dataset-icon.component.ts +22 -0
  575. package/react/components/dataset-selector-list.component.ts +27 -0
  576. package/react/components/dataset-selector-row.component.ts +36 -0
  577. package/react/components/display-settings-binning.component.ts +27 -0
  578. package/react/components/display-settings-datetime.component.ts +27 -0
  579. package/react/components/display-settings-grand-totals.component.ts +27 -0
  580. package/react/components/display-settings-numeric.component.ts +27 -0
  581. package/react/components/display-settings-period-over-period.component.ts +27 -0
  582. package/react/components/display-settings.component.ts +33 -0
  583. package/react/components/filter-expression-picker.component.ts +27 -0
  584. package/react/components/filter-item.component.ts +27 -0
  585. package/react/components/filter-parameter-picker.component.ts +33 -0
  586. package/react/components/filter-value-picker-datetime.component.ts +27 -0
  587. package/react/components/filter-value-picker-hierarchy.component.ts +27 -0
  588. package/react/components/filter-value-picker-numeric.component.ts +27 -0
  589. package/react/components/filter-value-picker.component.ts +27 -0
  590. package/react/components/filters.component.ts +1 -1
  591. package/react/components/formula-field.component.ts +30 -0
  592. package/react/components/interactive-viz-item.component.ts +33 -0
  593. package/react/components/slot-menu-list.component.ts +27 -0
  594. package/react/components/slot-menu.component.ts +42 -0
  595. package/react/components/viz-item-menu.component.ts +33 -0
  596. package/react/esm/components/ai-chat.component.d.ts +24 -0
  597. package/react/esm/components/ai-chat.component.js +29 -0
  598. package/react/esm/components/ai-interaction-textarea.component.d.ts +14 -0
  599. package/react/esm/components/ai-interaction-textarea.component.js +19 -0
  600. package/react/esm/components/data-field-level.component.d.ts +14 -0
  601. package/react/esm/components/data-field-level.component.js +19 -0
  602. package/react/esm/components/data-fields-select.component.d.ts +12 -0
  603. package/react/esm/components/data-fields-select.component.js +17 -0
  604. package/react/esm/components/dataset-icon.component.d.ts +8 -0
  605. package/react/esm/components/dataset-icon.component.js +13 -0
  606. package/react/esm/components/dataset-selector-list.component.d.ts +12 -0
  607. package/react/esm/components/dataset-selector-list.component.js +17 -0
  608. package/react/esm/components/dataset-selector-row.component.d.ts +18 -0
  609. package/react/esm/components/dataset-selector-row.component.js +23 -0
  610. package/react/esm/components/display-settings-binning.component.d.ts +12 -0
  611. package/react/esm/components/display-settings-binning.component.js +17 -0
  612. package/react/esm/components/display-settings-datetime.component.d.ts +12 -0
  613. package/react/esm/components/display-settings-datetime.component.js +17 -0
  614. package/react/esm/components/display-settings-grand-totals.component.d.ts +12 -0
  615. package/react/esm/components/display-settings-grand-totals.component.js +17 -0
  616. package/react/esm/components/display-settings-numeric.component.d.ts +12 -0
  617. package/react/esm/components/display-settings-numeric.component.js +17 -0
  618. package/react/esm/components/display-settings-period-over-period.component.d.ts +12 -0
  619. package/react/esm/components/display-settings-period-over-period.component.js +17 -0
  620. package/react/esm/components/display-settings.component.d.ts +16 -0
  621. package/react/esm/components/display-settings.component.js +21 -0
  622. package/react/esm/components/filter-expression-picker.component.d.ts +12 -0
  623. package/react/esm/components/filter-expression-picker.component.js +17 -0
  624. package/react/esm/components/filter-item.component.d.ts +12 -0
  625. package/react/esm/components/filter-item.component.js +17 -0
  626. package/react/esm/components/filter-parameter-picker.component.d.ts +16 -0
  627. package/react/esm/components/filter-parameter-picker.component.js +21 -0
  628. package/react/esm/components/filter-value-picker-datetime.component.d.ts +12 -0
  629. package/react/esm/components/filter-value-picker-datetime.component.js +17 -0
  630. package/react/esm/components/filter-value-picker-hierarchy.component.d.ts +12 -0
  631. package/react/esm/components/filter-value-picker-hierarchy.component.js +17 -0
  632. package/react/esm/components/filter-value-picker-numeric.component.d.ts +12 -0
  633. package/react/esm/components/filter-value-picker-numeric.component.js +17 -0
  634. package/react/esm/components/filter-value-picker.component.d.ts +12 -0
  635. package/react/esm/components/filter-value-picker.component.js +17 -0
  636. package/react/esm/components/filters.component.d.ts +1 -1
  637. package/react/esm/components/filters.component.js +1 -1
  638. package/react/esm/components/formula-field.component.d.ts +14 -0
  639. package/react/esm/components/formula-field.component.js +19 -0
  640. package/react/esm/components/interactive-viz-item.component.d.ts +16 -0
  641. package/react/esm/components/interactive-viz-item.component.js +21 -0
  642. package/react/esm/components/slot-menu-list.component.d.ts +12 -0
  643. package/react/esm/components/slot-menu-list.component.js +17 -0
  644. package/react/esm/components/slot-menu.component.d.ts +22 -0
  645. package/react/esm/components/slot-menu.component.js +27 -0
  646. package/react/esm/components/viz-item-menu.component.d.ts +16 -0
  647. package/react/esm/components/viz-item-menu.component.js +21 -0
  648. package/react/esm/index.d.ts +27 -2
  649. package/react/esm/index.js +102 -2
  650. package/react/index.ts +102 -2
  651. package/react/luzmo-stub.d.ts +140 -0
  652. package/react/package.json +2 -2
  653. package/storybook/register-components.d.ts +57 -0
  654. package/styles/tokens.d.ts +1 -0
  655. package/types/agent.types.d.ts +4 -0
  656. package/types/ai-chat.types.d.ts +104 -0
  657. package/types/data-field-events.types.d.ts +7 -0
  658. package/types.d.ts +9 -0
  659. package/utils/create-lazy-loader.d.ts +5 -0
  660. package/utils/filters/filter-text.d.ts +64 -0
  661. package/utils/filters/index.d.ts +1 -0
  662. package/utils/filters/presentation.d.ts +4 -0
  663. package/utils/filters/tests/filter-text.test.d.ts +1 -0
  664. package/utils/formatter/localized-template.d.ts +4 -0
  665. package/utils/formatter/tests/localized-template.test.d.ts +1 -0
  666. package/utils/tests/create-lazy-loader.test.d.ts +1 -0
  667. package/components/base-BtRS5vm6.cjs +0 -20
  668. package/components/data-field-fvlYzmfX.cjs +0 -89
  669. package/components/data-field-panel-Yrqn4L79.cjs +0 -87
  670. package/components/data-fields-select-Cor6sfzL.cjs +0 -41
  671. package/components/de-CdZnQbKI.cjs +0 -20
  672. package/components/display-settings-grand-totals-BZ0nlLhu.cjs +0 -44
  673. package/components/display-settings-numeric-DoScgfRy.cjs +0 -190
  674. package/components/display-settings-period-over-period-C-hp0ZKN.cjs +0 -227
  675. package/components/es-7RD7O4q3.cjs +0 -20
  676. package/components/filters-DndJU6D5.js +0 -2454
  677. package/components/filters-oB9qOk_M.cjs +0 -443
  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,821 @@
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 "./tokens-Ov1pCR4Y.js";
21
+ import { t as e } from "./decorate-DyMgX_Uh.js";
22
+ import { t } from "./set-locale-ydAPif-7.js";
23
+ import { t as n } from "./data-broker-B0uUO5er.js";
24
+ import { i as r, r as i, t as a } from "./calculate-data-field-icon-DrSg1PuD.js";
25
+ import { t as o } from "./localize-BT7REYBY.js";
26
+ import { t as s } from "./get-dataset-name-DLjeChNS.js";
27
+ import "./dataset-icon-BEq1MNml.js";
28
+ import "./dataset-selector-row-C_O6h4Ir.js";
29
+ import { luzmoPaperclip as c, luzmoPlugin as l } from "@luzmo/icons";
30
+ import "@luzmo/lucero/icon";
31
+ import { LitElement as u, html as d, nothing as f, unsafeCSS as p } from "lit";
32
+ import { property as m, query as h, state as g } from "lit/decorators.js";
33
+ import { localized as _, msg as v, str as y } from "@lit/localize";
34
+ import "@luzmo/lucero/action-button";
35
+ import "@luzmo/lucero/prompt-box";
36
+ import { classMap as b } from "lit/directives/class-map.js";
37
+ //#region src/utils/ai-prompt/attachments.ts
38
+ var x = 20, S = [
39
+ "image/png",
40
+ "image/jpeg",
41
+ "image/webp",
42
+ "image/gif"
43
+ ], C = new Set(S), w = {
44
+ png: "image/png",
45
+ jpg: "image/jpeg",
46
+ jpeg: "image/jpeg",
47
+ webp: "image/webp",
48
+ gif: "image/gif"
49
+ };
50
+ function T(e) {
51
+ try {
52
+ return new URL(e).pathname.match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase();
53
+ } catch {
54
+ return;
55
+ }
56
+ }
57
+ function E(e) {
58
+ try {
59
+ let t = new URL(e);
60
+ return t.protocol === "http:" || t.protocol === "https:";
61
+ } catch {
62
+ return !1;
63
+ }
64
+ }
65
+ function D(e) {
66
+ return C.has(e.toLowerCase());
67
+ }
68
+ function O(e) {
69
+ if (e.type) return D(e.type);
70
+ let t = e.name.split(".").pop()?.toLowerCase();
71
+ return !!(t && w[t]);
72
+ }
73
+ function k(e) {
74
+ if (!E(e)) return !1;
75
+ let t = T(e);
76
+ return !!(t && w[t]);
77
+ }
78
+ function A(e) {
79
+ if (e.length > 20) throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);
80
+ for (let t of e) {
81
+ if (!t.trim()) throw Error("Image input URL must be a non-empty string.");
82
+ if (!E(t)) throw Error(`Image input URL must be an absolute http(s) URL. Received "${t}".`);
83
+ let e = T(t);
84
+ if (e && !w[e]) throw Error(`Unsupported image input URL "${t}". Only PNG, JPEG, WebP, and GIF image URLs are accepted.`);
85
+ }
86
+ }
87
+ function j(e) {
88
+ if (e.length > 20) throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);
89
+ for (let t of e) {
90
+ if (!O(t)) throw Error(`Unsupported image attachment "${t.name}" (${t.type || "unknown type"}). Only PNG, JPEG, WebP, and GIF images are accepted.`);
91
+ if (t.size === 0) throw Error(`Image "${t.name}" is empty.`);
92
+ if (t.size > 15728640) throw Error(`Image "${t.name}" is too large. Maximum size is 15 MB.`);
93
+ }
94
+ }
95
+ //#endregion
96
+ //#region src/utils/ai-prompt/image-upload.ts
97
+ function M(e, t = "0.1.0") {
98
+ return `${e.replace(/\/+$/, "")}/${t.replace(/^\/+|\/+$/g, "")}/upload`;
99
+ }
100
+ function N(e) {
101
+ let { files: t, authKey: n, authToken: r, apiUrl: i, apiVersion: a = "0.1.0", signal: o, fetchImpl: s = fetch } = e;
102
+ if (!n || !r) return Promise.reject(/* @__PURE__ */ Error("Image upload requires authKey and authToken."));
103
+ let c = M(i, a), l = a.replace(/^\/+|\/+$/g, "") || "0.1.0";
104
+ return Promise.all(t.map((e) => P(e, {
105
+ url: c,
106
+ authKey: n,
107
+ authToken: r,
108
+ version: l,
109
+ signal: o,
110
+ fetchImpl: s
111
+ })));
112
+ }
113
+ async function P(e, t) {
114
+ let { url: n, authKey: r, authToken: i, version: a, signal: o, fetchImpl: s } = t, c = new FormData();
115
+ 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);
116
+ let l = await s(n, {
117
+ method: "POST",
118
+ body: c,
119
+ signal: o,
120
+ redirect: "error"
121
+ });
122
+ if (!l.ok) {
123
+ let t = await F(l);
124
+ throw Error(`Image upload failed for "${e.name}" (${l.status})${t ? `: ${t}` : "."}`);
125
+ }
126
+ let u = await l.json(), d = typeof u?.url == "string" ? u.url.trim() : "";
127
+ if (!d) throw Error(`Image upload for "${e.name}" did not return a url.`);
128
+ return d;
129
+ }
130
+ async function F(e) {
131
+ try {
132
+ return (await e.text()).trim().slice(0, 200);
133
+ } catch {
134
+ return "";
135
+ }
136
+ }
137
+ //#endregion
138
+ //#region src/utils/ai-prompt/dictation.ts
139
+ function I(e, t = "0.1.0") {
140
+ return `${e.replace(/\/+$/, "")}/${t.replace(/^\/+|\/+$/g, "")}/aidictation`;
141
+ }
142
+ function L(e) {
143
+ let { authKey: t, authToken: n, audioBase64: r, mimeType: i, apiVersion: a = "0.1.0", stream: o = !0, language: s } = e;
144
+ return {
145
+ key: t,
146
+ token: n,
147
+ action: "create",
148
+ version: a,
149
+ properties: {
150
+ audio: r,
151
+ mimetype: i,
152
+ stream: o,
153
+ ...s ? { language: s } : {}
154
+ }
155
+ };
156
+ }
157
+ async function R(e) {
158
+ let t = await e.arrayBuffer(), n = new Uint8Array(t), r = 32768, i = "";
159
+ for (let e = 0; e < n.length; e += r) {
160
+ let t = n.subarray(e, e + r);
161
+ i += String.fromCharCode(...t);
162
+ }
163
+ return btoa(i);
164
+ }
165
+ async function z(e) {
166
+ 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;
167
+ if (!r || !i) throw Error("Voice transcription requires authKey and authToken.");
168
+ if (!t || t.size === 0) throw Error("Voice transcription requires a non-empty audio recording.");
169
+ let d = await R(t), f = I(a, o), p = L({
170
+ authKey: r,
171
+ authToken: i,
172
+ audioBase64: d,
173
+ mimeType: n || t.type || "audio/webm",
174
+ apiVersion: o,
175
+ stream: !0,
176
+ language: s
177
+ }), m = await u(f, {
178
+ method: "POST",
179
+ headers: { "Content-Type": "application/json" },
180
+ mode: "cors",
181
+ redirect: "error",
182
+ body: JSON.stringify(p),
183
+ signal: c
184
+ });
185
+ if (!m.ok) {
186
+ let e = await G(m);
187
+ throw Error(`Voice transcription failed (${m.status})${e ? `: ${e}` : "."}`);
188
+ }
189
+ if (!m.body) throw Error("Voice transcription response body is not readable.");
190
+ await U(m.body, (e) => {
191
+ let t = B(e);
192
+ t && l(t);
193
+ });
194
+ }
195
+ function B(e) {
196
+ return e.type === "text_delta" && typeof e.delta == "string" ? e.delta : typeof e.text_delta == "string" ? e.text_delta : "";
197
+ }
198
+ var V = /^[a-z]+:/i;
199
+ function H(e) {
200
+ let t = e.trim();
201
+ if (!t || t.startsWith(":")) return null;
202
+ let n = t;
203
+ if (n.startsWith("data:")) n = n.slice(5).trimStart();
204
+ else if (V.test(n)) return null;
205
+ return !n || n === "[DONE]" ? null : JSON.parse(n);
206
+ }
207
+ async function U(e, t) {
208
+ let n = e.getReader(), r = new TextDecoder(), i = "";
209
+ try {
210
+ for (;;) {
211
+ let { done: e, value: a } = await n.read();
212
+ if (e) break;
213
+ i += r.decode(a, { stream: !0 });
214
+ let o = i.split(/\r?\n/);
215
+ i = o.pop() ?? "";
216
+ for (let e of o) W(e, t);
217
+ }
218
+ i += r.decode();
219
+ let e = i.trim();
220
+ e && W(e, t);
221
+ } finally {
222
+ n.releaseLock();
223
+ }
224
+ }
225
+ function W(e, t) {
226
+ let n = H(e);
227
+ n && t(n);
228
+ }
229
+ async function G(e) {
230
+ try {
231
+ return (await e.text()).trim().slice(0, 200);
232
+ } catch {
233
+ return "";
234
+ }
235
+ }
236
+ //#endregion
237
+ //#region src/components/ai-interaction-textarea/ai-interaction-textarea.module.scss?inline
238
+ 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 {
239
+ constructor(...e) {
240
+ 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) => {
241
+ let t = e.data?.datasetInfo;
242
+ return e.header && t ? d`
243
+ <span>
244
+ ${this.hideDatasetIcons ? d`<luzmo-icon .icon=${l} size="s"></luzmo-icon>` : d`
245
+ <luzmo-dataset-icon
246
+ .datasetInfo=${t}
247
+ size="16px"
248
+ app-url=${this.appServer}
249
+ ></luzmo-dataset-icon>
250
+ `}
251
+ </span>
252
+ ` : e.icon ? d`
253
+ <span>
254
+ <luzmo-icon .icon=${e.icon} size="s"></luzmo-icon>
255
+ </span>
256
+ ` : f;
257
+ }, this._handleAttachClick = () => {
258
+ this.openFilePicker();
259
+ }, this._handleAttachmentsChange = (e) => {
260
+ this._pendingAttachmentSync = e.detail?.attachments ?? this.getAttachments(), !this._attachmentSyncScheduled && (this._attachmentSyncScheduled = !0, queueMicrotask(() => {
261
+ if (this._attachmentSyncScheduled = !1, !this.isConnected) {
262
+ this._pendingAttachmentSync = null;
263
+ return;
264
+ }
265
+ let e = this._pendingAttachmentSync ?? this.getAttachments();
266
+ this._pendingAttachmentSync = null, this._syncAttachments(e);
267
+ }));
268
+ }, this._handleVoiceKeydown = (e) => {
269
+ e.key === "Escape" && this._isTranscribing && (e.preventDefault(), e.stopPropagation(), this._cancelVoiceSession());
270
+ }, this._handleRecord = (e) => {
271
+ if (e.stopPropagation(), e.detail?.isRecording) {
272
+ this._captureVoiceInsertPoint(), this._isRecording = !0, this._isTranscribing = !1;
273
+ return;
274
+ }
275
+ this._isRecording = !1;
276
+ }, this._handleRecordCancel = (e) => {
277
+ e.stopPropagation(), this._cancelVoiceSession();
278
+ }, this._handleRecordError = (e) => {
279
+ e.stopPropagation(), this._abortTranscription(), this._resetVoiceSessionState();
280
+ let t = e.detail?.error?.trim() || v("Voice recording failed", { desc: "Error when microphone recording fails in the AI prompt" });
281
+ this._showAttachmentError(t);
282
+ }, this._handleRecordingComplete = (e) => {
283
+ e.stopPropagation();
284
+ let { audioBlob: t, mimeType: n } = e.detail ?? {};
285
+ if (!t) {
286
+ this._resetVoiceSessionState();
287
+ return;
288
+ }
289
+ this._transcribeRecording(t, n || t.type || "audio/webm");
290
+ };
291
+ }
292
+ static {
293
+ this.styles = p(K);
294
+ }
295
+ static {
296
+ this.tagName = "luzmo-ai-interaction-textarea";
297
+ }
298
+ get flagOpendata() {
299
+ return this.includePublicDatasets;
300
+ }
301
+ set flagOpendata(e) {
302
+ this.includePublicDatasets = e;
303
+ }
304
+ get _voiceBusy() {
305
+ return this._isRecording || this._isTranscribing;
306
+ }
307
+ get _buttonDisabled() {
308
+ return this.disabled || this.isGenerating || this._voiceBusy || !this._isPromptValid ? !0 : this.requireDataset && this.selectedDatasets.length === 0 && !this._activeAgent;
309
+ }
310
+ get _activeAgent() {
311
+ return this.hideAgents ? null : this.selectedAgent ?? null;
312
+ }
313
+ get _promptPending() {
314
+ return this.isGenerating || this._isTranscribing;
315
+ }
316
+ get _promptReadonly() {
317
+ return this._voiceBusy;
318
+ }
319
+ get _actionsDisabled() {
320
+ return this.disabled || this.isGenerating || this._voiceBusy;
321
+ }
322
+ get _fieldTriggers() {
323
+ return this.disableColumnMentions ? [] : [{
324
+ key: "@",
325
+ options: this._fieldTriggerOptions,
326
+ highlightSearch: !0,
327
+ iconTemplate: this._renderFieldTriggerIcon
328
+ }];
329
+ }
330
+ connectedCallback() {
331
+ super.connectedCallback(), this._configureBroker(), this._refreshDatasetsFieldConfig(), this.addEventListener("keydown", this._handleVoiceKeydown);
332
+ }
333
+ disconnectedCallback() {
334
+ window.clearTimeout(this._attachmentErrorClearHandle), this._abortAllAttachmentUploads(), this._abortTranscription(), this.removeEventListener("keydown", this._handleVoiceKeydown), super.disconnectedCallback();
335
+ }
336
+ _configureBroker() {
337
+ n.configure({
338
+ authKey: this.authKey,
339
+ authToken: this.authToken,
340
+ apiUrl: this.apiUrl
341
+ });
342
+ }
343
+ _handlePromptInput(e) {
344
+ let t = e.target.value ?? "";
345
+ this._promptValue = t, this._isPromptValid = t.trim().length > 0;
346
+ }
347
+ openFilePicker() {
348
+ this._promptBox?.openFilePicker();
349
+ }
350
+ addFiles(e) {
351
+ return this._promptBox?.addFiles(e) ?? [];
352
+ }
353
+ removeAttachment(e) {
354
+ this._cleanupAttachmentUpload(e), this._promptBox?.removeAttachment(e);
355
+ }
356
+ setAttachmentLoading(e, t) {
357
+ this._promptBox?.setAttachmentLoading(e, t);
358
+ }
359
+ clearAttachments() {
360
+ this._abortAllAttachmentUploads(), this._promptBox?.clearAttachments();
361
+ }
362
+ getAttachments() {
363
+ return this._promptBox?.getAttachments() ?? [];
364
+ }
365
+ getAttachmentUrls(e = this.getAttachments()) {
366
+ return e.map((e) => this._attachmentUploads.get(e.id)?.url).filter((e) => typeof e == "string" && e.length > 0);
367
+ }
368
+ _showAttachmentError(e) {
369
+ this._attachmentError = e, window.clearTimeout(this._attachmentErrorClearHandle), this._attachmentErrorClearHandle = window.setTimeout(() => {
370
+ this._attachmentError = null;
371
+ }, q);
372
+ }
373
+ _cleanupAttachmentUpload(e) {
374
+ this._attachmentUploads.get(e)?.controller?.abort(), this._attachmentUploads.delete(e);
375
+ }
376
+ _abortAllAttachmentUploads() {
377
+ for (let e of this._attachmentUploads.values()) e.controller?.abort();
378
+ this._attachmentUploads.clear();
379
+ }
380
+ async _uploadSingleFile(e, t) {
381
+ let n = "";
382
+ if (typeof this.uploadAttachments == "function") {
383
+ let r = await this.uploadAttachments([e], { signal: t });
384
+ n = Array.isArray(r) ? r[0]?.trim() ?? "" : "";
385
+ } else {
386
+ if (!this.authKey || !this.authToken) throw Error("Image upload requires authKey and authToken.");
387
+ let [r] = await N({
388
+ files: [e],
389
+ authKey: this.authKey,
390
+ authToken: this.authToken,
391
+ apiUrl: this.apiUrl,
392
+ apiVersion: this.apiVersion,
393
+ signal: t
394
+ });
395
+ n = r?.trim() ?? "";
396
+ }
397
+ if (!n) throw Error(`Image upload for "${e.name}" did not return a url.`);
398
+ return A([n]), n;
399
+ }
400
+ _startAttachmentUpload(e) {
401
+ let { id: t, file: n } = e;
402
+ if (!n) {
403
+ this.removeAttachment(t);
404
+ return;
405
+ }
406
+ if (!O(n)) {
407
+ 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" }));
408
+ return;
409
+ }
410
+ if (n.size === 0) {
411
+ this.removeAttachment(t), this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
412
+ return;
413
+ }
414
+ if (n.size > 15728640) {
415
+ 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" }));
416
+ return;
417
+ }
418
+ this.setAttachmentLoading(t, !0);
419
+ let r = new AbortController(), i = { controller: r };
420
+ this._attachmentUploads.set(t, i);
421
+ let a = window.setTimeout(() => r.abort(), J), o = () => {
422
+ this.removeAttachment(t), this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
423
+ };
424
+ i.promise = (async () => {
425
+ try {
426
+ let e = await this._uploadSingleFile(n, r.signal);
427
+ window.clearTimeout(a);
428
+ let i = this._attachmentUploads.get(t);
429
+ if (!i || i.controller !== r) return;
430
+ i.url = e, i.controller = void 0, i.promise = void 0, this.setAttachmentLoading(t, !1);
431
+ } catch (e) {
432
+ if (window.clearTimeout(a), r.signal.aborted || e?.name === "AbortError") {
433
+ this._attachmentUploads.get(t)?.controller === r && o();
434
+ return;
435
+ }
436
+ o();
437
+ }
438
+ })();
439
+ }
440
+ _syncAttachments(e) {
441
+ let t = new Set(e.map((e) => e.id));
442
+ for (let e of Array.from(this._attachmentUploads.keys())) t.has(e) || this._cleanupAttachmentUpload(e);
443
+ let n = !1;
444
+ for (let t of e) if (!this._attachmentUploads.has(t.id)) {
445
+ if (this._attachmentUploads.size >= 20) {
446
+ n = !0, this._promptBox?.removeAttachment(t.id);
447
+ continue;
448
+ }
449
+ this._startAttachmentUpload(t);
450
+ }
451
+ 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" }));
452
+ }
453
+ async _waitForAttachmentUploads(e) {
454
+ let t = e.map((e) => this._attachmentUploads.get(e.id)?.promise).filter((e) => !!e);
455
+ t.length !== 0 && await Promise.all(t);
456
+ }
457
+ async _submitPrompt(e = this._promptValue, t = []) {
458
+ if (this._promptValue = e, this._isPromptValid = e.trim().length > 0, !(this._buttonDisabled || this._submitInProgress)) {
459
+ this._submitInProgress = !0;
460
+ try {
461
+ let n = e.trim(), r = t.length > 0 ? [...t] : this.getAttachments(), i = r.filter((e) => !!e.file && O(e.file));
462
+ await this._waitForAttachmentUploads(i);
463
+ let a = [];
464
+ for (let e of i) {
465
+ let t = this._attachmentUploads.get(e.id)?.url;
466
+ if (!t) {
467
+ this._showAttachmentError(v("Failed to attach image", { desc: "Error when an AI prompt image upload fails" }));
468
+ return;
469
+ }
470
+ a.push(t);
471
+ }
472
+ this.retainOnSubmit || (this._promptValue = "", this._isPromptValid = !1, this._abortAllAttachmentUploads(), this._promptBox?.clear()), this.dispatchEvent(new CustomEvent("prompt-submitted", {
473
+ detail: {
474
+ prompt: n,
475
+ selectedDatasets: this.selectedDatasets,
476
+ selectedAgent: this._activeAgent,
477
+ attachments: r,
478
+ attachmentUrls: a
479
+ },
480
+ bubbles: !0,
481
+ composed: !0
482
+ }));
483
+ } finally {
484
+ this._submitInProgress = !1;
485
+ }
486
+ }
487
+ }
488
+ _handleDatasetSelected(e) {
489
+ let t = e.detail;
490
+ this.selectedDatasets.some((e) => e.id === t.id) || (this.selectedDatasets = [...this.selectedDatasets, t]);
491
+ }
492
+ _handleDatasetRemoved(e) {
493
+ let t = e.detail;
494
+ this.selectedDatasets = this.selectedDatasets.filter((e) => e.id !== t.id);
495
+ }
496
+ _handleAgentSelected(e) {
497
+ this.selectedAgent = e.detail;
498
+ }
499
+ _handleAgentRemoved() {
500
+ this.selectedAgent = null;
501
+ }
502
+ _getLocalizedFieldLabel(e) {
503
+ if (e) return typeof e == "string" ? e : o(e, t());
504
+ }
505
+ _mapColumnToTriggerOption(e, t) {
506
+ return t.id ? {
507
+ label: this._getLocalizedFieldLabel(t.name) || t.id,
508
+ value: `${e}:column:${t.id}`,
509
+ icon: a(t, "s"),
510
+ elementType: "data-field",
511
+ data: {
512
+ datasetId: e,
513
+ columnId: t.id,
514
+ type: t.type,
515
+ subtype: t.subtype
516
+ }
517
+ } : null;
518
+ }
519
+ _mapFormulaToTriggerOption(e, t) {
520
+ return t.id ? {
521
+ label: this._getLocalizedFieldLabel(t.name) || t.id,
522
+ value: `${e}:formula:${t.id}`,
523
+ icon: i.formula[r("s")],
524
+ elementType: "data-field",
525
+ data: {
526
+ datasetId: e,
527
+ formulaId: t.id,
528
+ type: t.type,
529
+ subtype: t.subtype
530
+ }
531
+ } : null;
532
+ }
533
+ _updateFieldTriggerOptionsFromConfig() {
534
+ let e = new Map(this._datasetsFieldConfig.map((e) => [e.id, e])), t = [];
535
+ for (let n of this.selectedDatasets) {
536
+ let r = e.get(n.id), i = [], a = r?.columns?.filter((e) => !e.hidden) ?? [];
537
+ for (let e of a) {
538
+ let t = this._mapColumnToTriggerOption(n.id, e);
539
+ t && i.push(t);
540
+ }
541
+ let o = r?.formulas?.filter((e) => !e.hidden) ?? [];
542
+ for (let e of o) {
543
+ let t = this._mapFormulaToTriggerOption(n.id, e);
544
+ t && i.push(t);
545
+ }
546
+ i.length !== 0 && (t.push({
547
+ label: s(n),
548
+ value: `dataset-header:${n.id}`,
549
+ header: !0,
550
+ data: { datasetInfo: n }
551
+ }), t.push(...i));
552
+ }
553
+ this._fieldTriggerOptions = t;
554
+ }
555
+ async _refreshDatasetsFieldConfig() {
556
+ if (this.disableColumnMentions) {
557
+ this._datasetsFieldConfig = [], this._fieldTriggerOptions = [];
558
+ return;
559
+ }
560
+ let e = [...new Set(this.selectedDatasets.map((e) => e.id).filter(Boolean))];
561
+ if (e.length === 0) {
562
+ this._datasetsFieldConfig = [], this._fieldTriggerOptions = [];
563
+ return;
564
+ }
565
+ let t = ++this._activeFieldRequestId;
566
+ this._updateFieldTriggerOptionsFromConfig();
567
+ try {
568
+ let r = await n.fetchDatasetsWithColumnsAndFormulas(e);
569
+ if (t !== this._activeFieldRequestId) return;
570
+ this._datasetsFieldConfig = r, this._updateFieldTriggerOptionsFromConfig();
571
+ } catch (e) {
572
+ console.error("Error loading dataset fields for prompt triggers:", e), t === this._activeFieldRequestId && (this._datasetsFieldConfig = [], this._updateFieldTriggerOptionsFromConfig());
573
+ }
574
+ }
575
+ _handlePromptSubmit(e) {
576
+ this._submitPrompt(e.detail?.value ?? this._promptValue, e.detail?.attachments ?? []);
577
+ }
578
+ _handlePromptStop(e) {
579
+ if (e.stopPropagation(), this._isTranscribing) {
580
+ this._cancelVoiceSession();
581
+ return;
582
+ }
583
+ this.dispatchEvent(new CustomEvent("prompt-stopped", {
584
+ bubbles: !0,
585
+ composed: !0
586
+ }));
587
+ }
588
+ _getCaretTextOffset() {
589
+ let e = this._promptBox?.shadowRoot;
590
+ if (!e) return this._promptValue.length;
591
+ let t = e.querySelector(".rich-input") ?? e.querySelector("luzmo-text-field");
592
+ if (!t) return this._promptValue.length;
593
+ let n = e.getSelection?.() ?? document.getSelection();
594
+ if (!n || n.rangeCount === 0) return this._promptValue.length;
595
+ let r = n.getRangeAt(0);
596
+ if (!t.contains(r.startContainer)) return this._promptValue.length;
597
+ let i = r.cloneRange();
598
+ return i.selectNodeContents(t), i.setEnd(r.startContainer, r.startOffset), i.toString().length;
599
+ }
600
+ _setPromptText(e) {
601
+ this._promptValue = e, this._isPromptValid = e.trim().length > 0, this._syncControlledValueToPromptBox();
602
+ }
603
+ _captureVoiceInsertPoint() {
604
+ let e = Math.min(Math.max(this._getCaretTextOffset(), 0), this._promptValue.length);
605
+ this._preRecordingValue = this._promptValue, this._voicePrefix = this._promptValue.slice(0, e), this._voiceSuffix = this._promptValue.slice(e), this._streamedTranscript = "", this._voiceSessionActive = !0;
606
+ }
607
+ _applyStreamedTranscript() {
608
+ this._setPromptText(`${this._voicePrefix}${this._streamedTranscript}${this._voiceSuffix}`);
609
+ }
610
+ _resetVoiceSessionState() {
611
+ this._isRecording = !1, this._isTranscribing = !1, this._streamedTranscript = "", this._voicePrefix = "", this._voiceSuffix = "", this._preRecordingValue = "", this._voiceSessionActive = !1;
612
+ }
613
+ _abortTranscription() {
614
+ this._transcriptionController?.abort(), this._transcriptionController = null;
615
+ }
616
+ _cancelVoiceSession() {
617
+ if (!this._voiceSessionActive) {
618
+ this._abortTranscription(), this._resetVoiceSessionState();
619
+ return;
620
+ }
621
+ let e = this._preRecordingValue;
622
+ this._abortTranscription(), this._resetVoiceSessionState(), this._setPromptText(e);
623
+ }
624
+ async _transcribeRecording(e, t) {
625
+ this._abortTranscription();
626
+ let n = new AbortController();
627
+ this._transcriptionController = n, this._isRecording = !1, this._isTranscribing = !0, this._streamedTranscript = "";
628
+ try {
629
+ if (await z({
630
+ audioBlob: e,
631
+ mimeType: t,
632
+ authKey: this.authKey,
633
+ authToken: this.authToken,
634
+ apiUrl: this.apiUrl,
635
+ apiVersion: this.apiVersion,
636
+ signal: n.signal,
637
+ onDelta: (e) => {
638
+ n.signal.aborted || (this._streamedTranscript += e, this._applyStreamedTranscript());
639
+ }
640
+ }), n.signal.aborted) return;
641
+ this._resetVoiceSessionState();
642
+ } catch (e) {
643
+ if (n.signal.aborted) return;
644
+ 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" }));
645
+ } finally {
646
+ this._transcriptionController === n && (this._transcriptionController = null);
647
+ }
648
+ }
649
+ _syncControlledValueToPromptBox() {
650
+ let e = this._promptBox;
651
+ if (!e?.allowElements) {
652
+ e && (e.value = this._promptValue);
653
+ return;
654
+ }
655
+ e.segments = this._promptValue ? [{
656
+ type: "text",
657
+ value: this._promptValue
658
+ }] : [];
659
+ }
660
+ willUpdate(e) {
661
+ e.has("value") && (this._promptValue = this.value, this._isPromptValid = this.value.trim().length > 0);
662
+ let t = e.has("authKey") || e.has("authToken") || e.has("apiUrl");
663
+ t && this._configureBroker(), (t || e.has("selectedDatasets") || e.has("disableColumnMentions")) && this._refreshDatasetsFieldConfig();
664
+ }
665
+ updated(e) {
666
+ super.updated(e), e.has("value") && this._syncControlledValueToPromptBox();
667
+ }
668
+ render() {
669
+ return d`
670
+ <div class=${b({
671
+ "content-wrapper": !0,
672
+ disabled: this.disabled,
673
+ "single-line": this.singleLine
674
+ })} aria-busy=${this.isGenerating || this._voiceBusy ? "true" : "false"}>
675
+ <luzmo-prompt-box
676
+ ?single-line=${this.singleLine}
677
+ ?pending=${this._promptPending}
678
+ ?stoppable=${this.stoppable && this.isGenerating || this._isTranscribing}
679
+ ?disabled=${this.disabled}
680
+ ?readonly=${this._promptReadonly}
681
+ ?disable-submit=${this._buttonDisabled}
682
+ ?allow-images=${this.allowImages}
683
+ ?recording=${this.allowVoiceInput}
684
+ .acceptedFileTypes=${this.acceptedFileTypes}
685
+ .fileIcons=${this.fileIcons}
686
+ grows
687
+ allow-elements
688
+ .placeholder=${this.placeholder}
689
+ .value=${this._promptValue}
690
+ .triggers=${this._fieldTriggers}
691
+ @input=${this._handlePromptInput}
692
+ @luzmo-submit=${this._handlePromptSubmit}
693
+ @luzmo-stop=${this._handlePromptStop}
694
+ @luzmo-attachments-change=${this._handleAttachmentsChange}
695
+ @luzmo-record=${this._handleRecord}
696
+ @luzmo-recording-complete=${this._handleRecordingComplete}
697
+ @luzmo-record-cancel=${this._handleRecordCancel}
698
+ @luzmo-record-error=${this._handleRecordError}
699
+ >
700
+ ${this.hideSelectedDatasets || this.hideDatasetButton ? "" : d`
701
+ <luzmo-dataset-selector-row
702
+ slot="top-actions"
703
+ .selectedDatasets=${this.selectedDatasets}
704
+ .selectedAgent=${this.selectedAgent}
705
+ ?hide-agents=${this.hideAgents}
706
+ .maxVisibleSelectedDatasets=${this.maxVisibleSelectedDatasets}
707
+ auth-key=${this.authKey}
708
+ auth-token=${this.authToken}
709
+ api-url=${this.apiUrl}
710
+ app-server=${this.appServer}
711
+ ?include-public-datasets=${this.includePublicDatasets}
712
+ ?hide-dataset-icons=${this.hideDatasetIcons}
713
+ ?disabled=${this._actionsDisabled}
714
+ ?disable-dataset-modification=${this.disableDatasetModification}
715
+ @dataset-selected=${this._handleDatasetSelected}
716
+ @dataset-removed=${this._handleDatasetRemoved}
717
+ @luzmo-agent-selected=${this._handleAgentSelected}
718
+ @luzmo-agent-removed=${this._handleAgentRemoved}
719
+ ></luzmo-dataset-selector-row>
720
+ `}
721
+ ${this.allowImages ? d`
722
+ <luzmo-action-button
723
+ slot="bottom-actions"
724
+ size="m"
725
+ quiet
726
+ ?disabled=${this._actionsDisabled}
727
+ label=${v("Add attachments", { desc: "Accessible label for the AI prompt attachment button" })}
728
+ @click=${this._handleAttachClick}
729
+ >
730
+ <luzmo-icon slot="icon" size="m" .icon=${c}></luzmo-icon>
731
+ </luzmo-action-button>
732
+ ` : f}
733
+ </luzmo-prompt-box>
734
+ ${this._attachmentError ? d`
735
+ <div class="attachment-error" role="alert">${this._attachmentError}</div>
736
+ ` : f}
737
+ </div>
738
+ `;
739
+ }
740
+ };
741
+ //#endregion
742
+ //#region src/components/ai-interaction-textarea/index.ts
743
+ e([m({ type: String })], Y.prototype, "placeholder", void 0), e([m({ type: Array })], Y.prototype, "selectedDatasets", void 0), e([m({
744
+ type: String,
745
+ attribute: "auth-key"
746
+ })], Y.prototype, "authKey", void 0), e([m({
747
+ type: String,
748
+ attribute: "auth-token"
749
+ })], Y.prototype, "authToken", void 0), e([m({
750
+ type: String,
751
+ attribute: "api-url"
752
+ })], Y.prototype, "apiUrl", void 0), e([m({
753
+ type: String,
754
+ attribute: "app-server"
755
+ })], Y.prototype, "appServer", void 0), e([m({
756
+ type: Boolean,
757
+ reflect: !0,
758
+ attribute: "include-public-datasets"
759
+ })], Y.prototype, "includePublicDatasets", void 0), e([m({
760
+ type: Boolean,
761
+ attribute: "flag-opendata"
762
+ })], Y.prototype, "flagOpendata", null), e([m({
763
+ type: Boolean,
764
+ reflect: !0,
765
+ attribute: "disabled"
766
+ })], Y.prototype, "disabled", void 0), e([m({
767
+ type: Boolean,
768
+ attribute: "single-line"
769
+ })], Y.prototype, "singleLine", void 0), e([m({
770
+ type: Boolean,
771
+ attribute: "hide-dataset-button"
772
+ })], Y.prototype, "hideDatasetButton", void 0), e([m({
773
+ type: Boolean,
774
+ attribute: "hide-dataset-icons"
775
+ })], Y.prototype, "hideDatasetIcons", void 0), e([m({
776
+ type: Number,
777
+ reflect: !0,
778
+ useDefault: !0,
779
+ attribute: "max-visible-selected-datasets"
780
+ })], Y.prototype, "maxVisibleSelectedDatasets", void 0), e([m({ attribute: !1 })], Y.prototype, "selectedAgent", void 0), e([m({
781
+ type: Boolean,
782
+ reflect: !0,
783
+ attribute: "hide-agents"
784
+ })], Y.prototype, "hideAgents", void 0), e([m({
785
+ type: Boolean,
786
+ attribute: "disable-dataset-modification"
787
+ })], Y.prototype, "disableDatasetModification", void 0), e([m({
788
+ type: Boolean,
789
+ attribute: "hide-selected-datasets"
790
+ })], Y.prototype, "hideSelectedDatasets", void 0), e([m({
791
+ type: Boolean,
792
+ attribute: "disable-column-mentions"
793
+ })], Y.prototype, "disableColumnMentions", void 0), e([m({
794
+ type: Boolean,
795
+ attribute: "is-generating"
796
+ })], Y.prototype, "isGenerating", void 0), e([m({
797
+ type: Boolean,
798
+ reflect: !0
799
+ })], Y.prototype, "stoppable", void 0), e([m({ type: String })], Y.prototype, "value", void 0), e([m({
800
+ type: Boolean,
801
+ attribute: "retain-on-submit"
802
+ })], Y.prototype, "retainOnSubmit", void 0), e([m({
803
+ type: Boolean,
804
+ attribute: "require-dataset"
805
+ })], Y.prototype, "requireDataset", void 0), e([m({
806
+ type: Boolean,
807
+ reflect: !0,
808
+ attribute: "allow-images"
809
+ })], Y.prototype, "allowImages", void 0), e([m({
810
+ type: Boolean,
811
+ reflect: !0,
812
+ attribute: "allow-voice-input"
813
+ })], Y.prototype, "allowVoiceInput", void 0), e([m({
814
+ type: Array,
815
+ attribute: "accepted-file-types"
816
+ })], Y.prototype, "acceptedFileTypes", void 0), e([m({
817
+ type: String,
818
+ attribute: "api-version"
819
+ })], 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);
820
+ //#endregion
821
+ 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 };