@luzmo/analytics-components-kit 1.0.8-beta.4 → 1.0.8-beta.5

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 (393) hide show
  1. package/components/ai-chat/ai-chat.d.ts +4 -0
  2. package/components/ai-chat/index.cjs +1 -1
  3. package/components/ai-chat/index.js +2 -2
  4. package/components/ai-chat-7kHoMVeu.cjs +321 -0
  5. package/components/{ai-chat-CSoYb7E3.js → ai-chat-CI9l8ZOE.js} +693 -627
  6. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +6 -0
  7. package/components/ai-interaction-textarea/index.cjs +1 -1
  8. package/components/ai-interaction-textarea/index.js +1 -1
  9. package/components/{ai-interaction-textarea-BZAeZunP.js → ai-interaction-textarea-BbVH-aF4.js} +14 -6
  10. package/components/{ai-interaction-textarea-1WuexZ9Q.cjs → ai-interaction-textarea-Crcz4rCV.cjs} +4 -3
  11. package/components/{area-chart-options.config-HaYA8gPC.js → area-chart-options.config-B94ERc30.js} +12 -7
  12. package/components/area-chart-options.config-Bf5kti7Z.cjs +20 -0
  13. package/components/{area-chart-positioning.config-CMNWsFdQ.cjs → area-chart-positioning.config-D8_KYS-h.cjs} +1 -1
  14. package/components/{area-chart-positioning.config-B2TiEOKI.js → area-chart-positioning.config-DT7OiLe4.js} +1 -1
  15. package/components/{bar-chart-options.config--F0KfZ5y.js → bar-chart-options.config-B1C3t6uk.js} +12 -10
  16. package/components/bar-chart-options.config-CI17HU2I.cjs +20 -0
  17. package/components/{bar-chart-positioning.config-CfCl6YMX.cjs → bar-chart-positioning.config-CnMHGk5K.cjs} +1 -1
  18. package/components/{bar-chart-positioning.config-BrXy8UPf.js → bar-chart-positioning.config-FEwWvMF6.js} +1 -1
  19. package/components/{base-CyMoOIH2.js → base-BkD2CWTy.js} +1 -1
  20. package/components/{base-DY99ut2q.cjs → base-XtzYH7G4.cjs} +1 -1
  21. package/components/box-plot-options.config-Cp6H9fyb.cjs +20 -0
  22. package/components/{box-plot-options.config-CT4_71tE.js → box-plot-options.config-sBfVzPTw.js} +24 -19
  23. package/components/{box-plot-positioning.config-CYKg8ebh.cjs → box-plot-positioning.config-Cij5pfeH.cjs} +1 -1
  24. package/components/{box-plot-positioning.config-DYHIaLKf.js → box-plot-positioning.config-DxRLb2qS.js} +1 -1
  25. package/components/{bubble-chart-options.config-B_hTYgid.js → bubble-chart-options.config-DKeBF5A0.js} +9 -7
  26. package/components/bubble-chart-options.config-e_0LM1Uw.cjs +20 -0
  27. package/components/{bubble-chart-positioning.config-D8uKM21g.cjs → bubble-chart-positioning.config-BmNR5EQH.cjs} +1 -1
  28. package/components/{bubble-chart-positioning.config-DW2fyRST.js → bubble-chart-positioning.config-CVnk6LlN.js} +1 -1
  29. package/components/{bullet-chart-positioning.config-B0o0yLmt.js → bullet-chart-positioning.config-7sPWksMT.js} +1 -1
  30. package/components/{bullet-chart-positioning.config-BZVi5Z37.cjs → bullet-chart-positioning.config-CNkU3bzI.cjs} +1 -1
  31. package/components/choropleth-map-options.config-VG10yjwC.cjs +20 -0
  32. package/components/{choropleth-map-options.config-CsJjKLVP.js → choropleth-map-options.config-nOE0NWaD.js} +29 -27
  33. package/components/{choropleth-map-positioning.config-ZoJMcINR.cjs → choropleth-map-positioning.config-CljoQanM.cjs} +1 -1
  34. package/components/{choropleth-map-positioning.config-_cjikPvV.js → choropleth-map-positioning.config-CuaL7fSP.js} +1 -1
  35. package/components/{circle-pack-chart-options.config-Dobt6Q5A.cjs → circle-pack-chart-options.config-BmX0w3cH.cjs} +1 -1
  36. package/components/{circle-pack-chart-options.config-FcILD-Hi.js → circle-pack-chart-options.config-CgE8vGP9.js} +36 -31
  37. package/components/{circle-pack-chart-positioning.config-Dp14Xy4g.cjs → circle-pack-chart-positioning.config-CiF6h2TX.cjs} +1 -1
  38. package/components/{circle-pack-chart-positioning.config-Bs_vUTrq.js → circle-pack-chart-positioning.config-maqHu5T2.js} +1 -1
  39. package/components/{circular-gauge-positioning.config-Bon_UJ9A.cjs → circular-gauge-positioning.config-BK2YSDr1.cjs} +1 -1
  40. package/components/{circular-gauge-positioning.config-Bsshd-zZ.js → circular-gauge-positioning.config-e9_VgpRY.js} +1 -1
  41. package/components/{column-chart-options.config-BzMjdyfp.js → column-chart-options.config-C2GGiHOI.js} +12 -10
  42. package/components/column-chart-options.config-xmSH4NKF.cjs +20 -0
  43. package/components/{column-chart-positioning.config-DUcXbA1k.cjs → column-chart-positioning.config-DdiwInY-.cjs} +1 -1
  44. package/components/{column-chart-positioning.config-BrSD_Vrd.js → column-chart-positioning.config-DpPXllzx.js} +1 -1
  45. package/components/combination-chart-options.config-IEamJGCp.cjs +20 -0
  46. package/components/{combination-chart-options.config-BEMnrQdd.js → combination-chart-options.config-LddX4naq.js} +8 -3
  47. package/components/{combination-chart-positioning.config-DHvp-1kZ.cjs → combination-chart-positioning.config-5Qnm4ZYG.cjs} +1 -1
  48. package/components/{combination-chart-positioning.config-DIWEeLYk.js → combination-chart-positioning.config-D7c6z5j6.js} +1 -1
  49. package/components/{conditional-number-positioning.config-BgKxHoAw.cjs → conditional-number-positioning.config-Bmc5b4Hr.cjs} +1 -1
  50. package/components/{conditional-number-positioning.config-BFzK6gRk.js → conditional-number-positioning.config-BnMcO9mu.js} +1 -1
  51. package/components/data-field/index.cjs +1 -1
  52. package/components/data-field/index.js +1 -1
  53. package/components/{data-field-LCJaGHTs.cjs → data-field-BmpgtPX8.cjs} +1 -1
  54. package/components/{data-field-C_rVntAB.js → data-field-DTQxvpeM.js} +3 -3
  55. package/components/data-field-level/index.cjs +1 -1
  56. package/components/data-field-level/index.js +1 -1
  57. package/components/{data-field-level-DIS8fBDr.cjs → data-field-level-D0RZHwqF.cjs} +1 -1
  58. package/components/{data-field-level-Bq4m_uay.js → data-field-level-EOj5KvoG.js} +1 -1
  59. package/components/data-field-panel/index.cjs +1 -1
  60. package/components/data-field-panel/index.js +1 -1
  61. package/components/{data-field-panel-DWRs7buc.cjs → data-field-panel-Bc_4pQwc.cjs} +1 -1
  62. package/components/{data-field-panel-B7CqUPNc.js → data-field-panel-Dya_9wHn.js} +3 -3
  63. package/components/data-fields-select/index.cjs +1 -1
  64. package/components/data-fields-select/index.js +1 -1
  65. package/components/{data-fields-select-20qMlApt.js → data-fields-select-2Da7XC6m.js} +1 -1
  66. package/components/{data-fields-select-CGtDf-oP.cjs → data-fields-select-D4Sxxb_Z.cjs} +1 -1
  67. package/components/dataset-selector-list/index.cjs +1 -1
  68. package/components/dataset-selector-list/index.js +1 -1
  69. package/components/{dataset-selector-list-DBLtXZrx.js → dataset-selector-list-CK9KzC1a.js} +1 -1
  70. package/components/{dataset-selector-list-HHKokk1u.cjs → dataset-selector-list-m1XmVt8T.cjs} +1 -1
  71. package/components/dataset-selector-row/dataset-selector-row.d.ts +8 -1
  72. package/components/dataset-selector-row/index.cjs +1 -1
  73. package/components/dataset-selector-row/index.js +1 -1
  74. package/components/{dataset-selector-row-D9cQeVQi.cjs → dataset-selector-row-B78ZLWQS.cjs} +5 -5
  75. package/components/{dataset-selector-row-BR5fZlp0.js → dataset-selector-row-gBQl1Bza.js} +19 -9
  76. package/components/{de-CSvZ1Nhx.js → de-_-1hLVI0.js} +1 -0
  77. package/components/de-g8uRTFxZ.cjs +20 -0
  78. package/components/display-settings/index.cjs +1 -1
  79. package/components/display-settings/index.js +1 -1
  80. package/components/{display-settings-0-94VuDl.cjs → display-settings-DLWnhQe0.cjs} +1 -1
  81. package/components/{display-settings-BB7xS-BO.js → display-settings-DgOPeUie.js} +2 -2
  82. package/components/display-settings-binning/index.cjs +1 -1
  83. package/components/display-settings-binning/index.js +1 -1
  84. package/components/{display-settings-binning-BdwOpAPi.js → display-settings-binning-CE4hmdtx.js} +2 -2
  85. package/components/{display-settings-binning-CgfWIih3.cjs → display-settings-binning-CYM7FpXw.cjs} +1 -1
  86. package/components/display-settings-datetime/index.cjs +1 -1
  87. package/components/display-settings-datetime/index.js +1 -1
  88. package/components/{display-settings-datetime-CHZ9PRGK.js → display-settings-datetime-D4f_o6NK.js} +2 -2
  89. package/components/{display-settings-datetime-BS7mUN1_.cjs → display-settings-datetime-h8CvoTZ8.cjs} +1 -1
  90. package/components/display-settings-grand-totals/index.cjs +1 -1
  91. package/components/display-settings-grand-totals/index.js +1 -1
  92. package/components/{display-settings-grand-totals-BLEb1hLW.js → display-settings-grand-totals-CnP8P-cu.js} +2 -2
  93. package/components/{display-settings-grand-totals-CzLxqBqm.cjs → display-settings-grand-totals-D0YsVbSs.cjs} +1 -1
  94. package/components/display-settings-numeric/index.cjs +1 -1
  95. package/components/display-settings-numeric/index.js +1 -1
  96. package/components/{display-settings-numeric-0rg03IAh.cjs → display-settings-numeric-DF4zjmZj.cjs} +1 -1
  97. package/components/{display-settings-numeric-cJJcpFQf.js → display-settings-numeric-DyAFuYTz.js} +2 -2
  98. package/components/display-settings-period-over-period/index.cjs +1 -1
  99. package/components/display-settings-period-over-period/index.js +1 -1
  100. package/components/{display-settings-period-over-period-B4f8fbWG.js → display-settings-period-over-period-B634a88N.js} +2 -2
  101. package/components/{display-settings-period-over-period-DC3KxRpN.cjs → display-settings-period-over-period-DXuRHg-1.cjs} +1 -1
  102. package/components/{donut-chart-options.config-D5Wkh0nh.js → donut-chart-options.config-CPHgS1Wi.js} +8 -3
  103. package/components/donut-chart-options.config-LbmJpNlm.cjs +20 -0
  104. package/components/{donut-chart-positioning.config-BsKp1HXE.cjs → donut-chart-positioning.config-BhIwOPI0.cjs} +1 -1
  105. package/components/{donut-chart-positioning.config-DdDed2_1.js → donut-chart-positioning.config-Peq3v9qK.js} +1 -1
  106. package/components/es-C3dhJP2H.cjs +20 -0
  107. package/components/{es-DvViVwvd.js → es-Cdl4GvQt.js} +1 -0
  108. package/components/{evolution-number-positioning.config-CYyOIuVk.cjs → evolution-number-positioning.config-ClGlayIt.cjs} +1 -1
  109. package/components/{evolution-number-positioning.config-VL8htBRQ.js → evolution-number-positioning.config-e90XUBQG.js} +1 -1
  110. package/components/filter-expression-picker/index.cjs +1 -1
  111. package/components/filter-expression-picker/index.js +1 -1
  112. package/components/{filter-expression-picker-BrUtAgn8.js → filter-expression-picker-BPAwOijt.js} +1 -1
  113. package/components/{filter-expression-picker-FKIEpvg6.cjs → filter-expression-picker-COCoT5LG.cjs} +1 -1
  114. package/components/filter-item/index.cjs +1 -1
  115. package/components/filter-item/index.js +1 -1
  116. package/components/{filter-item-BZbHQx0n.js → filter-item-CbDbNmni.js} +5 -5
  117. package/components/{filter-item-C8tt3MFg.cjs → filter-item-cyApfc9M.cjs} +1 -1
  118. package/components/filter-parameter-picker/index.cjs +1 -1
  119. package/components/filter-parameter-picker/index.js +1 -1
  120. package/components/{filter-parameter-picker-pioi6px3.js → filter-parameter-picker-CCd77cYS.js} +1 -1
  121. package/components/{filter-parameter-picker-msFqEEAh.cjs → filter-parameter-picker-F68BatwD.cjs} +1 -1
  122. package/components/filter-value-picker/index.cjs +1 -1
  123. package/components/filter-value-picker/index.js +1 -1
  124. package/components/{filter-value-picker-Drt9dOXf.js → filter-value-picker-CLUUhn1d.js} +4 -4
  125. package/components/{filter-value-picker-CgLTYLwU.cjs → filter-value-picker-DADia7jo.cjs} +1 -1
  126. package/components/filter-value-picker-datetime/index.cjs +1 -1
  127. package/components/filter-value-picker-datetime/index.js +1 -1
  128. package/components/{filter-value-picker-datetime-D5W0j1CH.cjs → filter-value-picker-datetime-CuMmWJFV.cjs} +1 -1
  129. package/components/{filter-value-picker-datetime-B0o4rlXW.js → filter-value-picker-datetime-DM2K7Nrv.js} +1 -1
  130. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  131. package/components/filter-value-picker-hierarchy/index.js +1 -1
  132. package/components/{filter-value-picker-hierarchy-B1dnC37T.cjs → filter-value-picker-hierarchy-BQTrc0ZU.cjs} +1 -1
  133. package/components/{filter-value-picker-hierarchy-BiUz-XXQ.js → filter-value-picker-hierarchy-W-a9ycWV.js} +2 -2
  134. package/components/filter-value-picker-numeric/index.cjs +1 -1
  135. package/components/filter-value-picker-numeric/index.js +1 -1
  136. package/components/{filter-value-picker-numeric-BIvL94I1.cjs → filter-value-picker-numeric-CXfgDZ4W.cjs} +1 -1
  137. package/components/{filter-value-picker-numeric-BU7p1q3J.js → filter-value-picker-numeric-DL5cqR8I.js} +1 -1
  138. package/components/filters/index.cjs +1 -1
  139. package/components/filters/index.js +1 -1
  140. package/components/{filters-CC1WEkUl.cjs → filters-Dj4mQklp.cjs} +1 -1
  141. package/components/{filters-Bq4S-VeF.js → filters-bruSosZt.js} +2 -2
  142. package/components/formula/index.cjs +1 -1
  143. package/components/formula/index.js +1 -1
  144. package/components/{formula-_2SPG88m.js → formula-CbApVbw7.js} +2 -2
  145. package/components/{formula-DzlOfUfI.cjs → formula-DkANj6Hi.cjs} +1 -1
  146. package/components/{formula-codemirror-CLm2OLSy.js → formula-codemirror-C_wCMc2M.js} +4 -4
  147. package/components/{formula-codemirror-BXT_tfaJ.cjs → formula-codemirror-DGxXJYCi.cjs} +1 -1
  148. package/components/{formula-display-store-DBdEPEdf.cjs → formula-display-store-B2DUrVwh.cjs} +1 -1
  149. package/components/{formula-display-store-nqONAx35.js → formula-display-store-SkrNDfyG.js} +3 -3
  150. package/components/formula-editor/index.cjs +1 -1
  151. package/components/formula-editor/index.js +3 -3
  152. package/components/{formula-editor-B65HPmmh.js → formula-editor-DX5FRb2v.js} +5 -5
  153. package/components/{formula-editor-DEo-RcGC.cjs → formula-editor-Dv4UIAe_.cjs} +1 -1
  154. package/components/formula-field/index.cjs +1 -1
  155. package/components/formula-field/index.js +1 -1
  156. package/components/{formula-field-CXCuJ_sa.js → formula-field-CwnAHHpw.js} +1 -1
  157. package/components/{formula-field-DpPBypCh.cjs → formula-field-tJsQsXic.cjs} +1 -1
  158. package/components/{formula-input-base-yBcGx5Oa.cjs → formula-input-base-6iVykYb0.cjs} +1 -1
  159. package/components/{formula-input-base-DmjxzsEi.js → formula-input-base-mKhAiYM0.js} +1 -1
  160. package/components/fr-WdV_fXl_.cjs +20 -0
  161. package/components/{fr-CkDebjRX.js → fr-qv7EjBRo.js} +1 -0
  162. package/components/{funnel-chart-options.config-Ca5-W17F.js → funnel-chart-options.config-D21WdHBI.js} +5 -3
  163. package/components/funnel-chart-options.config-DgpM8mWb.cjs +20 -0
  164. package/components/{funnel-chart-positioning.config-BU7QpgsX.js → funnel-chart-positioning.config-Havc4gNs.js} +1 -1
  165. package/components/{funnel-chart-positioning.config-DbpJfDa2.cjs → funnel-chart-positioning.config-PrEIQPXg.cjs} +1 -1
  166. package/components/{get-dataset-name-Dgmhqlon.cjs → get-dataset-name-BR_H1MNL.cjs} +1 -1
  167. package/components/{get-dataset-name-ffz-R0AZ.js → get-dataset-name-CIf7x0nh.js} +1 -1
  168. package/components/{groupings-DH6XUvSc.cjs → groupings-BKSBZ34s.cjs} +1 -1
  169. package/components/{groupings-DBsH-kNN.js → groupings-CIVQITJp.js} +1 -1
  170. package/components/{heat-map-positioning.config-DHO5wFHL.js → heat-map-positioning.config-CF6XNksR.js} +1 -1
  171. package/components/{heat-map-positioning.config-DkQjSPaE.cjs → heat-map-positioning.config-L91C9c0t.cjs} +1 -1
  172. package/components/{heat-table-options.config-DT3d8VS7.js → heat-table-options.config-BJP1jVB8.js} +20 -18
  173. package/components/heat-table-options.config-CugBuoUA.cjs +20 -0
  174. package/components/{heat-table-positioning.config-BrJkuNbc.js → heat-table-positioning.config-0YNV-Whw.js} +1 -1
  175. package/components/{heat-table-positioning.config-mw5AsGAJ.cjs → heat-table-positioning.config-BuH8txu-.cjs} +1 -1
  176. package/components/{hexbin-map-positioning.config-DLYBOrHE.cjs → hexbin-map-positioning.config-Dx42tGRj.cjs} +1 -1
  177. package/components/{hexbin-map-positioning.config-D5hP-can.js → hexbin-map-positioning.config-wKi8qbMF.js} +1 -1
  178. package/components/index.cjs +1 -1
  179. package/components/index.js +54 -54
  180. package/components/interactive-viz-item/index.cjs +1 -1
  181. package/components/interactive-viz-item/index.js +1 -1
  182. package/components/{interactive-viz-item-rLknJxre.js → interactive-viz-item-DMOsdrLN.js} +5 -5
  183. package/components/{interactive-viz-item-CAuKz5tw.cjs → interactive-viz-item-YwkjBGtN.cjs} +1 -1
  184. package/components/interactivity-options.config-BjEGNaIz.js +73 -0
  185. package/components/interactivity-options.config-Bzk2L-qh.cjs +20 -0
  186. package/components/interactivity-options.i18n-BsYv4Rh9.cjs +20 -0
  187. package/components/interactivity-options.i18n-UhOnnlBC.js +59 -0
  188. package/components/item-grid/index.cjs +1 -1
  189. package/components/item-grid/index.js +1 -1
  190. package/components/{item-grid-Bd3rXwND.cjs → item-grid-B1ColM8x.cjs} +1 -1
  191. package/components/{item-grid-jF9cv8_u.js → item-grid-iYxxuvvA.js} +1 -1
  192. package/components/item-option/index.cjs +1 -1
  193. package/components/item-option/index.js +1 -1
  194. package/components/{item-option-3sEzoA0L.js → item-option-BIWC5VRT.js} +38 -38
  195. package/components/{item-option-DO2oJXcs.cjs → item-option-Cz10G9yw.cjs} +1 -1
  196. package/components/item-option-action-button-group/index.cjs +1 -1
  197. package/components/item-option-action-button-group/index.js +1 -1
  198. package/components/{item-option-action-button-group-CebgGfxf.cjs → item-option-action-button-group-Dq6xKpHi.cjs} +1 -1
  199. package/components/{item-option-action-button-group-C4SxsHUp.js → item-option-action-button-group-TPUU3sts.js} +1 -1
  200. package/components/{item-option-base-Gj1YRrI9.cjs → item-option-base-BKo7DBxK.cjs} +1 -1
  201. package/components/{item-option-base-Ierh9O_y.js → item-option-base-DcZILy3S.js} +1 -1
  202. package/components/item-option-color-palette-picker/index.cjs +1 -1
  203. package/components/item-option-color-palette-picker/index.js +1 -1
  204. package/components/{item-option-color-palette-picker-DXbPf9W-.cjs → item-option-color-palette-picker-C_Jx5Prb.cjs} +1 -1
  205. package/components/{item-option-color-palette-picker-CmD83j4z.js → item-option-color-palette-picker-i6Tnv4qN.js} +1 -1
  206. package/components/item-option-color-picker/index.cjs +1 -1
  207. package/components/item-option-color-picker/index.js +1 -1
  208. package/components/{item-option-color-picker-DPOYXmqG.js → item-option-color-picker-BSXsKzZ-.js} +1 -1
  209. package/components/{item-option-color-picker-DctZh5Mm.cjs → item-option-color-picker-Co3iTjwo.cjs} +1 -1
  210. package/components/item-option-color-range/index.cjs +1 -1
  211. package/components/item-option-color-range/index.js +1 -1
  212. package/components/{item-option-color-range-9v7VYG0c.cjs → item-option-color-range-CUYGCwQG.cjs} +1 -1
  213. package/components/{item-option-color-range-DEOogOTv.js → item-option-color-range-DE8-UNxr.js} +1 -1
  214. package/components/item-option-guidelines/index.cjs +1 -1
  215. package/components/item-option-guidelines/index.js +1 -1
  216. package/components/{item-option-guidelines-Bpg1RZ8x.cjs → item-option-guidelines-DUjfN-eB.cjs} +1 -1
  217. package/components/{item-option-guidelines-B115G2nq.js → item-option-guidelines-DWdPS45K.js} +3 -3
  218. package/components/item-option-multi-language-field/index.cjs +1 -1
  219. package/components/item-option-multi-language-field/index.js +1 -1
  220. package/components/{item-option-multi-language-field-DBBhowms.cjs → item-option-multi-language-field-CWE9WrxP.cjs} +1 -1
  221. package/components/{item-option-multi-language-field-B-u0bans.js → item-option-multi-language-field-D5e36e1G.js} +1 -1
  222. package/components/item-option-number-field/index.cjs +1 -1
  223. package/components/item-option-number-field/index.js +1 -1
  224. package/components/{item-option-number-field-DkYnFmJW.js → item-option-number-field-BElZmdUU.js} +1 -1
  225. package/components/{item-option-number-field-DMy08TP2.cjs → item-option-number-field-RJ88VAyR.cjs} +1 -1
  226. package/components/item-option-panel/index.cjs +1 -1
  227. package/components/item-option-panel/index.js +1 -1
  228. package/components/{item-option-panel-BNpgv1gX.cjs → item-option-panel-BmaT4y_2.cjs} +1 -1
  229. package/components/{item-option-panel-Cz6GVI3l.js → item-option-panel-D7klHx03.js} +2 -2
  230. package/components/item-option-picker/index.cjs +1 -1
  231. package/components/item-option-picker/index.js +1 -1
  232. package/components/{item-option-picker-dmG9E9xR.cjs → item-option-picker-C3M-7kWF.cjs} +1 -1
  233. package/components/{item-option-picker-C9f4tyLr.js → item-option-picker-DnWKHPYS.js} +1 -1
  234. package/components/item-option-position-picker/index.cjs +1 -1
  235. package/components/item-option-position-picker/index.js +1 -1
  236. package/components/{item-option-position-picker-CivQYly9.cjs → item-option-position-picker-B2qUrVJd.cjs} +1 -1
  237. package/components/{item-option-position-picker-DNoDU6MW.js → item-option-position-picker-CUTrYLPj.js} +1 -1
  238. package/components/item-option-positions-number-field/index.cjs +1 -1
  239. package/components/item-option-positions-number-field/index.js +1 -1
  240. package/components/{item-option-positions-number-field-DyyEdaPZ.js → item-option-positions-number-field-B4zcS62B.js} +1 -1
  241. package/components/{item-option-positions-number-field-BBkQN71c.cjs → item-option-positions-number-field-EXPp_Vr4.cjs} +1 -1
  242. package/components/item-option-radio-button-group/index.cjs +1 -1
  243. package/components/item-option-radio-button-group/index.js +1 -1
  244. package/components/{item-option-radio-button-group--zidnOr9.js → item-option-radio-button-group-Cs1sSCVM.js} +1 -1
  245. package/components/{item-option-radio-button-group-D0W86RmI.cjs → item-option-radio-button-group-D8GbkHVX.cjs} +1 -1
  246. package/components/item-option-slider/index.cjs +1 -1
  247. package/components/item-option-slider/index.js +1 -1
  248. package/components/{item-option-slider-4vDy4etx.cjs → item-option-slider-Bo1ALP8q.cjs} +1 -1
  249. package/components/{item-option-slider-Baadoyqo.js → item-option-slider-CcKLS-V5.js} +1 -1
  250. package/components/item-option-switch/index.cjs +1 -1
  251. package/components/item-option-switch/index.js +1 -1
  252. package/components/{item-option-switch-CHYIbPgD.js → item-option-switch-Ch6u9CAm.js} +1 -1
  253. package/components/{item-option-switch-BaQDqsMY.cjs → item-option-switch-CpeC7Eh7.cjs} +1 -1
  254. package/components/item-option-text-field/index.cjs +1 -1
  255. package/components/item-option-text-field/index.js +1 -1
  256. package/components/{item-option-text-field-D92viGBN.cjs → item-option-text-field-BxvQAHf3.cjs} +1 -1
  257. package/components/{item-option-text-field-CZ02qLJ4.js → item-option-text-field-DAbQegOZ.js} +1 -1
  258. package/components/item-options-configs.cjs +1 -1
  259. package/components/item-options-configs.js +21 -21
  260. package/components/item-slot-drop/index.cjs +1 -1
  261. package/components/item-slot-drop/index.js +1 -1
  262. package/components/{item-slot-drop-C1z1dxFw.js → item-slot-drop-DDffbp-i.js} +5 -5
  263. package/components/{item-slot-drop-BU2U3-HV.cjs → item-slot-drop-mKhyjodt.cjs} +1 -1
  264. package/components/item-slot-drop-panel/index.cjs +1 -1
  265. package/components/item-slot-drop-panel/index.js +1 -1
  266. package/components/{item-slot-drop-panel-CA9-hvpd.js → item-slot-drop-panel-BtrZehGL.js} +39 -39
  267. package/components/{item-slot-drop-panel-CrMdoDfz.cjs → item-slot-drop-panel-CKXMQCyt.cjs} +1 -1
  268. package/components/item-slot-picker/index.cjs +1 -1
  269. package/components/item-slot-picker/index.js +1 -1
  270. package/components/{item-slot-picker-Btmi-rsC.js → item-slot-picker-CWqeOJ8R.js} +6 -6
  271. package/components/{item-slot-picker-DwgJiY3S.cjs → item-slot-picker-CwMjRpkT.cjs} +1 -1
  272. package/components/item-slot-picker-panel/index.cjs +1 -1
  273. package/components/item-slot-picker-panel/index.js +1 -1
  274. package/components/{item-slot-picker-panel-HDUJLBsv.cjs → item-slot-picker-panel-C6Hpc2rT.cjs} +1 -1
  275. package/components/{item-slot-picker-panel-BoSCNOU4.js → item-slot-picker-panel-cD3DvPbA.js} +3 -3
  276. package/components/{line-chart-options.config-BMT_e6dk.js → line-chart-options.config-D8gRtfj3.js} +10 -5
  277. package/components/line-chart-options.config-RTYFJQSE.cjs +20 -0
  278. package/components/{line-chart-positioning.config-BcxVwrHz.js → line-chart-positioning.config-DoHg1rwA.js} +1 -1
  279. package/components/{line-chart-positioning.config-BEf1yZXt.cjs → line-chart-positioning.config-ZZid30rm.cjs} +1 -1
  280. package/components/{localized-mixin-BXDzTsZA.js → localized-mixin-CSF-kZFt.js} +1 -1
  281. package/components/{localized-mixin-9QFQ92Y7.cjs → localized-mixin-DZFYG6RG.cjs} +1 -1
  282. package/components/{marker-map-positioning.config-CrtimrEf.cjs → marker-map-positioning.config-DGZWoFAk.cjs} +1 -1
  283. package/components/{marker-map-positioning.config-DgjLNbIX.js → marker-map-positioning.config-DX6bFQld.js} +1 -1
  284. package/components/nl-D3gRr88b.cjs +20 -0
  285. package/components/{nl-b0wCsQJf.js → nl-MWgzbW0R.js} +1 -0
  286. package/components/{ohlc-chart-options.config-BrcfGxDw.cjs → ohlc-chart-options.config-Pqd5MFIv.cjs} +1 -1
  287. package/components/{ohlc-chart-options.config-BAB4pyo9.js → ohlc-chart-options.config-xgegn34C.js} +8 -3
  288. package/components/{ohlc-chart-positioning.config-BXQ8AWsP.cjs → ohlc-chart-positioning.config-Bev8Atsx.cjs} +1 -1
  289. package/components/{ohlc-chart-positioning.config-BvvfmqTO.js → ohlc-chart-positioning.config-DaEUcXBJ.js} +1 -1
  290. package/components/{parallel-coordinates-plot-options.config-DFRL952-.cjs → parallel-coordinates-plot-options.config-2BbzNgJ9.cjs} +1 -1
  291. package/components/{parallel-coordinates-plot-options.config-BXsg-9wF.js → parallel-coordinates-plot-options.config-BUQLHO1k.js} +25 -20
  292. package/components/{parallel-coordinates-plot-options.de-WRF50oS3.js → parallel-coordinates-plot-options.de-BwbOcCnH.js} +2 -1
  293. package/components/{parallel-coordinates-plot-options.de-0P5Lyjc_.cjs → parallel-coordinates-plot-options.de-CDtIM_Z2.cjs} +1 -1
  294. package/components/{parallel-coordinates-plot-options.en-CttM0XeT.js → parallel-coordinates-plot-options.en-BlzPfF-b.js} +2 -1
  295. package/components/{parallel-coordinates-plot-options.en-CSn2MAT2.cjs → parallel-coordinates-plot-options.en-Bu7cMLrv.cjs} +1 -1
  296. package/components/{parallel-coordinates-plot-options.es-30M9dgQD.cjs → parallel-coordinates-plot-options.es-BPgUHedg.cjs} +1 -1
  297. package/components/{parallel-coordinates-plot-options.es-Bi2HrtUG.js → parallel-coordinates-plot-options.es-CPAqJPEY.js} +2 -1
  298. package/components/{parallel-coordinates-plot-options.fr-B3wy9Y-c.cjs → parallel-coordinates-plot-options.fr-BUxk85Ud.cjs} +1 -1
  299. package/components/{parallel-coordinates-plot-options.fr-wE6jc23K.js → parallel-coordinates-plot-options.fr-DRTOCvqg.js} +2 -1
  300. package/components/{parallel-coordinates-plot-options.nl-CK0Z_bEU.cjs → parallel-coordinates-plot-options.nl-CHuWgaYV.cjs} +1 -1
  301. package/components/{parallel-coordinates-plot-options.nl-ByxbF6Re.js → parallel-coordinates-plot-options.nl-DqXxaV_Z.js} +2 -1
  302. package/components/{parallel-coordinates-plot-positioning.config-afRUNe2y.cjs → parallel-coordinates-plot-positioning.config-DJ7K-dVp.cjs} +1 -1
  303. package/components/{parallel-coordinates-plot-positioning.config-BH-BVeJ1.js → parallel-coordinates-plot-positioning.config-NWEEOd4d.js} +1 -1
  304. package/components/pivot-table-options.config-D6Hdgnof.cjs +20 -0
  305. package/components/{pivot-table-options.config-tf8f5F-n.js → pivot-table-options.config-DW9UDipI.js} +5 -3
  306. package/components/{pivot-table-positioning.config-BSYXa5pV.js → pivot-table-positioning.config-DpMiUVtd.js} +1 -1
  307. package/components/{pivot-table-positioning.config-Dd_pHhFz.cjs → pivot-table-positioning.config-U-M08Rwc.cjs} +1 -1
  308. package/components/{pyramid-chart-options.config-BnCfeT-K.js → pyramid-chart-options.config-Cbg351Yy.js} +5 -3
  309. package/components/pyramid-chart-options.config-ClLsv7PT.cjs +20 -0
  310. package/components/{pyramid-chart-positioning.config-CQIxlqqB.cjs → pyramid-chart-positioning.config-BpdI6jmg.cjs} +1 -1
  311. package/components/{pyramid-chart-positioning.config-BLWa7sSn.js → pyramid-chart-positioning.config-CZwx_f40.js} +1 -1
  312. package/components/{radar-chart-positioning.config-C8lJliO6.js → radar-chart-positioning.config-IFacftgi.js} +1 -1
  313. package/components/{radar-chart-positioning.config-Dl25YwXp.cjs → radar-chart-positioning.config-IcaEKe9Q.cjs} +1 -1
  314. package/components/{route-map-positioning.config-CKX0xBYP.js → route-map-positioning.config-CHfz0eM_.js} +1 -1
  315. package/components/{route-map-positioning.config-zP_Dowc9.cjs → route-map-positioning.config-DKZvRmfJ.cjs} +1 -1
  316. package/components/{sankey-diagram-options.config-CpNK2oK6.js → sankey-diagram-options.config-1lSECht4.js} +5 -3
  317. package/components/sankey-diagram-options.config-DZDqv5aI.cjs +20 -0
  318. package/components/{sankey-diagram-positioning.config-wXM60Kuq.js → sankey-diagram-positioning.config-BaCoBJXV.js} +1 -1
  319. package/components/{sankey-diagram-positioning.config-Cxx05iu7.cjs → sankey-diagram-positioning.config-DJaK2xJX.cjs} +1 -1
  320. package/components/{scatter-plot-options.config-BA_hVuhw.js → scatter-plot-options.config-9zL4v24E.js} +10 -5
  321. package/components/scatter-plot-options.config-DJW85uFv.cjs +20 -0
  322. package/components/{scatter-plot-positioning.config-6-jx5GCk.cjs → scatter-plot-positioning.config-DaNI54rh.cjs} +1 -1
  323. package/components/{scatter-plot-positioning.config-CnssCu8h.js → scatter-plot-positioning.config-PC47tloI.js} +1 -1
  324. package/components/{set-locale-BHxiIDi2.js → set-locale-Jz3DhqaW.js} +4 -4
  325. package/components/{set-locale-CZowB-SY.cjs → set-locale-v6POkwmC.cjs} +1 -1
  326. package/components/{slicer-filter-positioning.config-LR36iXmI.js → slicer-filter-positioning.config-DMqYOG9Z.js} +1 -1
  327. package/components/{slicer-filter-positioning.config-5kOSDaxQ.cjs → slicer-filter-positioning.config-KANe71ep.cjs} +1 -1
  328. package/components/slot-menu/index.cjs +1 -1
  329. package/components/slot-menu/index.js +1 -1
  330. package/components/{slot-menu-BALLbLoG.cjs → slot-menu-CWMA97fn.cjs} +1 -1
  331. package/components/{slot-menu-CQ440_t5.js → slot-menu-Cwee5fNa.js} +3 -3
  332. package/components/slot-menu-list/index.cjs +1 -1
  333. package/components/slot-menu-list/index.js +1 -1
  334. package/components/{slot-menu-list-BI1x89t3.cjs → slot-menu-list-BEou0QhK.cjs} +1 -1
  335. package/components/{slot-menu-list-C2gWKwVd.js → slot-menu-list-De2q0GGZ.js} +1 -1
  336. package/components/{speedometer-chart-positioning.config-Dmg94Tpt.js → speedometer-chart-positioning.config-CYVK0VnJ.js} +1 -1
  337. package/components/{speedometer-chart-positioning.config-RJo6zE3F.cjs → speedometer-chart-positioning.config-DW3dJD7n.cjs} +1 -1
  338. package/components/{spike-map-positioning.config-Ceyd_KZR.js → spike-map-positioning.config-CfVFEygx.js} +1 -1
  339. package/components/{spike-map-positioning.config-CxQLToDu.cjs → spike-map-positioning.config-Dl-Uf_O6.cjs} +1 -1
  340. package/components/{strip-plot-positioning.config-Dm3F1gk3.js → strip-plot-positioning.config-BMNtb-to.js} +1 -1
  341. package/components/{strip-plot-positioning.config-DSRWJqxs.cjs → strip-plot-positioning.config-eJ5MbyBk.cjs} +1 -1
  342. package/components/{sunburst-chart-options.config-0GUoeJMb.js → sunburst-chart-options.config-CXOrVmIe.js} +5 -3
  343. package/components/sunburst-chart-options.config-DszAtggj.cjs +20 -0
  344. package/components/{sunburst-chart-positioning.config-B_dzmryh.js → sunburst-chart-positioning.config-BRWF7dVf.js} +1 -1
  345. package/components/{sunburst-chart-positioning.config-eJm51jNd.cjs → sunburst-chart-positioning.config-CJgmPm-9.cjs} +1 -1
  346. package/components/{symbol-map-positioning.config-BgAOtKCY.cjs → symbol-map-positioning.config-ONSN27l9.cjs} +1 -1
  347. package/components/{symbol-map-positioning.config-DnRK53sm.js → symbol-map-positioning.config-_8L-oDxW.js} +1 -1
  348. package/components/{treemap-chart-options.config-CtpfX7hs.js → treemap-chart-options.config-6l3HzikF.js} +10 -8
  349. package/components/treemap-chart-options.config-Cpj6vD6I.cjs +20 -0
  350. package/components/{treemap-chart-positioning.config-BaK7GoAz.js → treemap-chart-positioning.config-Bggn7Mqz.js} +1 -1
  351. package/components/{treemap-chart-positioning.config-BAeW42r1.cjs → treemap-chart-positioning.config-DrCRoNzf.cjs} +1 -1
  352. package/components/utils/base.cjs +1 -1
  353. package/components/utils/base.js +2 -2
  354. package/components/{utils-5XxVlM3x.js → utils-B2Eqs5i5.js} +1 -1
  355. package/components/{utils-CNtoiiWk.cjs → utils-CNH9xGyk.cjs} +1 -1
  356. package/components/utils.cjs +1 -1
  357. package/components/utils.js +2 -2
  358. package/components/{venn-diagram-positioning.config-ClSeknwP.cjs → venn-diagram-positioning.config-B-prEVEc.cjs} +1 -1
  359. package/components/{venn-diagram-positioning.config-Co6TTZdV.js → venn-diagram-positioning.config-BoH0wNEM.js} +1 -1
  360. package/components/viz-item-menu/index.cjs +1 -1
  361. package/components/viz-item-menu/index.js +1 -1
  362. package/components/{viz-item-menu-Tb9YmvWX.js → viz-item-menu-BUSjo6j_.js} +1 -1
  363. package/components/{viz-item-menu-MRVSyXuQ.cjs → viz-item-menu-C-kpX-Ft.cjs} +1 -1
  364. package/components/wordcloud-chart-options.config-BQ4Z-vPT.cjs +20 -0
  365. package/components/{wordcloud-chart-options.config-Dxu7-YcG.js → wordcloud-chart-options.config-CpMtpG7q.js} +5 -3
  366. package/components/{wordcloud-chart-positioning.config-HAtoG48Z.js → wordcloud-chart-positioning.config-B6pvD7_a.js} +1 -1
  367. package/components/{wordcloud-chart-positioning.config-f8JZ14LL.cjs → wordcloud-chart-positioning.config-BJi5SVYf.cjs} +1 -1
  368. package/custom-elements.json +77 -1
  369. package/package.json +3 -3
  370. package/react/package.json +2 -2
  371. package/components/ai-chat-Dq88ryzU.cjs +0 -320
  372. package/components/area-chart-options.config-CiPCKvh7.cjs +0 -20
  373. package/components/bar-chart-options.config-A5bcUHFc.cjs +0 -20
  374. package/components/box-plot-options.config-ZZ_mvqGk.cjs +0 -20
  375. package/components/bubble-chart-options.config-BbB5dj43.cjs +0 -20
  376. package/components/choropleth-map-options.config-CEGFnwKG.cjs +0 -20
  377. package/components/column-chart-options.config-iKKyzY3j.cjs +0 -20
  378. package/components/combination-chart-options.config-BqQlqnhf.cjs +0 -20
  379. package/components/de-CfAVa2SD.cjs +0 -20
  380. package/components/donut-chart-options.config-DUIE-bdr.cjs +0 -20
  381. package/components/es-B-pveTvx.cjs +0 -20
  382. package/components/fr-CtsqUcEa.cjs +0 -20
  383. package/components/funnel-chart-options.config-CMOM4QN2.cjs +0 -20
  384. package/components/heat-table-options.config-Dl6GDA-m.cjs +0 -20
  385. package/components/line-chart-options.config-CL8SCDgU.cjs +0 -20
  386. package/components/nl-C6_ScX0J.cjs +0 -20
  387. package/components/pivot-table-options.config-B9ZfmFZH.cjs +0 -20
  388. package/components/pyramid-chart-options.config-LSOc6ALz.cjs +0 -20
  389. package/components/sankey-diagram-options.config-CuKQOPPW.cjs +0 -20
  390. package/components/scatter-plot-options.config-C-L2dJ2o.cjs +0 -20
  391. package/components/sunburst-chart-options.config-CCNYG73m.cjs +0 -20
  392. package/components/treemap-chart-options.config-pA93-9cX.cjs +0 -20
  393. package/components/wordcloud-chart-options.config-ConV1s49.cjs +0 -20
