@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
@@ -17,8 +17,8 @@
17
17
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
18
  * SOFTWARE.
19
19
  * */
20
- import { c as e, d as t, s as n, u as r } from "./ai-interaction-textarea-BZAeZunP.js";
21
- import { i } from "./base-CyMoOIH2.js";
20
+ import { c as e, d as t, s as n, u as r } from "./ai-interaction-textarea-D9g9G0T1.js";
21
+ import { i } from "./base-DSeXdW9S.js";
22
22
  import { t as a } from "./decorate-DyMgX_Uh.js";
23
23
  import { msg as o } from "@lit/localize/lit-localize";
24
24
  import { luzmoEllipsisVertical as s, luzmoIcon as c, luzmoSpin as l } from "@luzmo/icons";
@@ -32,21 +32,30 @@ import { html as u, nothing as d, unsafeCSS as f } from "lit";
32
32
  import { property as p, state as m } from "lit/decorators.js";
33
33
  import { unsafeHTML as ee } from "lit/directives/unsafe-html.js";
34
34
  import "@luzmo/lucero/action-button";
35
+ import "@luzmo/lucero/question-box";
36
+ import { guard as h } from "lit/directives/guard.js";
37
+ import { keyed as te } from "lit/directives/keyed.js";
35
38
  //#region node_modules/dompurify/dist/purify.es.mjs
