@luzmo/analytics-components-kit 1.0.1-alpha.98 → 1.0.1-alpha.99

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 (293) hide show
  1. package/angular/README.md +2 -2
  2. package/angular/components/ai-interaction-textarea.component.ts +8 -0
  3. package/angular/components/{filter-data-item-picker.component.ts → data-items-select.component.ts} +34 -17
  4. package/angular/components/edit-filters/index.ts +1 -0
  5. package/angular/components/edit-filters/types.ts +10 -0
  6. package/angular/components/edit-filters.component.ts +41 -0
  7. package/angular/components/slot-contents-picker.component.ts +8 -6
  8. package/angular/esm/components/ai-interaction-textarea.component.d.ts +5 -1
  9. package/angular/esm/components/ai-interaction-textarea.component.js +22 -2
  10. package/angular/esm/components/data-items-select.component.d.ts +33 -0
  11. package/angular/esm/components/{filter-data-item-picker.component.js → data-items-select.component.js} +41 -26
  12. package/angular/esm/components/edit-filters/index.d.ts +1 -0
  13. package/angular/esm/components/edit-filters/index.js +1 -0
  14. package/angular/esm/components/edit-filters/types.d.ts +8 -0
  15. package/angular/esm/components/edit-filters/types.js +1 -0
  16. package/angular/esm/components/edit-filters.component.d.ts +21 -0
  17. package/angular/esm/components/edit-filters.component.js +89 -0
  18. package/angular/esm/components/slot-contents-picker.component.d.ts +7 -6
  19. package/angular/esm/components/slot-contents-picker.component.js +11 -6
  20. package/angular/esm/index.d.ts +5 -5
  21. package/angular/esm/index.js +6 -6
  22. package/angular/esm/types.d.ts +9 -0
  23. package/angular/index.ts +6 -6
  24. package/angular/types.ts +17 -0
  25. package/angular/utils/filters/expressions.d.ts +1 -1
  26. package/components/ai-chat-message-assistant/index.cjs +1 -1
  27. package/components/ai-chat-message-assistant/index.js +0 -1
  28. package/components/ai-chat-messages-container/index.cjs +1 -1
  29. package/components/ai-chat-messages-container/index.js +2 -2
  30. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +21 -0
  31. package/components/ai-interaction-textarea/index.cjs +17 -15
  32. package/components/ai-interaction-textarea/index.js +91 -67
  33. package/components/area-chart-options.config-Bl8bhhOo.cjs +20 -0
  34. package/components/{area-chart-options.config-_J0sG4NF.js → area-chart-options.config-u8itidsi.js} +14 -26
  35. package/components/bar-chart-options.config-CePAqM83.cjs +20 -0
  36. package/components/{bar-chart-options.config-D1mb5TDl.js → bar-chart-options.config-DIirbAJ0.js} +21 -35
  37. package/components/box-plot-options.config-BVNrV2eD.cjs +20 -0
  38. package/components/{box-plot-options.config-xu_i6ms7.js → box-plot-options.config-BWROiguA.js} +52 -88
  39. package/components/{bubble-chart-options.config-BacgXkJ_.js → bubble-chart-options.config-4QD8VPhU.js} +9 -18
  40. package/components/bubble-chart-options.config-BDgOe3GQ.cjs +20 -0
  41. package/components/{bullet-chart-options.config-CDPpX1yc.js → bullet-chart-options.config-3bH7uekx.js} +1 -1
  42. package/components/{bullet-chart-options.config-DfS4Bwds.cjs → bullet-chart-options.config-tWb6Fio-.cjs} +1 -1
  43. package/components/calculate-data-item-icon-DMDhKq_m.js +147 -0
  44. package/components/calculate-data-item-icon-DtVGbet3.cjs +20 -0
  45. package/components/{choropleth-map-options.config-B_W9-rhe.js → choropleth-map-options.config-CMxx3ORp.js} +63 -84
  46. package/components/choropleth-map-options.config-CWJACFd0.cjs +20 -0
  47. package/components/circular-gauge-options.config-BMxgq3zH.cjs +20 -0
  48. package/components/{circular-gauge-options.config-DAIjz4Rl.js → circular-gauge-options.config-DhIKn44k.js} +23 -36
  49. package/components/{color-DuJ4-73S.js → color-B7m0j8lX.js} +941 -950
  50. package/components/color-Czp4Im5q.cjs +20 -0
  51. package/components/{color-range-utils-Bvo9sm5A.js → color-range-utils-BSfqtB3A.js} +31 -32
  52. package/components/color-range-utils-DYYR-iwx.cjs +20 -0
  53. package/components/column-chart-options.config-BV9R3ssH.cjs +20 -0
  54. package/components/{column-chart-options.config-B5SjBVdy.js → column-chart-options.config-D5-yR7iq.js} +27 -37
  55. package/components/conditional-number-options.config-Co099Qfm.cjs +20 -0
  56. package/components/{conditional-number-options.config-BCEpSK9J.js → conditional-number-options.config-DPYsdML5.js} +24 -40
  57. package/components/{filter-data-item-picker/filter-data-item-picker.d.ts → data-items-select/data-items-select.d.ts} +36 -21
  58. package/components/data-items-select/index.cjs +39 -0
  59. package/components/data-items-select/index.d.ts +6 -0
  60. package/components/data-items-select/index.js +209 -0
  61. package/components/dataset-icon/index.cjs +1 -1
  62. package/components/dataset-icon/index.js +1 -2
  63. package/components/dataset-selector-list/index.cjs +1 -1
  64. package/components/dataset-selector-list/index.js +32 -35
  65. package/components/dataset-selector-row/index.cjs +9 -9
  66. package/components/dataset-selector-row/index.js +50 -52
  67. package/components/{date-comparison-filter-options.config-JA_yYpJa.js → date-comparison-filter-options.config-CSwGyuBg.js} +3 -6
  68. package/components/{date-comparison-filter-options.config-DAVncmi0.cjs → date-comparison-filter-options.config-QaoWaFUn.cjs} +1 -1
  69. package/components/{date-filter-options.config-DBRxlTWy.js → date-filter-options.config-BTVyHRkp.js} +3 -6
  70. package/components/{date-filter-options.config-CWPMtA18.cjs → date-filter-options.config-n-zhWaYa.cjs} +1 -1
  71. package/components/{de-COKGBX9L.cjs → de-DOYL4txr.cjs} +1 -1
  72. package/components/{de-DU0DlXuf.js → de-SDzGVifr.js} +10 -1
  73. package/components/display-settings/index.cjs +1 -1
  74. package/components/display-settings/index.js +1 -1
  75. package/components/display-settings-binning/index.cjs +5 -5
  76. package/components/display-settings-binning/index.js +29 -30
  77. package/components/display-settings-datetime/index.cjs +29 -29
  78. package/components/display-settings-datetime/index.js +112 -120
  79. package/components/display-settings-grand-totals/index.cjs +4 -4
  80. package/components/display-settings-grand-totals/index.js +23 -24
  81. package/components/display-settings-numeric/index.cjs +48 -48
  82. package/components/display-settings-numeric/index.js +190 -206
  83. package/components/display-settings-period-over-period/index.cjs +16 -16
  84. package/components/display-settings-period-over-period/index.js +91 -97
  85. package/components/{donut-chart-options.config-BulUEiaH.js → donut-chart-options.config-3ZqX8Cbb.js} +21 -37
  86. package/components/donut-chart-options.config-BQyPgnC9.cjs +20 -0
  87. package/components/draggable-data-item/index.cjs +5 -5
  88. package/components/draggable-data-item/index.js +45 -46
  89. package/components/draggable-data-item-level/index.cjs +11 -11
  90. package/components/draggable-data-item-level/index.js +70 -73
  91. package/components/{dropdown-filter-options.config-D9dvPypF.js → dropdown-filter-options.config-CGJTtgAX.js} +7 -10
  92. package/components/{dropdown-filter-options.config-DS-MORmq.cjs → dropdown-filter-options.config-DJvfCTk7.cjs} +1 -1
  93. package/components/droppable-slot/index.cjs +16 -16
  94. package/components/droppable-slot/index.js +174 -265
  95. package/components/edit-filters/edit-filters.d.ts +79 -0
  96. package/components/edit-filters/index.cjs +144 -0
  97. package/components/edit-filters/index.d.ts +8 -0
  98. package/components/edit-filters/index.js +341 -0
  99. package/components/edit-filters/types.d.ts +8 -0
  100. package/components/edit-item/index.cjs +9 -9
  101. package/components/edit-item/index.js +116 -119
  102. package/components/edit-option/index.cjs +1 -1
  103. package/components/edit-option/index.js +1 -1
  104. package/components/edit-option-action-button-group/index.cjs +8 -8
  105. package/components/edit-option-action-button-group/index.js +52 -53
  106. package/components/{edit-option-base-DIc7iC-b.js → edit-option-base-Bh29-Cak.js} +1 -1
  107. package/components/{edit-option-base-VhTih9T1.cjs → edit-option-base-tFr8Qg2B.cjs} +1 -1
  108. package/components/edit-option-color-palette-picker/index.cjs +1 -1
  109. package/components/edit-option-color-palette-picker/index.js +1 -1
  110. package/components/edit-option-color-picker/index.cjs +1 -1
  111. package/components/edit-option-color-picker/index.js +1 -1
  112. package/components/edit-option-color-range/index.cjs +19 -19
  113. package/components/edit-option-color-range/index.js +106 -117
  114. package/components/edit-option-multi-language-field/index.cjs +3 -3
  115. package/components/edit-option-multi-language-field/index.js +26 -27
  116. package/components/edit-option-number-field/index.cjs +1 -1
  117. package/components/edit-option-number-field/index.js +1 -1
  118. package/components/edit-option-picker/index.cjs +5 -5
  119. package/components/edit-option-picker/index.js +7 -7
  120. package/components/edit-option-position-picker/index.cjs +4 -4
  121. package/components/edit-option-position-picker/index.js +21 -25
  122. package/components/edit-option-positions-number-field/index.cjs +9 -9
  123. package/components/edit-option-positions-number-field/index.js +76 -81
  124. package/components/edit-option-radio-button-group/index.cjs +6 -6
  125. package/components/edit-option-radio-button-group/index.js +21 -22
  126. package/components/edit-option-slider/index.cjs +1 -1
  127. package/components/edit-option-slider/index.js +1 -1
  128. package/components/edit-option-switch/index.cjs +1 -1
  129. package/components/edit-option-switch/index.js +1 -1
  130. package/components/edit-option-text-field/index.cjs +2 -2
  131. package/components/edit-option-text-field/index.js +22 -23
  132. package/components/en-D3ihEGXg.js +1483 -0
  133. package/components/en-DZcn_iz_.cjs +20 -0
  134. package/components/{en-GB-DG6uS3sM.cjs → en-GB-TqvgIw9B.cjs} +1 -1
  135. package/components/{en-GB-CEHEs8F2.js → en-GB-ialeqj_z.js} +1 -1
  136. package/components/{es-BxR1uGKR.js → es-B1TeapPZ.js} +10 -1
  137. package/components/{es-CaKfa7fn.cjs → es-DcQvrHgz.cjs} +1 -1
  138. package/components/{evolution-number-options.config-DzkfeoIN.js → evolution-number-options.config-BIPO_4n3.js} +11 -14
  139. package/components/{evolution-number-options.config-BgIZY4gQ.cjs → evolution-number-options.config-Bc9eKYnn.cjs} +1 -1
  140. package/components/{extrapolate-color-0j_AeYkz.cjs → extrapolate-color-C0n1UDs-.cjs} +1 -1
  141. package/components/{extrapolate-color-CC9CURf6.js → extrapolate-color-v1PimdQr.js} +1 -1
  142. package/components/filter-expression-picker/index.cjs +1 -1
  143. package/components/filter-expression-picker/index.js +1 -1
  144. package/components/filter-item/filter-item.d.ts +1 -1
  145. package/components/filter-item/index.cjs +9 -7
  146. package/components/filter-item/index.js +123 -123
  147. package/components/filter-value-picker/index.cjs +2 -2
  148. package/components/filter-value-picker/index.js +34 -36
  149. package/components/filter-value-picker-datetime/index.cjs +8 -8
  150. package/components/filter-value-picker-datetime/index.js +56 -71
  151. package/components/filter-value-picker-hierarchy/index.cjs +12 -12
  152. package/components/filter-value-picker-hierarchy/index.js +113 -124
  153. package/components/filter-value-picker-numeric/index.cjs +9 -8
  154. package/components/filter-value-picker-numeric/index.js +102 -110
  155. package/components/{focusable-DCIFkpiW.js → focusable-BS2pbY7w.js} +24 -26
  156. package/components/focusable-QLh-LlNt.cjs +20 -0
  157. package/components/{fr-DiZbjx_a.cjs → fr-D6QmA3Ve.cjs} +1 -1
  158. package/components/{fr-CvltYxR_.js → fr-sZFBmltf.js} +10 -1
  159. package/components/{funnel-chart-options.config-C_VjTOvD.js → funnel-chart-options.config-CrJy2U7_.js} +5 -20
  160. package/components/funnel-chart-options.config-DrP4AFgk.cjs +20 -0
  161. package/components/get-css-variable-C0B_Sxqf.cjs +24 -0
  162. package/components/{get-css-variable-YlLiVgo8.js → get-css-variable-DgTBQV3c.js} +39 -38
  163. package/components/grid/index.cjs +43 -49
  164. package/components/grid/index.js +2610 -1878
  165. package/components/heat-map-options.config-CIHnPdYE.cjs +20 -0
  166. package/components/{heat-map-options.config-BnLWe8jS.js → heat-map-options.config-CmL87j1j.js} +35 -41
  167. package/components/{heat-table-options.config-CUsDdgUr.js → heat-table-options.config-BrCYAgYD.js} +60 -88
  168. package/components/heat-table-options.config-DTlZRc_i.cjs +20 -0
  169. package/components/helpers-9I0oLoUB.cjs +20 -0
  170. package/components/helpers-bR8Ibjqh.js +79 -0
  171. package/components/{hexbin-map-options.config-F-7uCqxb.js → hexbin-map-options.config-BguV1w8q.js} +20 -38
  172. package/components/hexbin-map-options.config-CKnn3VAB.cjs +20 -0
  173. package/components/index-BekTY3Em.cjs +121 -0
  174. package/components/index-BikhVAa1.js +1755 -0
  175. package/components/index-CAbDIHYI.cjs +20 -0
  176. package/components/{index-Do7O9azB.js → index-CqKpf0B8.js} +112 -123
  177. package/components/{index-BPNsFiyq.cjs → index-DM58h73U.cjs} +4 -4
  178. package/components/{index-D0GBF6tg.js → index-DR5275fa.js} +122 -102
  179. package/components/index-DvkzMbLt.cjs +249 -0
  180. package/components/{index-CdIUfo-L.js → index-haa7WNrl.js} +453 -481
  181. package/components/index.cjs +1 -1
  182. package/components/index.js +105 -106
  183. package/components/item-options-configs.cjs +1 -1
  184. package/components/item-options-configs.js +37 -37
  185. package/components/{line-chart-options.config-DB3IsXXr.js → line-chart-options.config-BhirTGqD.js} +13 -28
  186. package/components/line-chart-options.config-Cqwou5u6.cjs +20 -0
  187. package/components/{localize-r7ALOUy_.cjs → localize-C4zNlrwK.cjs} +1 -1
  188. package/components/{localize-BX7q0S0M.js → localize-CcDpq940.js} +10 -10
  189. package/components/{marker-map-options.config-DPJ955tt.js → marker-map-options.config-Bx17jmiq.js} +1 -1
  190. package/components/{marker-map-options.config-_FYZzRwA.cjs → marker-map-options.config-CvhCylSC.cjs} +1 -1
  191. package/components/{nl-CLs7FmRK.js → nl-BYXZ-qNp.js} +10 -1
  192. package/components/{nl-Bot6bJ4g.cjs → nl-D7oNsLn0.cjs} +1 -1
  193. package/components/{pivot-table-options.config-DNK_AIG7.js → pivot-table-options.config-CFc7y0IT.js} +15 -24
  194. package/components/pivot-table-options.config-uZDAertf.cjs +20 -0
  195. package/components/{pyramid-chart-options.config-CcVMatYx.js → pyramid-chart-options.config-2Waxb11l.js} +29 -43
  196. package/components/pyramid-chart-options.config-DoGfEvzU.cjs +20 -0
  197. package/components/{radar-chart-options.config-CUZn_3Fd.js → radar-chart-options.config-CPN5fOl8.js} +11 -23
  198. package/components/radar-chart-options.config-CtNUMN1l.cjs +20 -0
  199. package/components/{regular-table-options.config-BoLZsBry.js → regular-table-options.config-CFKCJQK1.js} +17 -23
  200. package/components/{regular-table-options.config-DTx3RTnS.cjs → regular-table-options.config-YRuoijIk.cjs} +1 -1
  201. package/components/route-map-options.config-CVTk5RVL.cjs +20 -0
  202. package/components/{route-map-options.config-CN86T7c0.js → route-map-options.config-CyolTJfK.js} +87 -109
  203. package/components/{sankey-diagram-options.config-RFB83YLZ.cjs → sankey-diagram-options.config-D7OSvSqm.cjs} +1 -1
  204. package/components/{sankey-diagram-options.config-tVLKy_Zn.js → sankey-diagram-options.config-Ldjk84ro.js} +7 -10
  205. package/components/scatter-plot-options.config-5gN7pMTm.cjs +20 -0
  206. package/components/{scatter-plot-options.config-Corlzno1.js → scatter-plot-options.config-CfxEfkQ1.js} +56 -86
  207. package/components/{search-filter-options.config-BE3JhR-F.js → search-filter-options.config-C0syQmP4.js} +3 -6
  208. package/components/{search-filter-options.config-BCaDlYqZ.cjs → search-filter-options.config-Oqco9BKj.cjs} +1 -1
  209. package/components/{set-locale-Dp3N_gXN.js → set-locale-B5562CBM.js} +2 -9
  210. package/components/{set-locale-BRRalqne.cjs → set-locale-B8iQGfk0.cjs} +1 -1
  211. package/components/slicer-filter-options.config-CrusP6a0.cjs +20 -0
  212. package/components/{slicer-filter-options.config-3JZZcw5C.js → slicer-filter-options.config-DmOe3440.js} +9 -18
  213. package/components/{slider-filter-options.config-DH4SS8wH.js → slider-filter-options.config-B1M8RcDs.js} +1 -1
  214. package/components/{slider-filter-options.config-_8Z2zKmU.cjs → slider-filter-options.config-k45I-t6G.cjs} +1 -1
  215. package/components/slot-contents-picker/index.cjs +35 -31
  216. package/components/slot-contents-picker/index.js +202 -200
  217. package/components/slot-contents-picker/slot-contents-picker.d.ts +26 -5
  218. package/components/slot-menu/index.cjs +12 -12
  219. package/components/slot-menu/index.js +189 -202
  220. package/components/slot-menu-list/index.cjs +3 -3
  221. package/components/slot-menu-list/index.js +97 -103
  222. package/components/slot-store-CRfN0nD3.js +98 -0
  223. package/components/slot-store-Dd_cPNXk.cjs +20 -0
  224. package/components/speedometer-chart-options.config-B4ceg_qI.cjs +20 -0
  225. package/components/{speedometer-chart-options.config-SL581yOa.js → speedometer-chart-options.config-CzOmuEF8.js} +31 -53
  226. package/components/spike-map-options.config-BkkDqb4g.cjs +20 -0
  227. package/components/{spike-map-options.config-C5KewecZ.js → spike-map-options.config-Cbt1YUw6.js} +91 -122
  228. package/components/{sunburst-chart-options.config-AbNjWS6t.cjs → sunburst-chart-options.config-Yrxc2i57.cjs} +1 -1
  229. package/components/{sunburst-chart-options.config-CNauGQJv.js → sunburst-chart-options.config-_dyLQxPJ.js} +9 -20
  230. package/components/{symbol-map-options.config-DdDA4aa7.js → symbol-map-options.config-BORL1NSU.js} +11 -20
  231. package/components/symbol-map-options.config-NpBKm64d.cjs +20 -0
  232. package/components/{treemap-chart-options.config-D5AJaF_u.js → treemap-chart-options.config-B9i9qIm_.js} +20 -37
  233. package/components/treemap-chart-options.config-x4J54WSw.cjs +20 -0
  234. package/components/utils.cjs +1 -1
  235. package/components/utils.js +94 -97
  236. package/components/{video-options.config-CGsDTwHc.cjs → video-options.config-B0asgYt8.cjs} +1 -1
  237. package/components/{video-options.config-Dk36zJ1B.js → video-options.config-UX-9MDfS.js} +7 -10
  238. package/components/viz-item-menu/index.cjs +5 -5
  239. package/components/viz-item-menu/index.js +26 -28
  240. package/components/{wordcloud-chart-options.config-vGfCW8kE.cjs → wordcloud-chart-options.config-BKtJT8Va.cjs} +1 -1
  241. package/components/{wordcloud-chart-options.config-w2NUIWVA.js → wordcloud-chart-options.config-BoB_KuhA.js} +4 -7
  242. package/custom-elements.json +1936 -1625
  243. package/index.d.ts +1 -1
  244. package/package.json +12 -12
  245. package/types.d.ts +9 -0
  246. package/utils/filters/expressions.d.ts +1 -1
  247. package/angular/components/filter-group.component.ts +0 -29
  248. package/angular/esm/components/filter-data-item-picker.component.d.ts +0 -30
  249. package/angular/esm/components/filter-group.component.d.ts +0 -12
  250. package/angular/esm/components/filter-group.component.js +0 -56
  251. package/components/area-chart-options.config-C7sMAHco.cjs +0 -20
  252. package/components/bar-chart-options.config-DcxEkOT5.cjs +0 -20
  253. package/components/box-plot-options.config-SrrbDEYW.cjs +0 -20
  254. package/components/bubble-chart-options.config-Ihn6eVQI.cjs +0 -20
  255. package/components/calculate-data-item-icon-CEa82-5u.cjs +0 -20
  256. package/components/calculate-data-item-icon-DjlZwMdO.js +0 -147
  257. package/components/choropleth-map-options.config-ZW8yoZH2.cjs +0 -20
  258. package/components/circular-gauge-options.config-msZ4mfpN.cjs +0 -20
  259. package/components/color-B6LaL8qz.cjs +0 -20
  260. package/components/color-range-utils-C5yXW7ZC.cjs +0 -20
  261. package/components/column-chart-options.config-BjDvA7i9.cjs +0 -20
  262. package/components/conditional-number-options.config-DgzUo0xi.cjs +0 -20
  263. package/components/donut-chart-options.config-tNpqBZfR.cjs +0 -20
  264. package/components/en-BKBhKBXY.cjs +0 -20
  265. package/components/en-BOTjhwEc.js +0 -1488
  266. package/components/filter-data-item-picker/index.cjs +0 -47
  267. package/components/filter-data-item-picker/index.d.ts +0 -7
  268. package/components/filter-data-item-picker/index.js +0 -192
  269. package/components/filter-group/filter-group.d.ts +0 -26
  270. package/components/filter-group/index.d.ts +0 -7
  271. package/components/focusable-B3E_hQmm.cjs +0 -20
  272. package/components/funnel-chart-options.config-D7H7gFcx.cjs +0 -20
  273. package/components/get-css-variable-DLiZYZEi.cjs +0 -24
  274. package/components/heat-map-options.config-DVH-Bb5-.cjs +0 -20
  275. package/components/heat-table-options.config-B12JEYnp.cjs +0 -20
  276. package/components/helpers-DXQwEH1P.cjs +0 -20
  277. package/components/helpers-v1bPALRP.js +0 -91
  278. package/components/hexbin-map-options.config-DZERRhM8.cjs +0 -20
  279. package/components/index-CDi4fe3N.js +0 -1716
  280. package/components/index-CQ9ck-BO.cjs +0 -249
  281. package/components/index-CXn67vdn.cjs +0 -121
  282. package/components/index-Cz9vSXy6.cjs +0 -20
  283. package/components/line-chart-options.config-DSugoe0t.cjs +0 -20
  284. package/components/pivot-table-options.config-BiJXKSFR.cjs +0 -20
  285. package/components/pyramid-chart-options.config-C4zbFS26.cjs +0 -20
  286. package/components/radar-chart-options.config-EqQu6PTh.cjs +0 -20
  287. package/components/route-map-options.config-D7NJePTu.cjs +0 -20
  288. package/components/scatter-plot-options.config-CFfGJXsV.cjs +0 -20
  289. package/components/slicer-filter-options.config-DNI-XevE.cjs +0 -20
  290. package/components/speedometer-chart-options.config-BX9LTQBH.cjs +0 -20
  291. package/components/spike-map-options.config-DoBFXPmN.cjs +0 -20
  292. package/components/symbol-map-options.config-m-lwLTtu.cjs +0 -20
  293. package/components/treemap-chart-options.config-C0Q9aQ1Z.cjs +0 -20