@@ -20,6 +20,7 @@ import '../dataset-selector-row';
20
20
  * @property {number} max-visible-selected-datasets - Maximum number of selected dataset tags shown before the overflow control (default: 5)
21
21
  * @property {boolean} disable-dataset-modification - When true, disables the "+ Add dataset" button and disables dataset pill removal
22
22
  * @property {boolean} hide-selected-datasets - When true, hides the dataset row entirely
23
+ * @property {boolean} hide-agents - When true, hides the Agents section in the add dropdown and ignores `selectedAgent` for `require-dataset` and `prompt-submitted`
23
24
  * @property {boolean} disable-column-mentions - When true, disables `@` trigger mentions completely
24
25
  * @property {boolean} is-generating - When true, shows a spinning loader icon instead of the submit arrow
25
26
  * @property {boolean} stoppable - When true, shows a stop control while `is-generating` is true
@@ -93,6 +94,10 @@ export declare class LuzmoAiInteractionTextarea extends LitElement {
93
94
  * The saved Agent the prompt is scoped to, or null
94
95
  */
95
96
  selectedAgent: Agent | null;
97
+ /**
98
+ * When true, hides the Agents section in the add dropdown and ignores `selectedAgent` for `require-dataset` and `prompt-submitted`
99
+ */
100
+ hideAgents: boolean;
96
101
  /**
97
102
  * When true, disables the "+ Add dataset" button and disables dataset pill removal
98
103
  */
@@ -169,6 +174,7 @@ export declare class LuzmoAiInteractionTextarea extends LitElement {
169
174
  private _promptBox?;
170
175
  private get _voiceBusy();
171
176
  private get _buttonDisabled();
177
+ private get _activeAgent();
172
178
  private get _promptPending();
173
179
  private get _promptReadonly();
174
180
  private get _actionsDisabled();
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../ai-interaction-textarea-1WuexZ9Q.cjs");Object.defineProperty(exports,"LuzmoAiInteractionTextarea",{enumerable:!0,get:function(){return e.t}});
20
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../ai-interaction-textarea-Crcz4rCV.cjs");Object.defineProperty(exports,"LuzmoAiInteractionTextarea",{enumerable:!0,get:function(){return e.t}});
@@ -24,5 +24,5 @@
24
24
  e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-full-down: color-mix(in oklch, var(--luzmo-border-color-full), black 45%);--luzmo-border-color-full-focus: color-mix(in oklch, var(--luzmo-border-color-full), black 25%);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-down: color-mix(in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 7%), black 1%);--luzmo-background-color-focus: color-mix( in oklch, color-mix(in oklch, var(--luzmo-background-color), var(--luzmo-primary) 5%), black 1.5% );--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-highlight-down: color-mix(in oklch, var(--luzmo-background-color-highlight), black 20%);--luzmo-background-color-highlight-focus: color-mix(in oklch, var(--luzmo-background-color-highlight), black 10%);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-shadow-color-rgb: 0, 0, 0;--luzmo-shadow-opacity: 0.1;--luzmo-shadow-color: rgba(var(--luzmo-shadow-color-rgb), var(--luzmo-shadow-opacity));--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-font-color-down: color-mix(in oklch, var(--luzmo-font-color), black 20%);--luzmo-font-color-focus: color-mix(in oklch, var(--luzmo-font-color), black 8%);--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-down: color-mix(in oklch, var(--luzmo-primary), black 20%);--luzmo-primary-focus: color-mix(in oklch, var(--luzmo-primary), black 8%);--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-down: color-mix(in oklch, var(--luzmo-secondary), black 20%);--luzmo-secondary-focus: color-mix(in oklch, var(--luzmo-secondary), black 8%);--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-down: color-mix(in oklch, var(--luzmo-negative-color), black 20%);--luzmo-negative-color-focus: color-mix(in oklch, var(--luzmo-negative-color), black 8%);--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-down: color-mix(in oklch, var(--luzmo-positive-color), black 20%);--luzmo-positive-color-focus: color-mix(in oklch, var(--luzmo-positive-color), black 8%);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-down: color-mix(in oklch, var(--luzmo-selected-color), black 45%);--luzmo-selected-color-focus: color-mix(in oklch, var(--luzmo-selected-color), black 25%);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-selected-color-hard-down: color-mix(in oklch, var(--luzmo-selected-color-hard), black 45%);--luzmo-selected-color-hard-focus: color-mix(in oklch, var(--luzmo-selected-color-hard), black 25%);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
25
25
  }