36
- function h(e, t) {
39
+ function ne(e, t) {
40
+ this.v = e, this.k = t;
41
+ }
42
+ function re(e, t) {
37
43
  (t == null || t > e.length) && (t = e.length);
38
44
  for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
39
45
  return r;
40
46
  }
41
- function g(e) {
47
+ function ie(e) {
42
48
  if (Array.isArray(e)) return e;
43
49
  }
44
- function te(e, t) {
50
+ function ae(e, t) {
45
51
  var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
46
52
  if (n != null) {
47
53
  var r, i, a, o, s = [], c = !0, l = !1;
48
54
  try {
49
- if (a = (n = n.call(e)).next, t !== 0) for (; !(c = (r = a.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
55
+ if (a = (n = n.call(e)).next, t === 0) {
56
+ if (Object(n) !== n) return;
57
+ c = !1;
58
+ } else for (; !(c = (r = a.call(n)).done) && (s.push(r.value), s.length !== t); c = !0);
50
59
  } catch (e) {
51
60
  l = !0, i = e;
52
61
  } finally {
@@ -59,113 +68,164 @@ function te(e, t) {
59
68
  return s;
60
69
  }
61
70
  }
62
- function ne() {
71
+ function oe() {
63
72
  throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
73
  }
65
- function re(e, t) {
66
- return g(e) || te(e, t) || ie(e, t) || ne();
74
+ function se(e, t) {
75
+ return ie(e) || ae(e, t) || ce(e, t) || oe();
67
76
  }
68
- function ie(e, t) {
77
+ function ce(e, t) {
69
78
  if (e) {
70
- if (typeof e == "string") return h(e, t);
79
+ if (typeof e == "string") return re(e, t);
71
80
  var n = {}.toString.call(e).slice(8, -1);
72
- return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? h(e, t) : void 0;
81
+ return n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set" ? Array.from(e) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? re(e, t) : void 0;
73
82
  }
74
83
  }
75
- var ae = Object.entries, oe = Object.setPrototypeOf, se = Object.isFrozen, ce = Object.getPrototypeOf, _ = Object.getOwnPropertyDescriptor, v = Object.freeze, y = Object.seal, le = Object.create, b = typeof Reflect < "u" && Reflect, ue = b.apply, de = b.construct;
84
+ function g(e) {
85
+ var t, n;
86
+ function r(t, n) {
87
+ try {
88
+ var a = e[t](n), o = a.value, s = o instanceof ne;
89
+ Promise.resolve(s ? o.v : o).then(function(n) {
90
+ if (s) {
91
+ var c = t === "return" && o.k ? t : "next";
92
+ if (!o.k || n.done) return r(c, n);
93
+ n = e[c](n).value;
94
+ }
95
+ i(!!a.done, n);
96
+ }, function(e) {
97
+ r("throw", e);
98
+ });
99
+ } catch (e) {
100
+ i(2, e);
101
+ }
102
+ }
103
+ function i(e, i) {
104
+ e === 2 ? t.reject(i) : t.resolve({
105
+ value: i,
106
+ done: e
107
+ }), (t = t.next) ? r(t.key, t.arg) : n = null;
108
+ }
109
+ this._invoke = function(e, i) {
110
+ return new Promise(function(a, o) {
111
+ var s = {
112
+ key: e,
113
+ arg: i,
114
+ resolve: a,
115
+ reject: o,
116
+ next: null
117
+ };
118
+ n ? n = n.next = s : (t = n = s, r(e, i));
119
+ });
120
+ }, typeof e.return != "function" && (this.return = void 0);
121
+ }
122
+ g.prototype[typeof Symbol == "function" && Symbol.asyncIterator || "@@asyncIterator"] = function() {
123
+ return this;
124
+ }, g.prototype.next = function(e) {
125
+ return this._invoke("next", e);
126
+ }, g.prototype.throw = function(e) {
127
+ return this._invoke("throw", e);
128
+ }, g.prototype.return = function(e) {
129
+ return this._invoke("return", e);
130
+ };
131
+ var le = Object.entries, _ = Object.setPrototypeOf, ue = Object.isFrozen, de = Object.getPrototypeOf, fe = Object.getOwnPropertyDescriptor, v = Object.freeze, y = Object.seal, pe = Object.create, me = typeof Reflect < "u" && Reflect, he = me.apply, ge = me.construct;
76
132
  v ||= function(e) {
77
133
  return e;
78
134
  }, y ||= function(e) {
79
135
  return e;
80
- }, ue ||= function(e, t) {
136
+ }, he ||= function(e, t) {
81
137
  var n = [...arguments].slice(2);
82
138
  return e.apply(t, n);
83
- }, de ||= function(e) {
139
+ }, ge ||= function(e) {
84
140
  return new e(...[...arguments].slice(1));
85
141
  };
86
- var fe = w(Array.prototype.forEach), pe = w(Array.prototype.lastIndexOf), me = w(Array.prototype.pop), he = w(Array.prototype.push), ge = w(Array.prototype.splice), _e = Array.isArray, ve = w(String.prototype.toLowerCase), ye = w(String.prototype.toString), be = w(String.prototype.match), xe = w(String.prototype.replace), Se = w(String.prototype.indexOf), Ce = w(String.prototype.trim), we = w(Number.prototype.toString), Te = w(Boolean.prototype.toString), x = typeof BigInt > "u" ? null : w(BigInt.prototype.toString), Ee = typeof Symbol > "u" ? null : w(Symbol.prototype.toString), S = w(Object.prototype.hasOwnProperty), De = w(Object.prototype.toString), C = w(RegExp.prototype.test), Oe = ke(TypeError);
87
- function w(e) {
142
+ var _e = C(Array.prototype.forEach);
143
+ Array.prototype.indexOf;
144
+ var ve = C(Array.prototype.lastIndexOf), ye = C(Array.prototype.pop), be = C(Array.prototype.push);
145
+ Array.prototype.slice;
146
+ var xe = C(Array.prototype.splice), Se = Array.isArray, Ce = C(String.prototype.toLowerCase), we = C(String.prototype.toString), Te = C(String.prototype.match), Ee = C(String.prototype.replace), De = C(String.prototype.indexOf), Oe = C(String.prototype.trim), ke = C(Number.prototype.toString), Ae = C(Boolean.prototype.toString), je = typeof BigInt > "u" ? null : C(BigInt.prototype.toString), Me = typeof Symbol > "u" ? null : C(Symbol.prototype.toString), b = C(Object.prototype.hasOwnProperty), Ne = C(Object.prototype.toString), x = C(RegExp.prototype.test), S = Pe(TypeError);
147
+ function C(e) {
88
148
  return function(t) {
89
149
  t instanceof RegExp && (t.lastIndex = 0);
90
150
  var n = [...arguments].slice(1);
91
- return ue(e, t, n);
151
+ return he(e, t, n);
92
152
  };
93
153
  }
94
- function ke(e) {
154
+ function Pe(e) {
95
155
  return function() {
96
- return de(e, [...arguments]);
156
+ return ge(e, [...arguments]);
97
157
  };
98
158
  }
99
- function T(e, t) {
100
- let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ve;
101
- if (oe && oe(e, null), !_e(t)) return e;
159
+ function w(e, t) {
160
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Ce;
161
+ if (_ && _(e, null), !Se(t)) return e;
102
162
  let r = t.length;
103
163
  for (; r--;) {
104
164
  let i = t[r];
105
165
  if (typeof i == "string") {
106
166
  let e = n(i);
107
- e !== i && (se(t) || (t[r] = e), i = e);
167
+ e !== i && (ue(t) || (t[r] = e), i = e);
108
168
  }
109
169
  e[i] = !0;
110
170
  }
111
171
  return e;
112
172
  }
113
- function Ae(e) {
114
- for (let t = 0; t < e.length; t++) S(e, t) || (e[t] = null);
173
+ function T(e) {
174
+ for (let t = 0; t < e.length; t++) b(e, t) || (e[t] = null);
115
175
  return e;
116
176
  }
117
177
  function E(e) {
118
- let t = le(null);
119
- for (let r of ae(e)) {
120
- var n = re(r, 2);
178
+ let t = pe(null);
179
+ for (let r of le(e)) {
180
+ var n = se(r, 2);
121
181
  let i = n[0], a = n[1];
122
- S(e, i) && (_e(a) ? t[i] = Ae(a) : a && typeof a == "object" && a.constructor === Object ? t[i] = E(a) : t[i] = a);
182
+ b(e, i) && (Se(a) ? t[i] = T(a) : a && typeof a == "object" && a.constructor === Object ? t[i] = E(a) : t[i] = a);
123
183
  }
124
184
  return t;
125
185
  }
126
- function je(e) {
186
+ function Fe(e) {
127
187
  switch (typeof e) {
128
188
  case "string": return e;
129
- case "number": return we(e);
130
- case "boolean": return Te(e);
131
- case "bigint": return x ? x(e) : "0";
132
- case "symbol": return Ee ? Ee(e) : "Symbol()";
133
- case "undefined": return De(e);
189
+ case "number": return ke(e);
190
+ case "boolean": return Ae(e);
191
+ case "bigint": return je ? je(e) : "0";
192
+ case "symbol": return Me ? Me(e) : "Symbol()";
193
+ case "undefined": return Ne(e);
134
194
  case "function":
135
195
  case "object": {
136
- if (e === null) return De(e);
196
+ if (e === null) return Ne(e);
137
197
  let t = e, n = D(t, "toString");
138
198
  if (typeof n == "function") {
139
199
  let e = n(t);
140
- return typeof e == "string" ? e : De(e);
200
+ return typeof e == "string" ? e : Ne(e);
141
201
  }
142
- return De(e);
202
+ return Ne(e);
143
203
  }
144
- default: return De(e);
204
+ default: return Ne(e);
145
205
  }
146
206
  }
147
207
  function D(e, t) {
148
208
  for (; e !== null;) {
149
- let n = _(e, t);
209
+ let n = fe(e, t);
150
210
  if (n) {
151
- if (n.get) return w(n.get);
152
- if (typeof n.value == "function") return w(n.value);
211
+ if (n.get) return C(n.get);
212
+ if (typeof n.value == "function") return C(n.value);
153
213
  }
154
- e = ce(e);
214
+ e = de(e);
155
215
  }
156
216
  function n() {
157
217
  return null;
158
218
  }
159
219
  return n;
160
220
  }
161
- function Me(e) {
221
+ function Ie(e) {
162
222
  try {
163
- return C(e, ""), !0;
223
+ return x(e, ""), !0;
164
224
  } catch {
165
225
  return !1;
166
226
  }
167
227
  }
168
- var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr".split(".")), Pe = v(/* @__PURE__ */ "svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern".split(".")), Fe = v([
228
+ var Le = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr".split(".")), Re = v(/* @__PURE__ */ "svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern".split(".")), ze = v([
169
229
  "feBlend",
170
230
  "feColorMatrix",
171
231
  "feComponentTransfer",
@@ -191,7 +251,7 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
191
251
  "feSpotLight",
192
252
  "feTile",
193
253
  "feTurbulence"
194
- ]), Ie = v([
254
+ ]), Be = v([
195
255
  "animate",
196
256
  "color-profile",
197
257
  "cursor",
@@ -214,7 +274,7 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
214
274
  "solidcolor",
215
275
  "unknown",
216
276
  "use"
217
- ]), Le = v(/* @__PURE__ */ "math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts".split(".")), Re = v([
277
+ ]), Ve = v(/* @__PURE__ */ "math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts".split(".")), He = v([
218
278
  "maction",
219
279
  "maligngroup",
220
280
  "malignmark",
@@ -230,13 +290,13 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
230
290
  "annotation-xml",
231
291
  "mprescripts",
232
292
  "none"
233
- ]), ze = v(["#text"]), Be = v(/* @__PURE__ */ "accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns".split(".")), Ve = v(/* @__PURE__ */ "accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan".split(".")), He = v(/* @__PURE__ */ "accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns".split(".")), Ue = v([
293
+ ]), Ue = v(["#text"]), We = v(/* @__PURE__ */ "accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.command.commandfor.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns".split(".")), Ge = v(/* @__PURE__ */ "accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dominant-baseline.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.pointer-events.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-orientation.text-rendering.textlength.type.u1.u2.unicode.values.vector-effect.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan".split(".")), Ke = v(/* @__PURE__ */ "accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns".split(".")), qe = v([
234
294
  "xlink:href",
235
295
  "xml:id",
236
296
  "xlink:title",
237
297
  "xml:space",
238
298
  "xmlns:xlink"
239
- ]), We = y(/{{[\w\W]*|^[\w\W]*}}/g), Ge = y(/<%[\w\W]*|^[\w\W]*%>/g), Ke = y(/\${[\w\W]*/g), qe = y(/^data-[\-\w.\u00B7-\uFFFF]+$/), Je = y(/^aria-[\-\w]+$/), Ye = y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), Xe = y(/^(?:\w+script|data):/i), Ze = y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), Qe = y(/^html$/i), $e = y(/^[a-z][.\w]*(-[.\w]+)+$/i), et = y(/<[/\w!]/g), tt = y(/<[/\w]/g), nt = y(/<\/no(script|embed|frames)/i), rt = y(/\/>/i), O = {
299
+ ]), Je = y(/{{[\w\W]*|^[\w\W]*}}/g), Ye = y(/<%[\w\W]*|^[\w\W]*%>/g), Xe = y(/\${[\w\W]*/g), Ze = y(/^data-[\-\w.\u00B7-\uFFFF]+$/), Qe = y(/^aria-[\-\w]+$/), $e = y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i), et = y(/^(?:\w+script|data):/i), tt = y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g), nt = y(/^html$/i), rt = y(/^[a-z][.\w]*(-[.\w]+)+$/i), it = y(/<[/\w!]/g), at = y(/<[/\w]/g), ot = y(/<\/no(script|embed|frames)/i), st = y(/\/>/i), O = {
240
300
  element: 1,
241
301
  attribute: 2,
242
302
  text: 3,
@@ -249,7 +309,7 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
249
309
  documentType: 10,
250
310
  documentFragment: 11,
251
311
  notation: 12
252
- }, it = [
312
+ }, ct = [
253
313
  "style",
254
314
  "script",
255
315
  "xmp",
@@ -258,14 +318,14 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
258
318
  "noframes",
259
319
  "plaintext",
260
320
  "noscript"
261
- ], at = v(T({}, it)), ot = function() {
321
+ ], lt = v(w({}, ct)), ut = function() {
262
322
  let e = {};
263
- return fe(it, (t) => {
323
+ return _e(ct, (t) => {
264
324
  e[t] = y(RegExp("</" + t + "(?=[\\t\\n\\f\\r />])", "i"));
265
325
  }), v(e);
266
- }(), st = function() {
326
+ }(), dt = function() {
267
327
  return typeof window > "u" ? null : window;
268
- }, ct = function(e, t) {
328
+ }, ft = function(e, t) {
269
329
  if (typeof e != "object" || typeof e.createPolicy != "function") return null;
270
330
  let n = null, r = "data-tt-policy-suffix";
271
331
  t && t.hasAttribute(r) && (n = t.getAttribute(r));
@@ -282,7 +342,7 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
282
342
  } catch {
283
343
  return console.warn("TrustedTypes policy " + i + " could not be created."), null;
284
344
  }
285
- }, lt = function() {
345
+ }, pt = function() {
286
346
  return {
287
347
  afterSanitizeAttributes: [],
288
348
  afterSanitizeElements: [],
@@ -294,60 +354,60 @@ var Ne = v(/* @__PURE__ */ "a.abbr.acronym.address.area.article.aside.audio.b.bd
294
354
  uponSanitizeElement: [],
295
355
  uponSanitizeShadowNode: []
296
356
  };
297
- }, ut = function(e, t, n, r) {
298
- return S(e, t) && _e(e[t]) ? T(r.base ? E(r.base) : {}, e[t], r.transform) : n;
299
- }, dt = function(e, t, n) {
300
- let r = S(e, t) ? e[t] : void 0;
357
+ }, mt = function(e, t, n, r) {
358
+ return b(e, t) && Se(e[t]) ? w(r.base ? E(r.base) : {}, e[t], r.transform) : n;
359
+ }, ht = function(e, t, n) {
360
+ let r = b(e, t) ? e[t] : void 0;
301
361
  return r && typeof r == "object" ? E(r) : n();
302
362
  };
303
- function ft() {
304
- let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : st(), t = (e) => ft(e);
305
- if (t.version = "3.4.15", t.removed = [], !e || !e.document || e.document.nodeType !== O.document || !e.Element) return t.isSupported = !1, t;
363
+ function gt() {
364
+ let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : dt(), t = (e) => gt(e);
365
+ if (t.version = "3.4.16", t.removed = [], !e || !e.document || e.document.nodeType !== O.document || !e.Element) return t.isSupported = !1, t;
306
366
  let n = e.document, r = n, i = r.currentScript;
307
367
  e.DocumentFragment;
308
368
  let a = e.HTMLTemplateElement, o = e.Node, s = e.Element, c = e.NodeFilter;
309
369
  e.NamedNodeMap === void 0 && (e.NamedNodeMap || e.MozNamedAttrMap), e.HTMLFormElement;
310
- let l = e.DOMParser, u = e.trustedTypes, d = s.prototype, f = D(d, "cloneNode"), p = D(d, "remove"), m = D(d, "removeAttributeNode"), ee = D(d, "nextSibling"), h = D(d, "childNodes"), g = D(d, "parentNode"), te = D(d, "shadowRoot"), ne = D(d, "attributes"), re = o && o.prototype ? D(o.prototype, "nodeType") : null, ie = o && o.prototype ? D(o.prototype, "nodeName") : null, oe = o && o.prototype ? D(o.prototype, "ownerDocument") : null, se = function(e) {
311
- return re ? re(e) : e.nodeType;
370
+ let l = e.DOMParser, u = e.trustedTypes, d = s.prototype, f = D(d, "cloneNode"), p = D(d, "remove"), m = D(d, "removeAttributeNode"), ee = D(d, "nextSibling"), h = D(d, "childNodes"), te = D(d, "parentNode"), ne = D(d, "shadowRoot"), re = D(d, "attributes"), ie = o && o.prototype ? D(o.prototype, "nodeType") : null, ae = o && o.prototype ? D(o.prototype, "nodeName") : null, oe = o && o.prototype ? D(o.prototype, "ownerDocument") : null, se = function(e) {
371
+ return ie ? ie(e) : e.nodeType;
312
372
  }, ce = function(e) {
313
- return ie ? ie(e) : e.nodeName;
373
+ return ae ? ae(e) : e.nodeName;
314
374
  };
315
375
  if (typeof a == "function") {
316
376
  let e = n.createElement("template");
317
377
  e.content && e.content.ownerDocument && (n = e.content.ownerDocument);
318
378
  }
319
- let _, b = "", ue, de = !1, we = 0, Te = function() {
320
- if (we > 0) throw Oe("A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.");
321
- }, x = function(e) {
322
- Te(), we++;
379
+ let g, _ = "", ue, de = !1, fe = 0, me = function() {
380
+ if (fe > 0) throw S("A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted Types\" section of the README.");
381
+ }, he = function(e) {
382
+ me(), fe++;
323
383
  try {
324
- return _.createHTML(e);
384
+ return g.createHTML(e);
325
385
  } finally {
326
- we--;
386
+ fe--;
327
387
  }
328
- }, Ee = function(e) {
329
- Te(), we++;
388
+ }, ge = function(e) {
389
+ me(), fe++;
330
390
  try {
331
- return _.createScriptURL(e);
391
+ return g.createScriptURL(e);
332
392
  } finally {
333
- we--;
334
- }
335
- }, De = function() {
336
- return de ||= (ue = ct(u, i), !0), ue;
337
- }, w = n, ke = w.implementation, Ae = w.createNodeIterator, it = w.createDocumentFragment, pt = w.getElementsByTagName, mt = r.importNode, k = lt();
338
- t.isSupported = typeof ae == "function" && typeof g == "function" && ke && ke.createHTMLDocument !== void 0;
339
- let ht = We, A = Ge, gt = Ke, j = qe, _t = Je, M = Xe, vt = Ze, yt = $e, bt = Ye, N = null, xt = T({}, [
340
- ...Ne,
341
- ...Pe,
342
- ...Fe,
393
+ fe--;
394
+ }
395
+ }, ke = function() {
396
+ return de ||= (ue = ft(u, i), !0), ue;
397
+ }, Ae = n, je = Ae.implementation, Me = Ae.createNodeIterator, Ne = Ae.createDocumentFragment, C = Ae.getElementsByTagName, Pe = r.importNode, T = pt();
398
+ t.isSupported = typeof le == "function" && typeof te == "function" && je && je.createHTMLDocument !== void 0;
399
+ let ct = Je, _t = Ye, vt = Xe, yt = Ze, bt = Qe, xt = et, St = tt, k = rt, Ct = $e, A = null, wt = w({}, [
343
400
  ...Le,
344
- ...ze
345
- ]), P = null, St = T({}, [
346
- ...Be,
401
+ ...Re,
402
+ ...ze,
347
403
  ...Ve,
348
- ...He,
349
404
  ...Ue
350
- ]), F = Object.seal(le(null, {
405
+ ]), j = null, Tt = w({}, [
406
+ ...We,
407
+ ...Ge,
408
+ ...Ke,
409
+ ...qe
410
+ ]), M = Object.seal(pe(null, {
351
411
  tagNameCheck: {
352
412
  writable: !0,
353
413
  configurable: !1,
@@ -366,7 +426,7 @@ function ft() {
366
426
  enumerable: !0,
367
427
  value: !1
368
428
  }
369
- })), Ct = null, wt = null, I = Object.seal(le(null, {
429
+ })), Et = null, Dt = null, N = Object.seal(pe(null, {
370
430
  tagCheck: {
371
431
  writable: !0,
372
432
  configurable: !1,
@@ -379,14 +439,14 @@ function ft() {
379
439
  enumerable: !0,
380
440
  value: null
381
441
  }
382
- })), Tt = !0, Et = !0, Dt = !1, Ot = !0, L = !1, R = !0, z = !1, kt = !1, At = null, jt = null, Mt = !1, Nt = !1, Pt = !1, Ft = !1, It = !0, B = !1, Lt = "user-content-", Rt = !0, zt = !1, V = {}, Bt = null, Vt = T({}, /* @__PURE__ */ "annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp".split(".")), Ht = null, Ut = T({}, [
442
+ })), Ot = !0, kt = !0, At = !1, jt = !0, P = !1, F = !0, I = !1, Mt = !1, Nt = null, Pt = null, Ft = !1, L = !1, It = !1, Lt = !1, Rt = !0, zt = !1, Bt = "user-content-", Vt = !0, Ht = !1, R = {}, z = null, Ut = w({}, /* @__PURE__ */ "annotation-xml.audio.colgroup.desc.foreignobject.head.iframe.math.mi.mn.mo.ms.mtext.noembed.noframes.noscript.plaintext.script.selectedcontent.style.svg.template.thead.title.video.xmp".split(".")), Wt = null, Gt = w({}, [
383
443
  "audio",
384
444
  "video",
385
445
  "img",
386
446
  "source",
387
447
  "image",
388
448
  "track"
389
- ]), Wt = null, Gt = T({}, [
449
+ ]), Kt = null, qt = w({}, [
390
450
  "alt",
391
451
  "class",
392
452
  "for",
@@ -401,77 +461,77 @@ function ft() {
401
461
  "value",
402
462
  "style",
403
463
  "xmlns"
404
- ]), Kt = "http://www.w3.org/1998/Math/MathML", qt = "http://www.w3.org/2000/svg", H = "http://www.w3.org/1999/xhtml", Jt = H, Yt = !1, Xt = null, Zt = T({}, [
405
- Kt,
406
- qt,
407
- H
408
- ], ye), Qt = v([
464
+ ]), Jt = "http://www.w3.org/1998/Math/MathML", Yt = "http://www.w3.org/2000/svg", B = "http://www.w3.org/1999/xhtml", Xt = B, Zt = !1, Qt = null, $t = w({}, [
465
+ Jt,
466
+ Yt,
467
+ B
468
+ ], we), en = v([
409
469
  "mi",
410
470
  "mo",
411
471
  "mn",
412
472
  "ms",
413
473
  "mtext"
414
- ]), $t = T({}, Qt), en = v(["annotation-xml"]), tn = T({}, en), nn = T({}, [
474
+ ]), tn = w({}, en), nn = v(["annotation-xml"]), rn = w({}, nn), an = w({}, [
415
475
  "title",
416
476
  "style",
417
477
  "font",
418
478
  "a",
419
479
  "script"
420
- ]), rn = null, an = ["application/xhtml+xml", "text/html"], U = null, on = null, sn = n.createElement("form"), cn = function(e) {
480
+ ]), on = null, sn = ["application/xhtml+xml", "text/html"], V = null, cn = null, ln = n.createElement("form"), un = function(e) {
421
481
  return e instanceof RegExp || e instanceof Function;
422
- }, ln = function() {
482
+ }, dn = function() {
423
483
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
424
- if (on && on === e) return;
425
- (!e || typeof e != "object") && (e = {}), e = E(e), rn = an.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, U = rn === "application/xhtml+xml" ? ye : ve, N = ut(e, "ALLOWED_TAGS", xt, { transform: U }), P = ut(e, "ALLOWED_ATTR", St, { transform: U }), Xt = ut(e, "ALLOWED_NAMESPACES", Zt, { transform: ye }), Wt = ut(e, "ADD_URI_SAFE_ATTR", Gt, {
426
- transform: U,
484
+ if (cn && cn === e) return;
485
+ (!e || typeof e != "object") && (e = {}), e = E(e), on = sn.indexOf(e.PARSER_MEDIA_TYPE) === -1 ? "text/html" : e.PARSER_MEDIA_TYPE, V = on === "application/xhtml+xml" ? we : Ce, A = mt(e, "ALLOWED_TAGS", wt, { transform: V }), j = mt(e, "ALLOWED_ATTR", Tt, { transform: V }), Qt = mt(e, "ALLOWED_NAMESPACES", $t, { transform: we }), Kt = mt(e, "ADD_URI_SAFE_ATTR", qt, {
486
+ transform: V,
487
+ base: qt
488
+ }), Wt = mt(e, "ADD_DATA_URI_TAGS", Gt, {
489
+ transform: V,
427
490
  base: Gt
428
- }), Ht = ut(e, "ADD_DATA_URI_TAGS", Ut, {
429
- transform: U,
430
- base: Ut
431
- }), Bt = ut(e, "FORBID_CONTENTS", Vt, { transform: U }), Ct = ut(e, "FORBID_TAGS", E({}), { transform: U }), wt = ut(e, "FORBID_ATTR", E({}), { transform: U }), V = S(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? E(e.USE_PROFILES) : e.USE_PROFILES : !1, Tt = e.ALLOW_ARIA_ATTR !== !1, Et = e.ALLOW_DATA_ATTR !== !1, Dt = e.ALLOW_UNKNOWN_PROTOCOLS || !1, Ot = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, L = e.SAFE_FOR_TEMPLATES || !1, R = e.SAFE_FOR_XML !== !1, z = e.WHOLE_DOCUMENT || !1, Nt = e.RETURN_DOM || !1, Pt = e.RETURN_DOM_FRAGMENT || !1, Ft = e.RETURN_TRUSTED_TYPE || !1, Mt = e.FORCE_BODY || !1, It = e.SANITIZE_DOM !== !1, B = e.SANITIZE_NAMED_PROPS || !1, Rt = e.KEEP_CONTENT !== !1, zt = e.IN_PLACE || !1, bt = Me(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : Ye, Jt = typeof e.NAMESPACE == "string" ? e.NAMESPACE : H, $t = dt(e, "MATHML_TEXT_INTEGRATION_POINTS", () => T({}, Qt)), tn = dt(e, "HTML_INTEGRATION_POINTS", () => T({}, en));
432
- let t = dt(e, "CUSTOM_ELEMENT_HANDLING", () => le(null));
433
- if (F = le(null), S(t, "tagNameCheck") && cn(t.tagNameCheck) && (F.tagNameCheck = t.tagNameCheck), S(t, "attributeNameCheck") && cn(t.attributeNameCheck) && (F.attributeNameCheck = t.attributeNameCheck), S(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (F.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), y(F), L && (Et = !1), Pt && (Nt = !0), V && (N = T({}, ze), P = le(null), V.html === !0 && (T(N, Ne), T(P, Be)), V.svg === !0 && (T(N, Pe), T(P, Ve), T(P, Ue)), V.svgFilters === !0 && (T(N, Fe), T(P, Ve), T(P, Ue)), V.mathMl === !0 && (T(N, Le), T(P, He), T(P, Ue))), I.tagCheck = null, I.attributeCheck = null, S(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? I.tagCheck = e.ADD_TAGS : _e(e.ADD_TAGS) && (N === xt && (N = E(N)), T(N, e.ADD_TAGS, U))), S(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? I.attributeCheck = e.ADD_ATTR : _e(e.ADD_ATTR) && (P === St && (P = E(P)), T(P, e.ADD_ATTR, U))), S(e, "ADD_FORBID_CONTENTS") && _e(e.ADD_FORBID_CONTENTS) && (Bt === Vt && (Bt = E(Bt)), T(Bt, e.ADD_FORBID_CONTENTS, U)), Rt && (N["#text"] = !0), z && T(N, [
491
+ }), z = mt(e, "FORBID_CONTENTS", Ut, { transform: V }), Et = mt(e, "FORBID_TAGS", E({}), { transform: V }), Dt = mt(e, "FORBID_ATTR", E({}), { transform: V }), R = b(e, "USE_PROFILES") ? e.USE_PROFILES && typeof e.USE_PROFILES == "object" ? E(e.USE_PROFILES) : e.USE_PROFILES : !1, Ot = e.ALLOW_ARIA_ATTR !== !1, kt = e.ALLOW_DATA_ATTR !== !1, At = e.ALLOW_UNKNOWN_PROTOCOLS || !1, jt = e.ALLOW_SELF_CLOSE_IN_ATTR !== !1, P = e.SAFE_FOR_TEMPLATES || !1, F = e.SAFE_FOR_XML !== !1, I = e.WHOLE_DOCUMENT || !1, L = e.RETURN_DOM || !1, It = e.RETURN_DOM_FRAGMENT || !1, Lt = e.RETURN_TRUSTED_TYPE || !1, Ft = e.FORCE_BODY || !1, Rt = e.SANITIZE_DOM !== !1, zt = e.SANITIZE_NAMED_PROPS || !1, Vt = e.KEEP_CONTENT !== !1, Ht = e.IN_PLACE || !1, Ct = Ie(e.ALLOWED_URI_REGEXP) ? e.ALLOWED_URI_REGEXP : $e, Xt = typeof e.NAMESPACE == "string" ? e.NAMESPACE : B, tn = ht(e, "MATHML_TEXT_INTEGRATION_POINTS", () => w({}, en)), rn = ht(e, "HTML_INTEGRATION_POINTS", () => w({}, nn));
492
+ let t = ht(e, "CUSTOM_ELEMENT_HANDLING", () => pe(null));
493
+ if (M = pe(null), b(t, "tagNameCheck") && un(t.tagNameCheck) && (M.tagNameCheck = t.tagNameCheck), b(t, "attributeNameCheck") && un(t.attributeNameCheck) && (M.attributeNameCheck = t.attributeNameCheck), b(t, "allowCustomizedBuiltInElements") && typeof t.allowCustomizedBuiltInElements == "boolean" && (M.allowCustomizedBuiltInElements = t.allowCustomizedBuiltInElements), y(M), P && (kt = !1), It && (L = !0), R && (A = w({}, Ue), j = pe(null), R.html === !0 && (w(A, Le), w(j, We)), R.svg === !0 && (w(A, Re), w(j, Ge), w(j, qe)), R.svgFilters === !0 && (w(A, ze), w(j, Ge), w(j, qe)), R.mathMl === !0 && (w(A, Ve), w(j, Ke), w(j, qe))), N.tagCheck = null, N.attributeCheck = null, b(e, "ADD_TAGS") && (typeof e.ADD_TAGS == "function" ? N.tagCheck = e.ADD_TAGS : Se(e.ADD_TAGS) && (A === wt && (A = E(A)), w(A, e.ADD_TAGS, V))), b(e, "ADD_ATTR") && (typeof e.ADD_ATTR == "function" ? N.attributeCheck = e.ADD_ATTR : Se(e.ADD_ATTR) && (j === Tt && (j = E(j)), w(j, e.ADD_ATTR, V))), b(e, "ADD_FORBID_CONTENTS") && Se(e.ADD_FORBID_CONTENTS) && (z === Ut && (z = E(z)), w(z, e.ADD_FORBID_CONTENTS, V)), Vt && (A["#text"] = !0), I && w(A, [
434
494
  "html",
435
495
  "head",
436
496
  "body"
437
- ]), N.table && (T(N, ["tbody"]), delete Ct.tbody), e.TRUSTED_TYPES_POLICY) {
438
- if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw Oe("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
439
- if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw Oe("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
440
- let t = _;
441
- _ = e.TRUSTED_TYPES_POLICY;
497
+ ]), A.table && (w(A, ["tbody"]), delete Et.tbody), e.TRUSTED_TYPES_POLICY) {
498
+ if (typeof e.TRUSTED_TYPES_POLICY.createHTML != "function") throw S("TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.");
499
+ if (typeof e.TRUSTED_TYPES_POLICY.createScriptURL != "function") throw S("TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.");
500
+ let t = g;
501
+ g = e.TRUSTED_TYPES_POLICY;
442
502
  try {
443
- b = x("");
503
+ _ = he("");
444
504
  } catch (e) {
445
- throw _ = t, e;
446
- }
447
- } else e.TRUSTED_TYPES_POLICY === null ? (_ = void 0, b = "") : (_ === void 0 && (_ = De()), _ && typeof b == "string" && (b = x("")));
448
- v && v(e), on = e;
449
- }, un = T({}, [
450
- ...Pe,
451
- ...Fe,
452
- ...Ie
453
- ]), dn = T({}, [...Le, ...Re]), fn = function(e, t, n) {
454
- return t.namespaceURI === H ? e === "svg" : t.namespaceURI === Kt ? e === "svg" && (n === "annotation-xml" || $t[n]) : !!un[e];
455
- }, pn = function(e, t, n) {
456
- return t.namespaceURI === H ? e === "math" : t.namespaceURI === qt ? e === "math" && tn[n] : !!dn[e];
457
- }, mn = function(e, t, n) {
458
- return t.namespaceURI === qt && !tn[n] || t.namespaceURI === Kt && !$t[n] ? !1 : !dn[e] && (nn[e] || !un[e]);
459
- }, W = function(e) {
460
- let t = g(e);
505
+ throw g = t, e;
506
+ }
507
+ } else e.TRUSTED_TYPES_POLICY === null ? (g = void 0, _ = "") : (g === void 0 && (g = ke()), g && typeof _ == "string" && (_ = he("")));
508
+ v && v(e), cn = e;
509
+ }, fn = w({}, [
510
+ ...Re,
511
+ ...ze,
512
+ ...Be
513
+ ]), pn = w({}, [...Ve, ...He]), mn = function(e, t, n) {
514
+ return t.namespaceURI === B ? e === "svg" : t.namespaceURI === Jt ? e === "svg" && (n === "annotation-xml" || tn[n]) : !!fn[e];
515
+ }, hn = function(e, t, n) {
516
+ return t.namespaceURI === B ? e === "math" : t.namespaceURI === Yt ? e === "math" && rn[n] : !!pn[e];
517
+ }, gn = function(e, t, n) {
518
+ return t.namespaceURI === Yt && !rn[n] || t.namespaceURI === Jt && !tn[n] ? !1 : !pn[e] && (an[e] || !fn[e]);
519
+ }, _n = function(e) {
520
+ let t = te(e);
461
521
  (!t || !t.tagName) && (t = {
462
- namespaceURI: Jt,
522
+ namespaceURI: Xt,
463
523
  tagName: "template"
464
524
  });
465
- let n = ve(e.tagName), r = ve(t.tagName);
466
- return Xt[e.namespaceURI] ? e.namespaceURI === qt ? fn(n, t, r) : e.namespaceURI === Kt ? pn(n, t, r) : e.namespaceURI === H ? mn(n, t, r) : !!(rn === "application/xhtml+xml" && Xt[e.namespaceURI]) : !1;
467
- }, G = function(e) {
468
- he(t.removed, { element: e });
525
+ let n = Ce(e.tagName), r = Ce(t.tagName);
526
+ return Qt[e.namespaceURI] ? e.namespaceURI === Yt ? mn(n, t, r) : e.namespaceURI === Jt ? hn(n, t, r) : e.namespaceURI === B ? gn(n, t, r) : !!(on === "application/xhtml+xml" && Qt[e.namespaceURI]) : !1;
527
+ }, H = function(e) {
528
+ be(t.removed, { element: e });
469
529
  try {
470
- g(e).removeChild(e);
530
+ te(e).removeChild(e);
471
531
  } catch {
472
- if (p(e), !g(e)) throw Oe("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
532
+ if (p(e), !te(e)) throw S("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place");
473
533
  }
474
- }, hn = function(e, t, n) {
534
+ }, vn = function(e, t, n) {
475
535
  try {
476
536
  m(e, t);
477
537
  } catch {
@@ -479,31 +539,31 @@ function ft() {
479
539
  e.removeAttribute(n);
480
540
  } catch {}
481
541
  }
482
- }, K = function(e) {
483
- _n(e);
542
+ }, yn = function(e) {
543
+ xn(e);
484
544
  let t = h(e);
485
545
  if (t) {
486
546
  let e = [];
487
- fe(t, (t) => {
488
- he(e, t);
489
- }), fe(e, (e) => {
547
+ _e(t, (t) => {
548
+ be(e, t);
549
+ }), _e(e, (e) => {
490
550
  try {
491
551
  p(e);
492
552
  } catch {}
493
553
  });
494
554
  }
495
- let n = ne(e);
555
+ let n = re(e);
496
556
  if (n) for (let t = n.length - 1; t >= 0; --t) {
497
557
  let r = n[t], i = r && r.name;
498
- typeof i == "string" && hn(e, r, i);
558
+ typeof i == "string" && vn(e, r, i);
499
559
  }
500
- }, q = function(e, n, r) {
560
+ }, U = function(e, n, r) {
501
561
  if (!r) try {
502
562
  r = n.getAttributeNode(e);
503
563
  } catch {
504
564
  r = null;
505
565
  }
506
- he(t.removed, {
566
+ be(t.removed, {
507
567
  attribute: r || null,
508
568
  from: n
509
569
  });
@@ -514,112 +574,112 @@ function ft() {
514
574
  n.removeAttribute(e);
515
575
  } catch {}
516
576
  }
517
- if (e === "is") if (Nt || Pt) try {
518
- G(n);
577
+ if (e === "is") if (L || It) try {
578
+ H(n);
519
579
  } catch {}
520
580
  else try {
521
581
  n.setAttribute(e, "");
522
582
  } catch {}
523
- }, gn = function(e) {
524
- let t = ne(e);
583
+ }, bn = function(e) {
584
+ let t = re(e);
525
585
  if (t) for (let n = t.length - 1; n >= 0; --n) {
526
586
  let r = t[n], i = r && r.name;
527
- typeof i != "string" || P[U(i)] || hn(e, r, i);
587
+ typeof i != "string" || j[V(i)] || vn(e, r, i);
528
588
  }
529
- }, _n = function(e) {
589
+ }, xn = function(e) {
530
590
  let t = [e];
531
591
  for (; t.length > 0;) {
532
592
  let e = t.pop();
533
- se(e) === O.element && gn(e);
593
+ se(e) === O.element && bn(e);
534
594
  let n = h(e);
535
595
  if (n) for (let e = n.length - 1; e >= 0; --e) t.push(n[e]);
536
596
  }
537
- }, vn = function(e, t) {
538
- return R ? e === "patchsrc" || e === "for" && t !== "label" && t !== "output" : !1;
539
- }, yn = function(e) {
540
- if (!R) return;
597
+ }, W = function(e, t) {
598
+ return F ? e === "patchsrc" || e === "for" && t !== "label" && t !== "output" : !1;
599
+ }, Sn = function(e) {
600
+ if (!F) return;
541
601
  let t = [e];
542
602
  for (; t.length > 0;) {
543
603
  let e = t.pop(), n = se(e);
544
- if (n === O.processingInstruction || n === O.comment && C(tt, e.data)) {
604
+ if (n === O.processingInstruction || n === O.comment && x(at, e.data)) {
545
605
  try {
546
606
  p(e);
547
607
  } catch {}
548
608
  continue;
549
609
  }
550
610
  if (n === O.element) {
551
- let t = e, n = U(ce(e));
611
+ let t = e, n = V(ce(e));
552
612
  try {
553
- t.hasAttribute && t.hasAttribute("patchsrc") && t.removeAttribute("patchsrc"), t.hasAttribute && t.hasAttribute("for") && vn("for", n) && t.removeAttribute("for");
613
+ t.hasAttribute && t.hasAttribute("patchsrc") && t.removeAttribute("patchsrc"), t.hasAttribute && t.hasAttribute("for") && W("for", n) && t.removeAttribute("for");
554
614
  } catch {}
555
615
  }
556
616
  let r = h(e);
557
617
  if (r) for (let e = r.length - 1; e >= 0; --e) t.push(r[e]);
558
618
  }
559
- }, bn = function(e) {
619
+ }, Cn = function(e) {
560
620
  let t = null, r = null;
561
- if (Mt) e = "<remove></remove>" + e;
621
+ if (Ft) e = "<remove></remove>" + e;
562
622
  else {
563
- let t = be(e, /^[\r\n\t ]+/);
623
+ let t = Te(e, /^[\r\n\t ]+/);
564
624
  r = t && t[0];
565
625
  }
566
- rn === "application/xhtml+xml" && Jt === H && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
567
- let i = _ ? x(e) : e;
568
- if (Jt === H) try {
569
- t = new l().parseFromString(i, rn);
626
+ on === "application/xhtml+xml" && Xt === B && (e = "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>" + e + "</body></html>");
627
+ let i = g ? he(e) : e;
628
+ if (Xt === B) try {
629
+ t = new l().parseFromString(i, on);
570
630
  } catch {}
571
631
  if (!t || !t.documentElement) {
572
- t = ke.createDocument(Jt, "template", null);
632
+ t = je.createDocument(Xt, "template", null);
573
633
  try {
574
- t.documentElement.innerHTML = Yt ? b : i;
634
+ t.documentElement.innerHTML = Zt ? _ : i;
575
635
  } catch {}
576
636
  }
577
637
  let a = t.body || t.documentElement;
578
- return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), Jt === H ? pt.call(t, z ? "html" : "body")[0] : z ? t.documentElement : a;
579
- }, J = function(e) {
638
+ return e && r && a.insertBefore(n.createTextNode(r), a.childNodes[0] || null), Xt === B ? C.call(t, I ? "html" : "body")[0] : I ? t.documentElement : a;
639
+ }, wn = function(e) {
580
640
  let t = oe ? oe(e) : e.ownerDocument;
581
- return Ae.call(t || e, e, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION, null);
582
- }, xn = function(e) {
583
- return e = xe(e, ht, " "), e = xe(e, A, " "), e = xe(e, gt, " "), e;
584
- }, Sn = function(e) {
641
+ return Me.call(t || e, e, c.SHOW_ELEMENT | c.SHOW_COMMENT | c.SHOW_TEXT | c.SHOW_PROCESSING_INSTRUCTION | c.SHOW_CDATA_SECTION, null);
642
+ }, Tn = function(e) {
643
+ return e = Ee(e, ct, " "), e = Ee(e, _t, " "), e = Ee(e, vt, " "), e;
644
+ }, En = function(e) {
585
645
  e.normalize();
586
- let t = oe ? oe(e) : e.ownerDocument, n = Ae.call(t || e, e, c.SHOW_TEXT | c.SHOW_COMMENT | c.SHOW_CDATA_SECTION | c.SHOW_PROCESSING_INSTRUCTION, null), r = n.nextNode();
587
- for (; r;) r.data = xn(r.data), r = n.nextNode();
646
+ let t = oe ? oe(e) : e.ownerDocument, n = Me.call(t || e, e, c.SHOW_TEXT | c.SHOW_COMMENT | c.SHOW_CDATA_SECTION | c.SHOW_PROCESSING_INSTRUCTION, null), r = n.nextNode();
647
+ for (; r;) r.data = Tn(r.data), r = n.nextNode();
588
648
  let i = e.querySelectorAll?.call(e, "template");
589
- i && fe(i, (e) => {
590
- X(e.content) && Sn(e.content);
649
+ i && _e(i, (e) => {
650
+ K(e.content) && En(e.content);
591
651
  });
592
- }, Y = function(e) {
593
- let t = ie ? ie(e) : null;
594
- return typeof t != "string" || U(t) !== "form" ? !1 : typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || e.attributes !== ne(e) || typeof e.removeAttribute != "function" || typeof e.removeAttributeNode != "function" || typeof e.getAttributeNode != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function" || e.nodeType !== re(e) || e.childNodes !== h(e);
595
- }, X = function(e) {
596
- if (!re || typeof e != "object" || !e) return !1;
652
+ }, G = function(e) {
653
+ let t = ae ? ae(e) : null;
654
+ return typeof t != "string" || V(t) !== "form" ? !1 : typeof e.nodeName != "string" || typeof e.textContent != "string" || typeof e.removeChild != "function" || e.attributes !== re(e) || typeof e.removeAttribute != "function" || typeof e.removeAttributeNode != "function" || typeof e.getAttributeNode != "function" || typeof e.setAttribute != "function" || typeof e.namespaceURI != "string" || typeof e.insertBefore != "function" || typeof e.hasChildNodes != "function" || e.nodeType !== ie(e) || e.childNodes !== h(e);
655
+ }, K = function(e) {
656
+ if (!ie || typeof e != "object" || !e) return !1;
597
657
  try {
598
- return re(e) === O.documentFragment;
658
+ return ie(e) === O.documentFragment;
599
659
  } catch {
600
660
  return !1;
601
661
  }
602
- }, Z = function(e) {
603
- if (!re || typeof e != "object" || !e) return !1;
662
+ }, q = function(e) {
663
+ if (!ie || typeof e != "object" || !e) return !1;
604
664
  try {
605
- return typeof re(e) == "number";
665
+ return typeof ie(e) == "number";
606
666
  } catch {
607
667
  return !1;
608
668
  }
609
669
  };
610
- function Q(e, n, r) {
611
- e.length !== 0 && fe(e, (e) => {
612
- e.call(t, n, r, on);
670
+ function J(e, n, r) {
671
+ e.length !== 0 && _e(e, (e) => {
672
+ e.call(t, n, r, cn);
613
673
  });
614
674
  }
615
- let Cn = function(e, t) {
616
- return !!(R && e.hasChildNodes() && !Z(e.firstElementChild) && C(et, e.textContent) && C(et, e.innerHTML) || R && e.namespaceURI === H && at[t] && (Z(e.firstElementChild) || typeof e.textContent == "string" && C(ot[t], e.textContent)) || e.nodeType === O.processingInstruction || R && e.nodeType === O.comment && C(tt, e.data));
617
- }, wn = function(e, t) {
618
- return e instanceof RegExp ? C(e, t) : e instanceof Function && !!e(t, ...[...arguments].slice(2));
619
- }, Tn = function(e, t, n) {
620
- if (!Ct[t] && jn(t) && wn(F.tagNameCheck, t)) return !1;
621
- if (Rt && !Bt[t]) {
622
- let t = g(e), r = h(e);
675
+ let Y = function(e, t) {
676
+ return !!(F && e.hasChildNodes() && !q(e.firstElementChild) && x(it, e.textContent) && x(it, e.innerHTML) || F && e.namespaceURI === B && lt[t] && (q(e.firstElementChild) || typeof e.textContent == "string" && x(ut[t], e.textContent)) || e.nodeType === O.processingInstruction || F && e.nodeType === O.comment && x(at, e.data));
677
+ }, X = function(e, t) {
678
+ return e instanceof RegExp ? x(e, t) : e instanceof Function && !!e(t, ...[...arguments].slice(2));
679
+ }, Dn = function(e, t, n) {
680
+ if (!Et[t] && Mn(t) && X(M.tagNameCheck, t)) return !1;
681
+ if (Vt && !z[t]) {
682
+ let t = te(e), r = h(e);
623
683
  if (r && t) {
624
684
  let i = r.length;
625
685
  for (let a = i - 1; a >= 0; --a) {
@@ -628,35 +688,35 @@ function ft() {
628
688
  }
629
689
  }
630
690
  }
631
- return G(e), !0;
632
- }, En = function(e, t, n, r) {
691
+ return H(e), !0;
692
+ }, Z = function(e, t, n, r) {
633
693
  return e.length === 0 ? t : t === n || t === r ? E(t) : t;
634
- }, Dn = function(e, t) {
635
- return e === t || g(e) !== null ? !1 : (zt && _n(e), !0);
636
- }, On = function(e, n) {
637
- if (Q(k.beforeSanitizeElements, e, null), Dn(e, n)) return !0;
638
- if (Y(e)) return G(e), !0;
639
- let r = U(ce(e));
640
- if (N = En(k.uponSanitizeElement, N, xt, At), Q(k.uponSanitizeElement, e, {
694
+ }, On = function(e, t) {
695
+ return e === t || te(e) !== null ? !1 : (Ht && xn(e), !0);
696
+ }, kn = function(e, n) {
697
+ if (J(T.beforeSanitizeElements, e, null), On(e, n)) return !0;
698
+ if (G(e)) return H(e), !0;
699
+ let r = V(ce(e));
700
+ if (A = Z(T.uponSanitizeElement, A, wt, Nt), J(T.uponSanitizeElement, e, {
641
701
  tagName: r,
642
- allowedTags: N
643
- }), Dn(e, n)) return !0;
644
- if (Cn(e, r)) return G(e), !0;
645
- if (Ct[r] || !(I.tagCheck instanceof Function && I.tagCheck(r)) && !N[r]) {
646
- let t = Tn(e, r, n);
647
- return t === !1 && Q(k.afterSanitizeElements, e, null), t;
648
- }
649
- if (se(e) === O.element && !W(e) || (r === "noscript" || r === "noembed" || r === "noframes") && C(nt, e.innerHTML)) return G(e), !0;
650
- if (L && e.nodeType === O.text) {
651
- let n = xn(e.textContent);
652
- e.textContent !== n && (he(t.removed, { element: e.cloneNode() }), e.textContent = n);
653
- }
654
- return Q(k.afterSanitizeElements, e, null), !1;
655
- }, kn = function(e, t, r) {
656
- if (wt[t] || vn(t, e) || It && (t === "id" || t === "name") && (r in n || r in sn)) return !1;
657
- let i = P[t] || I.attributeCheck instanceof Function && I.attributeCheck(t, e);
658
- return Et && C(j, t) || Tt && C(_t, t) ? !0 : i ? Wt[t] || C(bt, xe(r, vt, "")) || (t === "src" || t === "xlink:href" || t === "href") && e !== "script" && Se(r, "data:") === 0 && Ht[e] || Dt && !C(M, xe(r, vt, "")) ? !0 : !r : jn(e) && wn(F.tagNameCheck, e) && wn(F.attributeNameCheck, t, e) || t === "is" && F.allowCustomizedBuiltInElements && wn(F.tagNameCheck, r);
659
- }, An = T({}, [
702
+ allowedTags: A
703
+ }), On(e, n)) return !0;
704
+ if (Y(e, r)) return H(e), !0;
705
+ if (Et[r] || !(N.tagCheck instanceof Function && N.tagCheck(r)) && !A[r]) {
706
+ let t = Dn(e, r, n);
707
+ return t === !1 && (J(T.afterSanitizeElements, e, null), On(e, n)) ? !0 : t;
708
+ }
709
+ if (se(e) === O.element && !_n(e) || (r === "noscript" || r === "noembed" || r === "noframes") && x(ot, e.innerHTML)) return H(e), !0;
710
+ if (P && e.nodeType === O.text) {
711
+ let n = Tn(e.textContent);
712
+ e.textContent !== n && (be(t.removed, { element: e.cloneNode() }), e.textContent = n);
713
+ }
714
+ return J(T.afterSanitizeElements, e, null), On(e, n);
715
+ }, An = function(e, t, r) {
716
+ if (Dt[t] || W(t, e) || Rt && (t === "id" || t === "name") && (r in n || r in ln)) return !1;
717
+ let i = j[t] || N.attributeCheck instanceof Function && N.attributeCheck(t, e);
718
+ return kt && x(yt, t) || Ot && x(bt, t) ? !0 : i ? Kt[t] || x(Ct, Ee(r, St, "")) || (t === "src" || t === "xlink:href" || t === "href") && e !== "script" && De(r, "data:") === 0 && Wt[e] || At && !x(xt, Ee(r, St, "")) ? !0 : !r : Mn(e) && X(M.tagNameCheck, e) && X(M.attributeNameCheck, t, e) || t === "is" && M.allowCustomizedBuiltInElements && X(M.tagNameCheck, r);
719
+ }, jn = w({}, [
660
720
  "annotation-xml",
661
721
  "color-profile",
662
722
  "font-face",
@@ -665,67 +725,67 @@ function ft() {
665
725
  "font-face-src",
666
726
  "font-face-uri",
667
727
  "missing-glyph"
668
- ]), jn = function(e) {
669
- return !An[ve(e)] && C(yt, e);
670
- }, Mn = function(e, t, n, r) {
671
- if (_ && typeof u == "object" && typeof u.getAttributeType == "function" && !n) switch (u.getAttributeType(e, t)) {
672
- case "TrustedHTML": return x(r);
673
- case "TrustedScriptURL": return Ee(r);
728
+ ]), Mn = function(e) {
729
+ return !jn[Ce(e)] && x(k, e);
730
+ }, Nn = function(e, t, n, r) {
731
+ if (g && typeof u == "object" && typeof u.getAttributeType == "function" && !n) switch (u.getAttributeType(e, t)) {
732
+ case "TrustedHTML": return he(r);
733
+ case "TrustedScriptURL": return ge(r);
674
734
  }
675
735
  return r;
676
- }, Nn = function(e, t, n, r) {
736
+ }, Pn = function(e, t, n, r) {
677
737
  try {
678
- return n ? e.setAttributeNS(n, t, r) : e.setAttribute(t, r), Y(e) ? (G(e), !1) : !0;
738
+ return n ? e.setAttributeNS(n, t, r) : e.setAttribute(t, r), G(e) ? (H(e), !1) : !0;
679
739
  } catch {
680
- return q(t, e), !1;
681
- }
682
- }, Pn = function(e) {
683
- Q(k.beforeSanitizeAttributes, e, null);
684
- let n = e.attributes;
685
- if (!n || Y(e)) return;
686
- P = En(k.uponSanitizeAttribute, P, St, jt);
687
- let r = {
740
+ return U(t, e), !1;
741
+ }
742
+ }, Fn = function(e, n) {
743
+ if (J(T.beforeSanitizeAttributes, e, null), On(e, n)) return;
744
+ let r = e.attributes;
745
+ if (!r || G(e)) return;
746
+ j = Z(T.uponSanitizeAttribute, j, Tt, Pt);
747
+ let i = {
688
748
  attrName: "",
689
749
  attrValue: "",
690
750
  keepAttr: !0,
691
- allowedAttributes: P,
751
+ allowedAttributes: j,
692
752
  forceKeepAttr: void 0
693
- }, i = n.length, a = U(e.nodeName);
694
- for (; i--;) {
695
- let o = n[i], s = o.name, c = o.namespaceURI, l = o.value, u = U(s), d = l, f = s === "value" ? d : Ce(d), p = !1;
696
- if (r.attrName = u, r.attrValue = f, r.keepAttr = !0, r.forceKeepAttr = void 0, Q(k.uponSanitizeAttribute, e, r), f = r.attrValue, B && (u === "id" || u === "name") && Se(f, Lt) !== 0 && (q(s, e, o), f = Lt + f, p = !0), R && C(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, f)) {
697
- q(s, e, o);
753
+ }, a = r.length, o = V(e.nodeName);
754
+ for (; a--;) {
755
+ let n = r[a], s = n.name, c = n.namespaceURI, l = n.value, u = V(s), d = l, f = s === "value" ? d : Oe(d), p = !1;
756
+ if (i.attrName = u, i.attrValue = f, i.keepAttr = !0, i.forceKeepAttr = void 0, J(T.uponSanitizeAttribute, e, i), f = i.attrValue, zt && (u === "id" || u === "name") && De(f, Bt) !== 0 && (U(s, e, n), f = Bt + f, p = !0), F && x(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, f)) {
757
+ U(s, e, n);
698
758
  continue;
699
759
  }
700
- if (u === "attributename" && be(f, "href")) {
701
- q(s, e, o);
760
+ if (u === "attributename" && Te(f, "href")) {
761
+ U(s, e, n);
702
762
  continue;
703
763
  }
704
- if (!r.forceKeepAttr) {
705
- if (!r.keepAttr) {
706
- q(s, e, o);
764
+ if (!i.forceKeepAttr) {
765
+ if (!i.keepAttr) {
766
+ U(s, e, n);
707
767
  continue;
708
768
  }
709
- if (!Ot && C(rt, f)) {
710
- q(s, e, o);
769
+ if (!jt && x(st, f)) {
770
+ U(s, e, n);
711
771
  continue;
712
772
  }
713
- if (L && (f = xn(f)), !kn(a, u, f)) {
714
- q(s, e, o);
773
+ if (P && (f = Tn(f)), !An(o, u, f)) {
774
+ U(s, e, n);
715
775
  continue;
716
776
  }
717
- f = Mn(a, u, c, f), f !== d && Nn(e, s, c, f) && p && me(t.removed);
777
+ f = Nn(o, u, c, f), f !== d && Pn(e, s, c, f) && p && ye(t.removed);
718
778
  }
719
779
  }
720
- Q(k.afterSanitizeAttributes, e, null);
721
- }, Fn = function(e) {
722
- let t = null, n = J(e);
723
- for (Q(k.beforeSanitizeShadowDOM, e, null); t = n.nextNode();) if (Q(k.uponSanitizeShadowNode, t, null), On(t, e), Pn(t), X(t.content) && Fn(t.content), se(t) === O.element) {
724
- let e = te(t);
725
- X(e) && (In(e), Fn(e));
726
- }
727
- Q(k.afterSanitizeShadowDOM, e, null);
780
+ J(T.afterSanitizeAttributes, e, null), On(e, n);
728
781
  }, In = function(e) {
782
+ let t = null, n = wn(e);
783
+ for (J(T.beforeSanitizeShadowDOM, e, null); t = n.nextNode();) if (J(T.uponSanitizeShadowNode, t, null), kn(t, e), Fn(t, e), K(t.content) && In(t.content), se(t) === O.element) {
784
+ let e = ne(t);
785
+ K(e) && (Ln(e), In(e));
786
+ }
787
+ J(T.afterSanitizeShadowDOM, e, null);
788
+ }, Ln = function(e) {
729
789
  let t = [{
730
790
  node: e,
731
791
  shadow: null
@@ -733,7 +793,7 @@ function ft() {
733
793
  for (; t.length > 0;) {
734
794
  let e = t.pop();
735
795
  if (e.shadow) {
736
- Fn(e.shadow);
796
+ In(e.shadow);
737
797
  continue;
738
798
  }
739
799
  let n = e.node, r = se(n) === O.element, i = h(n);
@@ -742,18 +802,18 @@ function ft() {
742
802
  shadow: null
743
803
  });
744
804
  if (r) {
745
- let e = ie ? ie(n) : null;
746
- if (typeof e == "string" && U(e) === "template") {
805
+ let e = ae ? ae(n) : null;
806
+ if (typeof e == "string" && V(e) === "template") {
747
807
  let e = n.content;
748
- X(e) && t.push({
808
+ K(e) && t.push({
749
809
  node: e,
750
810
  shadow: null
751
811
  });
752
812
  }
753
813
  }
754
814
  if (r) {
755
- let e = te(n);
756
- X(e) && t.push({
815
+ let e = ne(n);
816
+ K(e) && t.push({
757
817
  node: null,
758
818
  shadow: e
759
819
  }, {
@@ -765,77 +825,81 @@ function ft() {
765
825
  };
766
826
  return t.sanitize = function(e) {
767
827
  let n = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, i = null, a = null, o = null, s = null;
768
- if (Yt = !e, Yt && (e = "<!-->"), typeof e != "string" && !Z(e) && (e = je(e), typeof e != "string")) throw Oe("dirty is not a string, aborting");
828
+ if (Zt = !e, Zt && (e = "<!-->"), typeof e != "string" && !q(e) && (e = Fe(e), typeof e != "string")) throw S("dirty is not a string, aborting");
769
829
  if (!t.isSupported) return e;
770
- kt ? (N = At, P = jt) : ln(n), (k.uponSanitizeElement.length > 0 || k.uponSanitizeAttribute.length > 0) && (N = E(N)), k.uponSanitizeAttribute.length > 0 && (P = E(P)), t.removed = [];
771
- let c = zt && typeof e != "string" && Z(e);
830
+ Mt ? (A = Nt, j = Pt) : dn(n), (T.uponSanitizeElement.length > 0 || T.uponSanitizeAttribute.length > 0) && (A = E(A)), T.uponSanitizeAttribute.length > 0 && (j = E(j)), t.removed = [];
831
+ let c = Ht && typeof e != "string" && q(e);
772
832
  if (c) {
773
- yn(e);
833
+ Sn(e);
774
834
  let t = ce(e);
775
835
  if (typeof t == "string") {
776
- let n = U(t);
777
- if (!N[n] || Ct[n]) throw K(e), Oe("root node is forbidden and cannot be sanitized in-place");
836
+ let n = V(t);
837
+ if (!A[n] || Et[n]) throw yn(e), S("root node is forbidden and cannot be sanitized in-place");
778
838
  }
779
- if (Y(e)) throw K(e), Oe("root node is clobbered and cannot be sanitized in-place");
839
+ if (G(e)) throw yn(e), S("root node is clobbered and cannot be sanitized in-place");
780
840
  try {
781
- In(e);
841
+ Ln(e);
782
842
  } catch (t) {
783
- throw K(e), t;
843
+ throw yn(e), t;
784
844
  }
785
- } else if (Z(e)) i = bn("<!---->"), a = i.ownerDocument.importNode(e, !0), a.nodeType === O.element && a.nodeName === "BODY" || a.nodeName === "HTML" ? i = a : i.appendChild(a), In(i);
845
+ } else if (q(e)) i = Cn("<!---->"), a = i.ownerDocument.importNode(e, !0), a.nodeType === O.element && a.nodeName === "BODY" || a.nodeName === "HTML" ? i = a : i.appendChild(a), Ln(i);
786
846
  else {
787
- if (!Nt && !L && !z && e.indexOf("<") === -1) return _ && Ft ? x(e) : e;
788
- if (i = bn(e), !i) return Nt ? null : Ft ? b : "";
847
+ if (!L && !P && !I && e.indexOf("<") === -1) return g && Lt ? he(e) : e;
848
+ if (i = Cn(e), !i) return L ? null : Lt ? _ : "";
789
849
  }
790
- i && Mt && G(i.firstChild);
850
+ i && Ft && H(i.firstChild);
791
851
  let l = c ? e : i;
792
852
  try {
793
- let e = J(l);
794
- for (; o = e.nextNode();) On(o, l), Pn(o), X(o.content) && Fn(o.content);
853
+ let e = wn(l);
854
+ for (; o = e.nextNode();) kn(o, l), Fn(o, l), K(o.content) && In(o.content);
795
855
  } catch (n) {
796
- throw c && (K(e), fe(t.removed, (e) => {
797
- e.element && _n(e.element);
856
+ throw c && (yn(e), _e(t.removed, (e) => {
857
+ e.element && xn(e.element);
798
858
  })), n;
799
859
  }
800
- if (c) return fe(t.removed, (e) => {
801
- e.element && _n(e.element);
802
- }), L && Sn(e), e;
803
- if (Nt) {
804
- if (L && Sn(i), Pt) for (s = it.call(i.ownerDocument); i.firstChild;) s.appendChild(i.firstChild);
860
+ if (c) {
861
+ let n = !1;
862
+ if (_e(t.removed, (t) => {
863
+ t.element && (t.element === e && (n = !0), xn(t.element));
864
+ }), n) throw S("a node selected for removal could not be safely returned; refusing to sanitize in place");
865
+ return P && En(e), e;
866
+ }
867
+ if (L) {
868
+ if (P && En(i), It) for (s = Ne.call(i.ownerDocument); i.firstChild;) s.appendChild(i.firstChild);
805
869
  else s = i;
806
- return (P.shadowroot || P.shadowrootmode) && (s = mt.call(r, s, !0)), s;
870
+ return (j.shadowroot || j.shadowrootmode) && (s = Pe.call(r, s, !0)), s;
807
871
  }
808
- let u = z ? i.outerHTML : i.innerHTML;
809
- return z && N["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && C(Qe, i.ownerDocument.doctype.name) && (u = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + u), L && (u = xn(u)), _ && Ft ? x(u) : u;
872
+ let u = I ? i.outerHTML : i.innerHTML;
873
+ return I && A["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && x(nt, i.ownerDocument.doctype.name) && (u = "<!DOCTYPE " + i.ownerDocument.doctype.name + ">\n" + u), P && (u = Tn(u)), g && Lt ? he(u) : u;
810
874
  }, t.setConfig = function() {
811
875
  let e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
812
- ln(e), kt = !0, At = N, jt = P;
876
+ dn(e), Mt = !0, Nt = A, Pt = j;
813
877
  }, t.clearConfig = function() {
814
- on = null, kt = !1, At = null, jt = null, _ = ue, b = "";
878
+ cn = null, Mt = !1, Nt = null, Pt = null, g = ue, _ = "";
815
879
  }, t.isValidAttribute = function(e, t, n) {
816
- on || ln({});
817
- let r = U(e), i = U(t);
818
- return kn(r, i, n);
880
+ cn || dn({});
881
+ let r = V(e), i = V(t);
882
+ return An(r, i, n);
819
883
  }, t.addHook = function(e, t) {
820
- typeof t == "function" && S(k, e) && he(k[e], t);
884
+ typeof t == "function" && b(T, e) && be(T[e], t);
821
885
  }, t.removeHook = function(e, t) {
822
- if (S(k, e)) {
886
+ if (b(T, e)) {
823
887
  if (t !== void 0) {
824
- let n = pe(k[e], t);
825
- return n === -1 ? void 0 : ge(k[e], n, 1)[0];
888
+ let n = ve(T[e], t);
889
+ return n === -1 ? void 0 : xe(T[e], n, 1)[0];
826
890
  }
827
- return me(k[e]);
891
+ return ye(T[e]);
828
892
  }
829
893
  }, t.removeHooks = function(e) {
830
- S(k, e) && (k[e] = []);
894
+ b(T, e) && (T[e] = []);
831
895
  }, t.removeAllHooks = function() {
832
- k = lt();
896
+ T = pt();
833
897
  }, t;
834
898
  }
835
- var pt = ft();
899
+ var _t = gt();
836
900
  //#endregion
837
901
  //#region node_modules/marked/lib/marked.esm.js
838
- function mt() {
902
+ function vt() {
839
903
  return {
840
904
  async: !1,
841
905
  breaks: !1,
@@ -849,35 +913,35 @@ function mt() {
849
913
  walkTokens: null
850
914
  };
851
915
  }
852
- var k = mt();
853
- function ht(e) {
854
- k = e;
916
+ var yt = vt();
917
+ function bt(e) {
918
+ yt = e;
855
919
  }
856
- var A = { exec: () => null };
857
- function gt(e) {
920
+ var xt = { exec: () => null };
921
+ function St(e) {
858
922
  let t = [];
859
923
  return (n) => {
860
924
  let r = Math.max(0, Math.min(3, n - 1)), i = t[r];
861
925
  return i || (i = e(r), t[r] = i), i;
862
926
  };
863
927
  }
864
- function j(e, t = "") {
928
+ function k(e, t = "") {
865
929
  let n = typeof e == "string" ? e : e.source, r = {
866
930
  replace: (e, t) => {
867
931
  let i = typeof t == "string" ? t : t.source;
868
- return i = i.replace(M.caret, "$1"), n = n.replace(e, i), r;
932
+ return i = i.replace(A.caret, "$1"), n = n.replace(e, i), r;
869
933
  },
870
934
  getRegex: () => new RegExp(n, t)
871
935
  };
872
936
  return r;
873
937
  }
874
- var _t = ((e = "") => {
938
+ var Ct = ((e = "") => {
875
939
  try {
876
940
  return !!RegExp("(?<=1)(?<!1)" + e);
877
941
  } catch {
878
942
  return !1;
879
943
  }
880
- })(), M = {
944
+ })(), A = {
881
945
  codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
882
946
  outputLinkReplace: /\\([\[\]])/g,
883
947
  indentCodeCompensation: /^(\s+)(?:```)/,
@@ -928,121 +992,121 @@ var _t = ((e = "") => {
928
992
  notSpaceStart: /^\S*/,
929
993
  endingNewline: /\n$/,
930
994
  listItemRegex: (e) => RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),
931
- nextBulletRegex: gt((e) => RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),
932
- hrRegex: gt((e) => RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),
933
- fencesBeginRegex: gt((e) => RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),
934
- headingBeginRegex: gt((e) => RegExp(`^ {0,${e}}#`)),
935
- htmlBeginRegex: gt((e) => RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")),
936
- blockquoteBeginRegex: gt((e) => RegExp(`^ {0,${e}}>`))
937
- }, vt = /^(?:[ \t]*(?:\n|$))+/, yt = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, bt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, N = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, xt = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, P = / {0,3}(?:[*+-]|\d{1,9}[.)])/, St = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, F = j(St).replace(/bull/g, P).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), Ct = j(St).replace(/bull/g, P).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), wt = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, I = /^[^\n]+/, Tt = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Et = j(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Tt).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Dt = j(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, P).getRegex(), Ot = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", L = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, R = j("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", L).replace("tag", Ot).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), z = j(wt).replace("hr", N).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ot).getRegex(), kt = {
938
- blockquote: j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", z).getRegex(),
939
- code: yt,
940
- def: Et,
941
- fences: bt,
942
- heading: xt,
943
- hr: N,
944
- html: R,
945
- lheading: F,
946
- list: Dt,
947
- newline: vt,
948
- paragraph: z,
949
- table: A,
950
- text: I
951
- }, At = j("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", N).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ot).getRegex(), jt = {
952
- ...kt,
953
- lheading: Ct,
954
- table: At,
955
- paragraph: j(wt).replace("hr", N).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", At).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Ot).getRegex()
956
- }, Mt = {
957
- ...kt,
958
- html: j("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", L).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
995
+ nextBulletRegex: St((e) => RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),
996
+ hrRegex: St((e) => RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),
997
+ fencesBeginRegex: St((e) => RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),
998
+ headingBeginRegex: St((e) => RegExp(`^ {0,${e}}#`)),
999
+ htmlBeginRegex: St((e) => RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`, "i")),
1000
+ blockquoteBeginRegex: St((e) => RegExp(`^ {0,${e}}>`))
1001
+ }, wt = /^(?:[ \t]*(?:\n|$))+/, j = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Tt = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, M = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Et = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, Dt = / {0,3}(?:[*+-]|\d{1,9}[.)])/, N = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, Ot = k(N).replace(/bull/g, Dt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), kt = k(N).replace(/bull/g, Dt).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), At = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, jt = /^[^\n]+/, P = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, F = k(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", P).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), I = k(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g, Dt).getRegex(), Mt = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Nt = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Pt = k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Nt).replace("tag", Mt).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), Ft = k(At).replace("hr", M).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Mt).getRegex(), L = {
1002
+ blockquote: k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", Ft).getRegex(),
1003
+ code: j,
1004
+ def: F,
1005
+ fences: Tt,
1006
+ heading: Et,
1007
+ hr: M,
1008
+ html: Pt,
1009
+ lheading: Ot,
1010
+ list: I,
1011
+ newline: wt,
1012
+ paragraph: Ft,
1013
+ table: xt,
1014
+ text: jt
1015
+ }, It = k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", M).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Mt).getRegex(), Lt = {
1016
+ ...L,
1017
+ lheading: kt,
1018
+ table: It,
1019
+ paragraph: k(At).replace("hr", M).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", It).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", Mt).getRegex()
1020
+ }, Rt = {
1021
+ ...L,
1022
+ html: k("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment", Nt).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
959
1023
  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
960
1024
  heading: /^(#{1,6})(.*)(?:\n+|$)/,
961
- fences: A,
1025
+ fences: xt,
962
1026
  lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
963
- paragraph: j(wt).replace("hr", N).replace("heading", " *#{1,6} *[^\n]").replace("lheading", F).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
964
- }, Nt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Pt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Ft = /^( {2,}|\\)\n(?!\s*$)/, It = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, B = /[\p{P}\p{S}]/u, Lt = /[\s\p{P}\p{S}]/u, Rt = /[^\s\p{P}\p{S}]/u, zt = j(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, Lt).getRegex(), V = /(?!~)[\p{P}\p{S}]/u, Bt = /(?!~)[\s\p{P}\p{S}]/u, Vt = /(?:[^\s\p{P}\p{S}]|~)/u, Ht = j(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", _t ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Ut = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, Wt = j(Ut, "u").replace(/punct/g, B).getRegex(), Gt = j(Ut, "u").replace(/punct/g, V).getRegex(), Kt = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", qt = j(Kt, "gu").replace(/notPunctSpace/g, Rt).replace(/punctSpace/g, Lt).replace(/punct/g, B).getRegex(), H = j(Kt, "gu").replace(/notPunctSpace/g, Vt).replace(/punctSpace/g, Bt).replace(/punct/g, V).getRegex(), Jt = j("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Rt).replace(/punctSpace/g, Lt).replace(/punct/g, B).getRegex(), Yt = j(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, B).getRegex(), Xt = j("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Rt).replace(/punctSpace/g, Lt).replace(/punct/g, B).getRegex(), Zt = j(/\\(punct)/, "gu").replace(/punct/g, B).getRegex(), Qt = j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), $t = j(L).replace("(?:-->|$)", "-->").getRegex(), en = j("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", $t).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), tn = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, nn = j(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", tn).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), rn = j(/^!?\[(label)\]\[(ref)\]/).replace("label", tn).replace("ref", Tt).getRegex(), an = j(/^!?\[(ref)\](?:\[\])?/).replace("ref", Tt).getRegex(), U = j("reflink|nolink(?!\\()", "g").replace("reflink", rn).replace("nolink", an).getRegex(), on = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, sn = {
965
- _backpedal: A,
966
- anyPunctuation: Zt,
967
- autolink: Qt,
968
- blockSkip: Ht,
969
- br: Ft,
970
- code: Pt,
971
- del: A,
972
- delLDelim: A,
973
- delRDelim: A,
974
- emStrongLDelim: Wt,
975
- emStrongRDelimAst: qt,
976
- emStrongRDelimUnd: Jt,
977
- escape: Nt,
978
- link: nn,
979
- nolink: an,
980
- punctuation: zt,
981
- reflink: rn,
982
- reflinkSearch: U,
983
- tag: en,
984
- text: It,
985
- url: A
986
- }, cn = {
987
- ...sn,
988
- link: j(/^!?\[(label)\]\((.*?)\)/).replace("label", tn).getRegex(),
989
- reflink: j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", tn).getRegex()
990
- }, ln = {
991
- ...sn,
992
- emStrongRDelimAst: H,
993
- emStrongLDelim: Gt,
994
- delLDelim: Yt,
995
- delRDelim: Xt,
996
- url: j(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", on).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
1027
+ paragraph: k(At).replace("hr", M).replace("heading", " *#{1,6} *[^\n]").replace("lheading", Ot).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
1028
+ }, zt = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Bt = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, Vt = /^( {2,}|\\)\n(?!\s*$)/, Ht = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, R = /[\p{P}\p{S}]/u, z = /[\s\p{P}\p{S}]/u, Ut = /[^\s\p{P}\p{S}]/u, Wt = k(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, z).getRegex(), Gt = /(?!~)[\p{P}\p{S}]/u, Kt = /(?!~)[\s\p{P}\p{S}]/u, qt = /(?:[^\s\p{P}\p{S}]|~)/u, Jt = k(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Ct ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), Yt = /^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/, B = k(Yt, "u").replace(/punct/g, R).getRegex(), Xt = k(Yt, "u").replace(/punct/g, Gt).getRegex(), Zt = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", Qt = k(Zt, "gu").replace(/notPunctSpace/g, Ut).replace(/punctSpace/g, z).replace(/punct/g, R).getRegex(), $t = k(Zt, "gu").replace(/notPunctSpace/g, qt).replace(/punctSpace/g, Kt).replace(/punct/g, Gt).getRegex(), en = k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, Ut).replace(/punctSpace/g, z).replace(/punct/g, R).getRegex(), tn = k(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, R).getRegex(), nn = k("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", "gu").replace(/notPunctSpace/g, Ut).replace(/punctSpace/g, z).replace(/punct/g, R).getRegex(), rn = k(/\\(punct)/, "gu").replace(/punct/g, R).getRegex(), an = k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), on = k(Nt).replace("(?:-->|$)", "-->").getRegex(), sn = k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", on).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), V = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/, cn = k(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", V).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), ln = k(/^!?\[(label)\]\[(ref)\]/).replace("label", V).replace("ref", P).getRegex(), un = k(/^!?\[(ref)\](?:\[\])?/).replace("ref", P).getRegex(), dn = k("reflink|nolink(?!\\()", "g").replace("reflink", ln).replace("nolink", un).getRegex(), fn = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, pn = {
1029
+ _backpedal: xt,
1030
+ anyPunctuation: rn,
1031
+ autolink: an,
1032
+ blockSkip: Jt,
1033
+ br: Vt,
1034
+ code: Bt,
1035
+ del: xt,
1036
+ delLDelim: xt,
1037
+ delRDelim: xt,
1038
+ emStrongLDelim: B,
1039
+ emStrongRDelimAst: Qt,
1040
+ emStrongRDelimUnd: en,
1041
+ escape: zt,
1042
+ link: cn,
1043
+ nolink: un,
1044
+ punctuation: Wt,
1045
+ reflink: ln,
1046
+ reflinkSearch: dn,
1047
+ tag: sn,
1048
+ text: Ht,
1049
+ url: xt
1050
+ }, mn = {
1051
+ ...pn,
1052
+ link: k(/^!?\[(label)\]\((.*?)\)/).replace("label", V).getRegex(),
1053
+ reflink: k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", V).getRegex()
1054
+ }, hn = {
1055
+ ...pn,
1056
+ emStrongRDelimAst: $t,
1057
+ emStrongLDelim: Xt,
1058
+ delLDelim: tn,
1059
+ delRDelim: nn,
1060
+ url: k(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", fn).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
997
1061
  _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
998
1062
  del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,
999
- text: j(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", on).getRegex()
1000
- }, un = {
1001
- ...ln,
1002
- br: j(Ft).replace("{2,}", "*").getRegex(),
1003
- text: j(ln.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
1004
- }, dn = {
1005
- normal: kt,
1006
- gfm: jt,
1007
- pedantic: Mt
1008
- }, fn = {
1009
- normal: sn,
1010
- gfm: ln,
1011
- breaks: un,
1012
- pedantic: cn
1013
- }, pn = {
1063
+ text: k(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", fn).getRegex()
1064
+ }, gn = {
1065
+ ...hn,
1066
+ br: k(Vt).replace("{2,}", "*").getRegex(),
1067
+ text: k(hn.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
1068
+ }, _n = {
1069
+ normal: L,
1070
+ gfm: Lt,
1071
+ pedantic: Rt
1072
+ }, H = {
1073
+ normal: pn,
1074
+ gfm: hn,
1075
+ breaks: gn,
1076
+ pedantic: mn
1077
+ }, vn = {
1014
1078
  "&": "&amp;",
1015
1079
  "<": "&lt;",
1016
1080
  ">": "&gt;",
1017
1081
  "\"": "&quot;",
1018
1082
  "'": "&#39;"
1019
- }, mn = (e) => pn[e];
1020
- function W(e, t) {
1083
+ }, yn = (e) => vn[e];
1084
+ function U(e, t) {
1021
1085
  if (t) {
1022
- if (M.escapeTest.test(e)) return e.replace(M.escapeReplace, mn);
1023
- } else if (M.escapeTestNoEncode.test(e)) return e.replace(M.escapeReplaceNoEncode, mn);
1086
+ if (A.escapeTest.test(e)) return e.replace(A.escapeReplace, yn);
1087
+ } else if (A.escapeTestNoEncode.test(e)) return e.replace(A.escapeReplaceNoEncode, yn);
1024
1088
  return e;
1025
1089
  }
1026
- function G(e) {
1090
+ function bn(e) {
1027
1091
  try {
1028
- e = encodeURI(e).replace(M.percentDecode, "%");
1092
+ e = encodeURI(e).replace(A.percentDecode, "%");
1029
1093
  } catch {
1030
1094
  return null;
1031
1095
  }
1032
1096
  return e;
1033
1097
  }
1034
- function hn(e, t) {
1035
- let n = e.replace(M.findPipe, (e, t, n) => {
1098
+ function xn(e, t) {
1099
+ let n = e.replace(A.findPipe, (e, t, n) => {
1036
1100
  let r = !1, i = t;
1037
1101
  for (; --i >= 0 && n[i] === "\\";) r = !r;
1038
1102
  return r ? "|" : " |";
1039
- }).split(M.splitPipe), r = 0;
1103
+ }).split(A.splitPipe), r = 0;
1040
1104
  if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), t) if (n.length > t) n.splice(t);
1041
1105
  else for (; n.length < t;) n.push("");
1042
- for (; r < n.length; r++) n[r] = n[r].trim().replace(M.slashPipe, "|");
1106
+ for (; r < n.length; r++) n[r] = n[r].trim().replace(A.slashPipe, "|");
1043
1107
  return n;
1044
1108
  }
1045
- function K(e, t, n) {
1109
+ function W(e, t, n) {
1046
1110
  let r = e.length;
1047
1111
  if (r === 0) return "";
1048
1112
  let i = 0;
@@ -1054,12 +1118,12 @@ function K(e, t, n) {
1054
1118
  }
1055
1119
  return e.slice(0, r - i);
1056
1120
  }
1057
- function q(e) {
1121
+ function Sn(e) {
1058
1122
  let t = e.split("\n"), n = t.length - 1;
1059
- for (; n >= 0 && M.blankLine.test(t[n]);) n--;
1123
+ for (; n >= 0 && A.blankLine.test(t[n]);) n--;
1060
1124
  return t.length - n <= 2 ? e : t.slice(0, n + 1).join("\n");
1061
1125
  }
1062
- function gn(e, t) {
1126
+ function Cn(e, t) {
1063
1127
  if (e.indexOf(t[1]) === -1) return -1;
1064
1128
  let n = 0;
1065
1129
  for (let r = 0; r < e.length; r++) if (e[r] === "\\") r++;
@@ -1067,7 +1131,7 @@ function gn(e, t) {
1067
1131
  else if (e[r] === t[1] && (n--, n < 0)) return r;
1068
1132
  return n > 0 ? -2 : -1;
1069
1133
  }
1070
- function _n(e, t = 0) {
1134
+ function wn(e, t = 0) {
1071
1135
  let n = t, r = "";
1072
1136
  for (let t of e) if (t === " ") {
1073
1137
  let e = 4 - n % 4;
@@ -1075,7 +1139,7 @@ function _n(e, t = 0) {
1075
1139
  } else r += t, n++;
1076
1140
  return r;
1077
1141
  }
1078
- function vn(e, t, n, r, i) {
1142
+ function Tn(e, t, n, r, i) {
1079
1143
  let a = t.href, o = t.title || null, s = e[1].replace(i.other.outputLinkReplace, "$1");
1080
1144
  r.state.inLink = !0;
1081
1145
  let c = {
@@ -1088,7 +1152,7 @@ function vn(e, t, n, r, i) {
1088
1152
  };
1089
1153
  return r.state.inLink = !1, c;
1090
1154
  }
1091
- function yn(e, t, n) {
1155
+ function En(e, t, n) {
1092
1156
  let r = e.match(n.other.indentCodeCompensation);
1093
1157
  if (r === null) return t;
1094
1158
  let i = r[1];
@@ -1099,12 +1163,12 @@ function yn(e, t, n) {
1099
1163
  return r.length >= i.length ? e.slice(i.length) : e;
1100
1164
  }).join("\n");
1101
1165
  }
1102
- var bn = class {
1166
+ var G = class {
1103
1167
  options;
1104
1168
  rules;
1105
1169
  lexer;
1106
1170
  constructor(e) {
1107
- this.options = e || k;
1171
+ this.options = e || yt;
1108
1172
  }
1109
1173
  space(e) {
1110
1174
  let t = this.rules.block.newline.exec(e);
@@ -1116,7 +1180,7 @@ var bn = class {
1116
1180
  code(e) {
1117
1181
  let t = this.rules.block.code.exec(e);
1118
1182
  if (t) {
1119
- let e = this.options.pedantic ? t[0] : q(t[0]);
1183
+ let e = this.options.pedantic ? t[0] : Sn(t[0]);
1120
1184
  return {
1121
1185
  type: "code",
1122
1186
  raw: e,
@@ -1128,7 +1192,7 @@ var bn = class {
1128
1192
  fences(e) {
1129
1193
  let t = this.rules.block.fences.exec(e);
1130
1194
  if (t) {
1131
- let e = t[0], n = yn(e, t[3] || "", this.rules);
1195
+ let e = t[0], n = En(e, t[3] || "", this.rules);
1132
1196
  return {
1133
1197
  type: "code",
1134
1198
  raw: e,
@@ -1142,12 +1206,12 @@ var bn = class {
1142
1206
  if (t) {
1143
1207
  let e = t[2].trim();
1144
1208
  if (this.rules.other.endingHash.test(e)) {
1145
- let t = K(e, "#");
1209
+ let t = W(e, "#");
1146
1210
  (this.options.pedantic || !t || this.rules.other.endingSpaceChar.test(t)) && (e = t.trim());
1147
1211
  }
1148
1212
  return {
1149
1213
  type: "heading",
1150
- raw: K(t[0], "\n"),
1214
+ raw: W(t[0], "\n"),
1151
1215
  depth: t[1].length,
1152
1216
  text: e,
1153
1217
  tokens: this.lexer.inline(e)
@@ -1158,13 +1222,13 @@ var bn = class {
1158
1222
  let t = this.rules.block.hr.exec(e);
1159
1223
  if (t) return {
1160
1224
  type: "hr",
1161
- raw: K(t[0], "\n")
1225
+ raw: W(t[0], "\n")
1162
1226
  };
1163
1227
  }
1164
1228
  blockquote(e) {
1165
1229
  let t = this.rules.block.blockquote.exec(e);
1166
1230
  if (t) {
1167
- let e = K(t[0], "\n").split("\n"), n = "", r = "", i = [];
1231
+ let e = W(t[0], "\n").split("\n"), n = "", r = "", i = [];
1168
1232
  for (; e.length > 0;) {
1169
1233
  let t = !1, a = [], o;
1170
1234
  for (o = 0; o < e.length; o++) if (this.rules.other.blockquoteStart.test(e[o])) a.push(e[o]), t = !0;
@@ -1214,7 +1278,7 @@ ${c}` : c;
1214
1278
  let n = !1, r = "", s = "";
1215
1279
  if (!(t = a.exec(e)) || this.rules.block.hr.test(e)) break;
1216
1280
  r = t[0], e = e.substring(r.length);
1217
- let c = _n(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
1281
+ let c = wn(t[2].split("\n", 1)[0], t[1].length), l = e.split("\n", 1)[0], u = !c.trim(), d = 0;
1218
1282
  if (this.options.pedantic ? (d = 2, s = c.trimStart()) : u ? d = t[1].length + 1 : (d = c.search(this.rules.other.nonSpaceChar), d = d > 4 ? 1 : d, s = c.slice(d), d += t[1].length), u && this.rules.other.blankLine.test(l) && (r += l + "\n", e = e.substring(l.length + 1), n = !0), !n) {
1219
1283
  let t = this.rules.other.nextBulletRegex(d), n = this.rules.other.hrRegex(d), i = this.rules.other.fencesBeginRegex(d), a = this.rules.other.headingBeginRegex(d), o = this.rules.other.htmlBeginRegex(d), f = this.rules.other.blockquoteBeginRegex(d);
1220
1284
  for (; e;) {
@@ -1280,7 +1344,7 @@ ${c}` : c;
1280
1344
  html(e) {
1281
1345
  let t = this.rules.block.html.exec(e);
1282
1346
  if (t) {
1283
- let e = q(t[0]);
1347
+ let e = Sn(t[0]);
1284
1348
  return {
1285
1349
  type: "html",
1286
1350
  block: !0,
@@ -1297,7 +1361,7 @@ ${c}` : c;
1297
1361
  return {
1298
1362
  type: "def",
1299
1363
  tag: e,
1300
- raw: K(t[0], "\n"),
1364
+ raw: W(t[0], "\n"),
1301
1365
  href: n,
1302
1366
  title: r
1303
1367
  };
@@ -1306,9 +1370,9 @@ ${c}` : c;
1306
1370
  table(e) {
1307
1371
  let t = this.rules.block.table.exec(e);
1308
1372
  if (!t || !this.rules.other.tableDelimiter.test(t[2])) return;
1309
- let n = hn(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
1373
+ let n = xn(t[1]), r = t[2].replace(this.rules.other.tableAlignChars, "").split("|"), i = t[3]?.trim() ? t[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [], a = {
1310
1374
  type: "table",
1311
- raw: K(t[0], "\n"),
1375
+ raw: W(t[0], "\n"),
1312
1376
  header: [],
1313
1377
  align: [],
1314
1378
  rows: []
@@ -1321,7 +1385,7 @@ ${c}` : c;
1321
1385
  header: !0,
1322
1386
  align: a.align[e]
1323
1387
  });
1324
- for (let e of i) a.rows.push(hn(e, a.header.length).map((e, t) => ({
1388
+ for (let e of i) a.rows.push(xn(e, a.header.length).map((e, t) => ({
1325
1389
  text: e,
1326
1390
  tokens: this.lexer.inline(e),
1327
1391
  header: !1,
@@ -1336,7 +1400,7 @@ ${c}` : c;
1336
1400
  let e = t[1].trim();
1337
1401
  return {
1338
1402
  type: "heading",
1339
- raw: K(t[0], "\n"),
1403
+ raw: W(t[0], "\n"),
1340
1404
  depth: t[2].charAt(0) === "=" ? 1 : 2,
1341
1405
  text: e,
1342
1406
  tokens: this.lexer.inline(e)
@@ -1389,10 +1453,10 @@ ${c}` : c;
1389
1453
  let e = t[2].trim();
1390
1454
  if (!this.options.pedantic && this.rules.other.startAngleBracket.test(e)) {
1391
1455
  if (!this.rules.other.endAngleBracket.test(e)) return;
1392
- let t = K(e.slice(0, -1), "\\");
1456
+ let t = W(e.slice(0, -1), "\\");
1393
1457
  if ((e.length - t.length) % 2 == 0) return;
1394
1458
  } else {
1395
- let e = gn(t[2], "()");
1459
+ let e = Cn(t[2], "()");
1396
1460
  if (e === -2) return;
1397
1461
  if (e > -1) {
1398
1462
  let n = (t[0].indexOf("!") === 0 ? 5 : 4) + t[1].length + e;
@@ -1404,7 +1468,7 @@ ${c}` : c;
1404
1468
  let e = this.rules.other.pedanticHrefTitle.exec(n);
1405
1469
  e && (n = e[1], r = e[3]);
1406
1470
  } else r = t[3] ? t[3].slice(1, -1) : "";
1407
- return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), vn(t, {
1471
+ return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (n = this.options.pedantic && !this.rules.other.endAngleBracket.test(e) ? n.slice(1) : n.slice(1, -1)), Tn(t, {
1408
1472
  href: n && n.replace(this.rules.inline.anyPunctuation, "$1"),
1409
1473
  title: r && r.replace(this.rules.inline.anyPunctuation, "$1")
1410
1474
  }, t[0], this.lexer, this.rules);
@@ -1422,7 +1486,7 @@ ${c}` : c;
1422
1486
  text: e
1423
1487
  };
1424
1488
  }
1425
- return vn(n, e, n[0], this.lexer, this.rules);
1489
+ return Tn(n, e, n[0], this.lexer, this.rules);
1426
1490
  }
1427
1491
  }
1428
1492
  emStrong(e, t, n = "") {
@@ -1554,29 +1618,29 @@ ${c}` : c;
1554
1618
  };
1555
1619
  }
1556
1620
  }
1557
- }, J = class e {
1621
+ }, K = class e {
1558
1622
  tokens;
1559
1623
  options;
1560
1624
  state;
1561
1625
  inlineQueue;
1562
1626
  tokenizer;
1563
1627
  constructor(e) {
1564
- this.tokens = [], this.tokens.links = Object.create(null), this.options = e || k, this.options.tokenizer = this.options.tokenizer || new bn(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
1628
+ this.tokens = [], this.tokens.links = Object.create(null), this.options = e || yt, this.options.tokenizer = this.options.tokenizer || new G(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = {
1565
1629
  inLink: !1,
1566
1630
  inRawBlock: !1,
1567
1631
  top: !0
1568
1632
  };
1569
1633
  let t = {
1570
- other: M,
1571
- block: dn.normal,
1572
- inline: fn.normal
1634
+ other: A,
1635
+ block: _n.normal,
1636
+ inline: H.normal
1573
1637
  };
1574
- this.options.pedantic ? (t.block = dn.pedantic, t.inline = fn.pedantic) : this.options.gfm && (t.block = dn.gfm, this.options.breaks ? t.inline = fn.breaks : t.inline = fn.gfm), this.tokenizer.rules = t;
1638
+ this.options.pedantic ? (t.block = _n.pedantic, t.inline = H.pedantic) : this.options.gfm && (t.block = _n.gfm, this.options.breaks ? t.inline = H.breaks : t.inline = H.gfm), this.tokenizer.rules = t;
1575
1639
  }
1576
1640
  static get rules() {
1577
1641
  return {
1578
- block: dn,
1579
- inline: fn
1642
+ block: _n,
1643
+ inline: H
1580
1644
  };
1581
1645
  }
1582
1646
  static lex(t, n) {
@@ -1586,7 +1650,7 @@ ${c}` : c;
1586
1650
  return new e(n).inlineTokens(t);
1587
1651
  }
1588
1652
  lex(e) {
1589
- e = e.replace(M.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
1653
+ e = e.replace(A.carriageReturn, "\n"), this.blockTokens(e, this.tokens);
1590
1654
  for (let e = 0; e < this.inlineQueue.length; e++) {
1591
1655
  let t = this.inlineQueue[e];
1592
1656
  this.inlineTokens(t.src, t.tokens);
@@ -1594,7 +1658,7 @@ ${c}` : c;
1594
1658
  return this.inlineQueue = [], this.tokens;
1595
1659
  }
1596
1660
  blockTokens(e, t = [], n = !1) {
1597
- this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(M.tabCharGlobal, " ").replace(M.spaceLine, ""));
1661
+ this.tokenizer.lexer = this, this.options.pedantic && (e = e.replace(A.tabCharGlobal, " ").replace(A.spaceLine, ""));
1598
1662
  let r = Infinity;
1599
1663
  for (; e;) {
1600
1664
  if (e.length < r) r = e.length;
@@ -1776,18 +1840,18 @@ ${c}` : c;
1776
1840
  if (this.options.silent) console.error(t);
1777
1841
  else throw Error(t);
1778
1842
  }
1779
- }, xn = class {
1843
+ }, q = class {
1780
1844
  options;
1781
1845
  parser;
1782
1846
  constructor(e) {
1783
- this.options = e || k;
1847
+ this.options = e || yt;
1784
1848
  }
1785
1849
  space(e) {
1786
1850
  return "";
1787
1851
  }
1788
1852
  code({ text: e, lang: t, escaped: n }) {
1789
- let r = (t || "").match(M.notSpaceStart)?.[0], i = e.replace(M.endingNewline, "") + "\n";
1790
- return r ? "<pre><code class=\"language-" + W(r) + "\">" + (n ? i : W(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : W(i, !0)) + "</code></pre>\n";
1853
+ let r = (t || "").match(A.notSpaceStart)?.[0], i = e.replace(A.endingNewline, "") + "\n";
1854
+ return r ? "<pre><code class=\"language-" + U(r) + "\">" + (n ? i : U(i, !0)) + "</code></pre>\n" : "<pre><code>" + (n ? i : U(i, !0)) + "</code></pre>\n";
1791
1855
  }
1792
1856
  blockquote({ tokens: e }) {
1793
1857
  return `<blockquote>
@@ -1857,7 +1921,7 @@ ${e}</tr>
1857
1921
  return `<em>${this.parser.parseInline(e)}</em>`;
1858
1922
  }
1859
1923
  codespan({ text: e }) {
1860
- return `<code>${W(e, !0)}</code>`;
1924
+ return `<code>${U(e, !0)}</code>`;
1861
1925
  }
1862
1926
  br(e) {
1863
1927
  return "<br>";
@@ -1866,24 +1930,24 @@ ${e}</tr>
1866
1930
  return `<del>${this.parser.parseInline(e)}</del>`;
1867
1931
  }
1868
1932
  link({ href: e, title: t, tokens: n }) {
1869
- let r = this.parser.parseInline(n), i = G(e);
1933
+ let r = this.parser.parseInline(n), i = bn(e);
1870
1934
  if (i === null) return r;
1871
1935
  e = i;
1872
1936
  let a = "<a href=\"" + e + "\"";
1873
- return t && (a += " title=\"" + W(t) + "\""), a += ">" + r + "</a>", a;
1937
+ return t && (a += " title=\"" + U(t) + "\""), a += ">" + r + "</a>", a;
1874
1938
  }
1875
1939
  image({ href: e, title: t, text: n, tokens: r }) {
1876
1940
  r && (n = this.parser.parseInline(r, this.parser.textRenderer));
1877
- let i = G(e);
1878
- if (i === null) return W(n);
1941
+ let i = bn(e);
1942
+ if (i === null) return U(n);
1879
1943
  e = i;
1880
- let a = `<img src="${e}" alt="${W(n)}"`;
1881
- return t && (a += ` title="${W(t)}"`), a += ">", a;
1944
+ let a = `<img src="${e}" alt="${U(n)}"`;
1945
+ return t && (a += ` title="${U(t)}"`), a += ">", a;
1882
1946
  }
1883
1947
  text(e) {
1884
- return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : W(e.text);
1948
+ return "tokens" in e && e.tokens ? this.parser.parseInline(e.tokens) : "escaped" in e && e.escaped ? e.text : U(e.text);
1885
1949
  }
1886
- }, Sn = class {
1950
+ }, J = class {
1887
1951
  strong({ text: e }) {
1888
1952
  return e;
1889
1953
  }
@@ -1919,7 +1983,7 @@ ${e}</tr>
1919
1983
  renderer;
1920
1984
  textRenderer;
1921
1985
  constructor(e) {
1922
- this.options = e || k, this.options.renderer = this.options.renderer || new xn(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new Sn();
1986
+ this.options = e || yt, this.options.renderer = this.options.renderer || new q(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new J();
1923
1987
  }
1924
1988
  static parse(t, n) {
1925
1989
  return new e(n).parse(t);
@@ -2069,7 +2133,7 @@ ${e}</tr>
2069
2133
  options;
2070
2134
  block;
2071
2135
  constructor(e) {
2072
- this.options = e || k;
2136
+ this.options = e || yt;
2073
2137
  }
2074
2138
  static passThroughHooks = /* @__PURE__ */ new Set([
2075
2139
  "preprocess",
@@ -2095,21 +2159,21 @@ ${e}</tr>
2095
2159
  return e;
2096
2160
  }
2097
2161
  provideLexer(e = this.block) {
2098
- return e ? J.lex : J.lexInline;
2162
+ return e ? K.lex : K.lexInline;
2099
2163
  }
2100
2164
  provideParser(e = this.block) {
2101
2165
  return e ? Y.parse : Y.parseInline;
2102
2166
  }
2103
- }, Z = new class {
2104
- defaults = mt();
2167
+ }, Dn = new class {
2168
+ defaults = vt();
2105
2169
  options = this.setOptions;
2106
2170
  parse = this.parseMarkdown(!0);
2107
2171
  parseInline = this.parseMarkdown(!1);
2108
2172
  Parser = Y;
2109
- Renderer = xn;
2110
- TextRenderer = Sn;
2111
- Lexer = J;
2112
- Tokenizer = bn;
2173
+ Renderer = q;
2174
+ TextRenderer = J;
2175
+ Lexer = K;
2176
+ Tokenizer = G;
2113
2177
  Hooks = X;
2114
2178
  constructor(...e) {
2115
2179
  this.use(...e);
@@ -2161,7 +2225,7 @@ ${e}</tr>
2161
2225
  }
2162
2226
  "childTokens" in e && e.childTokens && (t.childTokens[e.name] = e.childTokens);
2163
2227
  }), n.extensions = t), e.renderer) {
2164
- let t = this.defaults.renderer || new xn(this.defaults);
2228
+ let t = this.defaults.renderer || new q(this.defaults);
2165
2229
  for (let n in e.renderer) {
2166
2230
  if (!(n in t)) throw Error(`renderer '${n}' does not exist`);
2167
2231
  if (["options", "parser"].includes(n)) continue;
@@ -2174,7 +2238,7 @@ ${e}</tr>
2174
2238
  n.renderer = t;
2175
2239
  }
2176
2240
  if (e.tokenizer) {
2177
- let t = this.defaults.tokenizer || new bn(this.defaults);
2241
+ let t = this.defaults.tokenizer || new G(this.defaults);
2178
2242
  for (let n in e.tokenizer) {
2179
2243
  if (!(n in t)) throw Error(`tokenizer '${n}' does not exist`);
2180
2244
  if ([
@@ -2234,7 +2298,7 @@ ${e}</tr>
2234
2298
  }, this;
2235
2299
  }
2236
2300
  lexer(e, t) {
2237
- return J.lex(e, t ?? this.defaults);
2301
+ return K.lex(e, t ?? this.defaults);
2238
2302
  }
2239
2303
  parser(e, t) {
2240
2304
  return Y.parse(e, t ?? this.defaults);
@@ -2249,14 +2313,14 @@ ${e}</tr>
2249
2313
  if (typeof t > "u" || t === null) return a(/* @__PURE__ */ Error("marked(): input parameter is undefined or null"));
2250
2314
  if (typeof t != "string") return a(/* @__PURE__ */ Error("marked(): input parameter is of type " + Object.prototype.toString.call(t) + ", string expected"));
2251
2315
  if (i.hooks && (i.hooks.options = i, i.hooks.block = e), i.async) return (async () => {
2252
- let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer(e) : e ? J.lex : J.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
2316
+ let n = i.hooks ? await i.hooks.preprocess(t) : t, r = await (i.hooks ? await i.hooks.provideLexer(e) : e ? K.lex : K.lexInline)(n, i), a = i.hooks ? await i.hooks.processAllTokens(r) : r;
2253
2317
  i.walkTokens && await Promise.all(this.walkTokens(a, i.walkTokens));
2254
2318
  let o = await (i.hooks ? await i.hooks.provideParser(e) : e ? Y.parse : Y.parseInline)(a, i);
2255
2319
  return i.hooks ? await i.hooks.postprocess(o) : o;
2256
2320
  })().catch(a);
2257
2321
  try {
2258
2322
  i.hooks && (t = i.hooks.preprocess(t));
2259
- let n = (i.hooks ? i.hooks.provideLexer(e) : e ? J.lex : J.lexInline)(t, i);
2323
+ let n = (i.hooks ? i.hooks.provideLexer(e) : e ? K.lex : K.lexInline)(t, i);
2260
2324
  i.hooks && (n = i.hooks.processAllTokens(n)), i.walkTokens && this.walkTokens(n, i.walkTokens);
2261
2325
  let r = (i.hooks ? i.hooks.provideParser(e) : e ? Y.parse : Y.parseInline)(n, i);
2262
2326
  return i.hooks && (r = i.hooks.postprocess(r)), r;
@@ -2268,7 +2332,7 @@ ${e}</tr>
2268
2332
  onError(e, t) {
2269
2333
  return (n) => {
2270
2334
  if (n.message += "\nPlease report this to https://github.com/markedjs/marked.", e) {
2271
- let e = "<p>An error occurred:</p><pre>" + W(n.message + "", !0) + "</pre>";
2335
+ let e = "<p>An error occurred:</p><pre>" + U(n.message + "", !0) + "</pre>";
2272
2336
  return t ? Promise.resolve(e) : e;
2273
2337
  }
2274
2338
  if (t) return Promise.reject(n);
@@ -2276,24 +2340,77 @@ ${e}</tr>
2276
2340
  };
2277
2341
  }
2278
2342
  }();
2279
- function Q(e, t) {
2280
- return Z.parse(e, t);
2281
- }
2282
- Q.options = Q.setOptions = function(e) {
2283
- return Z.setOptions(e), Q.defaults = Z.defaults, ht(Q.defaults), Q;
2284
- }, Q.getDefaults = mt, Q.defaults = k, Q.use = function(...e) {
2285
- return Z.use(...e), Q.defaults = Z.defaults, ht(Q.defaults), Q;
2286
- }, Q.walkTokens = function(e, t) {
2287
- return Z.walkTokens(e, t);
2288
- }, Q.parseInline = Z.parseInline, Q.Parser = Y, Q.parser = Y.parse, Q.Renderer = xn, Q.TextRenderer = Sn, Q.Lexer = J, Q.lexer = J.lex, Q.Tokenizer = bn, Q.Hooks = X, Q.parse = Q, Q.options, Q.setOptions, Q.use, Q.walkTokens, Q.parseInline, Y.parse, J.lex;
2343
+ function Z(e, t) {
2344
+ return Dn.parse(e, t);
2345
+ }
2346
+ Z.options = Z.setOptions = function(e) {
2347
+ return Dn.setOptions(e), Z.defaults = Dn.defaults, bt(Z.defaults), Z;
2348
+ }, Z.getDefaults = vt, Z.defaults = yt, Z.use = function(...e) {
2349
+ return Dn.use(...e), Z.defaults = Dn.defaults, bt(Z.defaults), Z;
2350
+ }, Z.walkTokens = function(e, t) {
2351
+ return Dn.walkTokens(e, t);
2352
+ }, Z.parseInline = Dn.parseInline, Z.Parser = Y, Z.parser = Y.parse, Z.Renderer = q, Z.TextRenderer = J, Z.Lexer = K, Z.lexer = K.lex, Z.Tokenizer = G, Z.Hooks = X, Z.parse = Z, Z.options, Z.setOptions, Z.use, Z.walkTokens, Z.parseInline, Y.parse, K.lex;
2289
2353
  //#endregion
2290
2354
  //#region src/components/ai-chat/ai-chat.module.scss?inline
2291
- var Cn = ":host{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex}:host .chat-container{background:var(--luzmo-ai-chat-background,var(--ai-chat-background));border-radius:var(--luzmo-ai-chat-border-radius,var(--ai-chat-border-radius));width:100%;height:100%;min-height:0;padding:var(--luzmo-ai-chat-padding,var(--ai-chat-padding));gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));border:var(--luzmo-ai-chat-border,var(--ai-chat-border));box-shadow:var(--luzmo-ai-chat-box-shadow,var(--ai-chat-box-shadow));box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden}:host .chat-messages-container{gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}:host .chat-messages-container luzmo-ai-chat-empty-state{flex:1;min-height:0}:host .chat-messages-container::-webkit-scrollbar{width:var(--luzmo-ai-chat-scrollbar-width,var(--ai-chat-scrollbar-width))}:host .chat-messages-container::-webkit-scrollbar-track{background:var(--luzmo-ai-chat-scrollbar-track-background,var(--ai-chat-scrollbar-track-background));border-radius:var(--luzmo-ai-chat-scrollbar-track-border-radius,var(--ai-chat-scrollbar-track-border-radius))}:host .chat-messages-container::-webkit-scrollbar-thumb{background:var(--luzmo-ai-chat-scrollbar-thumb-background,var(--ai-chat-scrollbar-thumb-background));border-radius:var(--luzmo-ai-chat-scrollbar-thumb-border-radius,var(--ai-chat-scrollbar-thumb-border-radius))}:host .chat-messages-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-ai-chat-scrollbar-thumb-hover-background,var(--ai-chat-scrollbar-thumb-hover-background))}:host .chat-messages-container{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-ai-chat-scrollbar-thumb-background,var(--ai-chat-scrollbar-thumb-background)) var(--luzmo-ai-chat-scrollbar-track-background,var(--ai-chat-scrollbar-track-background))}:host luzmo-chat-message{--luzmo-primary:rgba(var(--luzmo-primary-rgb), .08);--chat-message-primary-text-color:var(--luzmo-font-color);--chat-message-primary-border-color:transparent}:host luzmo-chat-message.error{color:var(--luzmo-ai-chat-error-message-color,var(--ai-chat-error-message-color))}:host luzmo-chat-message.cancelled{color:var(--luzmo-ai-chat-cancelled-message-color,var(--ai-chat-cancelled-message-color));font-style:italic}:host .user-message-content{gap:var(--luzmo-spacing-3,8px);flex-direction:column;display:flex}:host .user-message-attachments{gap:var(--luzmo-spacing-2,4px);flex-wrap:wrap;display:flex}:host .user-message-attachment{width:var(--luzmo-ai-chat-user-message-attachment-size,var(--ai-chat-user-message-attachment-size));height:var(--luzmo-ai-chat-user-message-attachment-size,var(--ai-chat-user-message-attachment-size));object-fit:cover;object-position:center;border-radius:var(--luzmo-border-radius-s,4px);pointer-events:none;display:block}:host .user-message-text{white-space:pre-wrap;overflow-wrap:anywhere}:host .markdown-content{line-height:var(--luzmo-ai-chat-markdown-line-height,var(--ai-chat-markdown-line-height))}:host .markdown-content>:first-child{margin-top:0}:host .markdown-content>:last-child{margin-bottom:0}:host .markdown-content p,:host .markdown-content ul,:host .markdown-content ol,:host .markdown-content blockquote,:host .markdown-content pre,:host .markdown-content table{margin:0 0 var(--luzmo-ai-chat-markdown-spacing,var(--ai-chat-markdown-spacing))}:host .markdown-content h1,:host .markdown-content h2,:host .markdown-content h3,:host .markdown-content h4,:host .markdown-content h5,:host .markdown-content h6{margin:var(--luzmo-ai-chat-markdown-heading-spacing,var(--ai-chat-markdown-heading-spacing)) 0 var(--luzmo-ai-chat-markdown-spacing,var(--ai-chat-markdown-spacing));font-weight:var(--luzmo-ai-chat-markdown-heading-font-weight,var(--ai-chat-markdown-heading-font-weight))}:host .markdown-content ul,:host .markdown-content ol{padding-inline-start:var(--luzmo-ai-chat-markdown-list-indent,var(--ai-chat-markdown-list-indent))}:host .markdown-content a{color:var(--luzmo-ai-chat-markdown-link-color,var(--ai-chat-markdown-link-color))}:host .markdown-content code{font-family:var(--luzmo-ai-chat-markdown-code-font-family,var(--ai-chat-markdown-code-font-family));font-size:var(--luzmo-ai-chat-markdown-code-font-size,var(--ai-chat-markdown-code-font-size));background:var(--luzmo-ai-chat-markdown-code-background,var(--ai-chat-markdown-code-background));border-radius:var(--luzmo-ai-chat-markdown-code-border-radius,var(--ai-chat-markdown-code-border-radius));padding:.1em .3em}:host .markdown-content pre{background:var(--luzmo-ai-chat-markdown-code-background,var(--ai-chat-markdown-code-background));border-radius:var(--luzmo-ai-chat-markdown-code-border-radius,var(--ai-chat-markdown-code-border-radius));padding:.75em 1em;overflow-x:auto}:host .markdown-content pre code{background:0 0;padding:0}:host .markdown-content blockquote{border-inline-start:.1875rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));padding-inline-start:.75rem}:host .markdown-content hr{border:0;border-top:.0625rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));margin:var(--luzmo-ai-chat-markdown-heading-spacing,var(--ai-chat-markdown-heading-spacing)) 0}:host .markdown-content table{border-collapse:collapse;width:100%}:host .markdown-content th,:host .markdown-content td{border:.0625rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));text-align:start;padding:.375rem .625rem}:host .markdown-content th{background:var(--luzmo-ai-chat-markdown-table-header-background,var(--ai-chat-markdown-table-header-background));font-weight:600}:host .assistant-message-wrapper{gap:var(--luzmo-ai-chat-assistant-message-actions-margin-top,var(--ai-chat-assistant-message-actions-margin-top));font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));--chat-message-font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));--luzmo-chat-message-font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));--chat-message-font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));--luzmo-chat-message-font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));--chat-message-line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));--luzmo-chat-message-line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));flex-direction:column;display:flex}:host .assistant-message-body{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}:host .assistant-message-actions{align-items:center;gap:var(--luzmo-ai-chat-assistant-message-actions-gap,var(--ai-chat-assistant-message-actions-gap));flex-wrap:wrap;display:none}:host .assistant-message-actions.assistant-message-actions--has-content{display:flex}:host .assistant-message-actions.assistant-message-actions--confirming{flex-direction:column;align-items:flex-start}:host .assistant-message-actions .assistant-message-action-confirm-message{font-style:var(--luzmo-ai-chat-assistant-message-actions-font-style,var(--ai-chat-assistant-message-actions-font-style));color:var(--luzmo-ai-chat-assistant-message-actions-color,var(--ai-chat-assistant-message-actions-color));white-space:pre-line}:host .assistant-message-actions .assistant-message-action-confirm-controls{align-items:center;gap:var(--luzmo-ai-chat-assistant-message-actions-gap,var(--ai-chat-assistant-message-actions-gap));flex-wrap:wrap;display:flex}:host .assistant-message-actions luzmo-button.assistant-message-action,:host .assistant-message-actions slot::slotted(luzmo-button),:host .assistant-message-actions slot::slotted(button),:host .assistant-message-actions slot::slotted(a),:host .assistant-message-actions slot::slotted(input),:host .assistant-message-actions slot::slotted(select),:host .assistant-message-actions slot::slotted(textarea){font-style:normal}:host .assistant-message-actions slot::slotted(:not(luzmo-button):not(button):not(a):not(input):not(select):not(textarea)){font-style:var(--luzmo-ai-chat-assistant-message-actions-font-style,var(--ai-chat-assistant-message-actions-font-style));color:var(--luzmo-ai-chat-assistant-message-actions-color,var(--ai-chat-assistant-message-actions-color))}:host .assistant-context-menu-trigger{width:var(--luzmo-ai-chat-context-menu-trigger-size,var(--ai-chat-context-menu-trigger-size));height:var(--luzmo-ai-chat-context-menu-trigger-size,var(--ai-chat-context-menu-trigger-size));border:.0625rem solid var(--luzmo-ai-chat-context-menu-trigger-border-color,var(--ai-chat-context-menu-trigger-border-color));border-radius:var(--luzmo-ai-chat-context-menu-trigger-border-radius,var(--ai-chat-context-menu-trigger-border-radius));background:var(--luzmo-ai-chat-context-menu-trigger-background,var(--ai-chat-context-menu-trigger-background));color:var(--luzmo-ai-chat-context-menu-trigger-color,var(--ai-chat-context-menu-trigger-color));cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:.875rem;line-height:1;transition:all .15s;display:inline-flex}:host .assistant-context-menu-trigger:hover{background:var(--luzmo-ai-chat-context-menu-trigger-hover-background,var(--ai-chat-context-menu-trigger-hover-background));border-color:var(--luzmo-ai-chat-context-menu-trigger-hover-border-color,var(--ai-chat-context-menu-trigger-hover-border-color));color:var(--luzmo-ai-chat-context-menu-trigger-hover-color,var(--ai-chat-context-menu-trigger-hover-color))}:host .assistant-context-menu-trigger:disabled{cursor:not-allowed;opacity:.6}:host .assistant-context-menu-trigger:disabled:hover{background:var(--luzmo-ai-chat-context-menu-trigger-background,var(--ai-chat-context-menu-trigger-background));border-color:var(--luzmo-ai-chat-context-menu-trigger-border-color,var(--ai-chat-context-menu-trigger-border-color));color:var(--luzmo-ai-chat-context-menu-trigger-color,var(--ai-chat-context-menu-trigger-color))}:host .assistant-context-menu-item{width:100%;color:var(--luzmo-font-color);text-align:start;cursor:pointer;font-family:var(--luzmo-ai-chat-context-menu-item-font-family,var(--ai-chat-context-menu-item-font-family));background:0 0;border:0;padding:.5rem .75rem}:host .assistant-context-menu-item:hover{background:var(--luzmo-ai-chat-context-menu-item-hover-background,var(--ai-chat-context-menu-item-hover-background))}:host .assistant-context-menu-item:disabled{opacity:.4;cursor:not-allowed}:host .assistant-context-menu-item:disabled:hover{background:0 0}:host luzmo-ai-interaction-textarea{flex-grow:0;flex-shrink:0}:host luzmo-progress-steps{padding:0 .25rem}:host .loading-message{color:var(--luzmo-font-color);align-items:center;gap:.5rem;display:flex}:host .loading-message svg{color:var(--luzmo-ai-chat-loading-message-color,var(--ai-chat-loading-message-color));font-size:var(--luzmo-ai-chat-loading-message-icon-font-size,var(--ai-chat-loading-message-icon-font-size,1rem));justify-content:center;align-items:center;display:flex}:host .loading-message svg.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){:host .assistant-context-menu-trigger{transition:none}:host .loading-message svg.spin{animation:none}}:host{--ai-chat-background:var(--luzmo-background-color);--ai-chat-border-radius:0;--ai-chat-padding:0;--ai-chat-gap:1rem;--ai-chat-border:none;--ai-chat-box-shadow:none;--ai-chat-loading-message-color:var(--luzmo-primary);--ai-chat-loading-message-icon-font-size:1rem;--ai-chat-error-message-color:var(--luzmo-danger,#dc3545);--ai-chat-cancelled-message-color:var(--luzmo-font-color-dimmed,var(--luzmo-font-color-extra-dimmed));--ai-chat-scrollbar-width:var(--luzmo-scrollbar-size);--ai-chat-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--ai-chat-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--ai-chat-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--ai-chat-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--ai-chat-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--ai-chat-context-menu-trigger-size:1.5rem;--ai-chat-context-menu-trigger-border-color:var(--luzmo-border-color);--ai-chat-context-menu-trigger-border-radius:.375rem;--ai-chat-context-menu-trigger-background:var(--luzmo-background-color,transparent);--ai-chat-context-menu-trigger-color:var(--luzmo-font-color,#5a5a5a);--ai-chat-context-menu-trigger-hover-background:var(--luzmo-background-color-hover,#4434ff14);--ai-chat-context-menu-trigger-hover-border-color:var(--luzmo-border-color-hover,var(--luzmo-border-color));--ai-chat-context-menu-trigger-hover-color:var(--luzmo-font-color,#5a5a5a);--ai-chat-context-menu-item-hover-background:var(--luzmo-background-color-hover,#4434ff14);--ai-chat-context-menu-item-font-family:var(--luzmo-font-family);--ai-chat-markdown-line-height:1.5;--ai-chat-markdown-spacing:var(--luzmo-spacing-3);--ai-chat-markdown-heading-spacing:var(--luzmo-spacing-4);--ai-chat-markdown-heading-font-weight:var(--luzmo-font-weight-bold);--ai-chat-markdown-list-indent:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-3));--ai-chat-markdown-link-color:var(--luzmo-primary);--ai-chat-markdown-code-font-family:var(--luzmo-font-family-mono,ui-monospace, monospace);--ai-chat-markdown-code-font-size:.875em;--ai-chat-markdown-code-background:var(--luzmo-background-color-highlight);--ai-chat-markdown-code-border-radius:var(--luzmo-border-radius-s);--ai-chat-markdown-border-color:var(--luzmo-border-color);--ai-chat-markdown-table-header-background:var(--luzmo-background-color-highlight);--ai-chat-assistant-message-actions-gap:var(--luzmo-spacing-2);--ai-chat-assistant-message-actions-margin-top:var(--luzmo-spacing-3);--ai-chat-assistant-message-actions-color:var(--luzmo-font-color-extra-dimmed);--ai-chat-assistant-message-actions-font-style:italic;--ai-chat-assistant-message-font-family:var(--luzmo-font-family);--ai-chat-assistant-message-font-size:var(--luzmo-font-size-s,12px);--ai-chat-assistant-message-line-height:var(--ai-chat-markdown-line-height);--ai-chat-user-message-attachment-size:64px}", wn = ":host{box-sizing:border-box;width:100%;min-height:0;padding-block:var(--luzmo-ai-chat-empty-state-padding-block,var(--ai-chat-empty-state-padding-block));padding-inline:var(--luzmo-ai-chat-empty-state-padding-inline,var(--ai-chat-empty-state-padding-inline));flex:1;justify-content:center;align-items:center;display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--luzmo-ai-chat-empty-state-header-actions-gap,var(--ai-chat-empty-state-header-actions-gap));width:100%;max-width:var(--luzmo-ai-chat-empty-state-max-width,var(--ai-chat-empty-state-max-width));text-align:center;flex-direction:column;display:flex}.header{flex-direction:column;align-items:center;width:100%;display:flex}.actions{align-items:center;gap:var(--luzmo-ai-chat-empty-state-actions-gap,var(--ai-chat-empty-state-actions-gap));flex-direction:column;width:100%;display:flex}.title{font-family:var(--luzmo-font-family);font-size:var(--luzmo-ai-chat-empty-state-title-font-size,var(--ai-chat-empty-state-title-font-size));font-weight:var(--luzmo-ai-chat-empty-state-title-font-weight,var(--ai-chat-empty-state-title-font-weight));line-height:var(--luzmo-ai-chat-empty-state-title-line-height,var(--ai-chat-empty-state-title-line-height));color:var(--luzmo-ai-chat-empty-state-title-color,var(--ai-chat-empty-state-title-color));text-wrap:balance;margin:0}.subtitle{font-family:var(--luzmo-font-family);font-size:var(--luzmo-ai-chat-empty-state-subtitle-font-size,var(--ai-chat-empty-state-subtitle-font-size));font-weight:var(--luzmo-ai-chat-empty-state-subtitle-font-weight,var(--ai-chat-empty-state-subtitle-font-weight));line-height:var(--luzmo-ai-chat-empty-state-subtitle-line-height,var(--ai-chat-empty-state-subtitle-line-height));color:var(--luzmo-ai-chat-empty-state-subtitle-color,var(--ai-chat-empty-state-subtitle-color));margin:0}.suggestions{justify-content:center;align-items:center;gap:var(--luzmo-ai-chat-empty-state-suggestions-gap,var(--ai-chat-empty-state-suggestions-gap));flex-wrap:wrap;width:100%;display:flex}luzmo-action-button{max-width:100%}:host{--ai-chat-empty-state-header-actions-gap:1.5rem;--ai-chat-empty-state-actions-gap:var(--luzmo-spacing-4);--ai-chat-empty-state-suggestions-gap:var(--luzmo-spacing-3);--ai-chat-empty-state-max-width:22.5rem;--ai-chat-empty-state-padding-block:2rem;--ai-chat-empty-state-padding-inline:var(--luzmo-spacing-5);--ai-chat-empty-state-title-font-size:var(--luzmo-font-size-l);--ai-chat-empty-state-title-font-weight:var(--luzmo-font-weight);--ai-chat-empty-state-title-line-height:1.4;--ai-chat-empty-state-title-color:var(--luzmo-font-color-hard);--ai-chat-empty-state-subtitle-font-size:var(--luzmo-font-size-s);--ai-chat-empty-state-subtitle-font-weight:var(--luzmo-font-weight);--ai-chat-empty-state-subtitle-line-height:var(--luzmo-line-height);--ai-chat-empty-state-subtitle-color:var(--luzmo-font-color-dimmed,var(--luzmo-font-color-extra-dimmed))}", Tn = class extends i {
2355
+ var On = ":host{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex}:host .chat-container{background:var(--luzmo-ai-chat-background,var(--ai-chat-background));border-radius:var(--luzmo-ai-chat-border-radius,var(--ai-chat-border-radius));width:100%;height:100%;min-height:0;padding:var(--luzmo-ai-chat-padding,var(--ai-chat-padding));gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));border:var(--luzmo-ai-chat-border,var(--ai-chat-border));box-shadow:var(--luzmo-ai-chat-box-shadow,var(--ai-chat-box-shadow));box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden}:host .chat-messages-container{gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}:host .chat-messages-container luzmo-ai-chat-empty-state{flex:1;min-height:0}:host .chat-messages-container::-webkit-scrollbar{width:var(--luzmo-ai-chat-scrollbar-width,var(--ai-chat-scrollbar-width))}:host .chat-messages-container::-webkit-scrollbar-track{background:var(--luzmo-ai-chat-scrollbar-track-background,var(--ai-chat-scrollbar-track-background));border-radius:var(--luzmo-ai-chat-scrollbar-track-border-radius,var(--ai-chat-scrollbar-track-border-radius))}:host .chat-messages-container::-webkit-scrollbar-thumb{background:var(--luzmo-ai-chat-scrollbar-thumb-background,var(--ai-chat-scrollbar-thumb-background));border-radius:var(--luzmo-ai-chat-scrollbar-thumb-border-radius,var(--ai-chat-scrollbar-thumb-border-radius))}:host .chat-messages-container::-webkit-scrollbar-thumb:hover{background:var(--luzmo-ai-chat-scrollbar-thumb-hover-background,var(--ai-chat-scrollbar-thumb-hover-background))}:host .chat-messages-container{scrollbar-width:var(--luzmo-scrollbar-width,thin);scrollbar-color:var(--luzmo-ai-chat-scrollbar-thumb-background,var(--ai-chat-scrollbar-thumb-background)) var(--luzmo-ai-chat-scrollbar-track-background,var(--ai-chat-scrollbar-track-background))}:host luzmo-chat-message{--luzmo-primary:rgba(var(--luzmo-primary-rgb), .08);--chat-message-primary-text-color:var(--luzmo-font-color);--chat-message-primary-border-color:transparent}:host luzmo-chat-message.error{color:var(--luzmo-ai-chat-error-message-color,var(--ai-chat-error-message-color))}:host luzmo-chat-message.cancelled{color:var(--luzmo-ai-chat-cancelled-message-color,var(--ai-chat-cancelled-message-color));font-style:italic}:host .user-message-content{gap:var(--luzmo-spacing-3,8px);flex-direction:column;display:flex}:host .user-message-attachments{gap:var(--luzmo-spacing-2,4px);flex-wrap:wrap;display:flex}:host .user-message-attachment{width:var(--luzmo-ai-chat-user-message-attachment-size,var(--ai-chat-user-message-attachment-size));height:var(--luzmo-ai-chat-user-message-attachment-size,var(--ai-chat-user-message-attachment-size));object-fit:cover;object-position:center;border-radius:var(--luzmo-border-radius-s,4px);pointer-events:none;display:block}:host .user-message-text{white-space:pre-wrap;overflow-wrap:anywhere}:host .markdown-content{line-height:var(--luzmo-ai-chat-markdown-line-height,var(--ai-chat-markdown-line-height))}:host .markdown-content>:first-child{margin-top:0}:host .markdown-content>:last-child{margin-bottom:0}:host .markdown-content p,:host .markdown-content ul,:host .markdown-content ol,:host .markdown-content blockquote,:host .markdown-content pre,:host .markdown-content table{margin:0 0 var(--luzmo-ai-chat-markdown-spacing,var(--ai-chat-markdown-spacing))}:host .markdown-content h1,:host .markdown-content h2,:host .markdown-content h3,:host .markdown-content h4,:host .markdown-content h5,:host .markdown-content h6{margin:var(--luzmo-ai-chat-markdown-heading-spacing,var(--ai-chat-markdown-heading-spacing)) 0 var(--luzmo-ai-chat-markdown-spacing,var(--ai-chat-markdown-spacing));font-weight:var(--luzmo-ai-chat-markdown-heading-font-weight,var(--ai-chat-markdown-heading-font-weight))}:host .markdown-content ul,:host .markdown-content ol{padding-inline-start:var(--luzmo-ai-chat-markdown-list-indent,var(--ai-chat-markdown-list-indent))}:host .markdown-content a{color:var(--luzmo-ai-chat-markdown-link-color,var(--ai-chat-markdown-link-color))}:host .markdown-content code{font-family:var(--luzmo-ai-chat-markdown-code-font-family,var(--ai-chat-markdown-code-font-family));font-size:var(--luzmo-ai-chat-markdown-code-font-size,var(--ai-chat-markdown-code-font-size));background:var(--luzmo-ai-chat-markdown-code-background,var(--ai-chat-markdown-code-background));border-radius:var(--luzmo-ai-chat-markdown-code-border-radius,var(--ai-chat-markdown-code-border-radius));padding:.1em .3em}:host .markdown-content pre{background:var(--luzmo-ai-chat-markdown-code-background,var(--ai-chat-markdown-code-background));border-radius:var(--luzmo-ai-chat-markdown-code-border-radius,var(--ai-chat-markdown-code-border-radius));padding:.75em 1em;overflow-x:auto}:host .markdown-content pre code{background:0 0;padding:0}:host .markdown-content blockquote{border-inline-start:.1875rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));padding-inline-start:.75rem}:host .markdown-content hr{border:0;border-top:.0625rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));margin:var(--luzmo-ai-chat-markdown-heading-spacing,var(--ai-chat-markdown-heading-spacing)) 0}:host .markdown-content table{border-collapse:collapse;width:100%}:host .markdown-content th,:host .markdown-content td{border:.0625rem solid var(--luzmo-ai-chat-markdown-border-color,var(--ai-chat-markdown-border-color));text-align:start;padding:.375rem .625rem}:host .markdown-content th{background:var(--luzmo-ai-chat-markdown-table-header-background,var(--ai-chat-markdown-table-header-background));font-weight:600}:host .assistant-message-wrapper{gap:var(--luzmo-ai-chat-assistant-message-actions-margin-top,var(--ai-chat-assistant-message-actions-margin-top));font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));--chat-message-font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));--luzmo-chat-message-font-family:var(--luzmo-ai-chat-assistant-message-font-family,var(--ai-chat-assistant-message-font-family));--chat-message-font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));--luzmo-chat-message-font-size:var(--luzmo-ai-chat-assistant-message-font-size,var(--ai-chat-assistant-message-font-size));--chat-message-line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));--luzmo-chat-message-line-height:var(--luzmo-ai-chat-assistant-message-line-height,var(--ai-chat-assistant-message-line-height));flex-direction:column;display:flex}:host .assistant-message-body{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}:host .assistant-message-actions{align-items:center;gap:var(--luzmo-ai-chat-assistant-message-actions-gap,var(--ai-chat-assistant-message-actions-gap));flex-wrap:wrap;display:none}:host .assistant-message-actions.assistant-message-actions--has-content{display:flex}:host .assistant-message-actions.assistant-message-actions--confirming{flex-direction:column;align-items:flex-start}:host .assistant-message-actions .assistant-message-action-confirm-message{font-style:var(--luzmo-ai-chat-assistant-message-actions-font-style,var(--ai-chat-assistant-message-actions-font-style));color:var(--luzmo-ai-chat-assistant-message-actions-color,var(--ai-chat-assistant-message-actions-color));white-space:pre-line}:host .assistant-message-actions .assistant-message-action-confirm-controls{align-items:center;gap:var(--luzmo-ai-chat-assistant-message-actions-gap,var(--ai-chat-assistant-message-actions-gap));flex-wrap:wrap;display:flex}:host .assistant-message-actions luzmo-button.assistant-message-action,:host .assistant-message-actions slot::slotted(luzmo-button),:host .assistant-message-actions slot::slotted(button),:host .assistant-message-actions slot::slotted(a),:host .assistant-message-actions slot::slotted(input),:host .assistant-message-actions slot::slotted(select),:host .assistant-message-actions slot::slotted(textarea){font-style:normal}:host .assistant-message-actions slot::slotted(:not(luzmo-button):not(button):not(a):not(input):not(select):not(textarea)){font-style:var(--luzmo-ai-chat-assistant-message-actions-font-style,var(--ai-chat-assistant-message-actions-font-style));color:var(--luzmo-ai-chat-assistant-message-actions-color,var(--ai-chat-assistant-message-actions-color))}:host .assistant-context-menu-trigger{width:var(--luzmo-ai-chat-context-menu-trigger-size,var(--ai-chat-context-menu-trigger-size));height:var(--luzmo-ai-chat-context-menu-trigger-size,var(--ai-chat-context-menu-trigger-size));border:.0625rem solid var(--luzmo-ai-chat-context-menu-trigger-border-color,var(--ai-chat-context-menu-trigger-border-color));border-radius:var(--luzmo-ai-chat-context-menu-trigger-border-radius,var(--ai-chat-context-menu-trigger-border-radius));background:var(--luzmo-ai-chat-context-menu-trigger-background,var(--ai-chat-context-menu-trigger-background));color:var(--luzmo-ai-chat-context-menu-trigger-color,var(--ai-chat-context-menu-trigger-color));cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:.875rem;line-height:1;transition:all .15s;display:inline-flex}:host .assistant-context-menu-trigger:hover{background:var(--luzmo-ai-chat-context-menu-trigger-hover-background,var(--ai-chat-context-menu-trigger-hover-background));border-color:var(--luzmo-ai-chat-context-menu-trigger-hover-border-color,var(--ai-chat-context-menu-trigger-hover-border-color));color:var(--luzmo-ai-chat-context-menu-trigger-hover-color,var(--ai-chat-context-menu-trigger-hover-color))}:host .assistant-context-menu-trigger:disabled{cursor:not-allowed;opacity:.6}:host .assistant-context-menu-trigger:disabled:hover{background:var(--luzmo-ai-chat-context-menu-trigger-background,var(--ai-chat-context-menu-trigger-background));border-color:var(--luzmo-ai-chat-context-menu-trigger-border-color,var(--ai-chat-context-menu-trigger-border-color));color:var(--luzmo-ai-chat-context-menu-trigger-color,var(--ai-chat-context-menu-trigger-color))}:host .assistant-context-menu-item{width:100%;color:var(--luzmo-font-color);text-align:start;cursor:pointer;font-family:var(--luzmo-ai-chat-context-menu-item-font-family,var(--ai-chat-context-menu-item-font-family));background:0 0;border:0;padding:.5rem .75rem}:host .assistant-context-menu-item:hover{background:var(--luzmo-ai-chat-context-menu-item-hover-background,var(--ai-chat-context-menu-item-hover-background))}:host .assistant-context-menu-item:disabled{opacity:.4;cursor:not-allowed}:host .assistant-context-menu-item:disabled:hover{background:0 0}:host luzmo-ai-interaction-textarea{flex-grow:0;flex-shrink:0}:host luzmo-progress-steps{padding:0 .25rem}:host .loading-message{color:var(--luzmo-font-color);align-items:center;gap:.5rem;display:flex}:host .loading-message svg{color:var(--luzmo-ai-chat-loading-message-color,var(--ai-chat-loading-message-color));font-size:var(--luzmo-ai-chat-loading-message-icon-font-size,var(--ai-chat-loading-message-icon-font-size,1rem));justify-content:center;align-items:center;display:flex}:host .loading-message svg.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){:host .assistant-context-menu-trigger{transition:none}:host .loading-message svg.spin{animation:none}}:host{--ai-chat-background:var(--luzmo-background-color);--ai-chat-border-radius:0;--ai-chat-padding:0;--ai-chat-gap:1rem;--ai-chat-border:none;--ai-chat-box-shadow:none;--ai-chat-loading-message-color:var(--luzmo-primary);--ai-chat-loading-message-icon-font-size:1rem;--ai-chat-error-message-color:var(--luzmo-danger,#dc3545);--ai-chat-cancelled-message-color:var(--luzmo-font-color-dimmed,var(--luzmo-font-color-extra-dimmed));--ai-chat-scrollbar-width:var(--luzmo-scrollbar-size);--ai-chat-scrollbar-track-background:var(--luzmo-scrollbar-track-background);--ai-chat-scrollbar-track-border-radius:var(--luzmo-scrollbar-track-border-radius);--ai-chat-scrollbar-thumb-background:var(--luzmo-scrollbar-thumb-background);--ai-chat-scrollbar-thumb-border-radius:var(--luzmo-scrollbar-thumb-border-radius);--ai-chat-scrollbar-thumb-hover-background:var(--luzmo-scrollbar-thumb-hover-background);--ai-chat-context-menu-trigger-size:1.5rem;--ai-chat-context-menu-trigger-border-color:var(--luzmo-border-color);--ai-chat-context-menu-trigger-border-radius:.375rem;--ai-chat-context-menu-trigger-background:var(--luzmo-background-color,transparent);--ai-chat-context-menu-trigger-color:var(--luzmo-font-color,#5a5a5a);--ai-chat-context-menu-trigger-hover-background:var(--luzmo-background-color-hover,#4434ff14);--ai-chat-context-menu-trigger-hover-border-color:var(--luzmo-border-color-hover,var(--luzmo-border-color));--ai-chat-context-menu-trigger-hover-color:var(--luzmo-font-color,#5a5a5a);--ai-chat-context-menu-item-hover-background:var(--luzmo-background-color-hover,#4434ff14);--ai-chat-context-menu-item-font-family:var(--luzmo-font-family);--ai-chat-markdown-line-height:1.5;--ai-chat-markdown-spacing:var(--luzmo-spacing-3);--ai-chat-markdown-heading-spacing:var(--luzmo-spacing-4);--ai-chat-markdown-heading-font-weight:var(--luzmo-font-weight-bold);--ai-chat-markdown-list-indent:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-3));--ai-chat-markdown-link-color:var(--luzmo-primary);--ai-chat-markdown-code-font-family:var(--luzmo-font-family-mono,ui-monospace, monospace);--ai-chat-markdown-code-font-size:.875em;--ai-chat-markdown-code-background:var(--luzmo-background-color-highlight);--ai-chat-markdown-code-border-radius:var(--luzmo-border-radius-s);--ai-chat-markdown-border-color:var(--luzmo-border-color);--ai-chat-markdown-table-header-background:var(--luzmo-background-color-highlight);--ai-chat-assistant-message-actions-gap:var(--luzmo-spacing-2);--ai-chat-assistant-message-actions-margin-top:var(--luzmo-spacing-3);--ai-chat-assistant-message-actions-color:var(--luzmo-font-color-extra-dimmed);--ai-chat-assistant-message-actions-font-style:italic;--ai-chat-assistant-message-font-family:var(--luzmo-font-family);--ai-chat-assistant-message-font-size:var(--luzmo-font-size-s,12px);--ai-chat-assistant-message-line-height:var(--ai-chat-markdown-line-height);--ai-chat-user-message-attachment-size:64px}";
2356
+ //#endregion
2357
+ //#region src/components/ai-chat/helpers/agent-config.ts
2358
+ function kn(e, t) {
2359
+ if (e.agentConfig) {
2360
+ let n = e.agentConfig, r = t ?? kn({
2361
+ ...e,
2362
+ agentConfig: void 0
2363
+ });
2364
+ return n.context === void 0 && n.type === r.type ? {
2365
+ ...r,
2366
+ ...n,
2367
+ context: r.context
2368
+ } : n.context === void 0 ? {
2369
+ ...n,
2370
+ context: null
2371
+ } : n;
2372
+ }
2373
+ switch (e.agent ?? "item") {
2374
+ case "item":
2375
+ default: return {
2376
+ type: "item",
2377
+ context: {
2378
+ chart: e.chart,
2379
+ task: e.task
2380
+ }
2381
+ };
2382
+ case "dashboard": return {
2383
+ type: "dashboard",
2384
+ context: {
2385
+ dashboard: e.dashboard,
2386
+ currentScreenMode: e.currentScreenMode
2387
+ }
2388
+ };
2389
+ case "custom-item": return {
2390
+ type: "custom-item",
2391
+ context: { customItem: e.customItem }
2392
+ };
2393
+ case "analyst": return { type: "analyst" };
2394
+ }
2395
+ }
2396
+ function An(e) {
2397
+ return {
2398
+ chart: null,
2399
+ dashboard: null,
2400
+ customItem: null,
2401
+ currentScreenMode: void 0,
2402
+ task: void 0,
2403
+ ...e.context
2404
+ };
2405
+ }
2406
+ //#endregion
2407
+ //#region src/components/ai-chat/empty-state/ai-chat-empty-state.module.scss?inline
2408
+ var jn = ":host{box-sizing:border-box;width:100%;min-height:0;padding-block:var(--luzmo-ai-chat-empty-state-padding-block,var(--ai-chat-empty-state-padding-block));padding-inline:var(--luzmo-ai-chat-empty-state-padding-inline,var(--ai-chat-empty-state-padding-inline));flex:1;justify-content:center;align-items:center;display:flex}.empty-state{justify-content:center;align-items:center;gap:var(--luzmo-ai-chat-empty-state-header-actions-gap,var(--ai-chat-empty-state-header-actions-gap));width:100%;max-width:var(--luzmo-ai-chat-empty-state-max-width,var(--ai-chat-empty-state-max-width));text-align:center;flex-direction:column;display:flex}.header{flex-direction:column;align-items:center;width:100%;display:flex}.actions{align-items:center;gap:var(--luzmo-ai-chat-empty-state-actions-gap,var(--ai-chat-empty-state-actions-gap));flex-direction:column;width:100%;display:flex}.title{font-family:var(--luzmo-font-family);font-size:var(--luzmo-ai-chat-empty-state-title-font-size,var(--ai-chat-empty-state-title-font-size));font-weight:var(--luzmo-ai-chat-empty-state-title-font-weight,var(--ai-chat-empty-state-title-font-weight));line-height:var(--luzmo-ai-chat-empty-state-title-line-height,var(--ai-chat-empty-state-title-line-height));color:var(--luzmo-ai-chat-empty-state-title-color,var(--ai-chat-empty-state-title-color));text-wrap:balance;margin:0}.subtitle{font-family:var(--luzmo-font-family);font-size:var(--luzmo-ai-chat-empty-state-subtitle-font-size,var(--ai-chat-empty-state-subtitle-font-size));font-weight:var(--luzmo-ai-chat-empty-state-subtitle-font-weight,var(--ai-chat-empty-state-subtitle-font-weight));line-height:var(--luzmo-ai-chat-empty-state-subtitle-line-height,var(--ai-chat-empty-state-subtitle-line-height));color:var(--luzmo-ai-chat-empty-state-subtitle-color,var(--ai-chat-empty-state-subtitle-color));margin:0}.suggestions{justify-content:center;align-items:center;gap:var(--luzmo-ai-chat-empty-state-suggestions-gap,var(--ai-chat-empty-state-suggestions-gap));flex-wrap:wrap;width:100%;display:flex}luzmo-action-button{max-width:100%}:host{--ai-chat-empty-state-header-actions-gap:1.5rem;--ai-chat-empty-state-actions-gap:var(--luzmo-spacing-4);--ai-chat-empty-state-suggestions-gap:var(--luzmo-spacing-3);--ai-chat-empty-state-max-width:22.5rem;--ai-chat-empty-state-padding-block:2rem;--ai-chat-empty-state-padding-inline:var(--luzmo-spacing-5);--ai-chat-empty-state-title-font-size:var(--luzmo-font-size-l);--ai-chat-empty-state-title-font-weight:var(--luzmo-font-weight);--ai-chat-empty-state-title-line-height:1.4;--ai-chat-empty-state-title-color:var(--luzmo-font-color-hard);--ai-chat-empty-state-subtitle-font-size:var(--luzmo-font-size-s);--ai-chat-empty-state-subtitle-font-weight:var(--luzmo-font-weight);--ai-chat-empty-state-subtitle-line-height:var(--luzmo-line-height);--ai-chat-empty-state-subtitle-color:var(--luzmo-font-color-dimmed,var(--luzmo-font-color-extra-dimmed))}", Mn = class extends i {
2292
2409
  constructor(...e) {
2293
2410
  super(...e), this.title = o("What can I help you with?", { desc: "Title for the AI chat empty state" }), this.subtitle = "", this.suggestions = [], this.disabled = !1;
2294
2411
  }
2295
2412
  static {
2296
- this.styles = f(wn);
2413
+ this.styles = f(jn);
2297
2414
  }
2298
2415
  static {
2299
2416
  this.tagName = "luzmo-ai-chat-empty-state";
@@ -2346,16 +2463,62 @@ var Cn = ":host{box-sizing:border-box;flex-direction:column;width:100%;height:10
2346
2463
  };
2347
2464
  //#endregion
2348
2465
  //#region src/components/ai-chat/empty-state/index.ts
2349
- a([p({ type: String })], Tn.prototype, "title", void 0), a([p({ type: String })], Tn.prototype, "subtitle", void 0), a([p({ type: Array })], Tn.prototype, "suggestions", void 0), a([p({
2466
+ a([p({ type: String })], Mn.prototype, "title", void 0), a([p({ type: String })], Mn.prototype, "subtitle", void 0), a([p({ type: Array })], Mn.prototype, "suggestions", void 0), a([p({
2350
2467
  type: Boolean,
2351
2468
  reflect: !0
2352
- })], Tn.prototype, "disabled", void 0), customElements.get("luzmo-ai-chat-empty-state") || customElements.define("luzmo-ai-chat-empty-state", Tn);
2469
+ })], Mn.prototype, "disabled", void 0), customElements.get("luzmo-ai-chat-empty-state") || customElements.define("luzmo-ai-chat-empty-state", Mn);
2470
+ //#endregion
2471
+ //#region src/components/ai-chat/helpers/elicitation-template.ts
2472
+ var Nn = "answer", Pn = (e) => e.stopPropagation();
2473
+ function Fn(e) {
2474
+ let t = e.content?.[Nn];
2475
+ return typeof t == "string" ? t : void 0;
2476
+ }
2477
+ async function In(e) {
2478
+ e.stopPropagation();
2479
+ let t = e.currentTarget;
2480
+ await t.updateComplete, t.submit();
2481
+ }
2482
+ function Ln({ message: e, state: t, onSubmit: n }) {
2483
+ let r = e.elicitation;
2484
+ if (!r) return d;
2485
+ let i = [{
2486
+ id: Nn,
2487
+ type: "single",
2488
+ title: r.question,
2489
+ required: !0,
2490
+ options: r.options.map((e) => ({
2491
+ value: e,
2492
+ label: e
2493
+ }))
2494
+ }];
2495
+ return te(`${e.id}:${t}`, u`
2496
+ <luzmo-question-box
2497
+ size="s"
2498
+ .questions=${i}
2499
+ .value=${h([r.answer], () => r.answer ? { [Nn]: r.answer } : {})}
2500
+ .labels=${{
2501
+ submit: o("Submit", { desc: "Button that sends the chosen answer to an AI agent question" }),
2502
+ answerTitle: o("Answer", { desc: "Heading above the answer chosen for an AI agent question" }),
2503
+ change: o("Change", { desc: "Button that goes back to pick another answer for an AI agent question" })
2504
+ }}
2505
+ ?readonly=${t === "answered"}
2506
+ ?disabled=${t === "closed"}
2507
+ hide-close
2508
+ hide-skip
2509
+ @luzmo-submit=${n}
2510
+ @input=${Pn}
2511
+ @change=${In}
2512
+ @luzmo-cancel=${Pn}
2513
+ ></luzmo-question-box>
2514
+ `);
2515
+ }
2353
2516
  //#endregion
2354
2517
  //#region src/components/ai-chat/ai-chat-request.ts
2355
- function En(e, t) {
2518
+ function Rn(e, t) {
2356
2519
  return `${e.replace(/\/+$/, "")}/${t.replace(/^\/+|\/+$/g, "")}/aiprompt`;
2357
2520
  }
2358
- function Dn(e) {
2521
+ function zn(e) {
2359
2522
  return e.type === "placeholder" ? null : {
2360
2523
  ...e,
2361
2524
  version: e.version || "",
@@ -2364,7 +2527,7 @@ function Dn(e) {
2364
2527
  aichartId: e.aichartId || ""
2365
2528
  };
2366
2529
  }
2367
- function On(e, t, n = []) {
2530
+ function Bn(e, t, n = []) {
2368
2531
  return [
2369
2532
  {
2370
2533
  type: "text",
@@ -2380,7 +2543,7 @@ function On(e, t, n = []) {
2380
2543
  }))
2381
2544
  ];
2382
2545
  }
2383
- function kn(e) {
2546
+ function Vn(e) {
2384
2547
  return {
2385
2548
  stream: e.stream ?? !0,
2386
2549
  response_mode: "mixed",
@@ -2388,43 +2551,55 @@ function kn(e) {
2388
2551
  ...e.localeId ? { locale_id: e.localeId } : {}
2389
2552
  };
2390
2553
  }
2391
- function An(e, t, n) {
2554
+ function Hn(e, t, n) {
2392
2555
  return {
2393
2556
  agent: e,
2394
2557
  task: t,
2395
- ...kn(n)
2558
+ ...Vn(n)
2396
2559
  };
2397
2560
  }
2398
- function jn(e) {
2399
- let t = On(e.prompt, e.datasetIds, e.attachmentUrls), n = e.chart ? Dn(e.chart) : null;
2561
+ function Un(e) {
2562
+ let t = Bn(e.prompt, e.datasetIds, e.attachmentUrls), n = e.chart ? zn(e.chart) : null;
2400
2563
  return n && t.push({
2401
2564
  type: "item",
2402
2565
  value: n
2403
2566
  }), {
2404
- ...An("item", e.task ?? "generate", e),
2567
+ ...Hn("item", e.task ?? "generate", e),
2405
2568
  input: t
2406
2569
  };
2407
2570
  }
2408
- function Mn(e) {
2409
- let t = On(e.prompt, e.datasetIds, e.attachmentUrls);
2571
+ function Wn(e) {
2572
+ let t = Bn(e.prompt, e.datasetIds, e.attachmentUrls);
2410
2573
  return e.dashboard && t.push({
2411
2574
  type: "dashboard",
2412
2575
  value: e.dashboard,
2413
2576
  ...e.currentScreenMode ? { current_screen_mode: e.currentScreenMode } : {}
2414
2577
  }), {
2415
- ...An("dashboard", "generate", e),
2578
+ ...Hn("dashboard", "generate", e),
2416
2579
  timezone_id: e.timezoneId ?? "UTC",
2417
2580
  input: t
2418
2581
  };
2419
2582
  }
2420
- function Nn(e) {
2583
+ function Gn(e) {
2421
2584
  return {
2422
- ...An("analyst", "generate", e),
2423
- input: On(e.prompt, e.datasetIds, e.attachmentUrls)
2585
+ ...Hn("analyst", "generate", e),
2586
+ input: Bn(e.prompt, e.datasetIds, e.attachmentUrls)
2424
2587
  };
2425
2588
  }
2426
- function Pn(e, t) {
2427
- let n = On(t.prompt, t.datasetIds, t.attachmentUrls), r = t.chart ? Dn(t.chart) : null;
2589
+ function Kn(e) {
2590
+ let t = Bn(e.prompt, [], e.attachmentUrls);
2591
+ return e.customItem && t.push({
2592
+ type: "custom-item",
2593
+ value: e.customItem
2594
+ }), {
2595
+ ...Hn("custom-item", "generate", e),
2596
+ text_format: "markdown",
2597
+ ...e.internal ? { internal: !0 } : {},
2598
+ input: t
2599
+ };
2600
+ }
2601
+ function qn(e, t) {
2602
+ let n = Bn(t.prompt, t.datasetIds, t.attachmentUrls), r = t.chart ? zn(t.chart) : null;
2428
2603
  return r && n.push({
2429
2604
  type: "item",
2430
2605
  value: r
@@ -2434,29 +2609,30 @@ function Pn(e, t) {
2434
2609
  ...t.currentScreenMode ? { current_screen_mode: t.currentScreenMode } : {}
2435
2610
  }), {
2436
2611
  agent_id: e,
2437
- ...kn(t),
2612
+ ...Vn(t),
2438
2613
  input: n
2439
2614
  };
2440
2615
  }
2441
- function Fn(e, t) {
2442
- if (t.agentId) return Pn(t.agentId, t);
2616
+ function Jn(e, t) {
2617
+ if (t.agentId) return qn(t.agentId, t);
2443
2618
  switch (e) {
2444
- case "dashboard": return Mn(t);
2445
- case "analyst": return Nn(t);
2446
- default: return jn(t);
2619
+ case "dashboard": return Wn(t);
2620
+ case "analyst": return Gn(t);
2621
+ case "custom-item": return Kn(t);
2622
+ default: return Un(t);
2447
2623
  }
2448
2624
  }
2449
- function In(e, n) {
2625
+ function Yn(e, n) {
2450
2626
  let { authKey: r, authToken: i, apiVersion: a = "0.1.0" } = n;
2451
2627
  return n.attachmentUrls?.length && t(n.attachmentUrls), {
2452
2628
  key: r,
2453
2629
  token: i,
2454
2630
  action: "create",
2455
2631
  version: a,
2456
- properties: Fn(e, n)
2632
+ properties: Jn(e, n)
2457
2633
  };
2458
2634
  }
2459
- function Ln(e, t, n, r = "0.1.0", i = null) {
2635
+ function Xn(e, t, n, r = "0.1.0", i = null) {
2460
2636
  return {
2461
2637
  key: t,
2462
2638
  token: n,
@@ -2471,7 +2647,7 @@ function Ln(e, t, n, r = "0.1.0", i = null) {
2471
2647
  }
2472
2648
  //#endregion
2473
2649
  //#region src/components/ai-chat/stream/transport.ts
2474
- async function Rn(e) {
2650
+ async function Zn(e) {
2475
2651
  let t = await fetch(e.url, {
2476
2652
  method: "POST",
2477
2653
  headers: { "Content-Type": "application/json" },
@@ -2489,21 +2665,21 @@ async function Rn(e) {
2489
2665
  conversationId: t.headers.get("x-conversation-id")
2490
2666
  };
2491
2667
  }
2492
- function zn(e) {
2668
+ function Qn(e) {
2493
2669
  let t = e.trim();
2494
2670
  if (!t || t.startsWith(":") || t.startsWith("event:") || t.startsWith("id:")) return null;
2495
2671
  let n = t;
2496
2672
  return n.startsWith("data:") && (n = n.slice(5).trimStart()), !n || n === "[DONE]" ? null : JSON.parse(n);
2497
2673
  }
2498
- function Bn(e, t) {
2674
+ function $n(e, t) {
2499
2675
  try {
2500
- let n = zn(e);
2676
+ let n = Qn(e);
2501
2677
  n && t(n);
2502
2678
  } catch {
2503
2679
  console.error("Failed to parse stream line");
2504
2680
  }
2505
2681
  }
2506
- async function Vn(e, t) {
2682
+ async function er(e, t) {
2507
2683
  let n = e.getReader(), r = new TextDecoder(), i = "";
2508
2684
  try {
2509
2685
  for (;;) {
@@ -2512,18 +2688,18 @@ async function Vn(e, t) {
2512
2688
  i += r.decode(a, { stream: !0 });
2513
2689
  let o = i.split(/\r?\n/);
2514
2690
  i = o.pop() ?? "";
2515
- for (let e of o) Bn(e, t);
2691
+ for (let e of o) $n(e, t);
2516
2692
  }
2517
2693
  i += r.decode();
2518
2694
  let e = i.trim();
2519
- e && Bn(e, t);
2695
+ e && $n(e, t);
2520
2696
  } finally {
2521
2697
  n.releaseLock();
2522
2698
  }
2523
2699
  }
2524
2700
  //#endregion
2525
2701
  //#region src/components/ai-chat/stream/progress.ts
2526
- function Hn() {
2702
+ function tr() {
2527
2703
  return {
2528
2704
  id: "root",
2529
2705
  step: "root",
@@ -2536,13 +2712,13 @@ function Hn() {
2536
2712
  }]
2537
2713
  };
2538
2714
  }
2539
- function Un(e) {
2715
+ function nr(e) {
2540
2716
  let t = e.progress;
2541
2717
  return typeof t != "object" || !t ? !1 : "id" in t && "step" in t && "status" in t;
2542
2718
  }
2543
2719
  //#endregion
2544
2720
  //#region src/components/ai-chat/stream/chunk-extractors.ts
2545
- function Wn(e) {
2721
+ function rr(e) {
2546
2722
  if (!e || typeof e != "object") return "";
2547
2723
  let t = e.assistant_message;
2548
2724
  if (!t || typeof t != "object") return "";
@@ -2552,75 +2728,82 @@ function Wn(e) {
2552
2728
  let n = t.content;
2553
2729
  return typeof n == "string" ? n : n && typeof n == "object" && typeof n.text == "string" ? n.text : "";
2554
2730
  }
2555
- function Gn(e) {
2731
+ function ir(e) {
2556
2732
  return e.type === "text_delta" && typeof e.delta == "string" ? e.delta : typeof e.text_delta == "string" ? e.text_delta : typeof e.chunk == "string" ? e.chunk : typeof e.message == "string" ? e.message : typeof e.summary == "string" ? e.summary : "";
2557
2733
  }
2558
- function Kn(e) {
2559
- return Wn(e.result);
2734
+ function ar(e) {
2735
+ return rr(e.result);
2560
2736
  }
2561
- function qn(e) {
2737
+ function or(e) {
2562
2738
  return !!e.done || e.type === "finish" || e.type === "done" || "question" in e;
2563
2739
  }
2564
- function Jn(e, t) {
2740
+ function sr(e, t) {
2565
2741
  let n = typeof e.conversation_id == "string" && e.conversation_id || typeof e.conversationId == "string" && e.conversationId;
2566
2742
  n && t.callbacks.onConversationIdChange(n);
2567
2743
  }
2568
- function Yn(e) {
2744
+ function cr(e) {
2569
2745
  for (let t of e) if (t && typeof t == "object" && t.type === "item") {
2570
2746
  let e = t.value;
2571
2747
  if (e && typeof e == "object") return e;
2572
2748
  }
2573
2749
  return null;
2574
2750
  }
2575
- function Xn(e) {
2751
+ function lr(e) {
2576
2752
  let t = e.chart ?? e.generatedChart;
2577
2753
  if (t && typeof t == "object") return t;
2578
2754
  let n = e.aiMessageAssets ?? e.ai_message_assets;
2579
2755
  if (Array.isArray(n)) {
2580
- let e = Yn(n);
2756
+ let e = cr(n);
2581
2757
  if (e) return e;
2582
2758
  }
2583
2759
  let r = e.result;
2584
2760
  if (r && typeof r == "object") {
2585
2761
  let e = r.assistant_message, t = e?.aiMessageAssets ?? e?.ai_message_assets;
2586
- if (Array.isArray(t)) return Yn(t);
2762
+ if (Array.isArray(t)) return cr(t);
2587
2763
  }
2588
2764
  return null;
2589
2765
  }
2590
- function Zn(e) {
2766
+ function ur(e) {
2591
2767
  for (let t of e) if (t && typeof t == "object" && t.type === "dashboard") {
2592
2768
  let e = t.value;
2593
2769
  if (e && typeof e == "object" && Array.isArray(e.views)) return e;
2594
2770
  }
2595
2771
  return null;
2596
2772
  }
2597
- function Qn(e) {
2773
+ function dr(e) {
2598
2774
  for (let t of e) if (t && typeof t == "object" && t.type === "dashboard") {
2599
2775
  let e = t.name;
2600
2776
  if (e && typeof e == "object") return e;
2601
2777
  }
2602
2778
  }
2603
- function $n(...e) {
2779
+ function fr(...e) {
2604
2780
  return e.find(Array.isArray);
2605
2781
  }
2606
- function er(e) {
2782
+ function pr(e) {
2607
2783
  if (e.views && Array.isArray(e.views)) return e;
2608
2784
  let t = e.aiMessageAssets ?? e.ai_message_assets;
2609
- if (Array.isArray(t)) return Zn(t);
2785
+ if (Array.isArray(t)) return ur(t);
2610
2786
  let n = e.result;
2611
2787
  if (n && typeof n == "object") {
2612
2788
  let e = n.assistant_message, t = e?.aiMessageAssets ?? e?.ai_message_assets;
2613
- if (Array.isArray(t)) return Zn(t);
2789
+ if (Array.isArray(t)) return ur(t);
2614
2790
  }
2615
2791
  return null;
2616
2792
  }
2617
- function tr(e) {
2618
- let t = e.aiMessageAssets ?? e.ai_message_assets, n = e.result?.assistant_message, r = $n(t, n?.aiMessageAssets ?? n?.ai_message_assets);
2619
- return r ? Qn(r) : void 0;
2793
+ function mr(e) {
2794
+ let t = e.aiMessageAssets ?? e.ai_message_assets, n = e.result?.assistant_message, r = fr(t, n?.aiMessageAssets ?? n?.ai_message_assets);
2795
+ return r ? dr(r) : void 0;
2796
+ }
2797
+ function hr(e) {
2798
+ let t = e.result?.assistant_message;
2799
+ for (let n of [e.aiMessageAssets ?? e.ai_message_assets, t?.aiMessageAssets ?? t?.ai_message_assets]) if (Array.isArray(n)) {
2800
+ for (let e of n) if (e && typeof e == "object" && e.type === "custom-item" && e.value && typeof e.value == "object" && !Array.isArray(e.value)) return e.value;
2801
+ }
2802
+ return null;
2620
2803
  }
2621
2804
  //#endregion
2622
2805
  //#region src/components/ai-chat/stream/stream-processor.ts
2623
- var nr = /* @__PURE__ */ new Set([
2806
+ var gr = /* @__PURE__ */ new Set([
2624
2807
  "conversation-id",
2625
2808
  "conversation_id",
2626
2809
  "keepalive",
@@ -2628,7 +2811,7 @@ var nr = /* @__PURE__ */ new Set([
2628
2811
  "finish",
2629
2812
  "done"
2630
2813
  ]);
2631
- function rr(e, t, n) {
2814
+ function _r(e, t, n) {
2632
2815
  return {
2633
2816
  agent: n.agent,
2634
2817
  conversationId: t.callbacks.getConversationId(),
@@ -2636,128 +2819,148 @@ function rr(e, t, n) {
2636
2819
  raw: e
2637
2820
  };
2638
2821
  }
2639
- function ir(e, t, n, r, i) {
2822
+ function Q(e, t, n, r, i) {
2640
2823
  let a = {
2641
- ...rr(n, e, t),
2824
+ ..._r(n, e, t),
2642
2825
  recognized: !0,
2643
2826
  type: r,
2644
2827
  data: i
2645
2828
  };
2646
2829
  e.callbacks.onStep(a);
2647
2830
  }
2648
- function ar(e, t, n, r, i) {
2831
+ function vr(e, t, n, r, i) {
2649
2832
  let a = {
2650
- ...rr(n, e, t),
2833
+ ..._r(n, e, t),
2651
2834
  recognized: !1,
2652
2835
  type: r,
2653
2836
  data: i
2654
2837
  };
2655
2838
  e.callbacks.onStep(a);
2656
2839
  }
2657
- function or(e) {
2840
+ function yr(e) {
2658
2841
  e.state.progressCollapsed || (e.state.progressCollapsed = !0, e.callbacks.onProgressCollapsed(!0));
2659
2842
  }
2660
- function sr(e, t) {
2661
- or(e), e.aiMessage.message = (e.aiMessage.message || "") + t, e.callbacks.onMessageUpdate(e.aiMessage);
2843
+ function br(e, t) {
2844
+ yr(e), e.aiMessage.message = (e.aiMessage.message || "") + t, e.callbacks.onMessageUpdate(e.aiMessage);
2662
2845
  }
2663
- function cr(e) {
2846
+ function xr(e) {
2664
2847
  if (!e) return null;
2665
2848
  let t = e.descriptionMetadata?.decision;
2666
2849
  if (t === "create" || t === "edit" || t === "question") return t;
2667
2850
  for (let t of e.children ?? []) {
2668
- let e = cr(t);
2851
+ let e = xr(t);
2669
2852
  if (e) return e;
2670
2853
  }
2671
2854
  return null;
2672
2855
  }
2673
- function lr(e, t, n) {
2674
- if (!Un(e)) return !1;
2856
+ function Sr(e, t, n) {
2857
+ if (!nr(e)) return !1;
2675
2858
  let r = e.progress;
2676
- if (t.callbacks.onProgress(r), ir(t, n, e, "progress", r), t.state.decision === null) {
2677
- let i = cr(r);
2678
- i && (t.state.decision = i, ir(t, n, e, "decision", { decision: i }));
2859
+ if (t.callbacks.onProgress(r), Q(t, n, e, "progress", r), t.state.decision === null) {
2860
+ let i = xr(r);
2861
+ i && (t.state.decision = i, Q(t, n, e, "decision", { decision: i }));
2679
2862
  }
2680
2863
  return !0;
2681
2864
  }
2682
- function ur(e) {
2865
+ function Cr(e) {
2683
2866
  return !!e.error || e.type === "error" || typeof e.error_text == "string";
2684
2867
  }
2685
- function dr(e) {
2868
+ function wr(e) {
2686
2869
  return typeof e.error_text == "string" && e.error_text ? e.error_text : typeof e.error == "string" && e.error ? e.error : o("Something went wrong. Please try again.", { desc: "Generic error message shown in ai chat when the API request fails" });
2687
2870
  }
2688
- function fr(e, t, n) {
2689
- if (!ur(e)) return !1;
2690
- let r = dr(e);
2691
- return t.aiMessage.message = r, t.aiMessage.isError = !0, t.callbacks.onMessageUpdate(t.aiMessage), Nr(e, t, n, e.error ?? r), !0;
2871
+ function Tr(e, t, n) {
2872
+ if (!Cr(e)) return !1;
2873
+ let r = wr(e);
2874
+ return t.aiMessage.message = r, t.aiMessage.isError = !0, delete t.aiMessage.elicitation, t.callbacks.onMessageUpdate(t.aiMessage), Yr(e, t, n, e.error ?? r), !0;
2692
2875
  }
2693
- function pr(e) {
2876
+ function Er(e) {
2694
2877
  return typeof e.question == "string" && e.question ? e.question : typeof e.text == "string" && e.text ? e.text : "";
2695
2878
  }
2696
- function mr(e, t, n) {
2879
+ function Dr(e, t, n) {
2697
2880
  if (e.type !== "interrupt") return !1;
2698
- let r = pr(e);
2699
- return r && (t.state.interruptQuestion = r, sr(t, r), ir(t, n, e, "interrupt", { question: r })), Nr(e, t, n), !0;
2881
+ let r = Er(e);
2882
+ return r && (t.state.interruptQuestion = r, br(t, r), Q(t, n, e, "interrupt", { question: r })), Yr(e, t, n), !0;
2700
2883
  }
2701
- function hr(e) {
2884
+ function Or(e) {
2885
+ let t = e.elicitation;
2886
+ if (!t || typeof t != "object") return null;
2887
+ let { question: n, options: r } = t, i = typeof n == "string" ? n.trim() : "", a = Array.isArray(r) ? [...new Set(r.filter((e) => typeof e == "string").map((e) => e.trim()))].filter(Boolean) : [];
2888
+ return i && a.length >= 2 ? {
2889
+ question: i,
2890
+ options: a
2891
+ } : null;
2892
+ }
2893
+ function kr(e, t, n) {
2894
+ if (e.type !== "elicitation") return !1;
2895
+ let r = Or(e);
2896
+ return r ? (yr(t), t.aiMessage.elicitation = r, t.callbacks.onMessageUpdate(t.aiMessage), Q(t, n, e, "elicitation", {
2897
+ question: r.question,
2898
+ options: r.options
2899
+ }), !0) : (vr(t, n, e, "elicitation", e), !0);
2900
+ }
2901
+ function Ar(e) {
2702
2902
  return typeof e.asset_id == "string" ? e.asset_id : typeof e.asset_type == "string" ? e.asset_type : "default";
2703
2903
  }
2704
- function gr(e) {
2904
+ function jr(e) {
2705
2905
  return typeof e.asset_type == "string" ? e.asset_type : "";
2706
2906
  }
2707
- function _r(e) {
2907
+ function Mr(e) {
2708
2908
  return {
2709
- assetType: gr(e),
2909
+ assetType: jr(e),
2710
2910
  snapshot: {}
2711
2911
  };
2712
2912
  }
2713
- function vr(e, t) {
2913
+ function Nr(e, t) {
2714
2914
  return {
2715
2915
  ...e,
2716
2916
  ...t
2717
2917
  };
2718
2918
  }
2719
- function yr(e) {
2919
+ function Pr(e) {
2720
2920
  let t = e.asset_delta ?? e.delta;
2721
2921
  return t && typeof t == "object" ? t : null;
2722
2922
  }
2723
- function br(e, t) {
2724
- t.state.assets[hr(e)] = _r(e);
2923
+ function Fr(e, t) {
2924
+ t.state.assets[Ar(e)] = Mr(e);
2725
2925
  }
2726
- function xr(e, t) {
2727
- let n = hr(e), r = t.state.assets[n] ?? _r(e), i = yr(e);
2728
- i && (r.snapshot = vr(r.snapshot, i)), t.state.assets[n] = r;
2926
+ function Ir(e, t) {
2927
+ let n = Ar(e), r = t.state.assets[n] ?? Mr(e), i = Pr(e);
2928
+ i && (r.snapshot = Nr(r.snapshot, i)), t.state.assets[n] = r;
2729
2929
  }
2730
- function Sr(e, t) {
2930
+ function Lr(e, t) {
2731
2931
  let n = e.asset ?? e.value ?? e.asset_delta ?? e.delta;
2732
- return n && typeof n == "object" ? vr(t?.snapshot ?? {}, n) : t?.snapshot ?? {};
2932
+ return n && typeof n == "object" ? Nr(t?.snapshot ?? {}, n) : t?.snapshot ?? {};
2733
2933
  }
2734
- function Cr(e, t, n) {
2735
- let r = hr(e), i = t.state.assets[r], a = i?.assetType || gr(e), o = Sr(e, i);
2736
- delete t.state.assets[r], Er(a, o, e, t, n);
2934
+ function Rr(e, t, n) {
2935
+ let r = Ar(e), i = t.state.assets[r], a = i?.assetType || jr(e), o = Lr(e, i);
2936
+ delete t.state.assets[r], Hr(a, o, e, t, n);
2737
2937
  }
2738
- function wr(e, t, n) {
2938
+ function zr(e, t, n) {
2739
2939
  switch (e.type) {
2740
- case "asset_start": return br(e, t), !0;
2741
- case "asset_delta": return xr(e, t), !0;
2742
- case "asset_end": return Cr(e, t, n), !0;
2940
+ case "asset_start": return Fr(e, t), !0;
2941
+ case "asset_delta": return Ir(e, t), !0;
2942
+ case "asset_end": return Rr(e, t, n), !0;
2743
2943
  default: return !1;
2744
2944
  }
2745
2945
  }
2746
- function Tr(e, t, n, r) {
2747
- n.state.chartSnapshot = e, n.aiMessage.hasChart = !0, typeof t.messageId == "string" && (n.aiMessage.apiMessageId = t.messageId), n.callbacks.onMessageUpdate(n.aiMessage), ir(n, r, t, "chart", e);
2946
+ function Br(e, t, n, r) {
2947
+ n.state.chartSnapshot = e, n.aiMessage.hasChart = !0, typeof t.messageId == "string" && (n.aiMessage.apiMessageId = t.messageId), n.callbacks.onMessageUpdate(n.aiMessage), Q(n, r, t, "chart", e);
2748
2948
  }
2749
- function Er(e, t, n, r, i) {
2949
+ function Vr(e, t, n, r) {
2950
+ n.state.customItemSnapshot = e, Q(n, r, t, "custom-item", e);
2951
+ }
2952
+ function Hr(e, t, n, r, i) {
2750
2953
  switch (e) {
2751
2954
  case "dashboard-title": {
2752
2955
  let e = t.name;
2753
- e && typeof e == "object" && (r.state.dashboardName = e, ir(r, i, n, "dashboard-title", { name: e }));
2956
+ e && typeof e == "object" && (r.state.dashboardName = e, Q(r, i, n, "dashboard-title", { name: e }));
2754
2957
  return;
2755
2958
  }
2756
2959
  case "dashboard-layout":
2757
- ir(r, i, n, "dashboard-layout", t);
2960
+ Q(r, i, n, "dashboard-layout", t);
2758
2961
  return;
2759
2962
  case "dashboard-item":
2760
- ir(r, i, n, "dashboard-item", {
2963
+ Q(r, i, n, "dashboard-item", {
2761
2964
  slot: Number(t.slot),
2762
2965
  chart: t.chart ?? t
2763
2966
  });
@@ -2765,68 +2968,77 @@ function Er(e, t, n, r, i) {
2765
2968
  case "dashboard":
2766
2969
  r.state.dashboardSnapshot = t;
2767
2970
  return;
2768
- default: Dr(e, t, n, r, i);
2971
+ default: Ur(e, t, n, r, i);
2769
2972
  }
2770
2973
  }
2771
- function Dr(e, t, n, r, i) {
2974
+ function Ur(e, t, n, r, i) {
2772
2975
  if (i.chartAssetType && e === i.chartAssetType) {
2773
- Tr(t, n, r, i);
2976
+ Br(t, n, r, i);
2774
2977
  return;
2775
2978
  }
2776
2979
  if (i.dashboardAssetType && e === i.dashboardAssetType) {
2777
2980
  r.state.dashboardSnapshot = t;
2778
2981
  return;
2779
2982
  }
2780
- ar(r, i, n, e || "asset", t);
2983
+ if (i.customItemAssetType && e === i.customItemAssetType) {
2984
+ Vr(t, n, r, i);
2985
+ return;
2986
+ }
2987
+ vr(r, i, n, e || "asset", t);
2781
2988
  }
2782
- function Or(e, t, n) {
2989
+ function Wr(e, t, n) {
2783
2990
  let r = !1;
2784
2991
  if (n.dashboardAssetType) {
2785
- let n = er(e);
2992
+ let n = pr(e);
2786
2993
  if (n) {
2787
2994
  t.state.dashboardSnapshot = n;
2788
- let i = tr(e);
2995
+ let i = mr(e);
2789
2996
  i && (t.state.dashboardName = i), r = !0;
2790
2997
  }
2791
2998
  }
2792
2999
  if (n.chartAssetType && !t.state.chartSnapshot) {
2793
- let i = Xn(e);
2794
- i && (Tr(i, e, t, n), r = !0);
3000
+ let i = lr(e);
3001
+ i && (Br(i, e, t, n), r = !0);
3002
+ }
3003
+ if (n.customItemAssetType && !t.state.customItemSnapshot) {
3004
+ let i = hr(e);
3005
+ i && (Vr(i, e, t, n), r = !0);
2795
3006
  }
2796
3007
  return r;
2797
3008
  }
2798
- function kr(e, t, n) {
3009
+ function Gr(e, t, n) {
2799
3010
  return {
2800
3011
  ...e,
2801
3012
  generatedChart: t,
2802
3013
  conversationId: n.callbacks.getConversationId()
2803
3014
  };
2804
3015
  }
2805
- function Ar(e, t, n) {
3016
+ function Kr(e, t, n) {
2806
3017
  for (let r of Object.keys(t.state.assets)) {
2807
3018
  let i = t.state.assets[r];
2808
- delete t.state.assets[r], !(n.chartAssetType && i.assetType === n.chartAssetType && t.state.chartSnapshot || n.dashboardAssetType && i.assetType === n.dashboardAssetType && t.state.dashboardSnapshot) && Er(i.assetType, i.snapshot, e, t, n);
3019
+ delete t.state.assets[r], !(n.chartAssetType && i.assetType === n.chartAssetType && t.state.chartSnapshot || n.dashboardAssetType && i.assetType === n.dashboardAssetType && t.state.dashboardSnapshot || n.customItemAssetType && i.assetType === n.customItemAssetType && t.state.customItemSnapshot) && Hr(i.assetType, i.snapshot, e, t, n);
2809
3020
  }
2810
3021
  }
2811
- function jr(e, t) {
2812
- let n = Kn(e);
3022
+ function qr(e, t) {
3023
+ let n = ar(e);
2813
3024
  !n || t.aiMessage.message === n || (t.aiMessage.message = n, t.callbacks.onMessageUpdate(t.aiMessage));
2814
3025
  }
2815
- function Mr(e, t, n) {
2816
- let r = t.state.dashboardSnapshot ?? (n.dashboardAssetType ? er(e) : null), i = t.state.chartSnapshot ?? (n.chartAssetType ? Xn(e) : null);
3026
+ function Jr(e, t, n) {
3027
+ let r = t.state.dashboardSnapshot ?? (n.dashboardAssetType ? pr(e) : null), i = t.state.chartSnapshot ?? (n.chartAssetType ? lr(e) : null);
2817
3028
  return {
2818
3029
  agent: n.agent,
2819
3030
  conversationId: t.callbacks.getConversationId(),
2820
3031
  message: t.aiMessage,
2821
3032
  ...r ? { dashboard: r } : {},
2822
- ...i ? { chart: kr(e, i, t) } : {},
3033
+ ...i ? { chart: Gr(e, i, t) } : {},
3034
+ ...t.state.customItemSnapshot ? { customItem: t.state.customItemSnapshot } : {},
2823
3035
  ...t.state.dashboardName ? { name: t.state.dashboardName } : {},
2824
3036
  raw: e
2825
3037
  };
2826
3038
  }
2827
- function Nr(e, t, n, r) {
3039
+ function Yr(e, t, n, r) {
2828
3040
  if (!t.state.completed) {
2829
- if (t.state.completed = !0, Ar(e, t, n), or(t), r !== void 0) {
3041
+ if (t.state.completed = !0, Kr(e, t, n), yr(t), r !== void 0) {
2830
3042
  t.callbacks.onComplete({
2831
3043
  agent: n.agent,
2832
3044
  conversationId: t.callbacks.getConversationId(),
@@ -2836,32 +3048,32 @@ function Nr(e, t, n, r) {
2836
3048
  });
2837
3049
  return;
2838
3050
  }
2839
- jr(e, t), t.callbacks.onComplete(Mr(e, t, n));
3051
+ qr(e, t), t.callbacks.onComplete(Jr(e, t, n));
2840
3052
  }
2841
3053
  }
2842
- function Pr(e) {
3054
+ function Xr(e) {
2843
3055
  return typeof e.type == "string" && e.type ? e.type : typeof e.asset_type == "string" && e.asset_type ? e.asset_type : "";
2844
3056
  }
2845
- function Fr(e, t, n) {
2846
- let r = Gn(e);
2847
- return r ? (t.state.accumulatedText += r, sr(t, r), ir(t, n, e, "text", {
3057
+ function Zr(e, t, n) {
3058
+ let r = ir(e);
3059
+ return r ? (t.state.accumulatedText += r, br(t, r), Q(t, n, e, "text", {
2848
3060
  delta: r,
2849
3061
  text: t.state.accumulatedText
2850
3062
  }), !0) : !1;
2851
3063
  }
2852
- function Ir(e, t, n, r, i) {
3064
+ function Qr(e, t, n, r, i) {
2853
3065
  if (r || i) return;
2854
- let a = Pr(e);
2855
- a && !nr.has(a) && ar(t, n, e, a, e);
3066
+ let a = Xr(e);
3067
+ a && !gr.has(a) && vr(t, n, e, a, e);
2856
3068
  }
2857
- function Lr(e, t, n) {
2858
- if (Jn(e, t), lr(e, t, n) || fr(e, t, n) || mr(e, t, n) || wr(e, t, n)) return;
2859
- let r = Fr(e, t, n), i = Or(e, t, n), a = r || i, o = qn(e);
2860
- Ir(e, t, n, a, o), o && Nr(e, t, n);
3069
+ function $r(e, t, n) {
3070
+ if (sr(e, t), Sr(e, t, n) || Tr(e, t, n) || Dr(e, t, n) || kr(e, t, n) || zr(e, t, n)) return;
3071
+ let r = Zr(e, t, n), i = Wr(e, t, n), a = r || i, o = or(e);
3072
+ Qr(e, t, n, a, o), o && Yr(e, t, n);
2861
3073
  }
2862
3074
  //#endregion
2863
3075
  //#region src/components/ai-chat/stream/registry.ts
2864
- function Rr(e) {
3076
+ function ei(e) {
2865
3077
  switch (e) {
2866
3078
  case "dashboard": return {
2867
3079
  agent: e,
@@ -2871,14 +3083,18 @@ function Rr(e) {
2871
3083
  agent: e,
2872
3084
  chartAssetType: "item"
2873
3085
  };
3086
+ case "custom-item": return {
3087
+ agent: e,
3088
+ customItemAssetType: "custom-item"
3089
+ };
2874
3090
  default: return { agent: e };
2875
3091
  }
2876
3092
  }
2877
- function zr(e) {
2878
- let t = Rr(e);
2879
- return (e, n) => Lr(e, n, t);
3093
+ function ti(e) {
3094
+ let t = ei(e);
3095
+ return (e, n) => $r(e, n, t);
2880
3096
  }
2881
- function Br() {
3097
+ function ni() {
2882
3098
  return {
2883
3099
  progressCollapsed: !1,
2884
3100
  accumulatedText: "",
@@ -2887,16 +3103,17 @@ function Br() {
2887
3103
  dashboardSnapshot: null,
2888
3104
  dashboardName: void 0,
2889
3105
  chartSnapshot: null,
3106
+ customItemSnapshot: null,
2890
3107
  interruptQuestion: null,
2891
3108
  completed: !1
2892
3109
  };
2893
3110
  }
2894
3111
  //#endregion
2895
3112
  //#region src/components/ai-chat/session/ai-chat-session.ts
2896
- function Vr() {
3113
+ function ri() {
2897
3114
  return `msg-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
2898
3115
  }
2899
- var Hr = class {
3116
+ var ii = class {
2900
3117
  constructor(e, t = {}) {
2901
3118
  this._uiBridgeCallbacks = {}, this._subscribers = /* @__PURE__ */ new Set(), this._state = {
2902
3119
  messages: [],
@@ -2911,7 +3128,7 @@ var Hr = class {
2911
3128
  apiVersion: "0.1.0",
2912
3129
  stream: !0,
2913
3130
  ...e
2914
- }, this._hostCallbacks = t, this._state = {
3131
+ }, e.agentConfig && (this._config.agentConfig = kn(e)), this._hostCallbacks = t, this._state = {
2915
3132
  ...this._state,
2916
3133
  messages: e.messages ? [...e.messages] : [],
2917
3134
  selectedDatasets: e.selectedDatasets ? [...e.selectedDatasets] : [],
@@ -2927,6 +3144,9 @@ var Hr = class {
2927
3144
  get isGenerating() {
2928
3145
  return this._state.isGenerating;
2929
3146
  }
3147
+ get agentConfig() {
3148
+ return kn(this._config);
3149
+ }
2930
3150
  subscribe(e) {
2931
3151
  return this._subscribers.add(e), e(this._state), () => {
2932
3152
  this._subscribers.delete(e);
@@ -2936,24 +3156,29 @@ var Hr = class {
2936
3156
  this._uiBridgeCallbacks = e;
2937
3157
  }
2938
3158
  updateConfig(e) {
3159
+ let t = this.agentConfig, n = this._config.agentConfig !== void 0;
2939
3160
  this._config = {
2940
3161
  ...this._config,
2941
3162
  ...e
2942
- };
2943
- let t = {};
3163
+ }, e.agentConfig && (this._config.agentConfig = kn(this._config, t));
3164
+ let r = {};
2944
3165
  if ("conversationId" in e) {
2945
- let n = e.conversationId ?? null;
2946
- n !== this._state.conversationId && (t.conversationId = n);
3166
+ let t = e.conversationId ?? null;
3167
+ t !== this._state.conversationId && (r.conversationId = t);
2947
3168
  }
2948
3169
  if ("selectedDatasets" in e && e.selectedDatasets) {
2949
- let n = [...e.selectedDatasets];
2950
- this._areSelectedDatasetsEqual(n, this._state.selectedDatasets) || (t.selectedDatasets = n);
3170
+ let t = [...e.selectedDatasets];
3171
+ this._areSelectedDatasetsEqual(t, this._state.selectedDatasets) || (r.selectedDatasets = t);
2951
3172
  }
2952
3173
  if ("messages" in e && e.messages) {
2953
- let n = [...e.messages];
2954
- this._areChatMessagesEqual(n, this._state.messages) || (t.messages = n);
3174
+ let t = [...e.messages];
3175
+ this._areChatMessagesEqual(t, this._state.messages) || (r.messages = t);
3176
+ }
3177
+ if ("isGenerating" in e && e.isGenerating !== this._state.isGenerating && (r.isGenerating = e.isGenerating), "progress" in e && (r.progress = e.progress ?? null), "progressCollapsed" in e && e.progressCollapsed !== this._state.progressCollapsed && (r.progressCollapsed = e.progressCollapsed), Object.keys(r).length > 0) this._patchState(r);
3178
+ else if ("agentConfig" in e && (n || this._config.agentConfig !== void 0)) {
3179
+ let e = this.agentConfig;
3180
+ (e.type !== t.type || e.context !== t.context) && this._notifySubscribers();
2955
3181
  }
2956
- "isGenerating" in e && e.isGenerating !== this._state.isGenerating && (t.isGenerating = e.isGenerating), "progress" in e && (t.progress = e.progress ?? null), "progressCollapsed" in e && e.progressCollapsed !== this._state.progressCollapsed && (t.progressCollapsed = e.progressCollapsed), Object.keys(t).length > 0 && this._patchState(t);
2957
3182
  }
2958
3183
  setSelectedDatasets(e) {
2959
3184
  this._patchState({ selectedDatasets: [...e] }), this._emit("onDatasetsChanged", this._state.selectedDatasets);
@@ -2969,10 +3194,10 @@ var Hr = class {
2969
3194
  return !this._config.requireDataset || this._state.selectedDatasets.length > 0 || !!e;
2970
3195
  }
2971
3196
  getAiPromptUrl() {
2972
- return En(this._config.apiUrl ?? "https://api.luzmo.com", this._config.apiVersion ?? "0.1.0");
3197
+ return Rn(this._config.apiUrl ?? "https://api.luzmo.com", this._config.apiVersion ?? "0.1.0");
2973
3198
  }
2974
- buildRequestBody(e, t, n = [], r = this._config.agentId) {
2975
- return In(this._config.agent, {
3199
+ buildRequestBody(e, t, n = [], r = this._config.agentId, i = {}) {
3200
+ return Yn(this.agentConfig.type, {
2976
3201
  prompt: e,
2977
3202
  datasetIds: t,
2978
3203
  authKey: this._config.authKey,
@@ -2981,14 +3206,17 @@ var Hr = class {
2981
3206
  agentId: r,
2982
3207
  chart: this._config.chart ?? null,
2983
3208
  dashboard: this._config.dashboard ?? null,
3209
+ customItem: this._config.customItem ?? null,
2984
3210
  currentScreenMode: this._config.currentScreenMode,
2985
3211
  localeId: this._config.localeId,
2986
3212
  timezoneId: this._config.timezoneId,
2987
3213
  task: this._config.task,
3214
+ ...this._config.agentConfig ? An(this.agentConfig) : {},
2988
3215
  modelPreference: this._config.modelPreference,
2989
3216
  apiVersion: this._config.apiVersion,
2990
3217
  stream: this._config.stream,
2991
- attachmentUrls: n
3218
+ attachmentUrls: n,
3219
+ internal: i.internal
2992
3220
  });
2993
3221
  }
2994
3222
  buildPromptSubmittedDetail(e) {
@@ -2997,8 +3225,8 @@ var Hr = class {
2997
3225
  prompt: e.prompt,
2998
3226
  selectedDatasets: e.selectedDatasets,
2999
3227
  datasetIds: e.datasetIds,
3000
- agent: this._config.agent,
3001
- request: this.buildRequestBody(e.prompt, e.datasetIds, t, e.agentId),
3228
+ agent: this.agentConfig.type,
3229
+ request: this.buildRequestBody(e.prompt, e.datasetIds, t, e.agentId, { internal: e.internal }),
3002
3230
  url: this.getAiPromptUrl(),
3003
3231
  ...e.signal ? { signal: e.signal } : {},
3004
3232
  ...e.attachments?.length ? { attachments: e.attachments } : {},
@@ -3032,8 +3260,11 @@ var Hr = class {
3032
3260
  return t(r), r;
3033
3261
  }
3034
3262
  async submit(e) {
3263
+ await this._submit(e);
3264
+ }
3265
+ async _submit(e) {
3035
3266
  let t = e.datasetIds ?? this._state.selectedDatasets.map((e) => e.id);
3036
- if (!this.isDatasetRequirementMet(e.agentId)) return;
3267
+ if (!this.isDatasetRequirementMet(e.agentId)) return !1;
3037
3268
  this._abortInflight();
3038
3269
  let n = new AbortController();
3039
3270
  this._abortController = n;
@@ -3041,18 +3272,18 @@ var Hr = class {
3041
3272
  try {
3042
3273
  r = await this._resolveAttachmentUrls(e, n.signal);
3043
3274
  } catch (e) {
3044
- if (this._abortController === n && (this._abortController = null), n.signal.aborted || e.name === "AbortError") return;
3275
+ if (this._abortController === n && (this._abortController = null), n.signal.aborted || e.name === "AbortError") return !1;
3045
3276
  throw e;
3046
3277
  }
3047
- if (n.signal.aborted || this._abortController !== n) return;
3278
+ if (n.signal.aborted || this._abortController !== n) return !1;
3048
3279
  let i = {
3049
- id: e.aiMessageId ?? Vr(),
3280
+ id: e.aiMessageId ?? ri(),
3050
3281
  type: "ai",
3051
3282
  message: ""
3052
3283
  }, a = [...this._state.messages];
3053
3284
  if (!e.skipUserMessage) {
3054
3285
  let t = {
3055
- id: Vr(),
3286
+ id: ri(),
3056
3287
  type: "user",
3057
3288
  message: e.prompt,
3058
3289
  ...r.length ? { attachmentUrls: r } : {}
@@ -3062,7 +3293,7 @@ var Hr = class {
3062
3293
  a = [...a, i], this._inflightMessage = i, this._receivedProgress = !1, this._patchState({
3063
3294
  messages: a,
3064
3295
  isGenerating: !0,
3065
- progress: Hn(),
3296
+ progress: tr(),
3066
3297
  progressCollapsed: !1,
3067
3298
  inflightMessage: i
3068
3299
  });
@@ -3075,96 +3306,123 @@ var Hr = class {
3075
3306
  signal: n.signal,
3076
3307
  attachments: e.attachments,
3077
3308
  attachmentUrls: r,
3078
- agentId: e.agentId
3309
+ agentId: e.agentId,
3310
+ internal: e.internal
3079
3311
  });
3080
3312
  try {
3081
3313
  await this._invokeCallback("onPromptSubmitted", t);
3082
3314
  } catch (e) {
3083
- e.name === "AbortError" ? this.abort() : (this._handleSubmitError(e, i), this._finalizeInflightMessage()), this._patchState({ isGenerating: !1 });
3315
+ e.name === "AbortError" ? this.abort() : (this._handleSubmitError(e, i, t.agent), this._finalizeInflightMessage()), this._patchState({ isGenerating: !1 });
3084
3316
  }
3085
- return;
3317
+ return !0;
3086
3318
  }
3087
- let c = this.buildRequestBody(e.prompt, t, r, e.agentId), l = zr(this._config.agent), u = {
3319
+ let c = this.buildRequestBody(e.prompt, t, r, e.agentId, { internal: e.internal }), l = this.agentConfig.type, u = ti(l), d = {
3088
3320
  aiMessage: i,
3089
3321
  callbacks: this._createStreamCallbacks(),
3090
- state: Br()
3091
- }, d = this._config.fetchStreaming ?? Rn, f = !1;
3322
+ state: ni()
3323
+ }, f = this._config.fetchStreaming ?? Zn, p = !1;
3092
3324
  try {
3093
- let { body: e, conversationId: t } = await d({
3325
+ let { body: e, conversationId: t } = await f({
3094
3326
  url: this.getAiPromptUrl(),
3095
3327
  body: c,
3096
3328
  signal: n.signal
3097
3329
  });
3098
- t && this._setConversationId(t), await Vn(e, (e) => l(e, u)), f = !0;
3330
+ t && this._setConversationId(t), await er(e, (e) => u(e, d)), p = !0;
3099
3331
  } catch (e) {
3100
- e.name !== "AbortError" && (this._handleSubmitError(e, i), f = !0);
3332
+ e.name !== "AbortError" && (this._handleSubmitError(e, i, l), p = !0);
3101
3333
  } finally {
3102
- this._abortController === n && (f ? this._finalizeInflightMessage() : this._discardInflightMessage(), this._patchState({ isGenerating: !1 }), this._abortController = null);
3334
+ this._abortController === n && (p ? this._finalizeInflightMessage() : this._discardInflightMessage(), this._patchState({ isGenerating: !1 }), this._abortController = null);
3103
3335
  }
3336
+ return !0;
3337
+ }
3338
+ async answerElicitation(e, t, n = {}) {
3339
+ let r = this._state.messages.at(-1), i = r?.id === e ? r.elicitation : void 0;
3340
+ if (this._state.isGenerating || !i || i.answer || !i.options.includes(t) || !this.isDatasetRequirementMet(n.agentId)) return !1;
3341
+ let a = (t) => {
3342
+ this._patchState({ messages: this._state.messages.map((n) => n.id === e ? {
3343
+ ...n,
3344
+ elicitation: {
3345
+ ...i,
3346
+ answer: t
3347
+ }
3348
+ } : n) });
3349
+ };
3350
+ a(t);
3351
+ let o = !1;
3352
+ try {
3353
+ o = await this._submit({
3354
+ ...n,
3355
+ prompt: t
3356
+ });
3357
+ } finally {
3358
+ o || a(void 0);
3359
+ }
3360
+ return o;
3104
3361
  }
3105
3362
  async restore(e) {
3106
- if (this._config.agent !== "item") return {};
3107
- let t = Ln(e.restoreToMessageId, this._config.authKey, this._config.authToken, this._config.apiVersion, this._state.conversationId);
3363
+ let t = this.agentConfig.type;
3364
+ if (t !== "item") return {};
3365
+ let n = Xn(e.restoreToMessageId, this._config.authKey, this._config.authToken, this._config.apiVersion, this._state.conversationId);
3108
3366
  if (this._patchState({
3109
3367
  isGenerating: !0,
3110
3368
  progress: null,
3111
3369
  progressCollapsed: !1
3112
3370
  }), this._hasCallback("onRestoreRequested")) {
3113
- let n = {
3371
+ let t = {
3114
3372
  apiMessageId: e.restoreToMessageId,
3115
3373
  messageIndex: e.messageIndex,
3116
- request: t,
3374
+ request: n,
3117
3375
  url: this.getAiPromptUrl()
3118
3376
  };
3119
3377
  try {
3120
- await this._invokeCallback("onRestoreRequested", n);
3378
+ await this._invokeCallback("onRestoreRequested", t);
3121
3379
  } finally {
3122
3380
  this._patchState({ isGenerating: !1 });
3123
3381
  }
3124
3382
  return {};
3125
3383
  }
3126
3384
  try {
3127
- let n = await fetch(this.getAiPromptUrl(), {
3385
+ let r = await fetch(this.getAiPromptUrl(), {
3128
3386
  method: "POST",
3129
3387
  headers: { "Content-Type": "application/json" },
3130
3388
  mode: "cors",
3131
- body: JSON.stringify(t)
3389
+ body: JSON.stringify(n)
3132
3390
  });
3133
- if (!n.ok) {
3134
- let e = await n.json().catch(() => null);
3135
- throw Error(e?.message || `API request failed with status ${n.status}`);
3136
- }
3137
- let r = await n.json().catch(() => null), i = r?.generatedChart ?? (r ? Xn(r) : null), a = {
3138
- ...typeof r?.message == "string" ? { message: r.message } : {},
3139
- ...i ? { chart: {
3140
- ...r,
3141
- generatedChart: i
3391
+ if (!r.ok) {
3392
+ let e = await r.json().catch(() => null);
3393
+ throw Error(e?.message || `API request failed with status ${r.status}`);
3394
+ }
3395
+ let i = await r.json().catch(() => null), a = i?.generatedChart ?? (i ? lr(i) : null), o = {
3396
+ ...typeof i?.message == "string" ? { message: i.message } : {},
3397
+ ...a ? { chart: {
3398
+ ...i,
3399
+ generatedChart: a
3142
3400
  } } : {}
3143
- }, o = e.messageIndex >= 0 && e.messageIndex < this._state.messages.length ? this._state.messages.slice(0, e.messageIndex + 1) : this._state.messages;
3144
- if (a.message && o[e.messageIndex]?.type === "ai" && (o[e.messageIndex] = {
3145
- ...o[e.messageIndex],
3146
- message: a.message
3147
- }), this._patchState({ messages: [...o] }), a.chart || a.message) {
3148
- let t = o[e.messageIndex], n = t?.type === "ai" ? t : {
3149
- id: Vr(),
3401
+ }, s = e.messageIndex >= 0 && e.messageIndex < this._state.messages.length ? this._state.messages.slice(0, e.messageIndex + 1) : this._state.messages;
3402
+ if (o.message && s[e.messageIndex]?.type === "ai" && (s[e.messageIndex] = {
3403
+ ...s[e.messageIndex],
3404
+ message: o.message
3405
+ }), this._patchState({ messages: [...s] }), o.chart || o.message) {
3406
+ let n = s[e.messageIndex], r = n?.type === "ai" ? n : {
3407
+ id: ri(),
3150
3408
  type: "ai",
3151
- message: a.message ?? ""
3409
+ message: o.message ?? ""
3152
3410
  };
3153
3411
  this._emit("onComplete", {
3154
- agent: this._config.agent,
3412
+ agent: t,
3155
3413
  conversationId: this._state.conversationId,
3156
- message: n,
3157
- ...a.chart ? { chart: a.chart } : {},
3158
- ...r ? { raw: r } : {}
3414
+ message: r,
3415
+ ...o.chart ? { chart: o.chart } : {},
3416
+ ...i ? { raw: i } : {}
3159
3417
  });
3160
3418
  }
3161
- return a;
3419
+ return o;
3162
3420
  } finally {
3163
3421
  this._patchState({ isGenerating: !1 });
3164
3422
  }
3165
3423
  }
3166
3424
  buildRestoreRequest(e) {
3167
- return Ln(e, this._config.authKey, this._config.authToken, this._config.apiVersion, this._state.conversationId);
3425
+ return Xn(e, this._config.authKey, this._config.authToken, this._config.apiVersion, this._state.conversationId);
3168
3426
  }
3169
3427
  abort(e = {}) {
3170
3428
  this._abortController?.abort(), this._abortController = null, e.notify && this._inflightMessage ? this._markInflightCancelled(e.cancelledMessage) : this._discardInflightMessage(), this._patchState({
@@ -3223,19 +3481,19 @@ var Hr = class {
3223
3481
  this._inflightMessage && this._patchState({ messages: this._state.messages.filter((e) => e.id !== this._inflightMessage.id) });
3224
3482
  }
3225
3483
  _markInflightCancelled(e) {
3226
- this._inflightMessage && (this._inflightMessage.message = e ?? o("Response cancelled.", { desc: "Placeholder shown in ai chat where the assistant reply would appear when the user stops an in-flight response" }), this._inflightMessage.isCancelled = !0, this._inflightMessage.hasChart = !1, delete this._inflightMessage.progress, this._upsertMessage(this._inflightMessage), this._inflightMessage = null, this._receivedProgress = !1, this._patchState({ inflightMessage: null }));
3484
+ this._inflightMessage && (this._inflightMessage.message = e ?? o("Response cancelled.", { desc: "Placeholder shown in ai chat where the assistant reply would appear when the user stops an in-flight response" }), this._inflightMessage.isCancelled = !0, this._inflightMessage.hasChart = !1, delete this._inflightMessage.progress, delete this._inflightMessage.elicitation, this._upsertMessage(this._inflightMessage), this._inflightMessage = null, this._receivedProgress = !1, this._patchState({ inflightMessage: null }));
3227
3485
  }
3228
3486
  _discardInflightMessage() {
3229
3487
  let e = !!(this._inflightMessage || this._state.inflightMessage);
3230
3488
  this._removeInflightFromMessages(), this._inflightMessage = null, this._receivedProgress = !1, e && this._patchState({ inflightMessage: null });
3231
3489
  }
3232
- _handleSubmitError(e, t) {
3233
- t.message = o("Something went wrong. Please try again.", { desc: "Generic error message shown in ai chat when the API request fails" }), t.isError = !0, delete t.progress, this._inflightMessage = t, this._upsertMessage(t), this._patchState({
3490
+ _handleSubmitError(e, t, n) {
3491
+ t.message = o("Something went wrong. Please try again.", { desc: "Generic error message shown in ai chat when the API request fails" }), t.isError = !0, delete t.progress, delete t.elicitation, this._inflightMessage = t, this._upsertMessage(t), this._patchState({
3234
3492
  inflightMessage: { ...t },
3235
3493
  progress: null,
3236
3494
  progressCollapsed: !1
3237
3495
  }), this._emit("onComplete", {
3238
- agent: this._config.agent,
3496
+ agent: n,
3239
3497
  conversationId: this._state.conversationId,
3240
3498
  message: t,
3241
3499
  error: e
@@ -3255,7 +3513,9 @@ var Hr = class {
3255
3513
  this._state = {
3256
3514
  ...this._state,
3257
3515
  ...e
3258
- }, this._emit("onStateChange", this._state);
3516
+ }, this._emit("onStateChange", this._state), this._notifySubscribers();
3517
+ }
3518
+ _notifySubscribers() {
3259
3519
  for (let e of this._subscribers) e(this._state);
3260
3520
  }
3261
3521
  _areSelectedDatasetsEqual(e, t) {
@@ -3264,18 +3524,18 @@ var Hr = class {
3264
3524
  _areChatMessagesEqual(e, t) {
3265
3525
  return e.length === t.length && e.every((e, n) => {
3266
3526
  let r = t[n];
3267
- return e.id === r?.id && e.apiMessageId === r?.apiMessageId && e.type === r?.type && e.message === r?.message && e.isError === r?.isError && e.isCancelled === r?.isCancelled && e.hasChart === r?.hasChart && JSON.stringify(e.progress ?? null) === JSON.stringify(r?.progress ?? null) && JSON.stringify(e.actions ?? null) === JSON.stringify(r?.actions ?? null) && JSON.stringify(e.attachmentUrls ?? null) === JSON.stringify(r?.attachmentUrls ?? null);
3527
+ return e.id === r?.id && e.apiMessageId === r?.apiMessageId && e.type === r?.type && e.message === r?.message && e.isError === r?.isError && e.isCancelled === r?.isCancelled && e.hasChart === r?.hasChart && JSON.stringify(e.progress ?? null) === JSON.stringify(r?.progress ?? null) && JSON.stringify(e.actions ?? null) === JSON.stringify(r?.actions ?? null) && JSON.stringify(e.attachmentUrls ?? null) === JSON.stringify(r?.attachmentUrls ?? null) && JSON.stringify(e.elicitation ?? null) === JSON.stringify(r?.elicitation ?? null);
3268
3528
  });
3269
3529
  }
3270
3530
  };
3271
- function Ur(e, t) {
3272
- return new Hr(e, t);
3531
+ function ai(e, t) {
3532
+ return new ii(e, t);
3273
3533
  }
3274
3534
  //#endregion
3275
3535
  //#region src/components/ai-chat/session/ai-chat-session-controller.ts
3276
- var Wr = class {
3536
+ var oi = class {
3277
3537
  constructor(e) {
3278
- this.options = e, this._session = null, this._ownsSession = !1, this._seededFromProps = !1, this._unsubscribe = null;
3538
+ this.options = e, this._session = null, this._ownsSession = !1, this._customItemFromProps = !1, this._seededFromProps = !1, this._unsubscribe = null;
3279
3539
  }
3280
3540
  get current() {
3281
3541
  return this._session;
@@ -3331,7 +3591,7 @@ var Wr = class {
3331
3591
  requireDataset: t.requireDataset,
3332
3592
  agent: t.agent
3333
3593
  };
3334
- t.task !== void 0 && (n.task = t.task), t.chart != null && (n.chart = t.chart), t.dashboard != null && (n.dashboard = t.dashboard), t.currentScreenMode != null && (n.currentScreenMode = t.currentScreenMode), t.conversationId != null && (n.conversationId = t.conversationId), e.updateConfig(n);
3594
+ t.agentConfig !== void 0 && (n.agentConfig = t.agentConfig), t.task !== void 0 && (n.task = t.task), t.chart != null && (n.chart = t.chart), t.dashboard != null && (n.dashboard = t.dashboard), t.customItem != null && (this._customItemFromProps = !0), this._customItemFromProps && (n.customItem = t.customItem ?? null), t.currentScreenMode != null && (n.currentScreenMode = t.currentScreenMode), t.conversationId != null && (n.conversationId = t.conversationId), e.updateConfig(n);
3335
3595
  }
3336
3596
  connect() {
3337
3597
  this._session && this._wire(this._session);
@@ -3342,7 +3602,7 @@ var Wr = class {
3342
3602
  _createSessionIfMissing() {
3343
3603
  if (this._session) return;
3344
3604
  let e = this.options.getSeed();
3345
- this._session = Ur({
3605
+ this._session = ai({
3346
3606
  ...this.options.getConfig(),
3347
3607
  messages: e.messages.length > 0 ? [...e.messages] : void 0,
3348
3608
  selectedDatasets: e.selectedDatasets.length > 0 ? [...e.selectedDatasets] : void 0
@@ -3366,7 +3626,7 @@ var Wr = class {
3366
3626
  }
3367
3627
  }, $ = class t extends i {
3368
3628
  constructor(...e) {
3369
- super(...e), this.messages = [], this.selectedDatasets = [], this.placeholder = "Describe your change", this.disabled = !1, this.stoppable = !1, this.showAssistantContextMenu = !1, this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.includePublicDatasets = !1, this.hideDatasetButton = !1, this.hideDatasetIcons = !1, this.disableDatasetModification = !1, this.hideSelectedDatasets = !1, this.disableColumnMentions = !1, this.requireDataset = !1, this.allowImages = !1, this.allowVoiceInput = !1, this.acceptedFileTypes = [], this.agent = "item", this.task = "generate", this.modelPreference = "performance", this.chatSession = null, this.conversationId = null, this.chart = null, this.dashboard = null, this.timezoneId = "UTC", this.apiVersion = "0.1.0", this.stream = !0, this.loadingMessage = null, this.cancelledMessage = null, this.initialPrompt = null, this.emptyStateTitle = "", this.emptyStateSubtitle = "", this.emptyStateSuggestions = [], this._textareaValue = "", this._assistantMessageActionsSlotHasContent = !1, this._pendingAssistantMessageAction = null, this._shouldFocusAssistantMessageActionConfirm = !1, this._lastProcessedInitialPrompt = null, this._session = new Wr({
3629
+ super(...e), this.messages = [], this.selectedDatasets = [], this.placeholder = "Describe your change", this.disabled = !1, this.stoppable = !1, this.showAssistantContextMenu = !1, this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.includePublicDatasets = !1, this.hideDatasetButton = !1, this.hideDatasetIcons = !1, this.disableDatasetModification = !1, this.hideSelectedDatasets = !1, this.hideAgents = !1, this.disableColumnMentions = !1, this.requireDataset = !1, this.allowImages = !1, this.allowVoiceInput = !1, this.acceptedFileTypes = [], this.agent = "item", this.task = "generate", this.modelPreference = "performance", this.chatSession = null, this.conversationId = null, this.chart = null, this.dashboard = null, this.customItem = null, this.timezoneId = "UTC", this.apiVersion = "0.1.0", this.stream = !0, this.loadingMessage = null, this.cancelledMessage = null, this.initialPrompt = null, this.emptyStateTitle = "", this.emptyStateSubtitle = "", this.emptyStateSuggestions = [], this._textareaValue = "", this._assistantMessageActionsSlotHasContent = !1, this._pendingAssistantMessageAction = null, this._shouldFocusAssistantMessageActionConfirm = !1, this._lastProcessedInitialPrompt = null, this._session = new oi({
3370
3630
  getConfig: () => this._buildSessionConfig(),
3371
3631
  getSeed: () => ({
3372
3632
  messages: this.messages,
@@ -3385,7 +3645,7 @@ var Wr = class {
3385
3645
  };
3386
3646
  }
3387
3647
  static {
3388
- this.styles = f(Cn);
3648
+ this.styles = f(On);
3389
3649
  }
3390
3650
  static {
3391
3651
  this.tagName = "luzmo-ai-chat";
@@ -3449,7 +3709,7 @@ var Wr = class {
3449
3709
  };
3450
3710
  }
3451
3711
  get _pickedAgentId() {
3452
- return this.shadowRoot?.querySelector("luzmo-ai-interaction-textarea")?.selectedAgent?.id;
3712
+ if (!this.hideAgents) return this.shadowRoot?.querySelector("luzmo-ai-interaction-textarea")?.selectedAgent?.id;
3453
3713
  }
3454
3714
  get _resolvedAcceptedFileTypes() {
3455
3715
  return this.acceptedFileTypes.length > 0 ? this.acceptedFileTypes : this.allowImages ? [...e] : [];
@@ -3457,6 +3717,7 @@ var Wr = class {
3457
3717
  _buildSessionConfig() {
3458
3718
  return {
3459
3719
  agent: this.agent,
3720
+ agentConfig: this.agentConfig,
3460
3721
  agentId: this.agentId,
3461
3722
  authKey: this.authKey,
3462
3723
  authToken: this.authToken,
@@ -3466,6 +3727,7 @@ var Wr = class {
3466
3727
  conversationId: this.conversationId,
3467
3728
  chart: this.chart,
3468
3729
  dashboard: this.dashboard,
3730
+ customItem: this.customItem,
3469
3731
  currentScreenMode: this.currentScreenMode,
3470
3732
  localeId: this.localeId,
3471
3733
  timezoneId: this.timezoneId,
@@ -3474,6 +3736,10 @@ var Wr = class {
3474
3736
  requireDataset: this.requireDataset
3475
3737
  };
3476
3738
  }
3739
+ _getAgentConfig() {
3740
+ let e = this._session.current?.agentConfig;
3741
+ return this.agentConfig === void 0 && this.chatSession && e ? e : kn(this._buildSessionConfig(), e);
3742
+ }
3477
3743
  _emitConversationIdChanged(e) {
3478
3744
  this.conversationId = e, this.dispatchEvent(new CustomEvent("luzmo-conversation-id-changed", {
3479
3745
  detail: { conversationId: e },
@@ -3488,7 +3754,7 @@ var Wr = class {
3488
3754
  });
3489
3755
  }
3490
3756
  async _handleRestoreState(e, t) {
3491
- if (e.apiMessageId && this.agent === "item") try {
3757
+ if (e.apiMessageId && this._getAgentConfig().type === "item") try {
3492
3758
  await this._restoreViaSession(e.apiMessageId, t);
3493
3759
  } catch (e) {
3494
3760
  console.error("AI restore error:", e);
@@ -3583,8 +3849,8 @@ var Wr = class {
3583
3849
  this.initialPrompt && this.initialPrompt !== this._lastProcessedInitialPrompt ? this._processInitialPrompt() : this.initialPrompt || (this._lastProcessedInitialPrompt = null);
3584
3850
  }
3585
3851
  _renderMarkdown(e) {
3586
- let t = String(Q.parse(e, { async: !1 }));
3587
- return pt.sanitize(t, {
3852
+ let t = String(Z.parse(e, { async: !1 }));
3853
+ return _t.sanitize(t, {
3588
3854
  ALLOWED_TAGS: /* @__PURE__ */ "p.br.strong.em.b.i.u.s.code.pre.blockquote.hr.ul.ol.li.h1.h2.h3.h4.h5.h6.table.thead.tbody.tr.th.td.a".split("."),
3589
3855
  ALLOWED_ATTR: [
3590
3856
  "href",
@@ -3759,7 +4025,7 @@ var Wr = class {
3759
4025
  `;
3760
4026
  }
3761
4027
  _renderRestoreMenu(e, t, n, r = !1) {
3762
- if (!(this.agent === "item" && this.showAssistantContextMenu && e.hasChart && e.apiMessageId && !e.isError && e.id !== n)) return d;
4028
+ if (!(this._getAgentConfig().type === "item" && this.showAssistantContextMenu && e.hasChart && e.apiMessageId && !e.isError && e.id !== n)) return d;
3763
4029
  let i = `context-menu-trigger-${e.apiMessageId}`;
3764
4030
  return u`
3765
4031
  <div class="assistant-context-menu">
@@ -3831,7 +4097,7 @@ var Wr = class {
3831
4097
  </luzmo-chat-message>
3832
4098
  `;
3833
4099
  }
3834
- let m = e.indexOf(t), h = t.isError ? "error" : t.isCancelled ? "cancelled" : "", g = t.isCancelled ? t.message : u`<div class="markdown-content">${ee(this._renderMarkdown(t.message))}</div>`;
4100
+ let m = e.indexOf(t), h = t.isError ? "error" : t.isCancelled ? "cancelled" : "", te = !!t.elicitation && (!t.message.trim() || t.message.trim() === t.elicitation?.question), ne = t.isCancelled ? t.message : te ? d : u`<div class="markdown-content">${ee(this._renderMarkdown(t.message))}</div>`;
3835
4101
  return u`
3836
4102
  ${p}
3837
4103
  <div class="assistant-message-wrapper">
@@ -3844,7 +4110,12 @@ var Wr = class {
3844
4110
  quiet
3845
4111
  size="s"
3846
4112
  >
3847
- ${g}
4113
+ ${ne}
4114
+ ${Ln({
4115
+ message: t,
4116
+ state: t.elicitation?.answer ? "answered" : t.id && t === i.at(-1) && !n && !this.disabled ? "open" : "closed",
4117
+ onSubmit: (e) => this._handleElicitationSubmit(t, e)
4118
+ })}
3848
4119
  </luzmo-chat-message>
3849
4120
 
3850
4121
  ${this._renderRestoreMenu(t, m, s, r)}
@@ -3855,6 +4126,19 @@ var Wr = class {
3855
4126
  `;
3856
4127
  });
3857
4128
  }
4129
+ async _handleElicitationSubmit(e, t) {
4130
+ t.stopPropagation();
4131
+ let n = t.currentTarget, r = n.parentElement, i = Fn(t.detail), a = !1;
4132
+ if (e.id && i) try {
4133
+ let t = this._session.requireSession().answerElicitation(e.id, i, { agentId: this._pickedAgentId });
4134
+ await this.updateComplete;
4135
+ let n = r?.querySelector("luzmo-question-box[readonly]");
4136
+ await n?.updateComplete, n?.focus(), a = await t;
4137
+ } catch (e) {
4138
+ e.name !== "AbortError" && console.error("AI prompt session error:", e);
4139
+ }
4140
+ a || (n.reset(), await n.updateComplete, n.focus());
4141
+ }
3858
4142
  _renderStreamingResponse() {
3859
4143
  let { inflightMessage: e } = this._getRenderState();
3860
4144
  return e?.message ? u`
@@ -3871,7 +4155,7 @@ var Wr = class {
3871
4155
  _renderLoadingMessage() {
3872
4156
  let { isGenerating: e, progress: t, inflightMessage: n } = this._getRenderState();
3873
4157
  if (!e || t?.children?.length || n?.message) return d;
3874
- let r = this.agent === "dashboard" ? !this.dashboard : this.chart?.type === "placeholder", i = this.agent === "dashboard" ? r ? o("Creating dashboard...", { desc: "Label for ai chat creating dashboard message" }) : o("Updating dashboard...", { desc: "Label for ai chat updating dashboard message" }) : r ? o("Creating item...", { desc: "Label for ai chat creating item message" }) : o("Updating item...", { desc: "Label for ai chat updating item message" });
4158
+ let r = this._getAgentConfig(), i = An(r), a = r.type === "dashboard" ? !i.dashboard : i.chart?.type === "placeholder", s = r.type === "dashboard" ? a ? o("Creating dashboard...", { desc: "Label for ai chat creating dashboard message" }) : o("Updating dashboard...", { desc: "Label for ai chat updating dashboard message" }) : a ? o("Creating item...", { desc: "Label for ai chat creating item message" }) : o("Updating item...", { desc: "Label for ai chat updating item message" });
3875
4159
  return u`
3876
4160
  <luzmo-chat-message
3877
4161
  avatar-placement="bottom"
@@ -3881,7 +4165,7 @@ var Wr = class {
3881
4165
  >
3882
4166
  <div class="loading-message" role="status" aria-live="polite">
3883
4167
  <span class="icon-lg">${c(l, { className: "spin" })}</span>
3884
- <span class="loading-message-text">${this.loadingMessage || i}</span>
4168
+ <span class="loading-message-text">${this.loadingMessage || s}</span>
3885
4169
  </div>
3886
4170
  </luzmo-chat-message>
3887
4171
  `;
@@ -3924,6 +4208,7 @@ var Wr = class {
3924
4208
  ?hide-dataset-icons=${this.hideDatasetIcons}
3925
4209
  ?disable-dataset-modification=${this.disableDatasetModification}
3926
4210
  ?hide-selected-datasets=${this.hideSelectedDatasets}
4211
+ ?hide-agents=${this.hideAgents}
3927
4212
  ?disable-column-mentions=${this.disableColumnMentions}
3928
4213
  ?require-dataset=${this.requireDataset}
3929
4214
  ?allow-images=${this.allowImages}
@@ -3990,6 +4275,10 @@ a([p({ type: Array })], $.prototype, "messages", void 0), a([p({
3990
4275
  type: Boolean,
3991
4276
  attribute: "hide-selected-datasets"
3992
4277
  })], $.prototype, "hideSelectedDatasets", void 0), a([p({
4278
+ type: Boolean,
4279
+ reflect: !0,
4280
+ attribute: "hide-agents"
4281
+ })], $.prototype, "hideAgents", void 0), a([p({
3993
4282
  type: Boolean,
3994
4283
  attribute: "disable-column-mentions"
3995
4284
  })], $.prototype, "disableColumnMentions", void 0), a([p({
@@ -4006,7 +4295,7 @@ a([p({ type: Array })], $.prototype, "messages", void 0), a([p({
4006
4295
  })], $.prototype, "allowVoiceInput", void 0), a([p({
4007
4296
  type: Array,
4008
4297
  attribute: "accepted-file-types"
4009
- })], $.prototype, "acceptedFileTypes", void 0), a([p({ attribute: !1 })], $.prototype, "uploadAttachments", void 0), a([p({ type: String })], $.prototype, "agent", void 0), a([p({
4298
+ })], $.prototype, "acceptedFileTypes", void 0), a([p({ attribute: !1 })], $.prototype, "uploadAttachments", void 0), a([p({ type: String })], $.prototype, "agent", void 0), a([p({ attribute: !1 })], $.prototype, "agentConfig", void 0), a([p({
4010
4299
  type: String,
4011
4300
  attribute: "agent-id"
4012
4301
  })], $.prototype, "agentId", void 0), a([p({ type: String })], $.prototype, "task", void 0), a([p({
@@ -4018,7 +4307,7 @@ a([p({ type: Array })], $.prototype, "messages", void 0), a([p({
4018
4307
  })], $.prototype, "conversationId", void 0), a([p({
4019
4308
  type: Object,
4020
4309
  attribute: "chart"
4021
- })], $.prototype, "chart", void 0), a([p({ type: Object })], $.prototype, "dashboard", void 0), a([p({
4310
+ })], $.prototype, "chart", void 0), a([p({ type: Object })], $.prototype, "dashboard", void 0), a([p({ attribute: !1 })], $.prototype, "customItem", void 0), a([p({
4022
4311
  type: String,
4023
4312
  attribute: "current-screen-mode"
4024
4313
  })], $.prototype, "currentScreenMode", void 0), a([p({
@@ -4051,11 +4340,11 @@ a([p({ type: Array })], $.prototype, "messages", void 0), a([p({
4051
4340
  })], $.prototype, "emptyStateSuggestions", void 0), a([m()], $.prototype, "_textareaValue", void 0), a([m()], $.prototype, "_assistantMessageActionsSlotHasContent", void 0), a([m()], $.prototype, "_pendingAssistantMessageAction", void 0);
4052
4341
  //#endregion
4053
4342
  //#region src/components/ai-chat/ai-chat-events.ts
4054
- function Gr(e) {
4343
+ function si(e) {
4055
4344
  return e.recognized === !0;
4056
4345
  }
4057
4346
  //#endregion
4058
4347
  //#region src/components/ai-chat/index.ts
4059
4348
  customElements.get("luzmo-ai-chat") || customElements.define("luzmo-ai-chat", $);
4060
4349
  //#endregion
4061
- export { Pn as C, Tn as E, jn as S, En as T, Ln as _, Ur as a, Nn as b, Rr as c, er as d, Hn as f, Vn as g, zn as h, Hr as i, Lr as l, Rn as m, $ as n, Br as o, Un as p, Wr as r, zr as s, Gr as t, Xn as u, Fn as v, Dn as w, Mn as x, In as y };
4350
+ export { Un as C, Mn as D, Rn as E, Wn as S, zn as T, Xn as _, ai as a, Gn as b, ei as c, pr as d, tr as f, er as g, Qn as h, ii as i, $r as l, Zn as m, $ as n, ni as o, nr as p, oi as r, ti as s, si as t, lr as u, Jn as v, qn as w, Kn as x, Yn as y };