@@ -7,6 +7,10 @@ import '../dataset-selector-row';
7
7
  * @fires prompt-submitted - Fired when a prompt is submitted with selected datasets
8
8
  *
9
9
  * @attr {boolean} disabled - When true, disables the entire component (opacity 60%, no interactions)
10
+ * @attr {boolean} single-line - When true, starts in compact single-line mode and auto-expands as needed
11
+ * @attr {boolean} hide-dataset-button - When true, hides the "+ Add dataset" button
12
+ * @attr {boolean} is-generating - When true, shows a spinning loader icon instead of the submit arrow
13
+ * @attr {string} value - The current value of the textarea (can be controlled from parent to clear or set text)
10
14
  *
11
15
  * @cssprop --luzmo-ai-interaction-textarea-background-color - Override for background color of the component (client customization)
12
16
  * @cssprop --ai-interaction-textarea-background-color - Background color of the component
@@ -69,6 +73,22 @@ export declare class LuzmoAiInteractionTextarea extends LitElement {
69
73
  * When true, disables the entire component (sets opacity to 60% and prevents all interactions)
70
74
  */
71
75
  disabled: boolean;
76
+ /**
77
+ * When true, starts in compact single-line mode and auto-expands as needed
78
+ */
79
+ singleLine: boolean;
80
+ /**
81
+ * When true, hides the "+ Add dataset" button
82
+ */
83
+ hideDatasetButton: boolean;
84
+ /**
85
+ * When true, shows a spinning loader icon instead of the submit arrow
86
+ */
87
+ isGenerating: boolean;
88
+ /**
89
+ * The current value of the textarea (controlled from parent)
90
+ */
91
+ value: string;
72
92
  private _promptValue;
73
93
  private _isPromptValid;
74
94
  private get _buttonDisabled();
@@ -78,6 +98,7 @@ export declare class LuzmoAiInteractionTextarea extends LitElement {
78
98
  private _submitPrompt;
79
99
  private _handleDatasetSelected;
80
100
  private _handleDatasetRemoved;
101
+ protected willUpdate(changedProperties: Map<string, unknown>): void;
81
102
  protected firstUpdated(): void;
82
103
  protected render(): TemplateResult;
83
104
  }
@@ -17,19 +17,21 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@lit/localize"),u=require("@luzmo/icons"),l=require("lit"),o=require("lit/decorators.js"),p=require("lit/directives/class-map.js");require("../dataset-selector-row/index.cjs");const m=":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host .content-wrapper{display:flex;flex-direction:column;gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap))}:host .content-wrapper.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:3rem;color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";var b=Object.defineProperty,h=Object.getOwnPropertyDescriptor,e=(n,t,a,r)=>{for(var i=r>1?void 0:r?h(t,a):t,s=n.length-1,c;s>=0;s--)(c=n[s])&&(i=(r?c(t,a,i):c(i))||i);return r&&i&&b(t,a,i),i};exports.LuzmoAiInteractionTextarea=class extends l.LitElement{constructor(){super(...arguments),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.flagOpendata=!1,this.disabled=!1,this._promptValue="",this._isPromptValid=!1}get _buttonDisabled(){return this.disabled||this.selectedDatasets.length===0||!this._isPromptValid}_autoResizeTextarea(t){t.style.height="auto";const a=2*1.5*16,r=8*1.5*16,i=Math.max(a,Math.min(t.scrollHeight,r));t.style.height=`${i}px`}_handlePromptInput(t){const a=t.target;this._promptValue=a.value,this._isPromptValid=a.value.trim().length>0,this._autoResizeTextarea(a),a.scrollTo({top:a.scrollHeight})}_handleKeyDown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this._submitPrompt())}_submitPrompt(){if(this._buttonDisabled)return;const t=this._promptValue.trim();this.dispatchEvent(new CustomEvent("prompt-submitted",{detail:{prompt:t,selectedDatasets:this.selectedDatasets},bubbles:!0,composed:!0}))}_handleDatasetSelected(t){const a=t.detail;this.selectedDatasets.some(r=>r.id===a.id)||(this.selectedDatasets=[...this.selectedDatasets,a])}_handleDatasetRemoved(t){const a=t.detail;this.selectedDatasets=this.selectedDatasets.filter(r=>r.id!==a.id)}firstUpdated(){var a;const t=(a=this.shadowRoot)==null?void 0:a.querySelector("textarea");t&&this._autoResizeTextarea(t)}render(){const t={"content-wrapper":!0,disabled:this.disabled};return l.html`
20
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@lit/localize"),l=require("@luzmo/icons"),c=require("lit"),r=require("lit/decorators.js"),p=require("lit/directives/class-map.js");require("../dataset-selector-row/index.cjs");const h=":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host .content-wrapper{display:flex;flex-direction:column;gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap))}:host .content-wrapper.single-line{flex-direction:row;align-items:center}:host .content-wrapper.single-line textarea{flex:1;min-height:auto}:host .content-wrapper.single-line .button-container{align-self:flex-end}:host .content-wrapper.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:var(--luzmo-ai-interaction-textarea-textarea-min-height, var(--ai-interaction-textarea-textarea-min-height, 3rem));color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button svg.spin{animation:spin 1s linear infinite}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-textarea-min-height: 3rem;--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";var m=Object.defineProperty,b=Object.getOwnPropertyDescriptor,a=(u,t,e,i)=>{for(var o=i>1?void 0:i?b(t,e):t,n=u.length-1,s;n>=0;n--)(s=u[n])&&(o=(i?s(t,e,o):s(o))||o);return i&&o&&m(t,e,o),o};exports.LuzmoAiInteractionTextarea=class extends c.LitElement{constructor(){super(...arguments),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.flagOpendata=!1,this.disabled=!1,this.singleLine=!1,this.hideDatasetButton=!1,this.isGenerating=!1,this.value="",this._promptValue="",this._isPromptValid=!1}get _buttonDisabled(){return this.hideDatasetButton?this.disabled||!this._isPromptValid:this.disabled||this.selectedDatasets.length===0||!this._isPromptValid}_autoResizeTextarea(t){if(t.style.height="auto",this.singleLine){const i=Number.parseFloat(getComputedStyle(t).fontSize)||14,o=1.5*i,n=8*1.5*i,s=Math.max(o,Math.min(t.scrollHeight,n));t.style.height=`${s}px`}else{const o=Math.max(48,Math.min(t.scrollHeight,192));t.style.height=`${o}px`}}_handlePromptInput(t){const e=t.target;this._promptValue=e.value,this._isPromptValid=e.value.trim().length>0,this._autoResizeTextarea(e),e.scrollTo({top:e.scrollHeight})}_handleKeyDown(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),this._submitPrompt())}_submitPrompt(){if(this._buttonDisabled)return;const t=this._promptValue.trim();this.dispatchEvent(new CustomEvent("prompt-submitted",{detail:{prompt:t,selectedDatasets:this.selectedDatasets},bubbles:!0,composed:!0}))}_handleDatasetSelected(t){const e=t.detail;this.selectedDatasets.some(i=>i.id===e.id)||(this.selectedDatasets=[...this.selectedDatasets,e])}_handleDatasetRemoved(t){const e=t.detail;this.selectedDatasets=this.selectedDatasets.filter(i=>i.id!==e.id)}willUpdate(t){t.has("value")&&(this._promptValue=this.value,this._isPromptValid=this.value.trim().length>0,requestAnimationFrame(()=>{const e=this.shadowRoot?.querySelector("textarea");e&&this._autoResizeTextarea(e)}))}firstUpdated(){const t=this.shadowRoot?.querySelector("textarea");t&&this._autoResizeTextarea(t)}render(){const t={"content-wrapper":!0,disabled:this.disabled,"single-line":this.singleLine};return c.html`
21
21
  <div class=${p.classMap(t)}>