26
26
  })();
27
- import { t as e } from "../ai-interaction-textarea-BZAeZunP.js";
27
+ import { t as e } from "../ai-interaction-textarea-BbVH-aF4.js";
28
28
  export { e as LuzmoAiInteractionTextarea };
@@ -18,13 +18,13 @@
18
18
  * SOFTWARE.
19
19
  * */
20
20
  import { t as e } from "./decorate-DyMgX_Uh.js";
21
- import { t } from "./set-locale-BHxiIDi2.js";
21
+ import { t } from "./set-locale-Jz3DhqaW.js";
22
22
  import { t as n } from "./data-broker-B0uUO5er.js";
23
23
  import { i as r, r as i, t as a } from "./calculate-data-field-icon-DrSg1PuD.js";
24
24
  import { t as o } from "./localize-BT7REYBY.js";
25
- import { t as s } from "./get-dataset-name-ffz-R0AZ.js";
25
+ import { t as s } from "./get-dataset-name-CIf7x0nh.js";
26
26
  import "./dataset-icon-CWT5Ju8w.js";
27
- import "./dataset-selector-row-BR5fZlp0.js";
27
+ import "./dataset-selector-row-gBQl1Bza.js";
28
28
  import { luzmoPaperclip as c, luzmoPlugin as l } from "@luzmo/icons";
29
29
  import "@luzmo/lucero/icon";
30
30
  import { LitElement as u, html as d, nothing as f, unsafeCSS as p } from "lit";
