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

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 (714) hide show
  1. package/angular/README.md +40 -0
  2. package/angular/components/ai-chat-empty-state.ts +98 -0
  3. package/angular/components/ai-chat.ts +440 -0
  4. package/angular/components/ai-interaction-textarea.ts +283 -0
  5. package/angular/components/data-field-level.ts +130 -0
  6. package/angular/components/data-field-panel.ts +256 -0
  7. package/angular/components/data-field.ts +130 -0
  8. package/angular/components/data-fields-select.ts +212 -0
  9. package/angular/components/dataset-icon.ts +83 -0
  10. package/angular/components/dataset-selector-list.ts +147 -0
  11. package/angular/components/dataset-selector-row.ts +198 -0
  12. package/angular/components/display-settings-binning.ts +92 -0
  13. package/angular/components/display-settings-datetime.ts +100 -0
  14. package/angular/components/display-settings-grand-totals.ts +92 -0
  15. package/angular/components/display-settings-numeric.ts +113 -0
  16. package/angular/components/display-settings-period-over-period.ts +107 -0
  17. package/angular/components/display-settings.ts +227 -0
  18. package/angular/components/filter-expression-picker.ts +168 -0
  19. package/angular/components/filter-item.ts +175 -0
  20. package/angular/components/filter-parameter-picker.ts +155 -0
  21. package/angular/components/filter-value-picker-datetime.ts +125 -0
  22. package/angular/components/filter-value-picker-hierarchy.ts +146 -0
  23. package/angular/components/filter-value-picker-numeric.ts +146 -0
  24. package/angular/components/filter-value-picker.ts +160 -0
  25. package/angular/components/filters.ts +209 -0
  26. package/angular/components/formula-editor.ts +229 -0
  27. package/angular/components/formula-field.ts +198 -0
  28. package/angular/components/formula.ts +170 -0
  29. package/angular/components/interactive-viz-item.ts +186 -0
  30. package/angular/components/item-grid-item-actions-menu.ts +113 -0
  31. package/angular/components/item-grid.ts +242 -0
  32. package/angular/components/item-option-action-button-group.ts +105 -0
  33. package/angular/components/item-option-color-palette-picker.ts +126 -0
  34. package/angular/components/item-option-color-picker.ts +134 -0
  35. package/angular/components/item-option-color-range.ts +168 -0
  36. package/angular/components/item-option-guidelines.ts +84 -0
  37. package/angular/components/item-option-multi-language-field.ts +133 -0
  38. package/angular/components/item-option-number-field.ts +161 -0
  39. package/angular/components/item-option-panel.ts +149 -0
  40. package/angular/components/item-option-picker.ts +120 -0
  41. package/angular/components/item-option-position-picker.ts +98 -0
  42. package/angular/components/item-option-positions-number-field.ts +140 -0
  43. package/angular/components/item-option-radio-button-group.ts +119 -0
  44. package/angular/components/item-option-slider.ts +126 -0
  45. package/angular/components/item-option-switch.ts +98 -0
  46. package/angular/components/item-option-text-field.ts +112 -0
  47. package/angular/components/item-option.ts +163 -0
  48. package/angular/components/item-slot-drop-panel.ts +236 -0
  49. package/angular/components/item-slot-drop.ts +231 -0
  50. package/angular/components/item-slot-picker-panel.ts +299 -0
  51. package/angular/components/item-slot-picker.ts +241 -0
  52. package/angular/components/slot-menu-list.ts +121 -0
  53. package/angular/components/slot-menu.ts +304 -0
  54. package/angular/components/viz-item-menu.ts +118 -0
  55. package/angular/esm/components/ai-chat-empty-state.d.ts +39 -0
  56. package/angular/esm/components/ai-chat-empty-state.js +99 -0
  57. package/angular/esm/components/ai-chat.d.ts +147 -0
  58. package/angular/esm/components/ai-chat.js +455 -0
  59. package/angular/esm/components/ai-interaction-textarea.d.ts +106 -0
  60. package/angular/esm/components/ai-interaction-textarea.js +305 -0
  61. package/angular/esm/components/data-field-level.d.ts +50 -0
  62. package/angular/esm/components/data-field-level.js +129 -0
  63. package/angular/esm/components/data-field-panel.d.ts +86 -0
  64. package/angular/esm/components/data-field-panel.js +268 -0
  65. package/angular/esm/components/data-field.d.ts +50 -0
  66. package/angular/esm/components/data-field.js +129 -0
  67. package/angular/esm/components/data-fields-select.d.ts +81 -0
  68. package/angular/esm/components/data-fields-select.js +227 -0
  69. package/angular/esm/components/dataset-icon.d.ts +34 -0
  70. package/angular/esm/components/dataset-icon.js +86 -0
  71. package/angular/esm/components/dataset-selector-list.d.ts +56 -0
  72. package/angular/esm/components/dataset-selector-list.js +155 -0
  73. package/angular/esm/components/dataset-selector-row.d.ts +70 -0
  74. package/angular/esm/components/dataset-selector-row.js +197 -0
  75. package/angular/esm/components/display-settings-binning.d.ts +37 -0
  76. package/angular/esm/components/display-settings-binning.js +91 -0
  77. package/angular/esm/components/display-settings-datetime.d.ts +40 -0
  78. package/angular/esm/components/display-settings-datetime.js +99 -0
  79. package/angular/esm/components/display-settings-grand-totals.d.ts +37 -0
  80. package/angular/esm/components/display-settings-grand-totals.js +91 -0
  81. package/angular/esm/components/display-settings-numeric.d.ts +45 -0
  82. package/angular/esm/components/display-settings-numeric.js +115 -0
  83. package/angular/esm/components/display-settings-period-over-period.d.ts +44 -0
  84. package/angular/esm/components/display-settings-period-over-period.js +107 -0
  85. package/angular/esm/components/display-settings.d.ts +83 -0
  86. package/angular/esm/components/display-settings.js +231 -0
  87. package/angular/esm/components/filter-expression-picker.d.ts +64 -0
  88. package/angular/esm/components/filter-expression-picker.js +179 -0
  89. package/angular/esm/components/filter-item.d.ts +63 -0
  90. package/angular/esm/components/filter-item.js +187 -0
  91. package/angular/esm/components/filter-parameter-picker.d.ts +56 -0
  92. package/angular/esm/components/filter-parameter-picker.js +151 -0
  93. package/angular/esm/components/filter-value-picker-datetime.d.ts +47 -0
  94. package/angular/esm/components/filter-value-picker-datetime.js +131 -0
  95. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +53 -0
  96. package/angular/esm/components/filter-value-picker-hierarchy.js +155 -0
  97. package/angular/esm/components/filter-value-picker-numeric.d.ts +53 -0
  98. package/angular/esm/components/filter-value-picker-numeric.js +155 -0
  99. package/angular/esm/components/filter-value-picker.d.ts +57 -0
  100. package/angular/esm/components/filter-value-picker.js +171 -0
  101. package/angular/esm/components/filters.d.ts +75 -0
  102. package/angular/esm/components/filters.js +215 -0
  103. package/angular/esm/components/formula-editor.d.ts +78 -0
  104. package/angular/esm/components/formula-editor.js +236 -0
  105. package/angular/esm/components/formula-field.d.ts +70 -0
  106. package/angular/esm/components/formula-field.js +209 -0
  107. package/angular/esm/components/formula.d.ts +60 -0
  108. package/angular/esm/components/formula.js +177 -0
  109. package/angular/esm/components/interactive-viz-item.d.ts +63 -0
  110. package/angular/esm/components/interactive-viz-item.js +188 -0
  111. package/angular/esm/components/item-grid-item-actions-menu.d.ts +45 -0
  112. package/angular/esm/components/item-grid-item-actions-menu.js +115 -0
  113. package/angular/esm/components/item-grid.d.ts +80 -0
  114. package/angular/esm/components/item-grid.js +245 -0
  115. package/angular/esm/components/item-option-action-button-group.d.ts +41 -0
  116. package/angular/esm/components/item-option-action-button-group.js +107 -0
  117. package/angular/esm/components/item-option-color-palette-picker.d.ts +48 -0
  118. package/angular/esm/components/item-option-color-palette-picker.js +131 -0
  119. package/angular/esm/components/item-option-color-picker.d.ts +51 -0
  120. package/angular/esm/components/item-option-color-picker.js +139 -0
  121. package/angular/esm/components/item-option-color-range.d.ts +66 -0
  122. package/angular/esm/components/item-option-color-range.js +179 -0
  123. package/angular/esm/components/item-option-guidelines.d.ts +34 -0
  124. package/angular/esm/components/item-option-guidelines.js +83 -0
  125. package/angular/esm/components/item-option-multi-language-field.d.ts +50 -0
  126. package/angular/esm/components/item-option-multi-language-field.js +139 -0
  127. package/angular/esm/components/item-option-number-field.d.ts +58 -0
  128. package/angular/esm/components/item-option-number-field.js +171 -0
  129. package/angular/esm/components/item-option-panel.d.ts +54 -0
  130. package/angular/esm/components/item-option-panel.js +155 -0
  131. package/angular/esm/components/item-option-picker.d.ts +46 -0
  132. package/angular/esm/components/item-option-picker.js +123 -0
  133. package/angular/esm/components/item-option-position-picker.d.ts +39 -0
  134. package/angular/esm/components/item-option-position-picker.js +99 -0
  135. package/angular/esm/components/item-option-positions-number-field.d.ts +54 -0
  136. package/angular/esm/components/item-option-positions-number-field.js +147 -0
  137. package/angular/esm/components/item-option-radio-button-group.d.ts +45 -0
  138. package/angular/esm/components/item-option-radio-button-group.js +123 -0
  139. package/angular/esm/components/item-option-slider.d.ts +46 -0
  140. package/angular/esm/components/item-option-slider.js +131 -0
  141. package/angular/esm/components/item-option-switch.d.ts +40 -0
  142. package/angular/esm/components/item-option-switch.js +99 -0
  143. package/angular/esm/components/item-option-text-field.d.ts +44 -0
  144. package/angular/esm/components/item-option-text-field.js +115 -0
  145. package/angular/esm/components/item-option.d.ts +58 -0
  146. package/angular/esm/components/item-option.js +171 -0
  147. package/angular/esm/components/item-slot-drop-panel.d.ts +82 -0
  148. package/angular/esm/components/item-slot-drop-panel.js +249 -0
  149. package/angular/esm/components/item-slot-drop.d.ts +77 -0
  150. package/angular/esm/components/item-slot-drop.js +227 -0
  151. package/angular/esm/components/item-slot-picker-panel.d.ts +97 -0
  152. package/angular/esm/components/item-slot-picker-panel.js +309 -0
  153. package/angular/esm/components/item-slot-picker.d.ts +86 -0
  154. package/angular/esm/components/item-slot-picker.js +259 -0
  155. package/angular/esm/components/slot-menu-list.d.ts +46 -0
  156. package/angular/esm/components/slot-menu-list.js +123 -0
  157. package/angular/esm/components/slot-menu.d.ts +104 -0
  158. package/angular/esm/components/slot-menu.js +300 -0
  159. package/angular/esm/components/viz-item-menu.d.ts +42 -0
  160. package/angular/esm/components/viz-item-menu.js +111 -0
  161. package/angular/esm/index.d.ts +109 -0
  162. package/angular/esm/index.js +217 -0
  163. package/angular/index.ts +223 -0
  164. package/angular/package.json +40 -0
  165. package/angular/tsconfig.json +36 -0
  166. package/angular/type-fallbacks.d.ts +0 -0
  167. package/angular/utils/ai-prompt/attachments.d.ts +10 -0
  168. package/angular/utils/ai-prompt/dictation.d.ts +50 -0
  169. package/angular/utils/ai-prompt/image-upload.d.ts +12 -0
  170. package/angular/utils/ai-prompt/index.d.ts +6 -0
  171. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +1 -0
  172. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +1 -0
  173. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +1 -0
  174. package/angular/utils/base/base.d.ts +16 -0
  175. package/angular/utils/base/focus-visible.d.ts +29 -0
  176. package/angular/utils/base/focusable.d.ts +58 -0
  177. package/angular/utils/base/index.d.ts +5 -0
  178. package/angular/utils/base/localized-mixin.d.ts +22 -0
  179. package/angular/utils/base/sized-mixin.d.ts +17 -0
  180. package/angular/utils/color/color-palettes.d.ts +17 -0
  181. package/angular/utils/color/extrapolate-color.d.ts +1 -0
  182. package/angular/utils/data/load-data-fields-for-datasets.d.ts +22 -0
  183. package/angular/utils/data-broker/index.d.ts +263 -0
  184. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +12 -0
  185. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +1 -0
  186. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +1 -0
  187. package/angular/utils/drag/draggable.d.ts +13 -0
  188. package/angular/utils/drag/pragmatic-element-adapter.d.ts +2 -0
  189. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +1 -0
  190. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +1 -0
  191. package/angular/utils/filters/expressions.d.ts +15 -0
  192. package/angular/utils/filters/index.d.ts +1 -0
  193. package/angular/utils/formatter/calculate-duration.d.ts +2 -0
  194. package/angular/utils/formatter/decompose-numeric-format.d.ts +11 -0
  195. package/angular/utils/formatter/default-local-formats.d.ts +20 -0
  196. package/angular/utils/formatter/formats/cs.d.ts +20 -0
  197. package/angular/utils/formatter/formats/da.d.ts +20 -0
  198. package/angular/utils/formatter/formats/de.d.ts +21 -0
  199. package/angular/utils/formatter/formats/en-GB.d.ts +21 -0
  200. package/angular/utils/formatter/formats/en-US.d.ts +1 -0
  201. package/angular/utils/formatter/formats/en.d.ts +1 -0
  202. package/angular/utils/formatter/formats/es.d.ts +54 -0
  203. package/angular/utils/formatter/formats/fi.d.ts +20 -0
  204. package/angular/utils/formatter/formats/fr.d.ts +54 -0
  205. package/angular/utils/formatter/formats/he.d.ts +20 -0
  206. package/angular/utils/formatter/formats/hu.d.ts +20 -0
  207. package/angular/utils/formatter/formats/it.d.ts +54 -0
  208. package/angular/utils/formatter/formats/ja.d.ts +20 -0
  209. package/angular/utils/formatter/formats/ko.d.ts +20 -0
  210. package/angular/utils/formatter/formats/mk.d.ts +20 -0
  211. package/angular/utils/formatter/formats/nl.d.ts +21 -0
  212. package/angular/utils/formatter/formats/no.d.ts +21 -0
  213. package/angular/utils/formatter/formats/pl.d.ts +20 -0
  214. package/angular/utils/formatter/formats/pt.d.ts +20 -0
  215. package/angular/utils/formatter/formats/ru.d.ts +20 -0
  216. package/angular/utils/formatter/formats/sv.d.ts +20 -0
  217. package/angular/utils/formatter/formats/tr.d.ts +21 -0
  218. package/angular/utils/formatter/formats/zh-CN.d.ts +20 -0
  219. package/angular/utils/formatter/formats/zh-TW.d.ts +20 -0
  220. package/angular/utils/formatter/formatter.d.ts +9 -0
  221. package/angular/utils/formatter/get-dataset-name.d.ts +2 -0
  222. package/angular/utils/formatter/get-localized-name.d.ts +4 -0
  223. package/angular/utils/formatter/localize.d.ts +3 -0
  224. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +36 -0
  225. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +1 -0
  226. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +1 -0
  227. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +1 -0
  228. package/angular/utils/formatter/tests/formatter.test.d.ts +1 -0
  229. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +1 -0
  230. package/angular/utils/formatter/tests/localize.test.d.ts +1 -0
  231. package/angular/utils/formula/base/formula-base.d.ts +117 -0
  232. package/angular/utils/formula/base/formula-input-base.d.ts +62 -0
  233. package/angular/utils/formula/codemirror/actions.d.ts +47 -0
  234. package/angular/utils/formula/codemirror/drop-cursor.d.ts +15 -0
  235. package/angular/utils/formula/codemirror/icon-element.d.ts +7 -0
  236. package/angular/utils/formula/codemirror/parser.d.ts +16 -0
  237. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +1 -0
  238. package/angular/utils/formula/codemirror/theme.d.ts +20 -0
  239. package/angular/utils/formula/codemirror/widget.d.ts +18 -0
  240. package/angular/utils/formula/config/aggregations.d.ts +9 -0
  241. package/angular/utils/formula/config/build-datasets.d.ts +10 -0
  242. package/angular/utils/formula/config/expression-helpers.d.ts +42 -0
  243. package/angular/utils/formula/config/functions.d.ts +3 -0
  244. package/angular/utils/formula/config/groupings.d.ts +9 -0
  245. package/angular/utils/formula/config/regex.d.ts +39 -0
  246. package/angular/utils/formula/config/resolve-column-presentation.d.ts +19 -0
  247. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +1 -0
  248. package/angular/utils/formula/config/validate-expression.d.ts +19 -0
  249. package/angular/utils/formula/load-formula-codemirror.d.ts +4 -0
  250. package/angular/utils/formula/render-explanation-tooltip.d.ts +7 -0
  251. package/angular/utils/formula/store/formula-display-store.d.ts +93 -0
  252. package/angular/utils/formula/store/formula-editor-context.d.ts +8 -0
  253. package/angular/utils/formula/store/formula-editor-store.d.ts +46 -0
  254. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +1 -0
  255. package/angular/utils/formula/tests/validate-expression.test.d.ts +1 -0
  256. package/angular/utils/get-css-variable.d.ts +1 -0
  257. package/angular/utils/index.d.ts +10 -0
  258. package/angular/utils/localize/set-locale.d.ts +7 -0
  259. package/angular/utils/map-tile-providers/index.d.ts +93 -0
  260. package/angular/utils/set-nested-value.d.ts +6 -0
  261. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +7 -0
  262. package/angular/utils/slot-content/render-calculation-label.d.ts +7 -0
  263. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +1 -0
  264. package/angular/utils/slot-state/slot-context.d.ts +4 -0
  265. package/angular/utils/slot-state/slot-store.d.ts +39 -0
  266. package/angular/utils/store/base-store.d.ts +158 -0
  267. package/angular/utils/store/dashboard-store.d.ts +49 -0
  268. package/angular/utils/store/index.d.ts +135 -0
  269. package/angular/utils/store/item-store.d.ts +33 -0
  270. package/angular/utils/store/store-registry.d.ts +170 -0
  271. package/angular/utils/store/tests/dashboard-store.test.d.ts +1 -0
  272. package/angular/utils/store/tests/item-store.test.d.ts +1 -0
  273. package/angular/utils/store/tests/store-registry.test.d.ts +1 -0
  274. package/angular/utils/store/types.d.ts +270 -0
  275. package/angular/utils/switch-item/index.d.ts +34 -0
  276. package/angular/utils/switch-item/slot-role-classification.d.ts +31 -0
  277. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +17 -0
  278. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +1 -0
  279. package/angular/utils/switch-item/tests/switch-item.test.d.ts +1 -0
  280. package/angular/utils/tests/set-nested-value.test.d.ts +1 -0
  281. package/angular/utils/themes/bliss.d.ts +2 -0
  282. package/angular/utils/themes/classic-dark.d.ts +2 -0
  283. package/angular/utils/themes/classic.d.ts +2 -0
  284. package/angular/utils/themes/default-dark.d.ts +2 -0
  285. package/angular/utils/themes/default.d.ts +2 -0
  286. package/angular/utils/themes/index.d.ts +4 -0
  287. package/angular/utils/themes/orion.d.ts +2 -0
  288. package/angular/utils/themes/pinky.d.ts +2 -0
  289. package/angular/utils/themes/radiant.d.ts +2 -0
  290. package/angular/utils/themes/royale.d.ts +2 -0
  291. package/angular/utils/themes/seasonal.d.ts +2 -0
  292. package/angular/utils/themes/urban.d.ts +2 -0
  293. package/angular/utils/themes/vivid.d.ts +2 -0
  294. package/angular/utils/time/formats.const.d.ts +4 -0
  295. package/angular/utils/time/period-over-period-condition.const.d.ts +8 -0
  296. package/angular/utils/time/periods.const.d.ts +15 -0
  297. package/angular/utils/timezone/datetime-timezone.d.ts +25 -0
  298. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +1 -0
  299. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +9 -0
  300. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +30 -0
  301. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +1 -0
  302. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +1 -0
  303. package/angular/utils/types/tests/type-check.test.d.ts +1 -0
  304. package/angular/utils/types/type-check.d.ts +28 -0
  305. package/components/ai-chat/ai-chat-events.d.ts +19 -3
  306. package/components/ai-chat/ai-chat-request.d.ts +5 -0
  307. package/components/ai-chat/ai-chat.d.ts +28 -5
  308. package/components/ai-chat/ai-prompt-types.d.ts +17 -2
  309. package/components/ai-chat/helpers/agent-config.d.ts +12 -0
  310. package/components/ai-chat/helpers/elicitation-template.d.ts +18 -0
  311. package/components/ai-chat/index.cjs +1 -1
  312. package/components/ai-chat/index.d.ts +2 -1
  313. package/components/ai-chat/index.js +3 -3
  314. package/components/ai-chat/session/ai-chat-session-controller.d.ts +3 -0
  315. package/components/ai-chat/session/ai-chat-session-types.d.ts +19 -3
  316. package/components/ai-chat/session/ai-chat-session.d.ts +17 -1
  317. package/components/ai-chat/stream/chunk-extractors.d.ts +3 -1
  318. package/components/ai-chat/stream/index.d.ts +1 -0
  319. package/components/ai-chat/stream/types.d.ts +5 -1
  320. package/components/ai-chat/types.d.ts +24 -0
  321. package/components/ai-chat-CG-eIiBr.cjs +337 -0
  322. package/components/{ai-chat-CSoYb7E3.js → ai-chat-CMc_9Oo2.js} +1012 -723
  323. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +6 -0
  324. package/components/ai-interaction-textarea/index.cjs +1 -1
  325. package/components/ai-interaction-textarea/index.js +1 -1
  326. package/components/{ai-interaction-textarea-1WuexZ9Q.cjs → ai-interaction-textarea-B6tZgh5k.cjs} +4 -3
  327. package/components/{ai-interaction-textarea-BZAeZunP.js → ai-interaction-textarea-D9g9G0T1.js} +14 -6
  328. package/components/{area-chart-options.config-HaYA8gPC.js → area-chart-options.config-B94ERc30.js} +12 -7
  329. package/components/area-chart-options.config-Bf5kti7Z.cjs +20 -0
  330. package/components/{area-chart-positioning.config-B2TiEOKI.js → area-chart-positioning.config-BEwDQj3T.js} +1 -1
  331. package/components/{area-chart-positioning.config-CMNWsFdQ.cjs → area-chart-positioning.config-CS-5H8-C.cjs} +1 -1
  332. package/components/{bar-chart-options.config--F0KfZ5y.js → bar-chart-options.config-B1C3t6uk.js} +12 -10
  333. package/components/bar-chart-options.config-CI17HU2I.cjs +20 -0
  334. package/components/{bar-chart-positioning.config-BrXy8UPf.js → bar-chart-positioning.config-CBbTYesB.js} +1 -1
  335. package/components/{bar-chart-positioning.config-CfCl6YMX.cjs → bar-chart-positioning.config-DkIvwJI5.cjs} +1 -1
  336. package/components/{base-DY99ut2q.cjs → base-D6QPZnpu.cjs} +1 -1
  337. package/components/{base-CyMoOIH2.js → base-DSeXdW9S.js} +1 -1
  338. package/components/box-plot-options.config-Cp6H9fyb.cjs +20 -0
  339. package/components/{box-plot-options.config-CT4_71tE.js → box-plot-options.config-sBfVzPTw.js} +24 -19
  340. package/components/{box-plot-positioning.config-DYHIaLKf.js → box-plot-positioning.config-CNC-RTwl.js} +1 -1
  341. package/components/{box-plot-positioning.config-CYKg8ebh.cjs → box-plot-positioning.config-o5D-mRFr.cjs} +1 -1
  342. package/components/{bubble-chart-options.config-B_hTYgid.js → bubble-chart-options.config-DKeBF5A0.js} +9 -7
  343. package/components/bubble-chart-options.config-e_0LM1Uw.cjs +20 -0
  344. package/components/{bubble-chart-positioning.config-DW2fyRST.js → bubble-chart-positioning.config-3ilPXLpZ.js} +1 -1
  345. package/components/{bubble-chart-positioning.config-D8uKM21g.cjs → bubble-chart-positioning.config-CtreNdST.cjs} +1 -1
  346. package/components/{bullet-chart-positioning.config-B0o0yLmt.js → bullet-chart-positioning.config-CkFhShBk.js} +1 -1
  347. package/components/{bullet-chart-positioning.config-BZVi5Z37.cjs → bullet-chart-positioning.config-dHj3YrT_.cjs} +1 -1
  348. package/components/choropleth-map-options.config-VG10yjwC.cjs +20 -0
  349. package/components/{choropleth-map-options.config-CsJjKLVP.js → choropleth-map-options.config-nOE0NWaD.js} +29 -27
  350. package/components/{choropleth-map-positioning.config-ZoJMcINR.cjs → choropleth-map-positioning.config-BSs-bRGv.cjs} +1 -1
  351. package/components/{choropleth-map-positioning.config-_cjikPvV.js → choropleth-map-positioning.config-DOt86t59.js} +1 -1
  352. package/components/{circle-pack-chart-options.config-Dobt6Q5A.cjs → circle-pack-chart-options.config-BmX0w3cH.cjs} +1 -1
  353. package/components/{circle-pack-chart-options.config-FcILD-Hi.js → circle-pack-chart-options.config-CgE8vGP9.js} +36 -31
  354. package/components/{circle-pack-chart-positioning.config-Bs_vUTrq.js → circle-pack-chart-positioning.config-BkFATJjC.js} +1 -1
  355. package/components/{circle-pack-chart-positioning.config-Dp14Xy4g.cjs → circle-pack-chart-positioning.config-CVNdIYau.cjs} +1 -1
  356. package/components/{circular-gauge-positioning.config-Bsshd-zZ.js → circular-gauge-positioning.config-BV2xb5TF.js} +1 -1
  357. package/components/{circular-gauge-positioning.config-Bon_UJ9A.cjs → circular-gauge-positioning.config-SrbCaaOr.cjs} +1 -1
  358. package/components/{column-chart-options.config-BzMjdyfp.js → column-chart-options.config-C2GGiHOI.js} +12 -10
  359. package/components/column-chart-options.config-xmSH4NKF.cjs +20 -0
  360. package/components/{column-chart-positioning.config-DUcXbA1k.cjs → column-chart-positioning.config-DTQe3h_H.cjs} +1 -1
  361. package/components/{column-chart-positioning.config-BrSD_Vrd.js → column-chart-positioning.config-T7juV3XT.js} +1 -1
  362. package/components/combination-chart-options.config-IEamJGCp.cjs +20 -0
  363. package/components/{combination-chart-options.config-BEMnrQdd.js → combination-chart-options.config-LddX4naq.js} +8 -3
  364. package/components/{combination-chart-positioning.config-DIWEeLYk.js → combination-chart-positioning.config-78C7wKnS.js} +1 -1
  365. package/components/{combination-chart-positioning.config-DHvp-1kZ.cjs → combination-chart-positioning.config-BrSmdan-.cjs} +1 -1
  366. package/components/{conditional-number-positioning.config-BgKxHoAw.cjs → conditional-number-positioning.config-_9ySKU1z.cjs} +1 -1
  367. package/components/{conditional-number-positioning.config-BFzK6gRk.js → conditional-number-positioning.config-z_eEfpud.js} +1 -1
  368. package/components/data-field/index.cjs +1 -1
  369. package/components/data-field/index.js +1 -1
  370. package/components/{data-field-LCJaGHTs.cjs → data-field-9ZZFw68C.cjs} +1 -1
  371. package/components/{data-field-C_rVntAB.js → data-field-D1WW_V0N.js} +3 -3
  372. package/components/data-field-level/index.cjs +1 -1
  373. package/components/data-field-level/index.js +1 -1
  374. package/components/{data-field-level-Bq4m_uay.js → data-field-level-DR_dXjnL.js} +1 -1
  375. package/components/{data-field-level-DIS8fBDr.cjs → data-field-level-Dc-EMhC3.cjs} +1 -1
  376. package/components/data-field-panel/index.cjs +1 -1
  377. package/components/data-field-panel/index.js +1 -1
  378. package/components/{data-field-panel-DWRs7buc.cjs → data-field-panel-DFA97_8o.cjs} +1 -1
  379. package/components/{data-field-panel-B7CqUPNc.js → data-field-panel-U-5Q-TRp.js} +3 -3
  380. package/components/data-fields-select/index.cjs +1 -1
  381. package/components/data-fields-select/index.js +1 -1
  382. package/components/{data-fields-select-20qMlApt.js → data-fields-select-BYhAzdA6.js} +1 -1
  383. package/components/{data-fields-select-CGtDf-oP.cjs → data-fields-select-BtXNFZy9.cjs} +1 -1
  384. package/components/dataset-selector-list/index.cjs +1 -1
  385. package/components/dataset-selector-list/index.js +1 -1
  386. package/components/{dataset-selector-list-HHKokk1u.cjs → dataset-selector-list-BXg6DIKI.cjs} +1 -1
  387. package/components/{dataset-selector-list-DBLtXZrx.js → dataset-selector-list-q6qWA7B-.js} +1 -1
  388. package/components/dataset-selector-row/dataset-selector-row.d.ts +8 -1
  389. package/components/dataset-selector-row/index.cjs +1 -1
  390. package/components/dataset-selector-row/index.js +1 -1
  391. package/components/{dataset-selector-row-BR5fZlp0.js → dataset-selector-row-ZKET7lVc.js} +19 -9
  392. package/components/{dataset-selector-row-D9cQeVQi.cjs → dataset-selector-row-bqwY3zaf.cjs} +5 -5
  393. package/components/{de-CSvZ1Nhx.js → de-C5CMIy08.js} +4 -0
  394. package/components/de-CdZnQbKI.cjs +20 -0
  395. package/components/display-settings/index.cjs +1 -1
  396. package/components/display-settings/index.js +1 -1
  397. package/components/{display-settings-0-94VuDl.cjs → display-settings-BlMhlvVS.cjs} +1 -1
  398. package/components/{display-settings-BB7xS-BO.js → display-settings-D_wBgzm1.js} +2 -2
  399. package/components/display-settings-binning/index.cjs +1 -1
  400. package/components/display-settings-binning/index.js +1 -1
  401. package/components/{display-settings-binning-BdwOpAPi.js → display-settings-binning-GIE6ww1Q.js} +2 -2
  402. package/components/{display-settings-binning-CgfWIih3.cjs → display-settings-binning-HrXOdGwO.cjs} +1 -1
  403. package/components/display-settings-datetime/index.cjs +1 -1
  404. package/components/display-settings-datetime/index.js +1 -1
  405. package/components/{display-settings-datetime-BS7mUN1_.cjs → display-settings-datetime-DNeLEl3L.cjs} +1 -1
  406. package/components/{display-settings-datetime-CHZ9PRGK.js → display-settings-datetime-YS7_TUet.js} +2 -2
  407. package/components/display-settings-grand-totals/index.cjs +1 -1
  408. package/components/display-settings-grand-totals/index.js +1 -1
  409. package/components/{display-settings-grand-totals-BLEb1hLW.js → display-settings-grand-totals-Bt_ju8jp.js} +2 -2
  410. package/components/{display-settings-grand-totals-CzLxqBqm.cjs → display-settings-grand-totals-C-7s1Tyo.cjs} +1 -1
  411. package/components/display-settings-numeric/index.cjs +1 -1
  412. package/components/display-settings-numeric/index.js +1 -1
  413. package/components/{display-settings-numeric-0rg03IAh.cjs → display-settings-numeric--uwJWzC1.cjs} +1 -1
  414. package/components/{display-settings-numeric-cJJcpFQf.js → display-settings-numeric-OHmktQsz.js} +2 -2
  415. package/components/display-settings-period-over-period/index.cjs +1 -1
  416. package/components/display-settings-period-over-period/index.js +1 -1
  417. package/components/{display-settings-period-over-period-B4f8fbWG.js → display-settings-period-over-period-B1_IJjWK.js} +2 -2
  418. package/components/{display-settings-period-over-period-DC3KxRpN.cjs → display-settings-period-over-period-C4X8c-_R.cjs} +1 -1
  419. package/components/{donut-chart-options.config-D5Wkh0nh.js → donut-chart-options.config-CPHgS1Wi.js} +8 -3
  420. package/components/donut-chart-options.config-LbmJpNlm.cjs +20 -0
  421. package/components/{donut-chart-positioning.config-BsKp1HXE.cjs → donut-chart-positioning.config-BY2TIeeY.cjs} +1 -1
  422. package/components/{donut-chart-positioning.config-DdDed2_1.js → donut-chart-positioning.config-D34HegyZ.js} +1 -1
  423. package/components/es-7RD7O4q3.cjs +20 -0
  424. package/components/{es-DvViVwvd.js → es-BCur0-77.js} +4 -0
  425. package/components/{evolution-number-positioning.config-CYyOIuVk.cjs → evolution-number-positioning.config-BBvULr59.cjs} +1 -1
  426. package/components/{evolution-number-positioning.config-VL8htBRQ.js → evolution-number-positioning.config-CKzCTjdO.js} +1 -1
  427. package/components/filter-expression-picker/index.cjs +1 -1
  428. package/components/filter-expression-picker/index.js +1 -1
  429. package/components/{filter-expression-picker-FKIEpvg6.cjs → filter-expression-picker-BOLyxG2r.cjs} +1 -1
  430. package/components/{filter-expression-picker-BrUtAgn8.js → filter-expression-picker-DurfSgRY.js} +1 -1
  431. package/components/filter-item/index.cjs +1 -1
  432. package/components/filter-item/index.js +1 -1
  433. package/components/{filter-item-BZbHQx0n.js → filter-item-C58zIpPh.js} +5 -5
  434. package/components/{filter-item-C8tt3MFg.cjs → filter-item-obyHcs9f.cjs} +1 -1
  435. package/components/filter-parameter-picker/index.cjs +1 -1
  436. package/components/filter-parameter-picker/index.js +1 -1
  437. package/components/{filter-parameter-picker-pioi6px3.js → filter-parameter-picker-BWNBc8BI.js} +1 -1
  438. package/components/{filter-parameter-picker-msFqEEAh.cjs → filter-parameter-picker-DSYaE9Sv.cjs} +1 -1
  439. package/components/filter-value-picker/index.cjs +1 -1
  440. package/components/filter-value-picker/index.js +1 -1
  441. package/components/{filter-value-picker-CgLTYLwU.cjs → filter-value-picker-DYl_1pis.cjs} +1 -1
  442. package/components/filter-value-picker-datetime/index.cjs +1 -1
  443. package/components/filter-value-picker-datetime/index.js +1 -1
  444. package/components/{filter-value-picker-datetime-D5W0j1CH.cjs → filter-value-picker-datetime-BFbmCKs3.cjs} +1 -1
  445. package/components/{filter-value-picker-datetime-B0o4rlXW.js → filter-value-picker-datetime-CP5__ua6.js} +1 -1
  446. package/components/filter-value-picker-hierarchy/index.cjs +1 -1
  447. package/components/filter-value-picker-hierarchy/index.js +1 -1
  448. package/components/{filter-value-picker-hierarchy-B1dnC37T.cjs → filter-value-picker-hierarchy-BTf992WX.cjs} +1 -1
  449. package/components/{filter-value-picker-hierarchy-BiUz-XXQ.js → filter-value-picker-hierarchy-j0LRYW1c.js} +2 -2
  450. package/components/{filter-value-picker-Drt9dOXf.js → filter-value-picker-kzIrnmdp.js} +4 -4
  451. package/components/filter-value-picker-numeric/index.cjs +1 -1
  452. package/components/filter-value-picker-numeric/index.js +1 -1
  453. package/components/{filter-value-picker-numeric-BU7p1q3J.js → filter-value-picker-numeric-BmKmeOol.js} +1 -1
  454. package/components/{filter-value-picker-numeric-BIvL94I1.cjs → filter-value-picker-numeric-DJi0Utk_.cjs} +1 -1
  455. package/components/filters/index.cjs +1 -1
  456. package/components/filters/index.js +1 -1
  457. package/components/{filters-Bq4S-VeF.js → filters-BddhKRZC.js} +2 -2
  458. package/components/{filters-CC1WEkUl.cjs → filters-Dx6g0xl9.cjs} +1 -1
  459. package/components/formula/index.cjs +1 -1
  460. package/components/formula/index.js +1 -1
  461. package/components/{formula-_2SPG88m.js → formula-BYx4gH6i.js} +2 -2
  462. package/components/{formula-DzlOfUfI.cjs → formula-cc2AaiLt.cjs} +1 -1
  463. package/components/{formula-codemirror-CLm2OLSy.js → formula-codemirror-CVzyYNLO.js} +4 -4
  464. package/components/{formula-codemirror-BXT_tfaJ.cjs → formula-codemirror-EMK3MCNZ.cjs} +1 -1
  465. package/components/{formula-display-store-nqONAx35.js → formula-display-store-BPn9m5TL.js} +3 -3
  466. package/components/{formula-display-store-DBdEPEdf.cjs → formula-display-store-DER7C0GG.cjs} +1 -1
  467. package/components/formula-editor/index.cjs +1 -1
  468. package/components/formula-editor/index.js +3 -3
  469. package/components/{formula-editor-B65HPmmh.js → formula-editor-BxoIkARr.js} +5 -5
  470. package/components/{formula-editor-DEo-RcGC.cjs → formula-editor-CWKXcUTF.cjs} +1 -1
  471. package/components/formula-field/index.cjs +1 -1
  472. package/components/formula-field/index.js +1 -1
  473. package/components/{formula-field-CXCuJ_sa.js → formula-field-BtvaOWki.js} +1 -1
  474. package/components/{formula-field-DpPBypCh.cjs → formula-field-CzS2pKJI.cjs} +1 -1
  475. package/components/{formula-input-base-yBcGx5Oa.cjs → formula-input-base-CvD0b2cO.cjs} +1 -1
  476. package/components/{formula-input-base-DmjxzsEi.js → formula-input-base-DVtGLoyA.js} +1 -1
  477. package/components/{fr-CkDebjRX.js → fr-BnECl1nx.js} +4 -0
  478. package/components/fr-CGw2IwXh.cjs +20 -0
  479. package/components/{funnel-chart-options.config-Ca5-W17F.js → funnel-chart-options.config-D21WdHBI.js} +5 -3
  480. package/components/funnel-chart-options.config-DgpM8mWb.cjs +20 -0
  481. package/components/{funnel-chart-positioning.config-DbpJfDa2.cjs → funnel-chart-positioning.config-BPSmV76y.cjs} +1 -1
  482. package/components/{funnel-chart-positioning.config-BU7QpgsX.js → funnel-chart-positioning.config-CvhpE7rN.js} +1 -1
  483. package/components/{get-dataset-name-ffz-R0AZ.js → get-dataset-name-D53TN7N9.js} +1 -1
  484. package/components/{get-dataset-name-Dgmhqlon.cjs → get-dataset-name-DYLdbEs-.cjs} +1 -1
  485. package/components/{groupings-DH6XUvSc.cjs → groupings-Bn9384Zw.cjs} +1 -1
  486. package/components/{groupings-DBsH-kNN.js → groupings-BtmmUlPK.js} +1 -1
  487. package/components/{heat-map-positioning.config-DHO5wFHL.js → heat-map-positioning.config-AOHTEJf7.js} +1 -1
  488. package/components/{heat-map-positioning.config-DkQjSPaE.cjs → heat-map-positioning.config-CHDHFIo2.cjs} +1 -1
  489. package/components/{heat-table-options.config-DT3d8VS7.js → heat-table-options.config-BJP1jVB8.js} +20 -18
  490. package/components/heat-table-options.config-CugBuoUA.cjs +20 -0
  491. package/components/{heat-table-positioning.config-mw5AsGAJ.cjs → heat-table-positioning.config-DCLE9cy4.cjs} +1 -1
  492. package/components/{heat-table-positioning.config-BrJkuNbc.js → heat-table-positioning.config-DprOfmlW.js} +1 -1
  493. package/components/{hexbin-map-positioning.config-D5hP-can.js → hexbin-map-positioning.config-BjxkoqGh.js} +1 -1
  494. package/components/{hexbin-map-positioning.config-DLYBOrHE.cjs → hexbin-map-positioning.config-BmLljWez.cjs} +1 -1
  495. package/components/index.cjs +1 -1
  496. package/components/index.js +67 -67
  497. package/components/interactive-viz-item/index.cjs +1 -1
  498. package/components/interactive-viz-item/index.js +1 -1
  499. package/components/{interactive-viz-item-rLknJxre.js → interactive-viz-item-DL5aqkvx.js} +5 -5
  500. package/components/{interactive-viz-item-CAuKz5tw.cjs → interactive-viz-item-DTr14-9-.cjs} +1 -1
  501. package/components/interactivity-options.config-BjEGNaIz.js +73 -0
  502. package/components/interactivity-options.config-Bzk2L-qh.cjs +20 -0
  503. package/components/interactivity-options.i18n-BsYv4Rh9.cjs +20 -0
  504. package/components/interactivity-options.i18n-UhOnnlBC.js +59 -0
  505. package/components/item-grid/index.cjs +1 -1
  506. package/components/item-grid/index.js +1 -1
  507. package/components/{item-grid-jF9cv8_u.js → item-grid-C_OTtv4T.js} +6 -6
  508. package/components/{item-grid-Bd3rXwND.cjs → item-grid-CcwnD_u5.cjs} +4 -4
  509. package/components/item-option/index.cjs +1 -1
  510. package/components/item-option/index.js +1 -1
  511. package/components/{item-option-3sEzoA0L.js → item-option-DRWLN89_.js} +38 -38
  512. package/components/item-option-action-button-group/index.cjs +1 -1
  513. package/components/item-option-action-button-group/index.js +1 -1
  514. package/components/{item-option-action-button-group-C4SxsHUp.js → item-option-action-button-group-B9ghoHeh.js} +1 -1
  515. package/components/{item-option-action-button-group-CebgGfxf.cjs → item-option-action-button-group-Byg9h7uo.cjs} +1 -1
  516. package/components/{item-option-base-Gj1YRrI9.cjs → item-option-base-Dwf3dByS.cjs} +1 -1
  517. package/components/{item-option-base-Ierh9O_y.js → item-option-base-pYrkqt6q.js} +1 -1
  518. package/components/item-option-color-palette-picker/index.cjs +1 -1
  519. package/components/item-option-color-palette-picker/index.js +1 -1
  520. package/components/{item-option-color-palette-picker-CmD83j4z.js → item-option-color-palette-picker-DnVqGnm4.js} +1 -1
  521. package/components/{item-option-color-palette-picker-DXbPf9W-.cjs → item-option-color-palette-picker-v6TBE-I0.cjs} +1 -1
  522. package/components/item-option-color-picker/index.cjs +1 -1
  523. package/components/item-option-color-picker/index.js +1 -1
  524. package/components/{item-option-color-picker-DctZh5Mm.cjs → item-option-color-picker-CNkNZ1p-.cjs} +1 -1
  525. package/components/{item-option-color-picker-DPOYXmqG.js → item-option-color-picker-CO-OAFOs.js} +1 -1
  526. package/components/item-option-color-range/index.cjs +1 -1
  527. package/components/item-option-color-range/index.js +1 -1
  528. package/components/{item-option-color-range-9v7VYG0c.cjs → item-option-color-range-BveD6fsp.cjs} +1 -1
  529. package/components/{item-option-color-range-DEOogOTv.js → item-option-color-range-bdYUxgQ9.js} +1 -1
  530. package/components/item-option-guidelines/index.cjs +1 -1
  531. package/components/item-option-guidelines/index.js +1 -1
  532. package/components/{item-option-guidelines-B115G2nq.js → item-option-guidelines-Ce88dTV-.js} +3 -3
  533. package/components/{item-option-guidelines-Bpg1RZ8x.cjs → item-option-guidelines-D8UjylMx.cjs} +1 -1
  534. package/components/{item-option-DO2oJXcs.cjs → item-option-h8URFjZ2.cjs} +1 -1
  535. package/components/item-option-multi-language-field/index.cjs +1 -1
  536. package/components/item-option-multi-language-field/index.js +1 -1
  537. package/components/{item-option-multi-language-field-B-u0bans.js → item-option-multi-language-field-0qfdBanp.js} +1 -1
  538. package/components/{item-option-multi-language-field-DBBhowms.cjs → item-option-multi-language-field-D0jRPAjY.cjs} +1 -1
  539. package/components/item-option-number-field/index.cjs +1 -1
  540. package/components/item-option-number-field/index.js +1 -1
  541. package/components/{item-option-number-field-DkYnFmJW.js → item-option-number-field-CcEav5C3.js} +1 -1
  542. package/components/{item-option-number-field-DMy08TP2.cjs → item-option-number-field-DYJ0eIf7.cjs} +1 -1
  543. package/components/item-option-panel/index.cjs +1 -1
  544. package/components/item-option-panel/index.js +1 -1
  545. package/components/{item-option-panel-BNpgv1gX.cjs → item-option-panel-6Voh87nt.cjs} +1 -1
  546. package/components/{item-option-panel-Cz6GVI3l.js → item-option-panel-DrI7HYrY.js} +2 -2
  547. package/components/item-option-picker/index.cjs +1 -1
  548. package/components/item-option-picker/index.js +1 -1
  549. package/components/{item-option-picker-C9f4tyLr.js → item-option-picker-Bv4aGaCO.js} +1 -1
  550. package/components/{item-option-picker-dmG9E9xR.cjs → item-option-picker-DkEgfEE7.cjs} +1 -1
  551. package/components/item-option-position-picker/index.cjs +1 -1
  552. package/components/item-option-position-picker/index.js +1 -1
  553. package/components/{item-option-position-picker-DNoDU6MW.js → item-option-position-picker-1d7qZmDv.js} +1 -1
  554. package/components/{item-option-position-picker-CivQYly9.cjs → item-option-position-picker-CKgaqFJR.cjs} +1 -1
  555. package/components/item-option-positions-number-field/index.cjs +1 -1
  556. package/components/item-option-positions-number-field/index.js +1 -1
  557. package/components/{item-option-positions-number-field-BBkQN71c.cjs → item-option-positions-number-field-BJXer0y5.cjs} +1 -1
  558. package/components/{item-option-positions-number-field-DyyEdaPZ.js → item-option-positions-number-field-DUlBsbUL.js} +1 -1
  559. package/components/item-option-radio-button-group/index.cjs +1 -1
  560. package/components/item-option-radio-button-group/index.js +1 -1
  561. package/components/{item-option-radio-button-group-D0W86RmI.cjs → item-option-radio-button-group-ChtTIO3B.cjs} +1 -1
  562. package/components/{item-option-radio-button-group--zidnOr9.js → item-option-radio-button-group-DuMcIZvr.js} +1 -1
  563. package/components/item-option-slider/index.cjs +1 -1
  564. package/components/item-option-slider/index.js +1 -1
  565. package/components/{item-option-slider-4vDy4etx.cjs → item-option-slider-CBSnkHVq.cjs} +1 -1
  566. package/components/{item-option-slider-Baadoyqo.js → item-option-slider-CWxRoAbA.js} +1 -1
  567. package/components/item-option-switch/index.cjs +1 -1
  568. package/components/item-option-switch/index.js +1 -1
  569. package/components/{item-option-switch-CHYIbPgD.js → item-option-switch-DvMLATBO.js} +1 -1
  570. package/components/{item-option-switch-BaQDqsMY.cjs → item-option-switch-dO66fjoD.cjs} +1 -1
  571. package/components/item-option-text-field/index.cjs +1 -1
  572. package/components/item-option-text-field/index.js +1 -1
  573. package/components/{item-option-text-field-CZ02qLJ4.js → item-option-text-field-DS-gn_Gc.js} +1 -1
  574. package/components/{item-option-text-field-D92viGBN.cjs → item-option-text-field-Furz80ho.cjs} +1 -1
  575. package/components/item-options-configs.cjs +1 -1
  576. package/components/item-options-configs.js +21 -21
  577. package/components/item-slot-drop/index.cjs +1 -1
  578. package/components/item-slot-drop/index.js +1 -1
  579. package/components/{item-slot-drop-C1z1dxFw.js → item-slot-drop-DE90FDdS.js} +5 -5
  580. package/components/{item-slot-drop-BU2U3-HV.cjs → item-slot-drop-f8jm-34W.cjs} +1 -1
  581. package/components/item-slot-drop-panel/index.cjs +1 -1
  582. package/components/item-slot-drop-panel/index.js +1 -1
  583. package/components/{item-slot-drop-panel-CA9-hvpd.js → item-slot-drop-panel-CyfhbUlE.js} +39 -39
  584. package/components/{item-slot-drop-panel-CrMdoDfz.cjs → item-slot-drop-panel-DLqyYvKj.cjs} +1 -1
  585. package/components/item-slot-picker/index.cjs +1 -1
  586. package/components/item-slot-picker/index.js +1 -1
  587. package/components/{item-slot-picker-Btmi-rsC.js → item-slot-picker-BM03UNRE.js} +6 -6
  588. package/components/{item-slot-picker-DwgJiY3S.cjs → item-slot-picker-CgEtqhqe.cjs} +1 -1
  589. package/components/item-slot-picker-panel/index.cjs +1 -1
  590. package/components/item-slot-picker-panel/index.js +1 -1
  591. package/components/{item-slot-picker-panel-HDUJLBsv.cjs → item-slot-picker-panel-CuH3OcmV.cjs} +1 -1
  592. package/components/{item-slot-picker-panel-BoSCNOU4.js → item-slot-picker-panel-DPaabfv5.js} +3 -3
  593. package/components/{line-chart-options.config-BMT_e6dk.js → line-chart-options.config-D8gRtfj3.js} +10 -5
  594. package/components/line-chart-options.config-RTYFJQSE.cjs +20 -0
  595. package/components/{line-chart-positioning.config-BEf1yZXt.cjs → line-chart-positioning.config-BnDYCjGX.cjs} +1 -1
  596. package/components/{line-chart-positioning.config-BcxVwrHz.js → line-chart-positioning.config-CPGyHeJF.js} +1 -1
  597. package/components/{localized-mixin-9QFQ92Y7.cjs → localized-mixin-CtNoCjjI.cjs} +1 -1
  598. package/components/{localized-mixin-BXDzTsZA.js → localized-mixin-DBUkUh0o.js} +1 -1
  599. package/components/{marker-map-positioning.config-CrtimrEf.cjs → marker-map-positioning.config-Bq1EPg3J.cjs} +1 -1
  600. package/components/{marker-map-positioning.config-DgjLNbIX.js → marker-map-positioning.config-CBERtxkG.js} +1 -1
  601. package/components/nl-BnzS_ZtB.cjs +20 -0
  602. package/components/{nl-b0wCsQJf.js → nl-h9vVAk2e.js} +4 -0
  603. package/components/{ohlc-chart-options.config-BrcfGxDw.cjs → ohlc-chart-options.config-Pqd5MFIv.cjs} +1 -1
  604. package/components/{ohlc-chart-options.config-BAB4pyo9.js → ohlc-chart-options.config-xgegn34C.js} +8 -3
  605. package/components/{ohlc-chart-positioning.config-BvvfmqTO.js → ohlc-chart-positioning.config-CpPJyyLB.js} +1 -1
  606. package/components/{ohlc-chart-positioning.config-BXQ8AWsP.cjs → ohlc-chart-positioning.config-aCf-SEt7.cjs} +1 -1
  607. package/components/{parallel-coordinates-plot-options.config-DFRL952-.cjs → parallel-coordinates-plot-options.config-2BbzNgJ9.cjs} +1 -1
  608. package/components/{parallel-coordinates-plot-options.config-BXsg-9wF.js → parallel-coordinates-plot-options.config-BUQLHO1k.js} +25 -20
  609. package/components/{parallel-coordinates-plot-options.de-WRF50oS3.js → parallel-coordinates-plot-options.de-BwbOcCnH.js} +2 -1
  610. package/components/{parallel-coordinates-plot-options.de-0P5Lyjc_.cjs → parallel-coordinates-plot-options.de-CDtIM_Z2.cjs} +1 -1
  611. package/components/{parallel-coordinates-plot-options.en-CttM0XeT.js → parallel-coordinates-plot-options.en-BlzPfF-b.js} +2 -1
  612. package/components/{parallel-coordinates-plot-options.en-CSn2MAT2.cjs → parallel-coordinates-plot-options.en-Bu7cMLrv.cjs} +1 -1
  613. package/components/{parallel-coordinates-plot-options.es-30M9dgQD.cjs → parallel-coordinates-plot-options.es-BPgUHedg.cjs} +1 -1
  614. package/components/{parallel-coordinates-plot-options.es-Bi2HrtUG.js → parallel-coordinates-plot-options.es-CPAqJPEY.js} +2 -1
  615. package/components/{parallel-coordinates-plot-options.fr-B3wy9Y-c.cjs → parallel-coordinates-plot-options.fr-BUxk85Ud.cjs} +1 -1
  616. package/components/{parallel-coordinates-plot-options.fr-wE6jc23K.js → parallel-coordinates-plot-options.fr-DRTOCvqg.js} +2 -1
  617. package/components/{parallel-coordinates-plot-options.nl-CK0Z_bEU.cjs → parallel-coordinates-plot-options.nl-CHuWgaYV.cjs} +1 -1
  618. package/components/{parallel-coordinates-plot-options.nl-ByxbF6Re.js → parallel-coordinates-plot-options.nl-DqXxaV_Z.js} +2 -1
  619. package/components/{parallel-coordinates-plot-positioning.config-afRUNe2y.cjs → parallel-coordinates-plot-positioning.config-D1CB7jOv.cjs} +1 -1
  620. package/components/{parallel-coordinates-plot-positioning.config-BH-BVeJ1.js → parallel-coordinates-plot-positioning.config-DsNDp1G7.js} +1 -1
  621. package/components/pivot-table-options.config-D6Hdgnof.cjs +20 -0
  622. package/components/{pivot-table-options.config-tf8f5F-n.js → pivot-table-options.config-DW9UDipI.js} +5 -3
  623. package/components/{pivot-table-positioning.config-BSYXa5pV.js → pivot-table-positioning.config-BFWS3Yk_.js} +1 -1
  624. package/components/{pivot-table-positioning.config-Dd_pHhFz.cjs → pivot-table-positioning.config-gBHM1_-K.cjs} +1 -1
  625. package/components/{pyramid-chart-options.config-BnCfeT-K.js → pyramid-chart-options.config-Cbg351Yy.js} +5 -3
  626. package/components/pyramid-chart-options.config-ClLsv7PT.cjs +20 -0
  627. package/components/{pyramid-chart-positioning.config-BLWa7sSn.js → pyramid-chart-positioning.config-B8dbZhvt.js} +1 -1
  628. package/components/{pyramid-chart-positioning.config-CQIxlqqB.cjs → pyramid-chart-positioning.config-DD64vCwl.cjs} +1 -1
  629. package/components/{radar-chart-positioning.config-C8lJliO6.js → radar-chart-positioning.config-C2DWQu8V.js} +1 -1
  630. package/components/{radar-chart-positioning.config-Dl25YwXp.cjs → radar-chart-positioning.config-DN51_Tzb.cjs} +1 -1
  631. package/components/{route-map-positioning.config-CKX0xBYP.js → route-map-positioning.config-D7X6QuWY.js} +1 -1
  632. package/components/{route-map-positioning.config-zP_Dowc9.cjs → route-map-positioning.config-ryk_dUkh.cjs} +1 -1
  633. package/components/{sankey-diagram-options.config-CpNK2oK6.js → sankey-diagram-options.config-1lSECht4.js} +5 -3
  634. package/components/sankey-diagram-options.config-DZDqv5aI.cjs +20 -0
  635. package/components/{sankey-diagram-positioning.config-wXM60Kuq.js → sankey-diagram-positioning.config-A_7xM06n.js} +1 -1
  636. package/components/{sankey-diagram-positioning.config-Cxx05iu7.cjs → sankey-diagram-positioning.config-CJfGpnPS.cjs} +1 -1
  637. package/components/{scatter-plot-options.config-BA_hVuhw.js → scatter-plot-options.config-9zL4v24E.js} +10 -5
  638. package/components/scatter-plot-options.config-DJW85uFv.cjs +20 -0
  639. package/components/{scatter-plot-positioning.config-6-jx5GCk.cjs → scatter-plot-positioning.config-Duao2ftU.cjs} +1 -1
  640. package/components/{scatter-plot-positioning.config-CnssCu8h.js → scatter-plot-positioning.config-qpwrugRe.js} +1 -1
  641. package/components/{set-locale-CZowB-SY.cjs → set-locale-B-GvqA1H.cjs} +1 -1
  642. package/components/{set-locale-BHxiIDi2.js → set-locale-CgCeLPlb.js} +4 -4
  643. package/components/{slicer-filter-positioning.config-LR36iXmI.js → slicer-filter-positioning.config-93hC7jID.js} +1 -1
  644. package/components/{slicer-filter-positioning.config-5kOSDaxQ.cjs → slicer-filter-positioning.config-DxhC39ak.cjs} +1 -1
  645. package/components/slot-menu/index.cjs +1 -1
  646. package/components/slot-menu/index.js +1 -1
  647. package/components/{slot-menu-BALLbLoG.cjs → slot-menu-CPxyyKSe.cjs} +6 -6
  648. package/components/{slot-menu-CQ440_t5.js → slot-menu-DHJtAZ5_.js} +16 -16
  649. package/components/slot-menu-list/index.cjs +1 -1
  650. package/components/slot-menu-list/index.js +1 -1
  651. package/components/{slot-menu-list-BI1x89t3.cjs → slot-menu-list-CeWcE4KK.cjs} +1 -1
  652. package/components/{slot-menu-list-C2gWKwVd.js → slot-menu-list-QltpaoWh.js} +1 -1
  653. package/components/{speedometer-chart-positioning.config-Dmg94Tpt.js → speedometer-chart-positioning.config-CZbwyYsk.js} +1 -1
  654. package/components/{speedometer-chart-positioning.config-RJo6zE3F.cjs → speedometer-chart-positioning.config-DtRG3-e5.cjs} +1 -1
  655. package/components/{spike-map-positioning.config-CxQLToDu.cjs → spike-map-positioning.config-CevjyQ5F.cjs} +1 -1
  656. package/components/{spike-map-positioning.config-Ceyd_KZR.js → spike-map-positioning.config-LBqSYD2n.js} +1 -1
  657. package/components/{strip-plot-positioning.config-DSRWJqxs.cjs → strip-plot-positioning.config-DF5VxzvB.cjs} +1 -1
  658. package/components/{strip-plot-positioning.config-Dm3F1gk3.js → strip-plot-positioning.config-cCdQxMM_.js} +1 -1
  659. package/components/{sunburst-chart-options.config-0GUoeJMb.js → sunburst-chart-options.config-CXOrVmIe.js} +5 -3
  660. package/components/sunburst-chart-options.config-DszAtggj.cjs +20 -0
  661. package/components/{sunburst-chart-positioning.config-eJm51jNd.cjs → sunburst-chart-positioning.config-CERBvfoF.cjs} +1 -1
  662. package/components/{sunburst-chart-positioning.config-B_dzmryh.js → sunburst-chart-positioning.config-DmkZEexM.js} +1 -1
  663. package/components/{symbol-map-positioning.config-DnRK53sm.js → symbol-map-positioning.config-BwG_G6He.js} +1 -1
  664. package/components/{symbol-map-positioning.config-BgAOtKCY.cjs → symbol-map-positioning.config-DhYxG8RC.cjs} +1 -1
  665. package/components/{treemap-chart-options.config-CtpfX7hs.js → treemap-chart-options.config-6l3HzikF.js} +10 -8
  666. package/components/treemap-chart-options.config-Cpj6vD6I.cjs +20 -0
  667. package/components/{treemap-chart-positioning.config-BAeW42r1.cjs → treemap-chart-positioning.config-BwrrXs4a.cjs} +1 -1
  668. package/components/{treemap-chart-positioning.config-BaK7GoAz.js → treemap-chart-positioning.config-arjPT6b_.js} +1 -1
  669. package/components/utils/base.cjs +1 -1
  670. package/components/utils/base.js +2 -2
  671. package/components/{utils-5XxVlM3x.js → utils-B_rE5b7a.js} +1 -1
  672. package/components/{utils-CNtoiiWk.cjs → utils-BwJNkc-z.cjs} +1 -1
  673. package/components/utils.cjs +1 -1
  674. package/components/utils.js +2 -2
  675. package/components/{venn-diagram-positioning.config-Co6TTZdV.js → venn-diagram-positioning.config-DSh3Ns9L.js} +1 -1
  676. package/components/{venn-diagram-positioning.config-ClSeknwP.cjs → venn-diagram-positioning.config-GGLCcrqp.cjs} +1 -1
  677. package/components/viz-item-menu/index.cjs +1 -1
  678. package/components/viz-item-menu/index.js +1 -1
  679. package/components/{viz-item-menu-Tb9YmvWX.js → viz-item-menu-Ht6bklNL.js} +1 -1
  680. package/components/{viz-item-menu-MRVSyXuQ.cjs → viz-item-menu-XHh4qhtn.cjs} +1 -1
  681. package/components/wordcloud-chart-options.config-BQ4Z-vPT.cjs +20 -0
  682. package/components/{wordcloud-chart-options.config-Dxu7-YcG.js → wordcloud-chart-options.config-CpMtpG7q.js} +5 -3
  683. package/components/{wordcloud-chart-positioning.config-HAtoG48Z.js → wordcloud-chart-positioning.config-B8ZzwIdd.js} +1 -1
  684. package/components/{wordcloud-chart-positioning.config-f8JZ14LL.cjs → wordcloud-chart-positioning.config-Cxyhs6gk.cjs} +1 -1
  685. package/custom-elements.json +331 -6
  686. package/package.json +3 -3
  687. package/react/components/ai-chat.component.ts +2 -2
  688. package/react/esm/components/ai-chat.component.d.ts +2 -2
  689. package/react/esm/components/ai-chat.component.js +2 -2
  690. package/react/package.json +2 -2
  691. package/types/ai-chat.types.d.ts +9 -0
  692. package/components/ai-chat-Dq88ryzU.cjs +0 -320
  693. package/components/area-chart-options.config-CiPCKvh7.cjs +0 -20
  694. package/components/bar-chart-options.config-A5bcUHFc.cjs +0 -20
  695. package/components/box-plot-options.config-ZZ_mvqGk.cjs +0 -20
  696. package/components/bubble-chart-options.config-BbB5dj43.cjs +0 -20
  697. package/components/choropleth-map-options.config-CEGFnwKG.cjs +0 -20
  698. package/components/column-chart-options.config-iKKyzY3j.cjs +0 -20
  699. package/components/combination-chart-options.config-BqQlqnhf.cjs +0 -20
  700. package/components/de-CfAVa2SD.cjs +0 -20
  701. package/components/donut-chart-options.config-DUIE-bdr.cjs +0 -20
  702. package/components/es-B-pveTvx.cjs +0 -20
  703. package/components/fr-CtsqUcEa.cjs +0 -20
  704. package/components/funnel-chart-options.config-CMOM4QN2.cjs +0 -20
  705. package/components/heat-table-options.config-Dl6GDA-m.cjs +0 -20
  706. package/components/line-chart-options.config-CL8SCDgU.cjs +0 -20
  707. package/components/nl-C6_ScX0J.cjs +0 -20
  708. package/components/pivot-table-options.config-B9ZfmFZH.cjs +0 -20
  709. package/components/pyramid-chart-options.config-LSOc6ALz.cjs +0 -20
  710. package/components/sankey-diagram-options.config-CuKQOPPW.cjs +0 -20
  711. package/components/scatter-plot-options.config-C-L2dJ2o.cjs +0 -20
  712. package/components/sunburst-chart-options.config-CCNYG73m.cjs +0 -20
  713. package/components/treemap-chart-options.config-pA93-9cX.cjs +0 -20
  714. 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-B6tZgh5k.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-D9g9G0T1.js";
28
28
  export { e as LuzmoAiInteractionTextarea };
@@ -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-B-GvqA1H.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-DYLdbEs-.cjs");require("./dataset-icon-BAV0S4sZ.cjs"),require("./dataset-selector-row-bqwY3zaf.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}});
@@ -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-CgCeLPlb.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-D53TN7N9.js";
26
26
  import "./dataset-icon-CWT5Ju8w.js";
27
- import "./dataset-selector-row-BR5fZlp0.js";
27
+ import "./dataset-selector-row-ZKET7lVc.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({
@@ -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,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-CyfhbUlE.js";
21
21
  //#region node_modules/@luzmo/dashboard-contents-types/area-chart/area-chart-positioning.config.js
22
22
  var t = {
23
23
  grid: {
@@ -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-DLqyYvKj.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;
@@ -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,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-CyfhbUlE.js";
21
21
  //#region node_modules/@luzmo/dashboard-contents-types/bar-chart/bar-chart-positioning.config.js
22
22
  var t = {
23
23
  grid: {
@@ -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-DLqyYvKj.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,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-CtNoCjjI.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}});
@@ -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-DBUkUh0o.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
@@ -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}});