22
- <luzmo-dataset-selector-row
23
- .selectedDatasets=${this.selectedDatasets}
24
- auth-key=${this.authKey}
25
- auth-token=${this.authToken}
26
- api-url=${this.apiUrl}
27
- app-server=${this.appServer}
28
- ?flag-opendata=${this.flagOpendata}
29
- ?disabled=${this.disabled}
30
- @dataset-selected=${this._handleDatasetSelected}
31
- @dataset-removed=${this._handleDatasetRemoved}
32
- ></luzmo-dataset-selector-row>
22
+ ${this.hideDatasetButton?"":c.html`
23
+ <luzmo-dataset-selector-row
24
+ .selectedDatasets=${this.selectedDatasets}
25
+ auth-key=${this.authKey}
26
+ auth-token=${this.authToken}
27
+ api-url=${this.apiUrl}
28
+ app-server=${this.appServer}
29
+ ?flag-opendata=${this.flagOpendata}
30
+ ?disabled=${this.disabled}
31
+ @dataset-selected=${this._handleDatasetSelected}
32
+ @dataset-removed=${this._handleDatasetRemoved}
33
+ ></luzmo-dataset-selector-row>
34
+ `}
33
35
 
34
36
  <textarea
35
37
  ?autofocus=${!this.disabled}