@@ -236,7 +236,7 @@ async function G(e) {
236
236
  //#region src/components/ai-interaction-textarea/ai-interaction-textarea.module.scss?inline
237
237
  var K = ":host{box-sizing:border-box;display:block}:host .content-wrapper{flex-direction:column;display:flex}:host .content-wrapper.single-line{align-items:stretch}:host .content-wrapper.disabled{opacity:var(--luzmo-ai-interaction-textarea-disabled-opacity,var(--ai-interaction-textarea-disabled-opacity));pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host luzmo-prompt-box{--luzmo-prompt-box-attachments-gap:var(--luzmo-spacing-3,8px);--luzmo-prompt-box-border-radius:var(--ai-interaction-textarea-prompt-box-border-radius);inline-size:100%}:host .attachment-error{color:var(--luzmo-negative-color,#ca221c);font-size:var(--luzmo-font-size-s,12px);margin-block-start:var(--luzmo-spacing-2,4px);line-height:1.4}:host{--ai-interaction-textarea-disabled-opacity:.6;--ai-interaction-textarea-prompt-box-border-radius:var(--luzmo-prompt-box-border-radius,var(--luzmo-border-radius-l,8px))}", q = 3e3, J = 6e4, Y = class extends u {
238
238
  constructor(...e) {
239
- super(...e), this.placeholder = "Type your prompt here...", this.selectedDatasets = [], this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.includePublicDatasets = !1, this.disabled = !1, this.singleLine = !1, this.hideDatasetButton = !1, this.hideDatasetIcons = !1, this.maxVisibleSelectedDatasets = 5, this.selectedAgent = null, this.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) => {
239
+ super(...e), this.placeholder = "Type your prompt here...", this.selectedDatasets = [], this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.includePublicDatasets = !1, this.disabled = !1, this.singleLine = !1, this.hideDatasetButton = !1, this.hideDatasetIcons = !1, this.maxVisibleSelectedDatasets = 5, this.selectedAgent = null, this.hideAgents = !1, this.disableDatasetModification = !1, this.hideSelectedDatasets = !1, this.disableColumnMentions = !1, this.isGenerating = !1, this.stoppable = !1, this.value = "", this.retainOnSubmit = !1, this.requireDataset = !1, this.allowImages = !1, this.allowVoiceInput = !1, this.acceptedFileTypes = [], this.apiVersion = "0.1.0", this.fileIcons = {}, this._promptValue = "", this._isPromptValid = !1, this._fieldTriggerOptions = [], this._datasetsFieldConfig = [], this._attachmentError = null, this._isRecording = !1, this._isTranscribing = !1, this._activeFieldRequestId = 0, this._attachmentUploads = /* @__PURE__ */ new Map(), this._pendingAttachmentSync = null, this._attachmentSyncScheduled = !1, this._attachmentErrorClearHandle = 0, this._submitInProgress = !1, this._voiceSessionActive = !1, this._preRecordingValue = "", this._voicePrefix = "", this._voiceSuffix = "", this._streamedTranscript = "", this._transcriptionController = null, this._renderFieldTriggerIcon = (e) => {
240
240
  let t = e.data?.datasetInfo;
241
241
  return e.header && t ? d`
242
242
  <span>
@@ -304,7 +304,10 @@ var K = ":host{box-sizing:border-box;display:block}:host .content-wrapper{flex-d
304
304
  return this._isRecording || this._isTranscribing;
305
305
  }
306
306
  get _buttonDisabled() {
307
- return this.disabled || this.isGenerating || this._voiceBusy || !this._isPromptValid ? !0 : this.requireDataset && this.selectedDatasets.length === 0 && !this.selectedAgent;
307
+ return this.disabled || this.isGenerating || this._voiceBusy || !this._isPromptValid ? !0 : this.requireDataset && this.selectedDatasets.length === 0 && !this._activeAgent;
308
+ }
309
+ get _activeAgent() {
310
+ return this.hideAgents ? null : this.selectedAgent ?? null;
308
311
  }
309
312
  get _promptPending() {
310
313
  return this.isGenerating || this._isTranscribing;
@@ -469,7 +472,7 @@ var K = ":host{box-sizing:border-box;display:block}:host .content-wrapper{flex-d
469
472
  detail: {
470
473
  prompt: n,
471
474
  selectedDatasets: this.selectedDatasets,
472
- selectedAgent: this.selectedAgent ?? null,
475
+ selectedAgent: this._activeAgent,
473
476
  attachments: r,
474
477
  attachmentUrls: a
475
478
  },
@@ -698,6 +701,7 @@ var K = ":host{box-sizing:border-box;display:block}:host .content-wrapper{flex-d
698
701
  slot="top-actions"
699
702
  .selectedDatasets=${this.selectedDatasets}
700
703
  .selectedAgent=${this.selectedAgent}
704
+ ?hide-agents=${this.hideAgents}
701
705
  .maxVisibleSelectedDatasets=${this.maxVisibleSelectedDatasets}
702
706
  auth-key=${this.authKey}
703
707
  auth-token=${this.authToken}
@@ -773,6 +777,10 @@ e([m({ type: String })], Y.prototype, "placeholder", void 0), e([m({ type: Array
773
777
  useDefault: !0,
774
778
  attribute: "max-visible-selected-datasets"
775
779
  })], Y.prototype, "maxVisibleSelectedDatasets", void 0), e([m({ attribute: !1 })], Y.prototype, "selectedAgent", void 0), e([m({
780
+ type: Boolean,
781
+ reflect: !0,
782
+ attribute: "hide-agents"
783
+ })], Y.prototype, "hideAgents", void 0), e([m({
776
784
  type: Boolean,
777
785
  attribute: "disable-dataset-modification"
778
786
  })], Y.prototype, "disableDatasetModification", void 0), e([m({
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- const e=require("./decorate-DCJt-2rt.cjs"),t=require("./set-locale-CZowB-SY.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./calculate-data-field-icon-DenGmW74.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./get-dataset-name-Dgmhqlon.cjs");require("./dataset-icon-BAV0S4sZ.cjs"),require("./dataset-selector-row-D9cQeVQi.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/prompt-box");let u=require("lit/directives/class-map.js");var d=20,f=[`image/png`,`image/jpeg`,`image/webp`,`image/gif`],p=new Set(f),m={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,webp:`image/webp`,gif:`image/gif`};function h(e){try{return new URL(e).pathname.match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase()}catch{return}}function g(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function _(e){return p.has(e.toLowerCase())}function v(e){if(e.type)return _(e.type);let t=e.name.split(`.`).pop()?.toLowerCase();return!!(t&&m[t])}function y(e){if(!g(e))return!1;let t=h(e);return!!(t&&m[t])}function b(e){if(e.length>20)throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);for(let t of e){if(!t.trim())throw Error(`Image input URL must be a non-empty string.`);if(!g(t))throw Error(`Image input URL must be an absolute http(s) URL. Received "${t}".`);let e=h(t);if(e&&!m[e])throw Error(`Unsupported image input URL "${t}". Only PNG, JPEG, WebP, and GIF image URLs are accepted.`)}}function x(e){if(e.length>20)throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);for(let t of e){if(!v(t))throw Error(`Unsupported image attachment "${t.name}" (${t.type||`unknown type`}). Only PNG, JPEG, WebP, and GIF images are accepted.`);if(t.size===0)throw Error(`Image "${t.name}" is empty.`);if(t.size>15728640)throw Error(`Image "${t.name}" is too large. Maximum size is 15 MB.`)}}function S(e,t=`0.1.0`){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+|\/+$/g,``)}/upload`}function C(e){let{files:t,authKey:n,authToken:r,apiUrl:i,apiVersion:a=`0.1.0`,signal:o,fetchImpl:s=fetch}=e;if(!n||!r)return Promise.reject(Error(`Image upload requires authKey and authToken.`));let c=S(i,a),l=a.replace(/^\/+|\/+$/g,``)||`0.1.0`;return Promise.all(t.map(e=>w(e,{url:c,authKey:n,authToken:r,version:l,signal:o,fetchImpl:s})))}async function w(e,t){let{url:n,authKey:r,authToken:i,version:a,signal:o,fetchImpl:s}=t,c=new FormData;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);let l=await s(n,{method:`POST`,body:c,signal:o,redirect:`error`});if(!l.ok){let t=await T(l);throw Error(`Image upload failed for "${e.name}" (${l.status})${t?`: ${t}`:`.`}`)}let u=await l.json(),d=typeof u?.url==`string`?u.url.trim():``;if(!d)throw Error(`Image upload for "${e.name}" did not return a url.`);return d}async function T(e){try{return(await e.text()).trim().slice(0,200)}catch{return``}}function E(e,t=`0.1.0`){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+|\/+$/g,``)}/aidictation`}function D(e){let{authKey:t,authToken:n,audioBase64:r,mimeType:i,apiVersion:a=`0.1.0`,stream:o=!0,language:s}=e;return{key:t,token:n,action:`create`,version:a,properties:{audio:r,mimetype:i,stream:o,...s?{language:s}:{}}}}async function O(e){let t=await e.arrayBuffer(),n=new Uint8Array(t),r=32768,i=``;for(let e=0;e<n.length;e+=r){let t=n.subarray(e,e+r);i+=String.fromCharCode(...t)}return btoa(i)}async function k(e){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;if(!r||!i)throw Error(`Voice transcription requires authKey and authToken.`);if(!t||t.size===0)throw Error(`Voice transcription requires a non-empty audio recording.`);let d=await O(t),f=E(a,o),p=D({authKey:r,authToken:i,audioBase64:d,mimeType:n||t.type||`audio/webm`,apiVersion:o,stream:!0,language:s}),m=await u(f,{method:`POST`,headers:{"Content-Type":`application/json`},mode:`cors`,redirect:`error`,body:JSON.stringify(p),signal:c});if(!m.ok){let e=await F(m);throw Error(`Voice transcription failed (${m.status})${e?`: ${e}`:`.`}`)}if(!m.body)throw Error(`Voice transcription response body is not readable.`);await N(m.body,e=>{let t=A(e);t&&l(t)})}function A(e){return e.type===`text_delta`&&typeof e.delta==`string`?e.delta:typeof e.text_delta==`string`?e.text_delta:``}var j=/^[a-z]+:/i;function M(e){let t=e.trim();if(!t||t.startsWith(`:`))return null;let n=t;if(n.startsWith(`data:`))n=n.slice(5).trimStart();else if(j.test(n))return null;return!n||n===`[DONE]`?null:JSON.parse(n)}async function N(e,t){let n=e.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(/\r?\n/);i=o.pop()??``;for(let e of o)P(e,t)}i+=r.decode();let e=i.trim();e&&P(e,t)}finally{n.releaseLock()}}function P(e,t){let n=M(e);n&&t(n)}async function F(e){try{return(await e.text()).trim().slice(0,200)}catch{return``}}var I=`: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))}`,L=3e3,R=6e4,z=class extends s.LitElement{constructor(...e){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.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=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=>{let t=e.data?.datasetInfo;return e.header&&t?s.html`
20
+ const e=require("./decorate-DCJt-2rt.cjs"),t=require("./set-locale-v6POkwmC.cjs"),n=require("./data-broker-CyMYR6w1.cjs"),r=require("./calculate-data-field-icon-DenGmW74.cjs"),i=require("./localize-D3i4Epy_.cjs"),a=require("./get-dataset-name-BR_H1MNL.cjs");require("./dataset-icon-BAV0S4sZ.cjs"),require("./dataset-selector-row-B78ZLWQS.cjs");let o=require("@luzmo/icons");require("@luzmo/lucero/icon");let s=require("lit"),c=require("lit/decorators.js"),l=require("@lit/localize");require("@luzmo/lucero/action-button"),require("@luzmo/lucero/prompt-box");let u=require("lit/directives/class-map.js");var d=20,f=[`image/png`,`image/jpeg`,`image/webp`,`image/gif`],p=new Set(f),m={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,webp:`image/webp`,gif:`image/gif`};function h(e){try{return new URL(e).pathname.match(/\.([a-z0-9]+)$/i)?.[1]?.toLowerCase()}catch{return}}function g(e){try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function _(e){return p.has(e.toLowerCase())}function v(e){if(e.type)return _(e.type);let t=e.name.split(`.`).pop()?.toLowerCase();return!!(t&&m[t])}function y(e){if(!g(e))return!1;let t=h(e);return!!(t&&m[t])}function b(e){if(e.length>20)throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);for(let t of e){if(!t.trim())throw Error(`Image input URL must be a non-empty string.`);if(!g(t))throw Error(`Image input URL must be an absolute http(s) URL. Received "${t}".`);let e=h(t);if(e&&!m[e])throw Error(`Unsupported image input URL "${t}". Only PNG, JPEG, WebP, and GIF image URLs are accepted.`)}}function x(e){if(e.length>20)throw Error(`Too many image inputs: received ${e.length}, but the maximum is 20 per request.`);for(let t of e){if(!v(t))throw Error(`Unsupported image attachment "${t.name}" (${t.type||`unknown type`}). Only PNG, JPEG, WebP, and GIF images are accepted.`);if(t.size===0)throw Error(`Image "${t.name}" is empty.`);if(t.size>15728640)throw Error(`Image "${t.name}" is too large. Maximum size is 15 MB.`)}}function S(e,t=`0.1.0`){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+|\/+$/g,``)}/upload`}function C(e){let{files:t,authKey:n,authToken:r,apiUrl:i,apiVersion:a=`0.1.0`,signal:o,fetchImpl:s=fetch}=e;if(!n||!r)return Promise.reject(Error(`Image upload requires authKey and authToken.`));let c=S(i,a),l=a.replace(/^\/+|\/+$/g,``)||`0.1.0`;return Promise.all(t.map(e=>w(e,{url:c,authKey:n,authToken:r,version:l,signal:o,fetchImpl:s})))}async function w(e,t){let{url:n,authKey:r,authToken:i,version:a,signal:o,fetchImpl:s}=t,c=new FormData;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);let l=await s(n,{method:`POST`,body:c,signal:o,redirect:`error`});if(!l.ok){let t=await T(l);throw Error(`Image upload failed for "${e.name}" (${l.status})${t?`: ${t}`:`.`}`)}let u=await l.json(),d=typeof u?.url==`string`?u.url.trim():``;if(!d)throw Error(`Image upload for "${e.name}" did not return a url.`);return d}async function T(e){try{return(await e.text()).trim().slice(0,200)}catch{return``}}function E(e,t=`0.1.0`){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+|\/+$/g,``)}/aidictation`}function D(e){let{authKey:t,authToken:n,audioBase64:r,mimeType:i,apiVersion:a=`0.1.0`,stream:o=!0,language:s}=e;return{key:t,token:n,action:`create`,version:a,properties:{audio:r,mimetype:i,stream:o,...s?{language:s}:{}}}}async function O(e){let t=await e.arrayBuffer(),n=new Uint8Array(t),r=32768,i=``;for(let e=0;e<n.length;e+=r){let t=n.subarray(e,e+r);i+=String.fromCharCode(...t)}return btoa(i)}async function k(e){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;if(!r||!i)throw Error(`Voice transcription requires authKey and authToken.`);if(!t||t.size===0)throw Error(`Voice transcription requires a non-empty audio recording.`);let d=await O(t),f=E(a,o),p=D({authKey:r,authToken:i,audioBase64:d,mimeType:n||t.type||`audio/webm`,apiVersion:o,stream:!0,language:s}),m=await u(f,{method:`POST`,headers:{"Content-Type":`application/json`},mode:`cors`,redirect:`error`,body:JSON.stringify(p),signal:c});if(!m.ok){let e=await F(m);throw Error(`Voice transcription failed (${m.status})${e?`: ${e}`:`.`}`)}if(!m.body)throw Error(`Voice transcription response body is not readable.`);await N(m.body,e=>{let t=A(e);t&&l(t)})}function A(e){return e.type===`text_delta`&&typeof e.delta==`string`?e.delta:typeof e.text_delta==`string`?e.text_delta:``}var j=/^[a-z]+:/i;function M(e){let t=e.trim();if(!t||t.startsWith(`:`))return null;let n=t;if(n.startsWith(`data:`))n=n.slice(5).trimStart();else if(j.test(n))return null;return!n||n===`[DONE]`?null:JSON.parse(n)}async function N(e,t){let n=e.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.split(/\r?\n/);i=o.pop()??``;for(let e of o)P(e,t)}i+=r.decode();let e=i.trim();e&&P(e,t)}finally{n.releaseLock()}}function P(e,t){let n=M(e);n&&t(n)}async function F(e){try{return(await e.text()).trim().slice(0,200)}catch{return``}}var I=`: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))}`,L=3e3,R=6e4,z=class extends s.LitElement{constructor(...e){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=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=>{let t=e.data?.datasetInfo;return e.header&&t?s.html`
21
21
  <span>
22
22
  ${this.hideDatasetIcons?s.html`<luzmo-icon .icon=${o.luzmoPlugin} size="s"></luzmo-icon>`:s.html`
23
23
  <luzmo-dataset-icon
@@ -31,7 +31,7 @@ const e=require("./decorate-DCJt-2rt.cjs"),t=require("./set-locale-CZowB-SY.cjs"
31
31
  <span>
32
32
  <luzmo-icon .icon=${e.icon} size="s"></luzmo-icon>
33
33
  </span>
34
- `:s.nothing},this._handleAttachClick=()=>{this.openFilePicker()},this._handleAttachmentsChange=e=>{this._pendingAttachmentSync=e.detail?.attachments??this.getAttachments(),!this._attachmentSyncScheduled&&(this._attachmentSyncScheduled=!0,queueMicrotask(()=>{if(this._attachmentSyncScheduled=!1,!this.isConnected){this._pendingAttachmentSync=null;return}let e=this._pendingAttachmentSync??this.getAttachments();this._pendingAttachmentSync=null,this._syncAttachments(e)}))},this._handleVoiceKeydown=e=>{e.key===`Escape`&&this._isTranscribing&&(e.preventDefault(),e.stopPropagation(),this._cancelVoiceSession())},this._handleRecord=e=>{if(e.stopPropagation(),e.detail?.isRecording){this._captureVoiceInsertPoint(),this._isRecording=!0,this._isTranscribing=!1;return}this._isRecording=!1},this._handleRecordCancel=e=>{e.stopPropagation(),this._cancelVoiceSession()},this._handleRecordError=e=>{e.stopPropagation(),this._abortTranscription(),this._resetVoiceSessionState();let t=e.detail?.error?.trim()||(0,l.msg)(`Voice recording failed`,{desc:`Error when microphone recording fails in the AI prompt`});this._showAttachmentError(t)},this._handleRecordingComplete=e=>{e.stopPropagation();let{audioBlob:t,mimeType:n}=e.detail??{};if(!t){this._resetVoiceSessionState();return}this._transcribeRecording(t,n||t.type||`audio/webm`)}}static{this.styles=(0,s.unsafeCSS)(I)}static{this.tagName=`luzmo-ai-interaction-textarea`}get flagOpendata(){return this.includePublicDatasets}set flagOpendata(e){this.includePublicDatasets=e}get _voiceBusy(){return this._isRecording||this._isTranscribing}get _buttonDisabled(){return this.disabled||this.isGenerating||this._voiceBusy||!this._isPromptValid?!0:this.requireDataset&&this.selectedDatasets.length===0&&!this.selectedAgent}get _promptPending(){return this.isGenerating||this._isTranscribing}get _promptReadonly(){return this._voiceBusy}get _actionsDisabled(){return this.disabled||this.isGenerating||this._voiceBusy}get _fieldTriggers(){return this.disableColumnMentions?[]:[{key:`@`,options:this._fieldTriggerOptions,highlightSearch:!0,iconTemplate:this._renderFieldTriggerIcon}]}connectedCallback(){super.connectedCallback(),this._configureBroker(),this._refreshDatasetsFieldConfig(),this.addEventListener(`keydown`,this._handleVoiceKeydown)}disconnectedCallback(){window.clearTimeout(this._attachmentErrorClearHandle),this._abortAllAttachmentUploads(),this._abortTranscription(),this.removeEventListener(`keydown`,this._handleVoiceKeydown),super.disconnectedCallback()}_configureBroker(){n.t.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_handlePromptInput(e){let t=e.target.value??``;this._promptValue=t,this._isPromptValid=t.trim().length>0}openFilePicker(){this._promptBox?.openFilePicker()}addFiles(e){return this._promptBox?.addFiles(e)??[]}removeAttachment(e){this._cleanupAttachmentUpload(e),this._promptBox?.removeAttachment(e)}setAttachmentLoading(e,t){this._promptBox?.setAttachmentLoading(e,t)}clearAttachments(){this._abortAllAttachmentUploads(),this._promptBox?.clearAttachments()}getAttachments(){return this._promptBox?.getAttachments()??[]}getAttachmentUrls(e=this.getAttachments()){return e.map(e=>this._attachmentUploads.get(e.id)?.url).filter(e=>typeof e==`string`&&e.length>0)}_showAttachmentError(e){this._attachmentError=e,window.clearTimeout(this._attachmentErrorClearHandle),this._attachmentErrorClearHandle=window.setTimeout(()=>{this._attachmentError=null},L)}_cleanupAttachmentUpload(e){this._attachmentUploads.get(e)?.controller?.abort(),this._attachmentUploads.delete(e)}_abortAllAttachmentUploads(){for(let e of this._attachmentUploads.values())e.controller?.abort();this._attachmentUploads.clear()}async _uploadSingleFile(e,t){let n=``;if(typeof this.uploadAttachments==`function`){let r=await this.uploadAttachments([e],{signal:t});n=Array.isArray(r)?r[0]?.trim()??``:``}else{if(!this.authKey||!this.authToken)throw Error(`Image upload requires authKey and authToken.`);let[r]=await C({files:[e],authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl,apiVersion:this.apiVersion,signal:t});n=r?.trim()??``}if(!n)throw Error(`Image upload for "${e.name}" did not return a url.`);return b([n]),n}_startAttachmentUpload(e){let{id:t,file:n}=e;if(!n){this.removeAttachment(t);return}if(!v(n)){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Only PNG, JPEG, WebP, and GIF images can be attached.`,{desc:`Error when the user attaches an unsupported image type to the AI prompt`}));return}if(n.size===0){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}));return}if(n.size>15728640){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Image is too large. Maximum size is 15 MB.`,{desc:`Error when an attached AI prompt image exceeds the 15 MB upload limit`}));return}this.setAttachmentLoading(t,!0);let r=new AbortController,i={controller:r};this._attachmentUploads.set(t,i);let a=window.setTimeout(()=>r.abort(),R),o=()=>{this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}))};i.promise=(async()=>{try{let e=await this._uploadSingleFile(n,r.signal);window.clearTimeout(a);let i=this._attachmentUploads.get(t);if(!i||i.controller!==r)return;i.url=e,i.controller=void 0,i.promise=void 0,this.setAttachmentLoading(t,!1)}catch(e){if(window.clearTimeout(a),r.signal.aborted||e?.name===`AbortError`){this._attachmentUploads.get(t)?.controller===r&&o();return}o()}})()}_syncAttachments(e){let t=new Set(e.map(e=>e.id));for(let e of Array.from(this._attachmentUploads.keys()))t.has(e)||this._cleanupAttachmentUpload(e);let n=!1;for(let t of e)if(!this._attachmentUploads.has(t.id)){if(this._attachmentUploads.size>=20){n=!0,this._promptBox?.removeAttachment(t.id);continue}this._startAttachmentUpload(t)}n&&this._showAttachmentError((0,l.msg)(l.str`You can attach up to ${20} images.`,{desc:`Error when the user tries to attach more images than the AI prompt allows`}))}async _waitForAttachmentUploads(e){let t=e.map(e=>this._attachmentUploads.get(e.id)?.promise).filter(e=>!!e);t.length!==0&&await Promise.all(t)}async _submitPrompt(e=this._promptValue,t=[]){if(this._promptValue=e,this._isPromptValid=e.trim().length>0,!(this._buttonDisabled||this._submitInProgress)){this._submitInProgress=!0;try{let n=e.trim(),r=t.length>0?[...t]:this.getAttachments(),i=r.filter(e=>!!e.file&&v(e.file));await this._waitForAttachmentUploads(i);let a=[];for(let e of i){let t=this._attachmentUploads.get(e.id)?.url;if(!t){this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}));return}a.push(t)}this.retainOnSubmit||(this._promptValue=``,this._isPromptValid=!1,this._abortAllAttachmentUploads(),this._promptBox?.clear()),this.dispatchEvent(new CustomEvent(`prompt-submitted`,{detail:{prompt:n,selectedDatasets:this.selectedDatasets,selectedAgent:this.selectedAgent??null,attachments:r,attachmentUrls:a},bubbles:!0,composed:!0}))}finally{this._submitInProgress=!1}}}_handleDatasetSelected(e){let t=e.detail;this.selectedDatasets.some(e=>e.id===t.id)||(this.selectedDatasets=[...this.selectedDatasets,t])}_handleDatasetRemoved(e){let t=e.detail;this.selectedDatasets=this.selectedDatasets.filter(e=>e.id!==t.id)}_handleAgentSelected(e){this.selectedAgent=e.detail}_handleAgentRemoved(){this.selectedAgent=null}_getLocalizedFieldLabel(e){if(e)return typeof e==`string`?e:i.t(e,t.t())}_mapColumnToTriggerOption(e,t){return t.id?{label:this._getLocalizedFieldLabel(t.name)||t.id,value:`${e}:column:${t.id}`,icon:r.t(t,`s`),elementType:`data-field`,data:{datasetId:e,columnId:t.id,type:t.type,subtype:t.subtype}}:null}_mapFormulaToTriggerOption(e,t){return t.id?{label:this._getLocalizedFieldLabel(t.name)||t.id,value:`${e}:formula:${t.id}`,icon:r.r.formula[r.i(`s`)],elementType:`data-field`,data:{datasetId:e,formulaId:t.id,type:t.type,subtype:t.subtype}}:null}_updateFieldTriggerOptionsFromConfig(){let e=new Map(this._datasetsFieldConfig.map(e=>[e.id,e])),t=[];for(let n of this.selectedDatasets){let r=e.get(n.id),i=[],o=r?.columns?.filter(e=>!e.hidden)??[];for(let e of o){let t=this._mapColumnToTriggerOption(n.id,e);t&&i.push(t)}let s=r?.formulas?.filter(e=>!e.hidden)??[];for(let e of s){let t=this._mapFormulaToTriggerOption(n.id,e);t&&i.push(t)}i.length!==0&&(t.push({label:a.t(n),value:`dataset-header:${n.id}`,header:!0,data:{datasetInfo:n}}),t.push(...i))}this._fieldTriggerOptions=t}async _refreshDatasetsFieldConfig(){if(this.disableColumnMentions){this._datasetsFieldConfig=[],this._fieldTriggerOptions=[];return}let e=[...new Set(this.selectedDatasets.map(e=>e.id).filter(Boolean))];if(e.length===0){this._datasetsFieldConfig=[],this._fieldTriggerOptions=[];return}let t=++this._activeFieldRequestId;this._updateFieldTriggerOptionsFromConfig();try{let r=await n.t.fetchDatasetsWithColumnsAndFormulas(e);if(t!==this._activeFieldRequestId)return;this._datasetsFieldConfig=r,this._updateFieldTriggerOptionsFromConfig()}catch(e){console.error(`Error loading dataset fields for prompt triggers:`,e),t===this._activeFieldRequestId&&(this._datasetsFieldConfig=[],this._updateFieldTriggerOptionsFromConfig())}}_handlePromptSubmit(e){this._submitPrompt(e.detail?.value??this._promptValue,e.detail?.attachments??[])}_handlePromptStop(e){if(e.stopPropagation(),this._isTranscribing){this._cancelVoiceSession();return}this.dispatchEvent(new CustomEvent(`prompt-stopped`,{bubbles:!0,composed:!0}))}_getCaretTextOffset(){let e=this._promptBox?.shadowRoot;if(!e)return this._promptValue.length;let t=e.querySelector(`.rich-input`)??e.querySelector(`luzmo-text-field`);if(!t)return this._promptValue.length;let n=e.getSelection?.()??document.getSelection();if(!n||n.rangeCount===0)return this._promptValue.length;let r=n.getRangeAt(0);if(!t.contains(r.startContainer))return this._promptValue.length;let i=r.cloneRange();return i.selectNodeContents(t),i.setEnd(r.startContainer,r.startOffset),i.toString().length}_setPromptText(e){this._promptValue=e,this._isPromptValid=e.trim().length>0,this._syncControlledValueToPromptBox()}_captureVoiceInsertPoint(){let e=Math.min(Math.max(this._getCaretTextOffset(),0),this._promptValue.length);this._preRecordingValue=this._promptValue,this._voicePrefix=this._promptValue.slice(0,e),this._voiceSuffix=this._promptValue.slice(e),this._streamedTranscript=``,this._voiceSessionActive=!0}_applyStreamedTranscript(){this._setPromptText(`${this._voicePrefix}${this._streamedTranscript}${this._voiceSuffix}`)}_resetVoiceSessionState(){this._isRecording=!1,this._isTranscribing=!1,this._streamedTranscript=``,this._voicePrefix=``,this._voiceSuffix=``,this._preRecordingValue=``,this._voiceSessionActive=!1}_abortTranscription(){this._transcriptionController?.abort(),this._transcriptionController=null}_cancelVoiceSession(){if(!this._voiceSessionActive){this._abortTranscription(),this._resetVoiceSessionState();return}let e=this._preRecordingValue;this._abortTranscription(),this._resetVoiceSessionState(),this._setPromptText(e)}async _transcribeRecording(e,t){this._abortTranscription();let n=new AbortController;this._transcriptionController=n,this._isRecording=!1,this._isTranscribing=!0,this._streamedTranscript=``;try{if(await k({audioBlob:e,mimeType:t,authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl,apiVersion:this.apiVersion,signal:n.signal,onDelta:e=>{n.signal.aborted||(this._streamedTranscript+=e,this._applyStreamedTranscript())}}),n.signal.aborted)return;this._resetVoiceSessionState()}catch(e){if(n.signal.aborted)return;console.error(`Voice transcription failed:`,e),this._setPromptText(this._preRecordingValue),this._resetVoiceSessionState(),this._showAttachmentError((0,l.msg)(`Failed to transcribe audio`,{desc:`Error when AI prompt voice transcription fails`}))}finally{this._transcriptionController===n&&(this._transcriptionController=null)}}_syncControlledValueToPromptBox(){let e=this._promptBox;if(!e?.allowElements){e&&(e.value=this._promptValue);return}e.segments=this._promptValue?[{type:`text`,value:this._promptValue}]:[]}willUpdate(e){e.has(`value`)&&(this._promptValue=this.value,this._isPromptValid=this.value.trim().length>0);let t=e.has(`authKey`)||e.has(`authToken`)||e.has(`apiUrl`);t&&this._configureBroker(),(t||e.has(`selectedDatasets`)||e.has(`disableColumnMentions`))&&this._refreshDatasetsFieldConfig()}updated(e){super.updated(e),e.has(`value`)&&this._syncControlledValueToPromptBox()}render(){return s.html`
34
+ `:s.nothing},this._handleAttachClick=()=>{this.openFilePicker()},this._handleAttachmentsChange=e=>{this._pendingAttachmentSync=e.detail?.attachments??this.getAttachments(),!this._attachmentSyncScheduled&&(this._attachmentSyncScheduled=!0,queueMicrotask(()=>{if(this._attachmentSyncScheduled=!1,!this.isConnected){this._pendingAttachmentSync=null;return}let e=this._pendingAttachmentSync??this.getAttachments();this._pendingAttachmentSync=null,this._syncAttachments(e)}))},this._handleVoiceKeydown=e=>{e.key===`Escape`&&this._isTranscribing&&(e.preventDefault(),e.stopPropagation(),this._cancelVoiceSession())},this._handleRecord=e=>{if(e.stopPropagation(),e.detail?.isRecording){this._captureVoiceInsertPoint(),this._isRecording=!0,this._isTranscribing=!1;return}this._isRecording=!1},this._handleRecordCancel=e=>{e.stopPropagation(),this._cancelVoiceSession()},this._handleRecordError=e=>{e.stopPropagation(),this._abortTranscription(),this._resetVoiceSessionState();let t=e.detail?.error?.trim()||(0,l.msg)(`Voice recording failed`,{desc:`Error when microphone recording fails in the AI prompt`});this._showAttachmentError(t)},this._handleRecordingComplete=e=>{e.stopPropagation();let{audioBlob:t,mimeType:n}=e.detail??{};if(!t){this._resetVoiceSessionState();return}this._transcribeRecording(t,n||t.type||`audio/webm`)}}static{this.styles=(0,s.unsafeCSS)(I)}static{this.tagName=`luzmo-ai-interaction-textarea`}get flagOpendata(){return this.includePublicDatasets}set flagOpendata(e){this.includePublicDatasets=e}get _voiceBusy(){return this._isRecording||this._isTranscribing}get _buttonDisabled(){return this.disabled||this.isGenerating||this._voiceBusy||!this._isPromptValid?!0:this.requireDataset&&this.selectedDatasets.length===0&&!this._activeAgent}get _activeAgent(){return this.hideAgents?null:this.selectedAgent??null}get _promptPending(){return this.isGenerating||this._isTranscribing}get _promptReadonly(){return this._voiceBusy}get _actionsDisabled(){return this.disabled||this.isGenerating||this._voiceBusy}get _fieldTriggers(){return this.disableColumnMentions?[]:[{key:`@`,options:this._fieldTriggerOptions,highlightSearch:!0,iconTemplate:this._renderFieldTriggerIcon}]}connectedCallback(){super.connectedCallback(),this._configureBroker(),this._refreshDatasetsFieldConfig(),this.addEventListener(`keydown`,this._handleVoiceKeydown)}disconnectedCallback(){window.clearTimeout(this._attachmentErrorClearHandle),this._abortAllAttachmentUploads(),this._abortTranscription(),this.removeEventListener(`keydown`,this._handleVoiceKeydown),super.disconnectedCallback()}_configureBroker(){n.t.configure({authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl})}_handlePromptInput(e){let t=e.target.value??``;this._promptValue=t,this._isPromptValid=t.trim().length>0}openFilePicker(){this._promptBox?.openFilePicker()}addFiles(e){return this._promptBox?.addFiles(e)??[]}removeAttachment(e){this._cleanupAttachmentUpload(e),this._promptBox?.removeAttachment(e)}setAttachmentLoading(e,t){this._promptBox?.setAttachmentLoading(e,t)}clearAttachments(){this._abortAllAttachmentUploads(),this._promptBox?.clearAttachments()}getAttachments(){return this._promptBox?.getAttachments()??[]}getAttachmentUrls(e=this.getAttachments()){return e.map(e=>this._attachmentUploads.get(e.id)?.url).filter(e=>typeof e==`string`&&e.length>0)}_showAttachmentError(e){this._attachmentError=e,window.clearTimeout(this._attachmentErrorClearHandle),this._attachmentErrorClearHandle=window.setTimeout(()=>{this._attachmentError=null},L)}_cleanupAttachmentUpload(e){this._attachmentUploads.get(e)?.controller?.abort(),this._attachmentUploads.delete(e)}_abortAllAttachmentUploads(){for(let e of this._attachmentUploads.values())e.controller?.abort();this._attachmentUploads.clear()}async _uploadSingleFile(e,t){let n=``;if(typeof this.uploadAttachments==`function`){let r=await this.uploadAttachments([e],{signal:t});n=Array.isArray(r)?r[0]?.trim()??``:``}else{if(!this.authKey||!this.authToken)throw Error(`Image upload requires authKey and authToken.`);let[r]=await C({files:[e],authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl,apiVersion:this.apiVersion,signal:t});n=r?.trim()??``}if(!n)throw Error(`Image upload for "${e.name}" did not return a url.`);return b([n]),n}_startAttachmentUpload(e){let{id:t,file:n}=e;if(!n){this.removeAttachment(t);return}if(!v(n)){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Only PNG, JPEG, WebP, and GIF images can be attached.`,{desc:`Error when the user attaches an unsupported image type to the AI prompt`}));return}if(n.size===0){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}));return}if(n.size>15728640){this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Image is too large. Maximum size is 15 MB.`,{desc:`Error when an attached AI prompt image exceeds the 15 MB upload limit`}));return}this.setAttachmentLoading(t,!0);let r=new AbortController,i={controller:r};this._attachmentUploads.set(t,i);let a=window.setTimeout(()=>r.abort(),R),o=()=>{this.removeAttachment(t),this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}))};i.promise=(async()=>{try{let e=await this._uploadSingleFile(n,r.signal);window.clearTimeout(a);let i=this._attachmentUploads.get(t);if(!i||i.controller!==r)return;i.url=e,i.controller=void 0,i.promise=void 0,this.setAttachmentLoading(t,!1)}catch(e){if(window.clearTimeout(a),r.signal.aborted||e?.name===`AbortError`){this._attachmentUploads.get(t)?.controller===r&&o();return}o()}})()}_syncAttachments(e){let t=new Set(e.map(e=>e.id));for(let e of Array.from(this._attachmentUploads.keys()))t.has(e)||this._cleanupAttachmentUpload(e);let n=!1;for(let t of e)if(!this._attachmentUploads.has(t.id)){if(this._attachmentUploads.size>=20){n=!0,this._promptBox?.removeAttachment(t.id);continue}this._startAttachmentUpload(t)}n&&this._showAttachmentError((0,l.msg)(l.str`You can attach up to ${20} images.`,{desc:`Error when the user tries to attach more images than the AI prompt allows`}))}async _waitForAttachmentUploads(e){let t=e.map(e=>this._attachmentUploads.get(e.id)?.promise).filter(e=>!!e);t.length!==0&&await Promise.all(t)}async _submitPrompt(e=this._promptValue,t=[]){if(this._promptValue=e,this._isPromptValid=e.trim().length>0,!(this._buttonDisabled||this._submitInProgress)){this._submitInProgress=!0;try{let n=e.trim(),r=t.length>0?[...t]:this.getAttachments(),i=r.filter(e=>!!e.file&&v(e.file));await this._waitForAttachmentUploads(i);let a=[];for(let e of i){let t=this._attachmentUploads.get(e.id)?.url;if(!t){this._showAttachmentError((0,l.msg)(`Failed to attach image`,{desc:`Error when an AI prompt image upload fails`}));return}a.push(t)}this.retainOnSubmit||(this._promptValue=``,this._isPromptValid=!1,this._abortAllAttachmentUploads(),this._promptBox?.clear()),this.dispatchEvent(new CustomEvent(`prompt-submitted`,{detail:{prompt:n,selectedDatasets:this.selectedDatasets,selectedAgent:this._activeAgent,attachments:r,attachmentUrls:a},bubbles:!0,composed:!0}))}finally{this._submitInProgress=!1}}}_handleDatasetSelected(e){let t=e.detail;this.selectedDatasets.some(e=>e.id===t.id)||(this.selectedDatasets=[...this.selectedDatasets,t])}_handleDatasetRemoved(e){let t=e.detail;this.selectedDatasets=this.selectedDatasets.filter(e=>e.id!==t.id)}_handleAgentSelected(e){this.selectedAgent=e.detail}_handleAgentRemoved(){this.selectedAgent=null}_getLocalizedFieldLabel(e){if(e)return typeof e==`string`?e:i.t(e,t.t())}_mapColumnToTriggerOption(e,t){return t.id?{label:this._getLocalizedFieldLabel(t.name)||t.id,value:`${e}:column:${t.id}`,icon:r.t(t,`s`),elementType:`data-field`,data:{datasetId:e,columnId:t.id,type:t.type,subtype:t.subtype}}:null}_mapFormulaToTriggerOption(e,t){return t.id?{label:this._getLocalizedFieldLabel(t.name)||t.id,value:`${e}:formula:${t.id}`,icon:r.r.formula[r.i(`s`)],elementType:`data-field`,data:{datasetId:e,formulaId:t.id,type:t.type,subtype:t.subtype}}:null}_updateFieldTriggerOptionsFromConfig(){let e=new Map(this._datasetsFieldConfig.map(e=>[e.id,e])),t=[];for(let n of this.selectedDatasets){let r=e.get(n.id),i=[],o=r?.columns?.filter(e=>!e.hidden)??[];for(let e of o){let t=this._mapColumnToTriggerOption(n.id,e);t&&i.push(t)}let s=r?.formulas?.filter(e=>!e.hidden)??[];for(let e of s){let t=this._mapFormulaToTriggerOption(n.id,e);t&&i.push(t)}i.length!==0&&(t.push({label:a.t(n),value:`dataset-header:${n.id}`,header:!0,data:{datasetInfo:n}}),t.push(...i))}this._fieldTriggerOptions=t}async _refreshDatasetsFieldConfig(){if(this.disableColumnMentions){this._datasetsFieldConfig=[],this._fieldTriggerOptions=[];return}let e=[...new Set(this.selectedDatasets.map(e=>e.id).filter(Boolean))];if(e.length===0){this._datasetsFieldConfig=[],this._fieldTriggerOptions=[];return}let t=++this._activeFieldRequestId;this._updateFieldTriggerOptionsFromConfig();try{let r=await n.t.fetchDatasetsWithColumnsAndFormulas(e);if(t!==this._activeFieldRequestId)return;this._datasetsFieldConfig=r,this._updateFieldTriggerOptionsFromConfig()}catch(e){console.error(`Error loading dataset fields for prompt triggers:`,e),t===this._activeFieldRequestId&&(this._datasetsFieldConfig=[],this._updateFieldTriggerOptionsFromConfig())}}_handlePromptSubmit(e){this._submitPrompt(e.detail?.value??this._promptValue,e.detail?.attachments??[])}_handlePromptStop(e){if(e.stopPropagation(),this._isTranscribing){this._cancelVoiceSession();return}this.dispatchEvent(new CustomEvent(`prompt-stopped`,{bubbles:!0,composed:!0}))}_getCaretTextOffset(){let e=this._promptBox?.shadowRoot;if(!e)return this._promptValue.length;let t=e.querySelector(`.rich-input`)??e.querySelector(`luzmo-text-field`);if(!t)return this._promptValue.length;let n=e.getSelection?.()??document.getSelection();if(!n||n.rangeCount===0)return this._promptValue.length;let r=n.getRangeAt(0);if(!t.contains(r.startContainer))return this._promptValue.length;let i=r.cloneRange();return i.selectNodeContents(t),i.setEnd(r.startContainer,r.startOffset),i.toString().length}_setPromptText(e){this._promptValue=e,this._isPromptValid=e.trim().length>0,this._syncControlledValueToPromptBox()}_captureVoiceInsertPoint(){let e=Math.min(Math.max(this._getCaretTextOffset(),0),this._promptValue.length);this._preRecordingValue=this._promptValue,this._voicePrefix=this._promptValue.slice(0,e),this._voiceSuffix=this._promptValue.slice(e),this._streamedTranscript=``,this._voiceSessionActive=!0}_applyStreamedTranscript(){this._setPromptText(`${this._voicePrefix}${this._streamedTranscript}${this._voiceSuffix}`)}_resetVoiceSessionState(){this._isRecording=!1,this._isTranscribing=!1,this._streamedTranscript=``,this._voicePrefix=``,this._voiceSuffix=``,this._preRecordingValue=``,this._voiceSessionActive=!1}_abortTranscription(){this._transcriptionController?.abort(),this._transcriptionController=null}_cancelVoiceSession(){if(!this._voiceSessionActive){this._abortTranscription(),this._resetVoiceSessionState();return}let e=this._preRecordingValue;this._abortTranscription(),this._resetVoiceSessionState(),this._setPromptText(e)}async _transcribeRecording(e,t){this._abortTranscription();let n=new AbortController;this._transcriptionController=n,this._isRecording=!1,this._isTranscribing=!0,this._streamedTranscript=``;try{if(await k({audioBlob:e,mimeType:t,authKey:this.authKey,authToken:this.authToken,apiUrl:this.apiUrl,apiVersion:this.apiVersion,signal:n.signal,onDelta:e=>{n.signal.aborted||(this._streamedTranscript+=e,this._applyStreamedTranscript())}}),n.signal.aborted)return;this._resetVoiceSessionState()}catch(e){if(n.signal.aborted)return;console.error(`Voice transcription failed:`,e),this._setPromptText(this._preRecordingValue),this._resetVoiceSessionState(),this._showAttachmentError((0,l.msg)(`Failed to transcribe audio`,{desc:`Error when AI prompt voice transcription fails`}))}finally{this._transcriptionController===n&&(this._transcriptionController=null)}}_syncControlledValueToPromptBox(){let e=this._promptBox;if(!e?.allowElements){e&&(e.value=this._promptValue);return}e.segments=this._promptValue?[{type:`text`,value:this._promptValue}]:[]}willUpdate(e){e.has(`value`)&&(this._promptValue=this.value,this._isPromptValid=this.value.trim().length>0);let t=e.has(`authKey`)||e.has(`authToken`)||e.has(`apiUrl`);t&&this._configureBroker(),(t||e.has(`selectedDatasets`)||e.has(`disableColumnMentions`))&&this._refreshDatasetsFieldConfig()}updated(e){super.updated(e),e.has(`value`)&&this._syncControlledValueToPromptBox()}render(){return s.html`
35
35
  <div class=${(0,u.classMap)({"content-wrapper":!0,disabled:this.disabled,"single-line":this.singleLine})} aria-busy=${this.isGenerating||this._voiceBusy?`true`:`false`}>
36
36
  <luzmo-prompt-box
37
37
  ?single-line=${this.singleLine}
@@ -63,6 +63,7 @@ const e=require("./decorate-DCJt-2rt.cjs"),t=require("./set-locale-CZowB-SY.cjs"
63
63
  slot="top-actions"
64
64
  .selectedDatasets=${this.selectedDatasets}
65
65
  .selectedAgent=${this.selectedAgent}
66
+ ?hide-agents=${this.hideAgents}
66
67
  .maxVisibleSelectedDatasets=${this.maxVisibleSelectedDatasets}
67
68
  auth-key=${this.authKey}
68
69
  auth-token=${this.authToken}
@@ -95,4 +96,4 @@ const e=require("./decorate-DCJt-2rt.cjs"),t=require("./set-locale-CZowB-SY.cjs"
95
96
  <div class="attachment-error" role="alert">${this._attachmentError}</div>
96
97
  `:s.nothing}
97
98
  </div>
98
- `}};e.t([(0,c.property)({type:String})],z.prototype,`placeholder`,void 0),e.t([(0,c.property)({type:Array})],z.prototype,`selectedDatasets`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-key`})],z.prototype,`authKey`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-token`})],z.prototype,`authToken`,void 0),e.t([(0,c.property)({type:String,attribute:`api-url`})],z.prototype,`apiUrl`,void 0),e.t([(0,c.property)({type:String,attribute:`app-server`})],z.prototype,`appServer`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`include-public-datasets`})],z.prototype,`includePublicDatasets`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`flag-opendata`})],z.prototype,`flagOpendata`,null),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`disabled`})],z.prototype,`disabled`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`single-line`})],z.prototype,`singleLine`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-dataset-button`})],z.prototype,`hideDatasetButton`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-dataset-icons`})],z.prototype,`hideDatasetIcons`,void 0),e.t([(0,c.property)({type:Number,reflect:!0,useDefault:!0,attribute:`max-visible-selected-datasets`})],z.prototype,`maxVisibleSelectedDatasets`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`selectedAgent`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`disable-dataset-modification`})],z.prototype,`disableDatasetModification`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-selected-datasets`})],z.prototype,`hideSelectedDatasets`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`disable-column-mentions`})],z.prototype,`disableColumnMentions`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`is-generating`})],z.prototype,`isGenerating`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0})],z.prototype,`stoppable`,void 0),e.t([(0,c.property)({type:String})],z.prototype,`value`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`retain-on-submit`})],z.prototype,`retainOnSubmit`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`require-dataset`})],z.prototype,`requireDataset`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`allow-images`})],z.prototype,`allowImages`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`allow-voice-input`})],z.prototype,`allowVoiceInput`,void 0),e.t([(0,c.property)({type:Array,attribute:`accepted-file-types`})],z.prototype,`acceptedFileTypes`,void 0),e.t([(0,c.property)({type:String,attribute:`api-version`})],z.prototype,`apiVersion`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`uploadAttachments`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`fileIcons`,void 0),e.t([(0,c.state)()],z.prototype,`_promptValue`,void 0),e.t([(0,c.state)()],z.prototype,`_isPromptValid`,void 0),e.t([(0,c.state)()],z.prototype,`_fieldTriggerOptions`,void 0),e.t([(0,c.state)()],z.prototype,`_datasetsFieldConfig`,void 0),e.t([(0,c.state)()],z.prototype,`_attachmentError`,void 0),e.t([(0,c.state)()],z.prototype,`_isRecording`,void 0),e.t([(0,c.state)()],z.prototype,`_isTranscribing`,void 0),e.t([(0,c.query)(`luzmo-prompt-box`)],z.prototype,`_promptBox`,void 0),z=e.t([(0,l.localized)()],z),customElements.get(`luzmo-ai-interaction-textarea`)||customElements.define(`luzmo-ai-interaction-textarea`,z),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
99
+ `}};e.t([(0,c.property)({type:String})],z.prototype,`placeholder`,void 0),e.t([(0,c.property)({type:Array})],z.prototype,`selectedDatasets`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-key`})],z.prototype,`authKey`,void 0),e.t([(0,c.property)({type:String,attribute:`auth-token`})],z.prototype,`authToken`,void 0),e.t([(0,c.property)({type:String,attribute:`api-url`})],z.prototype,`apiUrl`,void 0),e.t([(0,c.property)({type:String,attribute:`app-server`})],z.prototype,`appServer`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`include-public-datasets`})],z.prototype,`includePublicDatasets`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`flag-opendata`})],z.prototype,`flagOpendata`,null),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`disabled`})],z.prototype,`disabled`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`single-line`})],z.prototype,`singleLine`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-dataset-button`})],z.prototype,`hideDatasetButton`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-dataset-icons`})],z.prototype,`hideDatasetIcons`,void 0),e.t([(0,c.property)({type:Number,reflect:!0,useDefault:!0,attribute:`max-visible-selected-datasets`})],z.prototype,`maxVisibleSelectedDatasets`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`selectedAgent`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`hide-agents`})],z.prototype,`hideAgents`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`disable-dataset-modification`})],z.prototype,`disableDatasetModification`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`hide-selected-datasets`})],z.prototype,`hideSelectedDatasets`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`disable-column-mentions`})],z.prototype,`disableColumnMentions`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`is-generating`})],z.prototype,`isGenerating`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0})],z.prototype,`stoppable`,void 0),e.t([(0,c.property)({type:String})],z.prototype,`value`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`retain-on-submit`})],z.prototype,`retainOnSubmit`,void 0),e.t([(0,c.property)({type:Boolean,attribute:`require-dataset`})],z.prototype,`requireDataset`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`allow-images`})],z.prototype,`allowImages`,void 0),e.t([(0,c.property)({type:Boolean,reflect:!0,attribute:`allow-voice-input`})],z.prototype,`allowVoiceInput`,void 0),e.t([(0,c.property)({type:Array,attribute:`accepted-file-types`})],z.prototype,`acceptedFileTypes`,void 0),e.t([(0,c.property)({type:String,attribute:`api-version`})],z.prototype,`apiVersion`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`uploadAttachments`,void 0),e.t([(0,c.property)({attribute:!1})],z.prototype,`fileIcons`,void 0),e.t([(0,c.state)()],z.prototype,`_promptValue`,void 0),e.t([(0,c.state)()],z.prototype,`_isPromptValid`,void 0),e.t([(0,c.state)()],z.prototype,`_fieldTriggerOptions`,void 0),e.t([(0,c.state)()],z.prototype,`_datasetsFieldConfig`,void 0),e.t([(0,c.state)()],z.prototype,`_attachmentError`,void 0),e.t([(0,c.state)()],z.prototype,`_isRecording`,void 0),e.t([(0,c.state)()],z.prototype,`_isTranscribing`,void 0),e.t([(0,c.query)(`luzmo-prompt-box`)],z.prototype,`_promptBox`,void 0),z=e.t([(0,l.localized)()],z),customElements.get(`luzmo-ai-interaction-textarea`)||customElements.define(`luzmo-ai-interaction-textarea`,z),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return x}});
@@ -22,8 +22,9 @@ import { a as t, c as n, t as r, u as i } from "./helpers-irnB2xbq.js";
22
22
  import { t as a } from "./axis-options.config-BCP0Z8VI.js";
23
23
  import { r as o, t as s } from "./guidelines-options.config-DyedEeX2.js";
24
24
  import { t as c } from "./info-tooltip-options.config-BmSMkirf.js";
25
+ import { t as l } from "./interactivity-options.config-BjEGNaIz.js";
25
26
  //#region node_modules/@luzmo/dashboard-contents-types/area-chart/area-chart-options.config.js
26
- var l = /* @__PURE__ */ e({ default: () => d }), u = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, d = [
27
+ var u = /* @__PURE__ */ e({ default: () => f }), d = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, f = [
27
28
  {
28
29
  key: "general",
29
30
  type: "group",
@@ -51,7 +52,7 @@ var l = /* @__PURE__ */ e({ default: () => d }), u = ({ slots: e }) => Array.isA
51
52
  "stream"
52
53
  ]
53
54
  },
54
- visibleIf: u
55
+ visibleIf: d
55
56
  },
56
57
  {
57
58
  key: "interpolation",
@@ -74,7 +75,7 @@ var l = /* @__PURE__ */ e({ default: () => d }), u = ({ slots: e }) => Array.isA
74
75
  type: "switch",
75
76
  default: !0
76
77
  },
77
- visibleIf: u
78
+ visibleIf: d
78
79
  },
79
80
  {
80
81
  key: "display.modeOption",
@@ -83,7 +84,7 @@ var l = /* @__PURE__ */ e({ default: () => d }), u = ({ slots: e }) => Array.isA
83
84
  type: "switch",
84
85
  default: !0
85
86
  },
86
- visibleIf: u
87
+ visibleIf: d
87
88
  },
88
89
  {
89
90
  key: "missingValue.type",
@@ -187,10 +188,14 @@ var l = /* @__PURE__ */ e({ default: () => d }), u = ({ slots: e }) => Array.isA
187
188
  visibleIf: ({ options: e }) => e?.legend?.customOrder === !0
188
189
  }
189
190
  ],
190
- visibleIf: u
191
+ visibleIf: d
191
192
  },
192
193
  o(s),
193
- c()
194
+ c(),
195
+ l({ brush: {
196
+ default: !0,
197
+ excludesClickActions: !0
198
+ } })
194
199
  ];
195
200
  //#endregion
196
- export { d as n, l as t };
201
+ export { f as n, u as t };
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./helpers-B2IWxa9q.cjs"),n=require("./axis-options.config-s-Js3ug-.cjs"),r=require("./guidelines-options.config-D-ZuReR_.cjs"),i=require("./info-tooltip-options.config-B9T0cwSM.cjs"),a=require("./interactivity-options.config-Bzk2L-qh.cjs");var o=e.n({default:()=>c}),s=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,c=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{label:`Title`,type:`switch`,default:!0}},{type:`divider`},{key:`mode`,control:{label:`Mode`,type:`picker`,default:`stacked`,enum:[`100`,`unstacked`,`stacked`,`stream`]},visibleIf:s},{key:`interpolation`,control:{label:`Interpolation`,type:`picker`,default:`linear`,enum:[`linear`,`step-before`,`step-after`,`monotone`]}},{key:`display.legend`,control:{label:`Legend`,type:`switch`,default:!0},visibleIf:s},{key:`display.modeOption`,control:{label:`Mode option`,type:`switch`,default:!0},visibleIf:s},{key:`missingValue.type`,control:{label:`Fill missing values`,type:`picker`,default:`no`,enum:[`no`,`break`,`manual`]},visibleIf:({slots:e})=>Array.isArray(e)&&e?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`},{key:`missingValue.value`,control:{label:`Value`,type:`number-field`,default:0,min:1},visibleIf:({options:e,slots:t})=>Array.isArray(t)&&t?.find(e=>e?.name===`x-axis`)?.content?.[0]?.type===`datetime`&&e?.missingValue?.type===`manual`},{key:`color`,control:{label:`Area color`,type:`color-picker`,default:({theme:e})=>t.u(e),extraLabel:({options:e,theme:n})=>t.a(e,n,`color`),extraLabelHasClickAction:({options:e,theme:n})=>t.t(e,n,`color`),extraLabelClickAction:({options:e,theme:n})=>t.c(e,n,`color`)},visibleIf:({slots:e})=>Array.isArray(e)&&e?.length>0?!((e?.find(e=>e?.name===`legend`)?.content?.length??0)>0)&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0}]},n.t([{axis:`x`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0,datetimeTickStyle:!0},{axis:`y`,role:`measure`,scale:!0,manualRange:{key:`axis.y.manualAxesRange`,discriminatorKey:`axis.y.type`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:s},r.r(r.t),i.t(),a.t({brush:{default:!0,excludesClickActions:!0}})];Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- const e=require("./item-slot-drop-panel-CrMdoDfz.cjs");var t={grid:{columns:2,rows:2,columnSizes:[`1fr`,e.n],rowSizes:[`1fr`,e.n],gap:`0`},slots:{measure:{column:1,row:1,align:`center`,justify:`center`,rotate:!1},"x-axis":{column:1,row:2,align:`center`,justify:`center`,rotate:!1},legend:{column:2,row:1,align:`center`,justify:`center`,rotate:!0}}};exports.areaChartPositioningConfig=t;
20
+ const e=require("./item-slot-drop-panel-CKXMQCyt.cjs");var t={grid:{columns:2,rows:2,columnSizes:[`1fr`,e.n],rowSizes:[`1fr`,e.n],gap:`0`},slots:{measure:{column:1,row:1,align:`center`,justify:`center`,rotate:!1},"x-axis":{column:1,row:2,align:`center`,justify:`center`,rotate:!1},legend:{column:2,row:1,align:`center`,justify:`center`,rotate:!0}}};exports.areaChartPositioningConfig=t;
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { n as e } from "./item-slot-drop-panel-CA9-hvpd.js";
20
+ import { n as e } from "./item-slot-drop-panel-BtrZehGL.js";
21
21
  //#region node_modules/@luzmo/dashboard-contents-types/area-chart/area-chart-positioning.config.js
22
22
  var t = {
23
23
  grid: {
@@ -22,8 +22,9 @@ import { a as t, c as n, t as r, u as i } from "./helpers-irnB2xbq.js";
22
22
  import { t as a } from "./axis-options.config-BCP0Z8VI.js";
23
23
  import { r as o, t as s } from "./guidelines-options.config-DyedEeX2.js";
24
24
  import { t as c } from "./info-tooltip-options.config-BmSMkirf.js";
25
+ import { t as l } from "./interactivity-options.config-BjEGNaIz.js";
25
26
  //#region node_modules/@luzmo/dashboard-contents-types/bar-chart/bar-chart-options.config.js
26
- var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, d = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) === 0 && (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) <= 1 : !0, f = [
27
+ var u = /* @__PURE__ */ e({ default: () => p }), d = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) > 0 || (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) > 1 : !1, f = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? (e?.find((e) => e?.name === "legend")?.content?.length ?? 0) === 0 && (e?.find((e) => e?.name === "measure")?.content?.length ?? 0) <= 1 : !0, p = [
27
28
  {
28
29
  key: "general",
29
30
  type: "group",
@@ -40,11 +41,11 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
40
41
  "100"
41
42
  ]
42
43
  },
43
- visibleIf: u
44
+ visibleIf: d
44
45
  },
45
46
  {
46
47
  type: "divider",
47
- visibleIf: u
48
+ visibleIf: d
48
49
  },
49
50
  {
50
51
  key: "display.title",
@@ -59,7 +60,7 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
59
60
  type: "switch",
60
61
  default: !0
61
62
  },
62
- visibleIf: u
63
+ visibleIf: d
63
64
  },
64
65
  {
65
66
  key: "display.modeOption",
@@ -67,7 +68,7 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
67
68
  type: "switch",
68
69
  default: !1
69
70
  },
70
- visibleIf: u
71
+ visibleIf: d
71
72
  },
72
73
  {
73
74
  key: "bars.label",
@@ -90,7 +91,7 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
90
91
  type: "switch",
91
92
  default: !1
92
93
  },
93
- visibleIf: d
94
+ visibleIf: f
94
95
  },
95
96
  {
96
97
  key: "bars.roundedCorners",
@@ -121,7 +122,7 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
121
122
  extraLabelHasClickAction: ({ options: e, theme: t }) => r(e, t, "color"),
122
123
  extraLabelClickAction: ({ options: e, theme: t }) => n(e, t, "color")
123
124
  },
124
- visibleIf: (e) => d(e) && e.options?.categories?.colored !== !0
125
+ visibleIf: (e) => f(e) && e.options?.categories?.colored !== !0
125
126
  }
126
127
  ]
127
128
  },
@@ -250,10 +251,11 @@ var l = /* @__PURE__ */ e({ default: () => f }), u = ({ slots: e }) => Array.isA
250
251
  visibleIf: ({ options: e }) => e?.legend?.customOrder === !0
251
252
  }
252
253
  ],
253
- visibleIf: u
254
+ visibleIf: d
254
255
  },
255
256
  o(s),
256
- c()
257
+ c(),
258
+ l({ select: { default: !0 } })
257
259
  ];
258
260
  //#endregion