@@ -38,7 +40,7 @@
38
40
  .value=${this._promptValue}
39
41
  @input=${this._handlePromptInput}
40
42
  @keydown=${this._handleKeyDown}
41
- rows="2"
43
+ rows=${this.singleLine?"1":"2"}
42
44
  ></textarea>
43
45
 
44
46
  <div class="button-container">
@@ -47,8 +49,8 @@
47
49
  ?disabled=${this._buttonDisabled}
48
50
  @click=${this._submitPrompt}
49
51
  >
50
- ${u.luzmoIcon(u.luzmoArrowRight)}
52
+ ${this.isGenerating?l.luzmoIcon(l.luzmoSpin,{className:"spin"}):l.luzmoIcon(l.luzmoArrowRight)}
51
53
  </button>
52
54
  </div>
53
55
  </div>
54
- `}};exports.LuzmoAiInteractionTextarea.styles=l.unsafeCSS(m);exports.LuzmoAiInteractionTextarea.tagName="luzmo-ai-interaction-textarea";e([o.property({type:String})],exports.LuzmoAiInteractionTextarea.prototype,"placeholder",2);e([o.property({type:Array})],exports.LuzmoAiInteractionTextarea.prototype,"selectedDatasets",2);e([o.property({type:String,attribute:"auth-key"})],exports.LuzmoAiInteractionTextarea.prototype,"authKey",2);e([o.property({type:String,attribute:"auth-token"})],exports.LuzmoAiInteractionTextarea.prototype,"authToken",2);e([o.property({type:String,attribute:"api-url"})],exports.LuzmoAiInteractionTextarea.prototype,"apiUrl",2);e([o.property({type:String,attribute:"app-server"})],exports.LuzmoAiInteractionTextarea.prototype,"appServer",2);e([o.property({type:Boolean,attribute:"flag-opendata"})],exports.LuzmoAiInteractionTextarea.prototype,"flagOpendata",2);e([o.property({type:Boolean,reflect:!0,attribute:"disabled"})],exports.LuzmoAiInteractionTextarea.prototype,"disabled",2);e([o.state()],exports.LuzmoAiInteractionTextarea.prototype,"_promptValue",2);e([o.state()],exports.LuzmoAiInteractionTextarea.prototype,"_isPromptValid",2);exports.LuzmoAiInteractionTextarea=e([d.localized()],exports.LuzmoAiInteractionTextarea);customElements.get("luzmo-ai-interaction-textarea")||customElements.define("luzmo-ai-interaction-textarea",exports.LuzmoAiInteractionTextarea);
56
+ `}};exports.LuzmoAiInteractionTextarea.styles=c.unsafeCSS(h);exports.LuzmoAiInteractionTextarea.tagName="luzmo-ai-interaction-textarea";a([r.property({type:String})],exports.LuzmoAiInteractionTextarea.prototype,"placeholder",2);a([r.property({type:Array})],exports.LuzmoAiInteractionTextarea.prototype,"selectedDatasets",2);a([r.property({type:String,attribute:"auth-key"})],exports.LuzmoAiInteractionTextarea.prototype,"authKey",2);a([r.property({type:String,attribute:"auth-token"})],exports.LuzmoAiInteractionTextarea.prototype,"authToken",2);a([r.property({type:String,attribute:"api-url"})],exports.LuzmoAiInteractionTextarea.prototype,"apiUrl",2);a([r.property({type:String,attribute:"app-server"})],exports.LuzmoAiInteractionTextarea.prototype,"appServer",2);a([r.property({type:Boolean,attribute:"flag-opendata"})],exports.LuzmoAiInteractionTextarea.prototype,"flagOpendata",2);a([r.property({type:Boolean,reflect:!0,attribute:"disabled"})],exports.LuzmoAiInteractionTextarea.prototype,"disabled",2);a([r.property({type:Boolean,attribute:"single-line"})],exports.LuzmoAiInteractionTextarea.prototype,"singleLine",2);a([r.property({type:Boolean,attribute:"hide-dataset-button"})],exports.LuzmoAiInteractionTextarea.prototype,"hideDatasetButton",2);a([r.property({type:Boolean,attribute:"is-generating"})],exports.LuzmoAiInteractionTextarea.prototype,"isGenerating",2);a([r.property({type:String})],exports.LuzmoAiInteractionTextarea.prototype,"value",2);a([r.state()],exports.LuzmoAiInteractionTextarea.prototype,"_promptValue",2);a([r.state()],exports.LuzmoAiInteractionTextarea.prototype,"_isPromptValid",2);exports.LuzmoAiInteractionTextarea=a([d.localized()],exports.LuzmoAiInteractionTextarea);customElements.get("luzmo-ai-interaction-textarea")||customElements.define("luzmo-ai-interaction-textarea",exports.LuzmoAiInteractionTextarea);
@@ -17,39 +17,43 @@
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 { localized as d } from "@lit/localize";
21
- import { luzmoIcon as m, luzmoArrowRight as b } from "@luzmo/icons";
22
- import { unsafeCSS as p, LitElement as h, html as z } from "lit";
23
- import { property as i, state as s } from "lit/decorators.js";
20
+ import { localized as p } from "@lit/localize";
21
+ import { luzmoIcon as u, luzmoSpin as h, luzmoArrowRight as b } from "@luzmo/icons";
22
+ import { unsafeCSS as g, LitElement as z, html as d } from "lit";
23
+ import { property as r, state as m } from "lit/decorators.js";
24
24
  import { classMap as x } from "lit/directives/class-map.js";