259
- export { f as n, l as t };
261
+ export { p as n, u as t };
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./helpers-B2IWxa9q.cjs"),n=require("./axis-options.config-s-Js3ug-.cjs"),r=require("./guidelines-options.config-D-ZuReR_.cjs"),i=require("./info-tooltip-options.config-B9T0cwSM.cjs"),a=require("./interactivity-options.config-Bzk2L-qh.cjs");var o=e.n({default:()=>l}),s=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)>0||(e?.find(e=>e?.name===`measure`)?.content?.length??0)>1:!1,c=({slots:e})=>Array.isArray(e)&&e?.length>0?(e?.find(e=>e?.name===`legend`)?.content?.length??0)===0&&(e?.find(e=>e?.name===`measure`)?.content?.length??0)<=1:!0,l=[{key:`general`,type:`group`,open:!0,children:[{key:`mode`,control:{type:`picker`,default:`grouped`,enum:[`grouped`,`stacked`,`100`]},visibleIf:s},{type:`divider`,visibleIf:s},{key:`display.title`,control:{type:`switch`,default:!0}},{key:`display.legend`,control:{type:`switch`,default:!0},visibleIf:s},{key:`display.modeOption`,control:{type:`switch`,default:!1},visibleIf:s},{key:`bars.label`,control:{type:`picker`,default:`none`,enum:[`none`,`absolute`,`percentage`,`percentageLegend`,`percentageCategory`,`percentageMax`]}},{key:`categories.colored`,control:{type:`switch`,default:!1},visibleIf:c},{key:`bars.roundedCorners`,control:{type:`slider`,default:({theme:e})=>e?.itemSpecific?.rounding,min:0,max:20,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.bars?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.bars?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return delete t?.bars?.roundedCorners,{value:null,options:t}}}},{key:`color`,control:{type:`color-picker`,label:`Bar color`,default:({theme:e})=>t.u(e),extraLabel:({options:e,theme:n})=>t.a(e,n,`color`),extraLabelHasClickAction:({options:e,theme:n})=>t.t(e,n,`color`),extraLabelClickAction:({options:e,theme:n})=>t.c(e,n,`color`)},visibleIf:e=>c(e)&&e.options?.categories?.colored!==!0}]},{key:`order`,type:`group`,label:`Order & Limit`,open:!0,children:[{key:`ranking.active`,control:{type:`switch`,label:`Limit to`,default:!1}},{key:`ranking.direction`,control:{type:`picker`,label:`Direction`,default:`top`,enum:[`top`,`bottom`]},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`ranking.number`,control:{type:`number-field`,label:`Number`,default:10,min:1,max:999999},visibleIf:({options:e})=>e?.ranking?.active===!0},{key:`sort.by`,control:{type:`picker`,label:`Order by`,default:`measure`,enum:[`measure`,`category`]}},{key:`sort.direction`,control:{type:`picker`,label:`Direction`,default:`desc`,enum:[`asc`,`desc`]}},{key:`limit.number`,control:{type:`number-field`,label:`Limit`,default:1e5,min:1,max:1e5}}]},n.t([{axis:`x`,role:`measure`,scale:!0,manualRange:{key:`manualAxesRange`},color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`category`,color:!0,label:!0,tickMode:!0,gridlines:!0}]),{key:`legend`,type:`group`,open:!1,children:[{key:`legend.position`,control:{label:`Position`,type:`position-picker`,default:`topRight`,enum:[`topLeft`,`top`,`topRight`,`right`,`bottomRight`,`bottom`,`bottomLeft`,`left`]}},{key:`legend.customOrder`,control:{label:`Custom order`,description:`Drag items in the chart legend to set the order.`,type:`switch`,default:!1}},{key:`interactivity.legendReorder`,control:{label:`Allow viewers to reorder`,type:`switch`,default:!1},visibleIf:({options:e})=>e?.legend?.customOrder===!0}],visibleIf:s},r.r(r.t),i.t(),a.t({select:{default:!0}})];Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- const e=require("./item-slot-drop-panel-CrMdoDfz.cjs");var t={grid:{columns:3,rows:1,columnSizes:[e.n,`1fr`,e.n],rowSizes:[`1fr`],gap:`0`},slots:{"y-axis":{column:1,row:1,align:`center`,justify:`center`,rotate:!0},measure:{column:2,row:1,align:`end`,justify:`center`,rotate:!1},legend:{column:3,row:1,align:`center`,justify:`center`,rotate:!0}}};exports.barChartPositioningConfig=t;
20
+ const e=require("./item-slot-drop-panel-CKXMQCyt.cjs");var t={grid:{columns:3,rows:1,columnSizes:[e.n,`1fr`,e.n],rowSizes:[`1fr`],gap:`0`},slots:{"y-axis":{column:1,row:1,align:`center`,justify:`center`,rotate:!0},measure:{column:2,row:1,align:`end`,justify:`center`,rotate:!1},legend:{column:3,row:1,align:`center`,justify:`center`,rotate:!0}}};exports.barChartPositioningConfig=t;
@@ -17,7 +17,7 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { n as e } from "./item-slot-drop-panel-CA9-hvpd.js";
20
+ import { n as e } from "./item-slot-drop-panel-BtrZehGL.js";
21
21
  //#region node_modules/@luzmo/dashboard-contents-types/bar-chart/bar-chart-positioning.config.js