25
25
  import "../dataset-selector-row/index.js";
26
26
  (function() {
27
27
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
28
- const o = document.createElement("style");
29
- o.setAttribute("data-luzmo-vars", ""), o.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: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--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: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--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: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--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(o);
28
+ const e = document.createElement("style");
29
+ 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: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--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: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--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: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--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);
30
30
  }
31
31
  })();
32
- const g = ":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host .content-wrapper{display:flex;flex-direction:column;gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap))}:host .content-wrapper.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:3rem;color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";
33
- var f = Object.defineProperty, v = Object.getOwnPropertyDescriptor, a = (t, o, r, l) => {
34
- for (var n = l > 1 ? void 0 : l ? v(o, r) : o, c = t.length - 1, u; c >= 0; c--)
35
- (u = t[c]) && (n = (l ? u(o, r, n) : u(n)) || n);
36
- return l && n && f(o, r, n), n;
32
+ const f = ":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host .content-wrapper{display:flex;flex-direction:column;gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap))}:host .content-wrapper.single-line{flex-direction:row;align-items:center}:host .content-wrapper.single-line textarea{flex:1;min-height:auto}:host .content-wrapper.single-line .button-container{align-self:flex-end}:host .content-wrapper.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:var(--luzmo-ai-interaction-textarea-textarea-min-height, var(--ai-interaction-textarea-textarea-min-height, 3rem));color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button svg.spin{animation:spin 1s linear infinite}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-textarea-min-height: 3rem;--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";
33
+ var v = Object.defineProperty, y = Object.getOwnPropertyDescriptor, a = (t, e, i, l) => {
34
+ for (var n = l > 1 ? void 0 : l ? y(e, i) : e, s = t.length - 1, c; s >= 0; s--)
35
+ (c = t[s]) && (n = (l ? c(e, i, n) : c(n)) || n);
36
+ return l && n && v(e, i, n), n;
37
37
  };
38
- let e = class extends h {
38
+ let o = class extends z {
39
39
  constructor() {
40
- super(...arguments), 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.flagOpendata = !1, this.disabled = !1, this._promptValue = "", this._isPromptValid = !1;
40
+ super(...arguments), 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.flagOpendata = !1, this.disabled = !1, this.singleLine = !1, this.hideDatasetButton = !1, this.isGenerating = !1, this.value = "", this._promptValue = "", this._isPromptValid = !1;
41
41
  }
42
42
  get _buttonDisabled() {
43
- return this.disabled || this.selectedDatasets.length === 0 || !this._isPromptValid;
43
+ return this.hideDatasetButton ? this.disabled || !this._isPromptValid : this.disabled || this.selectedDatasets.length === 0 || !this._isPromptValid;
44
44
  }
45
45
  _autoResizeTextarea(t) {
46
- t.style.height = "auto";
47
- const o = 2 * 1.5 * 16, r = 8 * 1.5 * 16, l = Math.max(o, Math.min(t.scrollHeight, r));
48
- t.style.height = `${l}px`;
46
+ if (t.style.height = "auto", this.singleLine) {
47
+ const i = Number.parseFloat(getComputedStyle(t).fontSize) || 14, l = 1.5 * i, n = 8 * 1.5 * i, s = Math.max(l, Math.min(t.scrollHeight, n));
48
+ t.style.height = `${s}px`;
49
+ } else {
50
+ const l = Math.max(48, Math.min(t.scrollHeight, 192));
51
+ t.style.height = `${l}px`;
52
+ }
49
53
  }
50
54
  _handlePromptInput(t) {
51
- const o = t.target;
52
- this._promptValue = o.value, this._isPromptValid = o.value.trim().length > 0, this._autoResizeTextarea(o), o.scrollTo({ top: o.scrollHeight });
55
+ const e = t.target;
56
+ this._promptValue = e.value, this._isPromptValid = e.value.trim().length > 0, this._autoResizeTextarea(e), e.scrollTo({ top: e.scrollHeight });
53
57
  }
54
58
  _handleKeyDown(t) {
55
59
  t.key === "Enter" && !t.shiftKey && (t.preventDefault(), this._submitPrompt());
@@ -70,36 +74,44 @@ let e = class extends h {
70
74
  );
71
75
  }
72
76
  _handleDatasetSelected(t) {
73
- const o = t.detail;
74
- this.selectedDatasets.some((r) => r.id === o.id) || (this.selectedDatasets = [...this.selectedDatasets, o]);
77
+ const e = t.detail;
78
+ this.selectedDatasets.some((i) => i.id === e.id) || (this.selectedDatasets = [...this.selectedDatasets, e]);
75
79
  }
76
80
  _handleDatasetRemoved(t) {
77
- const o = t.detail;
78
- this.selectedDatasets = this.selectedDatasets.filter((r) => r.id !== o.id);
81
+ const e = t.detail;
82
+ this.selectedDatasets = this.selectedDatasets.filter((i) => i.id !== e.id);
83
+ }
84
+ willUpdate(t) {
85
+ t.has("value") && (this._promptValue = this.value, this._isPromptValid = this.value.trim().length > 0, requestAnimationFrame(() => {
86
+ const e = this.shadowRoot?.querySelector("textarea");
87
+ e && this._autoResizeTextarea(e);
88
+ }));
79
89
  }
80
90
  firstUpdated() {
81
- var o;
82
- const t = (o = this.shadowRoot) == null ? void 0 : o.querySelector("textarea");
91
+ const t = this.shadowRoot?.querySelector("textarea");
83
92
  t && this._autoResizeTextarea(t);
84
93
  }
85
94
  render() {
86
95
  const t = {
87
96
  "content-wrapper": !0,
88
- disabled: this.disabled
97
+ disabled: this.disabled,
98
+ "single-line": this.singleLine
89
99
  };
90
- return z`
100
+ return d`
91
101
  <div class=${x(t)}>
92
- <luzmo-dataset-selector-row
93
- .selectedDatasets=${this.selectedDatasets}
94
- auth-key=${this.authKey}
95
- auth-token=${this.authToken}
96
- api-url=${this.apiUrl}
97
- app-server=${this.appServer}
98
- ?flag-opendata=${this.flagOpendata}
99
- ?disabled=${this.disabled}
100
- @dataset-selected=${this._handleDatasetSelected}
101
- @dataset-removed=${this._handleDatasetRemoved}
102
- ></luzmo-dataset-selector-row>
102
+ ${this.hideDatasetButton ? "" : d`
103
+ <luzmo-dataset-selector-row
104
+ .selectedDatasets=${this.selectedDatasets}
105
+ auth-key=${this.authKey}
106
+ auth-token=${this.authToken}
107
+ api-url=${this.apiUrl}
108
+ app-server=${this.appServer}
109
+ ?flag-opendata=${this.flagOpendata}
110
+ ?disabled=${this.disabled}
111
+ @dataset-selected=${this._handleDatasetSelected}
112
+ @dataset-removed=${this._handleDatasetRemoved}
113
+ ></luzmo-dataset-selector-row>
114
+ `}
103
115
 
104
116
  <textarea
105
117
  ?autofocus=${!this.disabled}
@@ -108,7 +120,7 @@ let e = class extends h {
108
120
  .value=${this._promptValue}
109
121
  @input=${this._handlePromptInput}
110
122
  @keydown=${this._handleKeyDown}
111
- rows="2"
123
+ rows=${this.singleLine ? "1" : "2"}
112
124
  ></textarea>
113
125
 
114
126
  <div class="button-container">
@@ -117,49 +129,61 @@ let e = class extends h {
117
129
  ?disabled=${this._buttonDisabled}
118
130
  @click=${this._submitPrompt}
119
131
  >
120
- ${m(b)}
132
+ ${this.isGenerating ? u(h, { className: "spin" }) : u(b)}
121
133
  </button>
122
134
  </div>
123
135
  </div>
124
136
  `;
125
137
  }
126
138
  };
127
- e.styles = p(g);
128
- e.tagName = "luzmo-ai-interaction-textarea";
139
+ o.styles = g(f);
140
+ o.tagName = "luzmo-ai-interaction-textarea";
141
+ a([
142
+ r({ type: String })
143
+ ], o.prototype, "placeholder", 2);
144
+ a([
145
+ r({ type: Array })
146
+ ], o.prototype, "selectedDatasets", 2);
147
+ a([
148
+ r({ type: String, attribute: "auth-key" })
149
+ ], o.prototype, "authKey", 2);
150
+ a([
151
+ r({ type: String, attribute: "auth-token" })
152
+ ], o.prototype, "authToken", 2);
129
153
  a([
130
- i({ type: String })
131
- ], e.prototype, "placeholder", 2);
154
+ r({ type: String, attribute: "api-url" })
155
+ ], o.prototype, "apiUrl", 2);
132
156
  a([
133
- i({ type: Array })
134
- ], e.prototype, "selectedDatasets", 2);
157
+ r({ type: String, attribute: "app-server" })
158
+ ], o.prototype, "appServer", 2);
135
159
  a([
136
- i({ type: String, attribute: "auth-key" })
137
- ], e.prototype, "authKey", 2);
160
+ r({ type: Boolean, attribute: "flag-opendata" })
161
+ ], o.prototype, "flagOpendata", 2);
138
162
  a([
139
- i({ type: String, attribute: "auth-token" })
140
- ], e.prototype, "authToken", 2);
163
+ r({ type: Boolean, reflect: !0, attribute: "disabled" })
164
+ ], o.prototype, "disabled", 2);
141
165
  a([
142
- i({ type: String, attribute: "api-url" })
143
- ], e.prototype, "apiUrl", 2);
166
+ r({ type: Boolean, attribute: "single-line" })
167
+ ], o.prototype, "singleLine", 2);
144
168
  a([
145
- i({ type: String, attribute: "app-server" })
146
- ], e.prototype, "appServer", 2);
169
+ r({ type: Boolean, attribute: "hide-dataset-button" })
170
+ ], o.prototype, "hideDatasetButton", 2);
147
171
  a([
148
- i({ type: Boolean, attribute: "flag-opendata" })
149
- ], e.prototype, "flagOpendata", 2);
172
+ r({ type: Boolean, attribute: "is-generating" })
173
+ ], o.prototype, "isGenerating", 2);
150
174
  a([
151
- i({ type: Boolean, reflect: !0, attribute: "disabled" })
152
- ], e.prototype, "disabled", 2);
175
+ r({ type: String })
176
+ ], o.prototype, "value", 2);
153
177
  a([
154
- s()
155
- ], e.prototype, "_promptValue", 2);
178
+ m()
179
+ ], o.prototype, "_promptValue", 2);
156
180
  a([
157
- s()
158
- ], e.prototype, "_isPromptValid", 2);
159
- e = a([
160
- d()
161
- ], e);
162
- customElements.get("luzmo-ai-interaction-textarea") || customElements.define("luzmo-ai-interaction-textarea", e);
181
+ m()
182
+ ], o.prototype, "_isPromptValid", 2);
183
+ o = a([
184
+ p()
185
+ ], o);
186
+ customElements.get("luzmo-ai-interaction-textarea") || customElements.define("luzmo-ai-interaction-textarea", o);
163
187
  export {
164
- e as LuzmoAiInteractionTextarea
188
+ o as LuzmoAiInteractionTextarea
165
189
  };
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./helpers-9I0oLoUB.cjs"),l=({slots:e})=>Array.isArray(e)&&e?.length>0?e?.find(t=>t?.name==="legend")?.content?.length>0||e?.find(t=>t?.name==="measure")?.content?.length>1:!1,i=({slots:e})=>Array.isArray(e)&&e?.length>0?!(e?.find(t=>t?.name==="legend")?.content?.length>0)&&e?.find(t=>t?.name==="measure")?.content?.length<=1:!0,r=({slots:e})=>Array.isArray(e)&&e?.find(t=>t?.name==="x-axis")?.content?.[0]?.type==="datetime",o=({options:e,slots:t})=>Array.isArray(t)&&t?.find(a=>a?.name==="x-axis")?.content?.[0]?.type==="datetime"&&e?.missingValue?.type==="manual",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:l},{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:l},{key:"display.modeOption",control:{label:"Mode option",type:"switch",default:!0},visibleIf:l},{key:"missingValue.type",control:{label:"Fill missing values",type:"picker",default:"no",enum:["no","break","manual"]},visibleIf:r},{key:"missingValue.value",control:{label:"Value",type:"number-field",default:"no",min:1},visibleIf:o},{key:"color",control:{label:"Area color",type:"color-picker",default:({theme:e})=>n.getThemeMainColor(e),extraLabel:({options:e,theme:t})=>n.getThemeMainColorResetLabel(e,t,"color"),extraLabelHasClickAction:({options:e,theme:t})=>n.getThemeMainColorExtraLabelHasClickAction(e,t,"color"),extraLabelClickAction:({options:e,theme:t})=>n.getThemeMainColorExtraLabelClickAction(e,t,"color")},visibleIf:i}]},{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"]}}],visibleIf:l}];exports.default=c;
@@ -17,20 +17,8 @@
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 { g as c, a as u, b as d, c as p } from "./helpers-v1bPALRP.js";
21
- const l = ({ slots: e }) => {
22
- var a, i, r, t;
23
- return Array.isArray(e) && (e == null ? void 0 : e.length) > 0 ? ((i = (a = e == null ? void 0 : e.find((n) => (n == null ? void 0 : n.name) === "legend")) == null ? void 0 : a.content) == null ? void 0 : i.length) > 0 || ((t = (r = e == null ? void 0 : e.find((n) => (n == null ? void 0 : n.name) === "measure")) == null ? void 0 : r.content) == null ? void 0 : t.length) > 1 : !1;
24
- }, y = ({ slots: e }) => {
25
- var a, i, r, t;
26
- return Array.isArray(e) && (e == null ? void 0 : e.length) > 0 ? !(((i = (a = e == null ? void 0 : e.find((n) => (n == null ? void 0 : n.name) === "legend")) == null ? void 0 : a.content) == null ? void 0 : i.length) > 0) && ((t = (r = e == null ? void 0 : e.find((n) => (n == null ? void 0 : n.name) === "measure")) == null ? void 0 : r.content) == null ? void 0 : t.length) <= 1 : !0;
27
- }, m = ({ slots: e }) => {
28
- var a, i, r;
29
- return Array.isArray(e) && ((r = (i = (a = e == null ? void 0 : e.find((t) => (t == null ? void 0 : t.name) === "x-axis")) == null ? void 0 : a.content) == null ? void 0 : i[0]) == null ? void 0 : r.type) === "datetime";
30
- }, f = ({ options: e, slots: a }) => {
31
- var i, r, t, n;
32
- return Array.isArray(a) && ((t = (r = (i = a == null ? void 0 : a.find((o) => (o == null ? void 0 : o.name) === "x-axis")) == null ? void 0 : i.content) == null ? void 0 : r[0]) == null ? void 0 : t.type) === "datetime" && ((n = e == null ? void 0 : e.missingValue) == null ? void 0 : n.type) === "manual";
33
- }, b = [
20
+ import { g as l, a as i, b as o, c as r } from "./helpers-bR8Ibjqh.js";
21
+ const n = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? e?.find((t) => t?.name === "legend")?.content?.length > 0 || e?.find((t) => t?.name === "measure")?.content?.length > 1 : !1, c = ({ slots: e }) => Array.isArray(e) && e?.length > 0 ? !(e?.find((t) => t?.name === "legend")?.content?.length > 0) && e?.find((t) => t?.name === "measure")?.content?.length <= 1 : !0, s = ({ slots: e }) => Array.isArray(e) && e?.find((t) => t?.name === "x-axis")?.content?.[0]?.type === "datetime", p = ({ options: e, slots: t }) => Array.isArray(t) && t?.find((a) => a?.name === "x-axis")?.content?.[0]?.type === "datetime" && e?.missingValue?.type === "manual", d = [
34
22
  {
35
23
  key: "general",
36
24
  type: "group",
@@ -55,7 +43,7 @@ const l = ({ slots: e }) => {
55
43
  default: "stacked",
56
44
  enum: ["100", "unstacked", "stacked", "stream"]
57
45
  },
58
- visibleIf: l
46
+ visibleIf: n
59
47
  },
60
48
  {
61
49
  key: "interpolation",
@@ -73,7 +61,7 @@ const l = ({ slots: e }) => {
73
61
  type: "switch",
74
62
  default: !0
75
63
  },
76
- visibleIf: l
64
+ visibleIf: n
77
65
  },
78
66
  {
79
67
  key: "display.modeOption",
@@ -82,7 +70,7 @@ const l = ({ slots: e }) => {
82
70
  type: "switch",
83
71
  default: !0
84
72
  },
85
- visibleIf: l
73
+ visibleIf: n
86
74
  },
87
75
  {
88
76
  key: "missingValue.type",
@@ -92,7 +80,7 @@ const l = ({ slots: e }) => {
92
80
  default: "no",
93
81
  enum: ["no", "break", "manual"]
94
82
  },
95
- visibleIf: m
83
+ visibleIf: s
96
84
  },
97
85
  {
98
86
  key: "missingValue.value",
@@ -102,19 +90,19 @@ const l = ({ slots: e }) => {
102
90
  default: "no",
103
91
  min: 1
104
92
  },
105
- visibleIf: f
93
+ visibleIf: p
106
94
  },
107
95
  {
108
96
  key: "color",
109
97
  control: {
110
98
  label: "Area color",
111
99
  type: "color-picker",
112
- default: ({ theme: e }) => p(e),
113
- extraLabel: ({ options: e, theme: a }) => d(e, a, "color"),
114
- extraLabelHasClickAction: ({ options: e, theme: a }) => u(e, a, "color"),
115
- extraLabelClickAction: ({ options: e, theme: a }) => c(e, a, "color")
100
+ default: ({ theme: e }) => r(e),
101
+ extraLabel: ({ options: e, theme: t }) => o(e, t, "color"),
102
+ extraLabelHasClickAction: ({ options: e, theme: t }) => i(e, t, "color"),
103
+ extraLabelClickAction: ({ options: e, theme: t }) => l(e, t, "color")
116
104
  },
117
- visibleIf: y
105
+ visibleIf: c
118
106
  }
119
107
  ]
120
108
  },
@@ -142,9 +130,9 @@ const l = ({ slots: e }) => {
142
130
  }
143
131
  }
144
132
  ],
145
- visibleIf: l
133
+ visibleIf: n
146
134
  }
147
135
  ];
148
136
  export {
149
- b as default
137
+ d as default
150
138
  };
@@ -0,0 +1,20 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./helpers-9I0oLoUB.cjs"),r=({slots:e})=>Array.isArray(e)&&e?.length>0?e?.find(t=>t?.name==="legend")?.content?.length>0||e?.find(t=>t?.name==="measure")?.content?.length>1:!1,o=({slots:e})=>Array.isArray(e)&&e?.length>0?e?.find(t=>t?.name==="legend")?.content?.length===0&&e?.find(t=>t?.name==="measure")?.content?.length<=1:!0,i=[{key:"general",type:"group",open:!0,children:[{key:"mode",control:{type:"picker",default:"grouped",enum:["grouped","stacked","100"]},visibleIf:r},{type:"divider",visibleIf:r},{key:"display.title",control:{type:"switch",default:!0}},{key:"display.legend",control:{type:"switch",default:!0},visibleIf:r},{key:"display.modeOption",control:{type:"switch",default:!1},visibleIf:r},{key:"bars.label",control:{type:"picker",default:"none",enum:["none","absolute","percentage","percentageLegend","percentageCategory","percentageMax"]}},{key:"categories.colored",control:{type:"switch",default:!1},visibleIf:o},{key:"bars.roundedCorners",control:{type:"slider",default:({theme:e})=>e?.itemSpecific?.rounding,min:0,max:20,step:1,extraLabel:({options:e,theme:t})=>{if(typeof t?.itemSpecific?.rounding=="number")return typeof e?.bars?.roundedCorners!="number"?"auto":"reset"},extraLabelHasClickAction:({options:e,theme:t})=>!(typeof t?.itemSpecific?.rounding!="number"||typeof e?.bars?.roundedCorners!="number"),extraLabelClickAction:({options:e})=>{const t={...e};return delete t?.bars?.roundedCorners,{value:null,options:t}}}},{key:"color",control:{type:"color-picker",label:"Bar color",default:({theme:e})=>n.getThemeMainColor(e),extraLabel:({options:e,theme:t})=>n.getThemeMainColorResetLabel(e,t,"color"),extraLabelHasClickAction:({options:e,theme:t})=>n.getThemeMainColorExtraLabelHasClickAction(e,t,"color"),extraLabelClickAction:({options:e,theme:t})=>n.getThemeMainColorExtraLabelClickAction(e,t,"color")},visibleIf:o}]},{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"]}}],visibleIf:r}];exports.default=i;