22
22
  var t = {
23
23
  grid: {
@@ -19,7 +19,7 @@
19
19
  * */
20
20
  import { s as e } from "./pragmatic-element-adapter-C_7HSvGV.js";
21
21
  import { t } from "./decorate-DyMgX_Uh.js";
22
- import "./localized-mixin-BXDzTsZA.js";
22
+ import "./localized-mixin-CSF-kZFt.js";
23
23
  import { LitElement as n } from "lit";
24
24
  import { property as r } from "lit/decorators.js";
25
25
  //#region src/utils/base/base.ts
@@ -17,4 +17,4 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./decorate-DCJt-2rt.cjs");require("./localized-mixin-9QFQ92Y7.cjs");let n=require("lit"),r=require("lit/decorators.js");var i=new Set;new MutationObserver(()=>{let e=document.documentElement.dir===`rtl`?document.documentElement.dir:`ltr`;i.forEach(t=>{t.setAttribute(`dir`,e)})}).observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`]});var a=e=>e.startManagingContentDirection!==void 0||e.tagName===`LUZMO-THEME`,o=(e=document)=>{let t=e.activeElement;for(;t?.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;let n=t?[t]:[];for(;t;){let e=t.assignedSlot||t.parentElement||t.getRootNode()?.host;e&&n.push(e),t=e}return n};function s(e){class t extends e{get isLTR(){return this.dir===`ltr`}hasVisibleFocusInTree(){let e=o(this.getRootNode())[0];if(!e)return!1;try{return e.matches(`:focus-visible`)||e.matches(`.focus-visible`)}catch{return e.matches(`.focus-visible`)}}connectedCallback(){if(super.connectedCallback(),!this.hasAttribute(`dir`)){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!a(e);)e=e.assignedSlot||e.parentNode||e.host;if(this.dir=e.dir===`rtl`?e.dir:this.dir||`ltr`,e===document.documentElement)i.add(this);else{let{localName:t}=e;t.search(`-`)>-1&&!customElements.get(t)?customElements.whenDefined(t).then(()=>{typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}):typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}this._dirParent=e}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._dirParent&&(this._dirParent===document.documentElement?i.delete(this):typeof this._dirParent.stopManagingContentDirection==`function`&&this._dirParent.stopManagingContentDirection(this),this.removeAttribute(`dir`))}}return t}var c=class extends s(n.LitElement){},l=e.n({FocusVisiblePolyfillMixin:()=>f}),u=!0;try{document.body.querySelector(`:focus-visible`)}catch{u=!1,Promise.resolve().then(()=>l)}var d=e=>{if(e.shadowRoot==null||Object.hasOwn(e.dataset,`jsFocusVisible`))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus();else{let t=()=>{self.applyFocusVisiblePolyfill&&e.shadowRoot&&self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus()};return self.addEventListener(`focus-visible-polyfill-ready`,t,{once:!0}),()=>{self.removeEventListener(`focus-visible-polyfill-ready`,t)}}return()=>{}},f=e=>{let t=Symbol(`endPolyfillCoordination`);class n extends e{constructor(...e){super(...e),this[t]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),u||requestAnimationFrame(()=>{this[t]??(this[t]=d(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),u||requestAnimationFrame(()=>{this[t]!=null&&(this[t](),this[t]=null)})}}return n};function p(){return new Promise(e=>requestAnimationFrame(()=>e()))}var m=class extends f(c){constructor(...e){super(...e),this.disabled=!1,this.autofocus=!1,this._tabIndex=0,this.manipulatingTabindex=!1,this.autofocusReady=Promise.resolve()}get tabIndex(){if(this.focusElement===this){let e=this.hasAttribute(`tabindex`)?Number(this.getAttribute(`tabindex`)):NaN;return Number.isNaN(e)?-1:e}let e=Number.parseFloat(this.hasAttribute(`tabindex`)&&this.getAttribute(`tabindex`)||`0`);return this.disabled||e<0?-1:this.focusElement?this._tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(this.disabled)this._tabIndex=e;else if(e!==this._tabIndex){this._tabIndex=e;let t=``+e;this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,t)}return}if(e===-1?this.addEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){if(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),this.removeAttribute(`focusable`),this.selfManageFocusElement)return;e===-1?this.focusElement?.removeAttribute(`tabindex`):(this._tabIndex=e,this.manageFocusElementTabindex(e));return}this.setAttribute(`focusable`,``),this.hasAttribute(`tabindex`)?this.removeAttribute(`tabindex`):this.manipulatingTabindex=!1,this._tabIndex=e,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&setTimeout(()=>{this.tabIndex=0,this.focus({preventScroll:!0}),this.tabIndex=-1})}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute(`tabindex`):this.focusElement!==this&&(this.focusElement.tabIndex=e)}get focusElement(){throw Error(`Must implement focusElement getter!`)}get selfManageFocusElement(){return!1}focus(e){this.disabled||!this.focusElement||(this.focusElement===this?Reflect.apply(HTMLElement.prototype.focus,this,[e]):this.focusElement.focus(e))}blur(){let e=this.focusElement||this;e===this?HTMLElement.prototype.blur.apply(this):e.blur()}click(){if(this.disabled)return;let e=this.focusElement||this;e===this?HTMLElement.prototype.click.apply(this):e.click()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute(`tabindex`)||this.getAttribute(`tabindex`)!==`-1`)&&this.setAttribute(`focusable`,``)}update(e){e.has(`disabled`)&&this.handleDisabledChanged(this.disabled,e.get(`disabled`)),super.update(e)}updated(e){super.updated(e),e.has(`disabled`)&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){let n=()=>this.focusElement!==this&&this.focusElement.disabled!==void 0;e?(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),await this.updateComplete,n()?this.focusElement.disabled=!0:this.setAttribute(`aria-disabled`,`true`)):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute(`tabindex`,``+this._tabIndex):this.removeAttribute(`tabindex`),await this.updateComplete,n()?this.focusElement.disabled=!1:this.removeAttribute(`aria-disabled`))}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.autofocusReady,e}connectedCallback(){super.connectedCallback(),this.autofocus&&(this.autofocusReady=(async()=>{await p(),await p()})(),this.updateComplete.then(()=>this.manageAutoFocus()))}};t.t([(0,r.property)({type:Boolean,reflect:!0})],m.prototype,`disabled`,void 0),t.t([(0,r.property)({type:Boolean})],m.prototype,`autofocus`,void 0),t.t([(0,r.property)({type:Number})],m.prototype,`tabIndex`,null);var h={xxs:`xxs`,xs:`xs`,s:`s`,m:`m`,l:`l`,xl:`xl`,xxl:`xxl`};function g(e,{validSizes:n=[`s`,`m`,`l`,`xl`],noDefaultSize:i,defaultSize:a=`m`}={}){class o extends e{constructor(...e){super(...e),this._size=a}get size(){return this._size||a}set size(e){let t=i?null:a,r=e&&e.toLocaleLowerCase(),o=n.includes(r)?r:t;if(o&&this.setAttribute(`size`,o),this._size===o)return;let s=this._size;this._size=o,this.requestUpdate(`size`,s)}update(e){!this.hasAttribute(`size`)&&!i&&this.setAttribute(`size`,this.size),super.update(e)}}return t.t([(0,r.property)({type:String})],o.prototype,`size`,null),o}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
20
+ const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./decorate-DCJt-2rt.cjs");require("./localized-mixin-DZFYG6RG.cjs");let n=require("lit"),r=require("lit/decorators.js");var i=new Set;new MutationObserver(()=>{let e=document.documentElement.dir===`rtl`?document.documentElement.dir:`ltr`;i.forEach(t=>{t.setAttribute(`dir`,e)})}).observe(document.documentElement,{attributes:!0,attributeFilter:[`dir`]});var a=e=>e.startManagingContentDirection!==void 0||e.tagName===`LUZMO-THEME`,o=(e=document)=>{let t=e.activeElement;for(;t?.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;let n=t?[t]:[];for(;t;){let e=t.assignedSlot||t.parentElement||t.getRootNode()?.host;e&&n.push(e),t=e}return n};function s(e){class t extends e{get isLTR(){return this.dir===`ltr`}hasVisibleFocusInTree(){let e=o(this.getRootNode())[0];if(!e)return!1;try{return e.matches(`:focus-visible`)||e.matches(`.focus-visible`)}catch{return e.matches(`.focus-visible`)}}connectedCallback(){if(super.connectedCallback(),!this.hasAttribute(`dir`)){let e=this.assignedSlot||this.parentNode;for(;e!==document.documentElement&&!a(e);)e=e.assignedSlot||e.parentNode||e.host;if(this.dir=e.dir===`rtl`?e.dir:this.dir||`ltr`,e===document.documentElement)i.add(this);else{let{localName:t}=e;t.search(`-`)>-1&&!customElements.get(t)?customElements.whenDefined(t).then(()=>{typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}):typeof e.startManagingContentDirection==`function`&&e.startManagingContentDirection(this)}this._dirParent=e}super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._dirParent&&(this._dirParent===document.documentElement?i.delete(this):typeof this._dirParent.stopManagingContentDirection==`function`&&this._dirParent.stopManagingContentDirection(this),this.removeAttribute(`dir`))}}return t}var c=class extends s(n.LitElement){},l=e.n({FocusVisiblePolyfillMixin:()=>f}),u=!0;try{document.body.querySelector(`:focus-visible`)}catch{u=!1,Promise.resolve().then(()=>l)}var d=e=>{if(e.shadowRoot==null||Object.hasOwn(e.dataset,`jsFocusVisible`))return()=>{};if(self.applyFocusVisiblePolyfill)self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus();else{let t=()=>{self.applyFocusVisiblePolyfill&&e.shadowRoot&&self.applyFocusVisiblePolyfill(e.shadowRoot),e.manageAutoFocus&&e.manageAutoFocus()};return self.addEventListener(`focus-visible-polyfill-ready`,t,{once:!0}),()=>{self.removeEventListener(`focus-visible-polyfill-ready`,t)}}return()=>{}},f=e=>{let t=Symbol(`endPolyfillCoordination`);class n extends e{constructor(...e){super(...e),this[t]=null}connectedCallback(){super.connectedCallback&&super.connectedCallback(),u||requestAnimationFrame(()=>{this[t]??(this[t]=d(this))})}disconnectedCallback(){super.disconnectedCallback&&super.disconnectedCallback(),u||requestAnimationFrame(()=>{this[t]!=null&&(this[t](),this[t]=null)})}}return n};function p(){return new Promise(e=>requestAnimationFrame(()=>e()))}var m=class extends f(c){constructor(...e){super(...e),this.disabled=!1,this.autofocus=!1,this._tabIndex=0,this.manipulatingTabindex=!1,this.autofocusReady=Promise.resolve()}get tabIndex(){if(this.focusElement===this){let e=this.hasAttribute(`tabindex`)?Number(this.getAttribute(`tabindex`)):NaN;return Number.isNaN(e)?-1:e}let e=Number.parseFloat(this.hasAttribute(`tabindex`)&&this.getAttribute(`tabindex`)||`0`);return this.disabled||e<0?-1:this.focusElement?this._tabIndex:e}set tabIndex(e){if(this.manipulatingTabindex){this.manipulatingTabindex=!1;return}if(this.focusElement===this){if(this.disabled)this._tabIndex=e;else if(e!==this._tabIndex){this._tabIndex=e;let t=``+e;this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,t)}return}if(e===-1?this.addEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex):(this.manipulatingTabindex=!0,this.removeEventListener(`pointerdown`,this.onPointerdownManagementOfTabIndex)),e===-1||this.disabled){if(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),this.removeAttribute(`focusable`),this.selfManageFocusElement)return;e===-1?this.focusElement?.removeAttribute(`tabindex`):(this._tabIndex=e,this.manageFocusElementTabindex(e));return}this.setAttribute(`focusable`,``),this.hasAttribute(`tabindex`)?this.removeAttribute(`tabindex`):this.manipulatingTabindex=!1,this._tabIndex=e,this.manageFocusElementTabindex(e)}onPointerdownManagementOfTabIndex(){this.tabIndex===-1&&setTimeout(()=>{this.tabIndex=0,this.focus({preventScroll:!0}),this.tabIndex=-1})}async manageFocusElementTabindex(e){this.focusElement||await this.updateComplete,e===null?this.focusElement.removeAttribute(`tabindex`):this.focusElement!==this&&(this.focusElement.tabIndex=e)}get focusElement(){throw Error(`Must implement focusElement getter!`)}get selfManageFocusElement(){return!1}focus(e){this.disabled||!this.focusElement||(this.focusElement===this?Reflect.apply(HTMLElement.prototype.focus,this,[e]):this.focusElement.focus(e))}blur(){let e=this.focusElement||this;e===this?HTMLElement.prototype.blur.apply(this):e.blur()}click(){if(this.disabled)return;let e=this.focusElement||this;e===this?HTMLElement.prototype.click.apply(this):e.click()}manageAutoFocus(){this.autofocus&&(this.dispatchEvent(new KeyboardEvent(`keydown`,{code:`Tab`})),this.focusElement.focus())}firstUpdated(e){super.firstUpdated(e),(!this.hasAttribute(`tabindex`)||this.getAttribute(`tabindex`)!==`-1`)&&this.setAttribute(`focusable`,``)}update(e){e.has(`disabled`)&&this.handleDisabledChanged(this.disabled,e.get(`disabled`)),super.update(e)}updated(e){super.updated(e),e.has(`disabled`)&&this.disabled&&this.blur()}async handleDisabledChanged(e,t){let n=()=>this.focusElement!==this&&this.focusElement.disabled!==void 0;e?(this.manipulatingTabindex=!0,this.setAttribute(`tabindex`,`-1`),await this.updateComplete,n()?this.focusElement.disabled=!0:this.setAttribute(`aria-disabled`,`true`)):t&&(this.manipulatingTabindex=!0,this.focusElement===this?this.setAttribute(`tabindex`,``+this._tabIndex):this.removeAttribute(`tabindex`),await this.updateComplete,n()?this.focusElement.disabled=!1:this.removeAttribute(`aria-disabled`))}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.autofocusReady,e}connectedCallback(){super.connectedCallback(),this.autofocus&&(this.autofocusReady=(async()=>{await p(),await p()})(),this.updateComplete.then(()=>this.manageAutoFocus()))}};t.t([(0,r.property)({type:Boolean,reflect:!0})],m.prototype,`disabled`,void 0),t.t([(0,r.property)({type:Boolean})],m.prototype,`autofocus`,void 0),t.t([(0,r.property)({type:Number})],m.prototype,`tabIndex`,null);var h={xxs:`xxs`,xs:`xs`,s:`s`,m:`m`,l:`l`,xl:`xl`,xxl:`xxl`};function g(e,{validSizes:n=[`s`,`m`,`l`,`xl`],noDefaultSize:i,defaultSize:a=`m`}={}){class o extends e{constructor(...e){super(...e),this._size=a}get size(){return this._size||a}set size(e){let t=i?null:a,r=e&&e.toLocaleLowerCase(),o=n.includes(r)?r:t;if(o&&this.setAttribute(`size`,o),this._size===o)return;let s=this._size;this._size=o,this.requestUpdate(`size`,s)}update(e){!this.hasAttribute(`size`)&&!i&&this.setAttribute(`size`,this.size),super.update(e)}}return t.t([(0,r.property)({type:String})],o.prototype,`size`,null),o}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2026 Luzmo
4
+ * All rights reserved.
5
+ * Luzmo web components (“Luzmo Web Components”)
6
+ * must be used according to the Luzmo Terms of Service.
7
+ * This license allows users with a current active Luzmo account
8
+ * to use the Luzmo Web Components. This license terminates
9
+ * automatically if a user no longer has an active Luzmo account.
10
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
11
+ *
12
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ * SOFTWARE.
19
+ * */
20
+ const e=require("./rolldown-runtime-mLOUI7ql.cjs"),t=require("./helpers-B2IWxa9q.cjs"),n=require("./axis-options.config-s-Js3ug-.cjs"),r=require("./info-tooltip-options.config-B9T0cwSM.cjs"),i=require("./interactivity-options.config-Bzk2L-qh.cjs"),a=require("./color-palettes-BFpQSXfW.cjs");var o=e.n({default:()=>c}),s=({options:e})=>e?.observations?.display===!0,c=[{key:`general`,type:`group`,open:!0,children:[{key:`display.title`,control:{type:`switch`,label:`Title`,default:!0}},{key:`horizontal`,control:{type:`picker`,label:`Display`,default:`vertical`,enum:[`vertical`,`horizontal`],parseValue:e=>e?`horizontal`:`vertical`,toValue:e=>e===`horizontal`}},{key:`extentTicks`,control:{type:`switch`,label:`Extent ticks`,default:!0}}]},{key:`box`,type:`group`,open:!0,children:[{key:`boxWidth`,control:{type:`slider`,label:`Box width`,default:.9,min:.1,max:1,step:.1}},{key:`boxFill`,control:{type:`color-picker`,label:`Box fill`,default:({theme:e})=>t.u(e),extraLabel:({options:e,theme:n})=>t.a(e,n,`boxFill`),extraLabelHasClickAction:({options:e,theme:n})=>t.t(e,n,`boxFill`),extraLabelClickAction:({options:e,theme:n})=>t.c(e,n,`boxFill`)}},{key:`roundedCorners`,control:{type:`slider`,label:`Rounded corners`,default:({theme:e})=>e?.itemSpecific?.rounding??8,min:0,max:24,step:1,extraLabel:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`?typeof e?.roundedCorners==`number`?`reset`:`auto`:null,extraLabelHasClickAction:({options:e,theme:t})=>typeof t?.itemSpecific?.rounding==`number`&&typeof e?.roundedCorners==`number`,extraLabelClickAction:({options:e})=>{let t={...e};return t?.roundedCorners!==void 0&&delete t.roundedCorners,{value:null,options:t}}}},{key:`boxStrokeWidth`,control:{type:`slider`,label:`Box stroke width`,default:1,min:0,max:5,step:.5}},{key:`boxStrokeColor`,control:{type:`color-picker`,label:`Box stroke color`,default:({theme:e})=>t.u(e),extraLabel:({options:e,theme:n})=>t.a(e,n,`boxStrokeColor`),extraLabelHasClickAction:({options:e,theme:n})=>t.t(e,n,`boxStrokeColor`),extraLabelClickAction:({options:e,theme:n})=>t.c(e,n,`boxStrokeColor`)}},{key:`medianStrokeWidth`,control:{type:`slider`,label:`Median stroke width`,default:2,min:0,max:5,step:.5}},{key:`medianStrokeColor`,control:{type:`color-picker`,label:`Median stroke color`,default:`#000000`}}]},{key:`observations`,type:`group`,open:!0,children:[{key:`observations.display`,control:{type:`switch`,label:`Show`,default:!1}},{key:`observations.onlyOutliers`,control:{type:`switch`,label:`Only outliers`,default:!1},visibleIf:s},{key:`observations.type`,control:{type:`picker`,label:`Type`,default:`dot`,enum:[`dot`,`ticks`]},visibleIf:s},{key:`observations.size`,control:{type:`slider`,label:`Size`,default:3,min:1,max:10,step:1},visibleIf:s},{key:`observations.opacity`,control:{type:`slider`,label:`Opacity`,default:.4,min:.1,max:1,step:.1},visibleIf:s},{key:`observations.jitter`,control:{type:`slider`,label:`Jitter`,default:30,min:1,max:100,step:1},visibleIf:s},{key:`observations.colorType`,control:{type:`picker`,label:`Color mode`,default:`single`,enum:[`single`,`range`]},visibleIf:s},{key:`observations.color`,control:{type:`color-picker`,label:`Color`,default:({theme:e})=>e?.colors?.[1],extraLabel:({options:e,theme:t})=>t?.colors?.[1]&&e.observations?.color&&e.observations?.color!==t?.colors?.[1]?`reset`:null,extraLabelHasClickAction:({options:e,theme:t})=>!!(t?.colors?.[1]&&e.observations?.color!==t?.colors?.[1]),extraLabelClickAction:({options:e,theme:t})=>{let n={...e};return n.observations&&(n.observations.color=t?.colors?.[1]),{value:n.observations?.color,options:n}}},visibleIf:({options:e})=>s({options:e})&&e?.observations?.colorType===`single`},{key:`observations.colorsType`,control:{type:`picker`,label:`Colors type`,default:`divergent`,enum:[`sequential`,`divergent`],calculateValue:({options:e})=>e?.observations?.colorsClass===`manual`?`manual`:a.t()?.[e?.observations?.colorsClass]?.type??`divergent`,toOptions:({options:e,value:t})=>{if(t===`manual`)return{...e,observations:{...e.observations,colorsType:`manual`,colorsClass:`manual`}};let n=e.observations?.colorsClass;return t!==a.t()?.[e?.observations?.colorsClass]?.type&&(n=a.n(t??`divergent`)[0]),{...e,observations:{...e.observations,colorsClass:n,colorsType:t}}}},visibleIf:({options:e})=>s({options:e})&&e?.observations?.colorType===`range`},{key:`observations.colorsClass`,control:{type:`color-palette-picker`,label:`Color palette`,hideLabel:!0,default:({options:e})=>{let t=a.t()?.[e?.observations?.colorsClass]?.type;return a.n(t??`divergent`)[0]},enum:({options:e})=>{let t=a.t()?.[e?.observations?.colorsClass]?.type;return a.n(t??`divergent`)}},visibleIf:({options:e})=>s({options:e})&&e?.observations?.colorType===`range`&&e?.observations?.colorsClass!==`manual`}]},n.t([{axis:`x`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0},{axis:`y`,role:`axis`,scale:!0,color:!0,label:!0,tickDensity:!0,tickMode:!0,gridlines:!0}],n.n({rangeKey:`manualAxisRange`,labels:{range:`Measure axis range`,minimum:`Measure axis minimum`,maximum:`Measure axis maximum`},discriminator:{key:`measureAxisType`,default:`variable`}})),r.t(),i.t({brush:{default:!1,excludesClickActions:!0}})];Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});