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

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 (314) hide show
  1. package/components/index.cjs +1 -1
  2. package/components/index.js +1 -1
  3. package/components/viz-item-menu/index.cjs +1 -1
  4. package/components/viz-item-menu/index.js +1 -1
  5. package/components/viz-item-menu/viz-item-menu.d.ts +3 -0
  6. package/components/{viz-item-menu-Ht6bklNL.js → viz-item-menu-B7yRaSAU.js} +1 -1
  7. package/components/{viz-item-menu-XHh4qhtn.cjs → viz-item-menu-hLdU-02Q.cjs} +1 -1
  8. package/custom-elements.json +14 -0
  9. package/package.json +1 -1
  10. package/react/package.json +2 -2
  11. package/angular/README.md +0 -40
  12. package/angular/components/ai-chat-empty-state.ts +0 -98
  13. package/angular/components/ai-chat.ts +0 -440
  14. package/angular/components/ai-interaction-textarea.ts +0 -283
  15. package/angular/components/data-field-level.ts +0 -130
  16. package/angular/components/data-field-panel.ts +0 -256
  17. package/angular/components/data-field.ts +0 -130
  18. package/angular/components/data-fields-select.ts +0 -212
  19. package/angular/components/dataset-icon.ts +0 -83
  20. package/angular/components/dataset-selector-list.ts +0 -147
  21. package/angular/components/dataset-selector-row.ts +0 -198
  22. package/angular/components/display-settings-binning.ts +0 -92
  23. package/angular/components/display-settings-datetime.ts +0 -100
  24. package/angular/components/display-settings-grand-totals.ts +0 -92
  25. package/angular/components/display-settings-numeric.ts +0 -113
  26. package/angular/components/display-settings-period-over-period.ts +0 -107
  27. package/angular/components/display-settings.ts +0 -227
  28. package/angular/components/filter-expression-picker.ts +0 -168
  29. package/angular/components/filter-item.ts +0 -175
  30. package/angular/components/filter-parameter-picker.ts +0 -155
  31. package/angular/components/filter-value-picker-datetime.ts +0 -125
  32. package/angular/components/filter-value-picker-hierarchy.ts +0 -146
  33. package/angular/components/filter-value-picker-numeric.ts +0 -146
  34. package/angular/components/filter-value-picker.ts +0 -160
  35. package/angular/components/filters.ts +0 -209
  36. package/angular/components/formula-editor.ts +0 -229
  37. package/angular/components/formula-field.ts +0 -198
  38. package/angular/components/formula.ts +0 -170
  39. package/angular/components/interactive-viz-item.ts +0 -186
  40. package/angular/components/item-grid-item-actions-menu.ts +0 -113
  41. package/angular/components/item-grid.ts +0 -242
  42. package/angular/components/item-option-action-button-group.ts +0 -105
  43. package/angular/components/item-option-color-palette-picker.ts +0 -126
  44. package/angular/components/item-option-color-picker.ts +0 -134
  45. package/angular/components/item-option-color-range.ts +0 -168
  46. package/angular/components/item-option-guidelines.ts +0 -84
  47. package/angular/components/item-option-multi-language-field.ts +0 -133
  48. package/angular/components/item-option-number-field.ts +0 -161
  49. package/angular/components/item-option-panel.ts +0 -149
  50. package/angular/components/item-option-picker.ts +0 -120
  51. package/angular/components/item-option-position-picker.ts +0 -98
  52. package/angular/components/item-option-positions-number-field.ts +0 -140
  53. package/angular/components/item-option-radio-button-group.ts +0 -119
  54. package/angular/components/item-option-slider.ts +0 -126
  55. package/angular/components/item-option-switch.ts +0 -98
  56. package/angular/components/item-option-text-field.ts +0 -112
  57. package/angular/components/item-option.ts +0 -163
  58. package/angular/components/item-slot-drop-panel.ts +0 -236
  59. package/angular/components/item-slot-drop.ts +0 -231
  60. package/angular/components/item-slot-picker-panel.ts +0 -299
  61. package/angular/components/item-slot-picker.ts +0 -241
  62. package/angular/components/slot-menu-list.ts +0 -121
  63. package/angular/components/slot-menu.ts +0 -304
  64. package/angular/components/viz-item-menu.ts +0 -118
  65. package/angular/esm/components/ai-chat-empty-state.d.ts +0 -39
  66. package/angular/esm/components/ai-chat-empty-state.js +0 -99
  67. package/angular/esm/components/ai-chat.d.ts +0 -147
  68. package/angular/esm/components/ai-chat.js +0 -455
  69. package/angular/esm/components/ai-interaction-textarea.d.ts +0 -106
  70. package/angular/esm/components/ai-interaction-textarea.js +0 -305
  71. package/angular/esm/components/data-field-level.d.ts +0 -50
  72. package/angular/esm/components/data-field-level.js +0 -129
  73. package/angular/esm/components/data-field-panel.d.ts +0 -86
  74. package/angular/esm/components/data-field-panel.js +0 -268
  75. package/angular/esm/components/data-field.d.ts +0 -50
  76. package/angular/esm/components/data-field.js +0 -129
  77. package/angular/esm/components/data-fields-select.d.ts +0 -81
  78. package/angular/esm/components/data-fields-select.js +0 -227
  79. package/angular/esm/components/dataset-icon.d.ts +0 -34
  80. package/angular/esm/components/dataset-icon.js +0 -86
  81. package/angular/esm/components/dataset-selector-list.d.ts +0 -56
  82. package/angular/esm/components/dataset-selector-list.js +0 -155
  83. package/angular/esm/components/dataset-selector-row.d.ts +0 -70
  84. package/angular/esm/components/dataset-selector-row.js +0 -197
  85. package/angular/esm/components/display-settings-binning.d.ts +0 -37
  86. package/angular/esm/components/display-settings-binning.js +0 -91
  87. package/angular/esm/components/display-settings-datetime.d.ts +0 -40
  88. package/angular/esm/components/display-settings-datetime.js +0 -99
  89. package/angular/esm/components/display-settings-grand-totals.d.ts +0 -37
  90. package/angular/esm/components/display-settings-grand-totals.js +0 -91
  91. package/angular/esm/components/display-settings-numeric.d.ts +0 -45
  92. package/angular/esm/components/display-settings-numeric.js +0 -115
  93. package/angular/esm/components/display-settings-period-over-period.d.ts +0 -44
  94. package/angular/esm/components/display-settings-period-over-period.js +0 -107
  95. package/angular/esm/components/display-settings.d.ts +0 -83
  96. package/angular/esm/components/display-settings.js +0 -231
  97. package/angular/esm/components/filter-expression-picker.d.ts +0 -64
  98. package/angular/esm/components/filter-expression-picker.js +0 -179
  99. package/angular/esm/components/filter-item.d.ts +0 -63
  100. package/angular/esm/components/filter-item.js +0 -187
  101. package/angular/esm/components/filter-parameter-picker.d.ts +0 -56
  102. package/angular/esm/components/filter-parameter-picker.js +0 -151
  103. package/angular/esm/components/filter-value-picker-datetime.d.ts +0 -47
  104. package/angular/esm/components/filter-value-picker-datetime.js +0 -131
  105. package/angular/esm/components/filter-value-picker-hierarchy.d.ts +0 -53
  106. package/angular/esm/components/filter-value-picker-hierarchy.js +0 -155
  107. package/angular/esm/components/filter-value-picker-numeric.d.ts +0 -53
  108. package/angular/esm/components/filter-value-picker-numeric.js +0 -155
  109. package/angular/esm/components/filter-value-picker.d.ts +0 -57
  110. package/angular/esm/components/filter-value-picker.js +0 -171
  111. package/angular/esm/components/filters.d.ts +0 -75
  112. package/angular/esm/components/filters.js +0 -215
  113. package/angular/esm/components/formula-editor.d.ts +0 -78
  114. package/angular/esm/components/formula-editor.js +0 -236
  115. package/angular/esm/components/formula-field.d.ts +0 -70
  116. package/angular/esm/components/formula-field.js +0 -209
  117. package/angular/esm/components/formula.d.ts +0 -60
  118. package/angular/esm/components/formula.js +0 -177
  119. package/angular/esm/components/interactive-viz-item.d.ts +0 -63
  120. package/angular/esm/components/interactive-viz-item.js +0 -188
  121. package/angular/esm/components/item-grid-item-actions-menu.d.ts +0 -45
  122. package/angular/esm/components/item-grid-item-actions-menu.js +0 -115
  123. package/angular/esm/components/item-grid.d.ts +0 -80
  124. package/angular/esm/components/item-grid.js +0 -245
  125. package/angular/esm/components/item-option-action-button-group.d.ts +0 -41
  126. package/angular/esm/components/item-option-action-button-group.js +0 -107
  127. package/angular/esm/components/item-option-color-palette-picker.d.ts +0 -48
  128. package/angular/esm/components/item-option-color-palette-picker.js +0 -131
  129. package/angular/esm/components/item-option-color-picker.d.ts +0 -51
  130. package/angular/esm/components/item-option-color-picker.js +0 -139
  131. package/angular/esm/components/item-option-color-range.d.ts +0 -66
  132. package/angular/esm/components/item-option-color-range.js +0 -179
  133. package/angular/esm/components/item-option-guidelines.d.ts +0 -34
  134. package/angular/esm/components/item-option-guidelines.js +0 -83
  135. package/angular/esm/components/item-option-multi-language-field.d.ts +0 -50
  136. package/angular/esm/components/item-option-multi-language-field.js +0 -139
  137. package/angular/esm/components/item-option-number-field.d.ts +0 -58
  138. package/angular/esm/components/item-option-number-field.js +0 -171
  139. package/angular/esm/components/item-option-panel.d.ts +0 -54
  140. package/angular/esm/components/item-option-panel.js +0 -155
  141. package/angular/esm/components/item-option-picker.d.ts +0 -46
  142. package/angular/esm/components/item-option-picker.js +0 -123
  143. package/angular/esm/components/item-option-position-picker.d.ts +0 -39
  144. package/angular/esm/components/item-option-position-picker.js +0 -99
  145. package/angular/esm/components/item-option-positions-number-field.d.ts +0 -54
  146. package/angular/esm/components/item-option-positions-number-field.js +0 -147
  147. package/angular/esm/components/item-option-radio-button-group.d.ts +0 -45
  148. package/angular/esm/components/item-option-radio-button-group.js +0 -123
  149. package/angular/esm/components/item-option-slider.d.ts +0 -46
  150. package/angular/esm/components/item-option-slider.js +0 -131
  151. package/angular/esm/components/item-option-switch.d.ts +0 -40
  152. package/angular/esm/components/item-option-switch.js +0 -99
  153. package/angular/esm/components/item-option-text-field.d.ts +0 -44
  154. package/angular/esm/components/item-option-text-field.js +0 -115
  155. package/angular/esm/components/item-option.d.ts +0 -58
  156. package/angular/esm/components/item-option.js +0 -171
  157. package/angular/esm/components/item-slot-drop-panel.d.ts +0 -82
  158. package/angular/esm/components/item-slot-drop-panel.js +0 -249
  159. package/angular/esm/components/item-slot-drop.d.ts +0 -77
  160. package/angular/esm/components/item-slot-drop.js +0 -227
  161. package/angular/esm/components/item-slot-picker-panel.d.ts +0 -97
  162. package/angular/esm/components/item-slot-picker-panel.js +0 -309
  163. package/angular/esm/components/item-slot-picker.d.ts +0 -86
  164. package/angular/esm/components/item-slot-picker.js +0 -259
  165. package/angular/esm/components/slot-menu-list.d.ts +0 -46
  166. package/angular/esm/components/slot-menu-list.js +0 -123
  167. package/angular/esm/components/slot-menu.d.ts +0 -104
  168. package/angular/esm/components/slot-menu.js +0 -300
  169. package/angular/esm/components/viz-item-menu.d.ts +0 -42
  170. package/angular/esm/components/viz-item-menu.js +0 -111
  171. package/angular/esm/index.d.ts +0 -109
  172. package/angular/esm/index.js +0 -217
  173. package/angular/index.ts +0 -223
  174. package/angular/package.json +0 -40
  175. package/angular/tsconfig.json +0 -36
  176. package/angular/type-fallbacks.d.ts +0 -0
  177. package/angular/utils/ai-prompt/attachments.d.ts +0 -10
  178. package/angular/utils/ai-prompt/dictation.d.ts +0 -50
  179. package/angular/utils/ai-prompt/image-upload.d.ts +0 -12
  180. package/angular/utils/ai-prompt/index.d.ts +0 -6
  181. package/angular/utils/ai-prompt/tests/attachments.test.d.ts +0 -1
  182. package/angular/utils/ai-prompt/tests/dictation.test.d.ts +0 -1
  183. package/angular/utils/ai-prompt/tests/image-upload.test.d.ts +0 -1
  184. package/angular/utils/base/base.d.ts +0 -16
  185. package/angular/utils/base/focus-visible.d.ts +0 -29
  186. package/angular/utils/base/focusable.d.ts +0 -58
  187. package/angular/utils/base/index.d.ts +0 -5
  188. package/angular/utils/base/localized-mixin.d.ts +0 -22
  189. package/angular/utils/base/sized-mixin.d.ts +0 -17
  190. package/angular/utils/color/color-palettes.d.ts +0 -17
  191. package/angular/utils/color/extrapolate-color.d.ts +0 -1
  192. package/angular/utils/data/load-data-fields-for-datasets.d.ts +0 -22
  193. package/angular/utils/data-broker/index.d.ts +0 -263
  194. package/angular/utils/data-field-types/calculate-data-field-icon.d.ts +0 -12
  195. package/angular/utils/data-field-types/default-acceptable-data-field-types.d.ts +0 -1
  196. package/angular/utils/data-field-types/tests/calculate-data-field-icon.test.d.ts +0 -1
  197. package/angular/utils/drag/draggable.d.ts +0 -13
  198. package/angular/utils/drag/pragmatic-element-adapter.d.ts +0 -2
  199. package/angular/utils/drag/tests/pragmatic-element-adapter.first-import.test.d.ts +0 -1
  200. package/angular/utils/drag/tests/pragmatic-element-adapter.test.d.ts +0 -1
  201. package/angular/utils/filters/expressions.d.ts +0 -15
  202. package/angular/utils/filters/index.d.ts +0 -1
  203. package/angular/utils/formatter/calculate-duration.d.ts +0 -2
  204. package/angular/utils/formatter/decompose-numeric-format.d.ts +0 -11
  205. package/angular/utils/formatter/default-local-formats.d.ts +0 -20
  206. package/angular/utils/formatter/formats/cs.d.ts +0 -20
  207. package/angular/utils/formatter/formats/da.d.ts +0 -20
  208. package/angular/utils/formatter/formats/de.d.ts +0 -21
  209. package/angular/utils/formatter/formats/en-GB.d.ts +0 -21
  210. package/angular/utils/formatter/formats/en-US.d.ts +0 -1
  211. package/angular/utils/formatter/formats/en.d.ts +0 -1
  212. package/angular/utils/formatter/formats/es.d.ts +0 -54
  213. package/angular/utils/formatter/formats/fi.d.ts +0 -20
  214. package/angular/utils/formatter/formats/fr.d.ts +0 -54
  215. package/angular/utils/formatter/formats/he.d.ts +0 -20
  216. package/angular/utils/formatter/formats/hu.d.ts +0 -20
  217. package/angular/utils/formatter/formats/it.d.ts +0 -54
  218. package/angular/utils/formatter/formats/ja.d.ts +0 -20
  219. package/angular/utils/formatter/formats/ko.d.ts +0 -20
  220. package/angular/utils/formatter/formats/mk.d.ts +0 -20
  221. package/angular/utils/formatter/formats/nl.d.ts +0 -21
  222. package/angular/utils/formatter/formats/no.d.ts +0 -21
  223. package/angular/utils/formatter/formats/pl.d.ts +0 -20
  224. package/angular/utils/formatter/formats/pt.d.ts +0 -20
  225. package/angular/utils/formatter/formats/ru.d.ts +0 -20
  226. package/angular/utils/formatter/formats/sv.d.ts +0 -20
  227. package/angular/utils/formatter/formats/tr.d.ts +0 -21
  228. package/angular/utils/formatter/formats/zh-CN.d.ts +0 -20
  229. package/angular/utils/formatter/formats/zh-TW.d.ts +0 -20
  230. package/angular/utils/formatter/formatter.d.ts +0 -9
  231. package/angular/utils/formatter/get-dataset-name.d.ts +0 -2
  232. package/angular/utils/formatter/get-localized-name.d.ts +0 -4
  233. package/angular/utils/formatter/localize.d.ts +0 -3
  234. package/angular/utils/formatter/smart-datetime-formats.const.d.ts +0 -36
  235. package/angular/utils/formatter/tests/calculate-duration.test.d.ts +0 -1
  236. package/angular/utils/formatter/tests/decompose-numeric-format.test.d.ts +0 -1
  237. package/angular/utils/formatter/tests/default-local-formats.test.d.ts +0 -1
  238. package/angular/utils/formatter/tests/formatter.test.d.ts +0 -1
  239. package/angular/utils/formatter/tests/get-localized-name.test.d.ts +0 -1
  240. package/angular/utils/formatter/tests/localize.test.d.ts +0 -1
  241. package/angular/utils/formula/base/formula-base.d.ts +0 -117
  242. package/angular/utils/formula/base/formula-input-base.d.ts +0 -62
  243. package/angular/utils/formula/codemirror/actions.d.ts +0 -47
  244. package/angular/utils/formula/codemirror/drop-cursor.d.ts +0 -15
  245. package/angular/utils/formula/codemirror/icon-element.d.ts +0 -7
  246. package/angular/utils/formula/codemirror/parser.d.ts +0 -16
  247. package/angular/utils/formula/codemirror/tests/actions.test.d.ts +0 -1
  248. package/angular/utils/formula/codemirror/theme.d.ts +0 -20
  249. package/angular/utils/formula/codemirror/widget.d.ts +0 -18
  250. package/angular/utils/formula/config/aggregations.d.ts +0 -9
  251. package/angular/utils/formula/config/build-datasets.d.ts +0 -10
  252. package/angular/utils/formula/config/expression-helpers.d.ts +0 -42
  253. package/angular/utils/formula/config/functions.d.ts +0 -3
  254. package/angular/utils/formula/config/groupings.d.ts +0 -9
  255. package/angular/utils/formula/config/regex.d.ts +0 -39
  256. package/angular/utils/formula/config/resolve-column-presentation.d.ts +0 -19
  257. package/angular/utils/formula/config/tests/build-datasets.test.d.ts +0 -1
  258. package/angular/utils/formula/config/validate-expression.d.ts +0 -19
  259. package/angular/utils/formula/load-formula-codemirror.d.ts +0 -4
  260. package/angular/utils/formula/render-explanation-tooltip.d.ts +0 -7
  261. package/angular/utils/formula/store/formula-display-store.d.ts +0 -93
  262. package/angular/utils/formula/store/formula-editor-context.d.ts +0 -8
  263. package/angular/utils/formula/store/formula-editor-store.d.ts +0 -46
  264. package/angular/utils/formula/store/tests/formula-editor-store.test.d.ts +0 -1
  265. package/angular/utils/formula/tests/validate-expression.test.d.ts +0 -1
  266. package/angular/utils/get-css-variable.d.ts +0 -1
  267. package/angular/utils/index.d.ts +0 -10
  268. package/angular/utils/localize/set-locale.d.ts +0 -7
  269. package/angular/utils/map-tile-providers/index.d.ts +0 -93
  270. package/angular/utils/set-nested-value.d.ts +0 -6
  271. package/angular/utils/slot-content/ad-hoc-slot-content.d.ts +0 -7
  272. package/angular/utils/slot-content/render-calculation-label.d.ts +0 -7
  273. package/angular/utils/slot-content/tests/ad-hoc-slot-content.test.d.ts +0 -1
  274. package/angular/utils/slot-state/slot-context.d.ts +0 -4
  275. package/angular/utils/slot-state/slot-store.d.ts +0 -39
  276. package/angular/utils/store/base-store.d.ts +0 -158
  277. package/angular/utils/store/dashboard-store.d.ts +0 -49
  278. package/angular/utils/store/index.d.ts +0 -135
  279. package/angular/utils/store/item-store.d.ts +0 -33
  280. package/angular/utils/store/store-registry.d.ts +0 -170
  281. package/angular/utils/store/tests/dashboard-store.test.d.ts +0 -1
  282. package/angular/utils/store/tests/item-store.test.d.ts +0 -1
  283. package/angular/utils/store/tests/store-registry.test.d.ts +0 -1
  284. package/angular/utils/store/types.d.ts +0 -270
  285. package/angular/utils/switch-item/index.d.ts +0 -34
  286. package/angular/utils/switch-item/slot-role-classification.d.ts +0 -31
  287. package/angular/utils/switch-item/stories/switch-item.stories.d.ts +0 -17
  288. package/angular/utils/switch-item/tests/slot-role-classification.test.d.ts +0 -1
  289. package/angular/utils/switch-item/tests/switch-item.test.d.ts +0 -1
  290. package/angular/utils/tests/set-nested-value.test.d.ts +0 -1
  291. package/angular/utils/themes/bliss.d.ts +0 -2
  292. package/angular/utils/themes/classic-dark.d.ts +0 -2
  293. package/angular/utils/themes/classic.d.ts +0 -2
  294. package/angular/utils/themes/default-dark.d.ts +0 -2
  295. package/angular/utils/themes/default.d.ts +0 -2
  296. package/angular/utils/themes/index.d.ts +0 -4
  297. package/angular/utils/themes/orion.d.ts +0 -2
  298. package/angular/utils/themes/pinky.d.ts +0 -2
  299. package/angular/utils/themes/radiant.d.ts +0 -2
  300. package/angular/utils/themes/royale.d.ts +0 -2
  301. package/angular/utils/themes/seasonal.d.ts +0 -2
  302. package/angular/utils/themes/urban.d.ts +0 -2
  303. package/angular/utils/themes/vivid.d.ts +0 -2
  304. package/angular/utils/time/formats.const.d.ts +0 -4
  305. package/angular/utils/time/period-over-period-condition.const.d.ts +0 -8
  306. package/angular/utils/time/periods.const.d.ts +0 -15
  307. package/angular/utils/timezone/datetime-timezone.d.ts +0 -25
  308. package/angular/utils/timezone/tests/datetime-timezone.test.d.ts +0 -1
  309. package/angular/utils/transformations/convert-data-field-to-slot-content.d.ts +0 -9
  310. package/angular/utils/transformations/convert-datasets-to-data-fields.d.ts +0 -30
  311. package/angular/utils/transformations/tests/convert-data-field-to-slot-content.test.d.ts +0 -1
  312. package/angular/utils/transformations/tests/convert-datasets-to-data-fields.test.d.ts +0 -1
  313. package/angular/utils/types/tests/type-check.test.d.ts +0 -1
  314. package/angular/utils/types/type-check.d.ts +0 -28
@@ -1,147 +0,0 @@
1
- import { OnChanges, SimpleChanges } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/ai-chat';
3
- import type { LuzmoAiChat as LuzmoAiChatHostElement, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatMessageSentEventDetail, AiChatSession, AiChatStepEvent, AssistantMessageActionEventDetail } from '@luzmo/analytics-components-kit/ai-chat';
4
- import type { AiPromptAgent, AiPromptCustomItemInput, AiPromptItemTask, AiPromptScreenMode, DashboardStatePayload } from '@luzmo/analytics-components-kit/ai-chat';
5
- import type { ChatMessage, Dataset, LuzmoChart } from '@luzmo/analytics-components-kit/types';
6
- import * as i0 from "@angular/core";
7
- export type { AgentStreamDefinition, AiChatAgentConfig, AiChatCompleteEvent, AiChatConversationIdChangedEventDetail, AiChatDatasetsChangedEventDetail, AiChatEmptyStateSuggestion, AiChatEmptyStateSuggestionSelectedDetail, AiChatMessageSentEventDetail, AiChatRecognizedStepType, AiChatSessionBuildContext, AiChatSessionCallbacks, AiChatSessionConfig, AiChatSessionControllerOptions, AiChatSessionRestoreParams, AiChatSessionRestoreResult, AiChatSessionSeed, AiChatSessionState, AiChatSessionSubmitParams, AiChatStepBase, AiChatStepEvent, AiDictationCreateBody, AiDictationProperties, AiPromptCreateBody, AiPromptDeleteBody, AssistantMessageAction, AssistantMessageActionConfirmVariant, AssistantMessageActionEventDetail, BuildAiDictationRequestOptions, ChatMessageElicitation, LuzmoPromptSubmittedEventDetail, LuzmoRestoreRequestedEventDetail, ProgressTreeNode, PromptBoxAttachment, PromptBoxFileIcons, RecognizedStepEvent, StreamAiDictationOptions, StreamHandlerCallbacks, StreamHandlerContext, StreamHandlerState, StreamingRequestOptions, StreamingResponse, UnknownStepEvent, UploadAiPromptImagesOptions } from '@luzmo/analytics-components-kit/ai-chat';
8
- export declare class LuzmoAiChat implements OnChanges {
9
- private readonly elementRef;
10
- private readonly renderer;
11
- private readonly destroyRef;
12
- private readonly host;
13
- private readonly listenerCleanup;
14
- /** The underlying custom element instance. Use to call imperative methods. */
15
- get nativeElement(): LuzmoAiChatHostElement;
16
- /** Live transcript is AiChatSessionState.messages. This prop optionally seeds the session on first connect. */
17
- messages?: ChatMessage[];
18
- /** Live selection is in the session. This prop optionally seeds on first connect. */
19
- selectedDatasets?: Dataset[];
20
- /** Placeholder text for the textarea */
21
- placeholder?: string;
22
- /** When true, disables the entire chat interface */
23
- disabled?: boolean;
24
- /** When true, shows a stop control on the prompt input while a response is generating */
25
- stoppable?: boolean;
26
- /** When true, shows context menu (3 dots) on assistant messages */
27
- showAssistantContextMenu?: boolean;
28
- /** Auth key for DataBroker authentication */
29
- authKey?: string;
30
- /** Auth token for DataBroker authentication */
31
- authToken?: string;
32
- /** API URL for DataBroker */
33
- apiUrl?: string;
34
- /** The URL of the app server for thumbnails and assets */
35
- appServer?: string;
36
- /** When true, shows public datasets alongside the user's other datasets. */
37
- includePublicDatasets?: boolean;
38
- /** Alias for includePublicDatasets. */
39
- flagOpendata?: boolean;
40
- /** When true, hides the "+ Add dataset" button in the input */
41
- hideDatasetButton?: boolean;
42
- /** When true, hides dataset icons in the input dataset selector and @ mention dataset headers */
43
- hideDatasetIcons?: boolean;
44
- /** When true, hides the add-dataset button and disables removing selected datasets while keeping pills visible */
45
- disableDatasetModification?: boolean;
46
- /** When true, hides the dataset row and add-dataset button entirely */
47
- hideSelectedDatasets?: boolean;
48
- /** When true, hides the Agents section in the input and runs prompts without a picked agent */
49
- hideAgents?: boolean;
50
- /** When true, disables @ trigger mentions for dataset fields in the input */
51
- disableColumnMentions?: boolean;
52
- /** When true, a picked agent or at least one selected dataset is required before the prompt can be submitted */
53
- requireDataset?: boolean;
54
- /** Enables image attachments (PNG/JPEG/WebP/GIF). */
55
- allowImages?: boolean;
56
- /** Enables mic dictation; audio is transcribed via `POST /aidictation` and inserted as editable text. */
57
- allowVoiceInput?: boolean;
58
- /** Attachment MIME types/extensions. Defaults to PNG/JPEG/WebP/GIF when `allow-images` is set. */
59
- acceptedFileTypes?: string[];
60
- /** Optional upload override; otherwise uploads via `POST /upload` on attach. */
61
- uploadAttachments?: unknown;
62
- /** Which aiprompt agent to use (`item`, `dashboard`, `analyst` or `custom-item`). Determines request payload and stream handling. With `agent-id` set it no longer shapes the request payload, only stream handling. Custom-item hosts must set `hide-agents` and leave `agent-id` unset to preserve draft context and internal repair prompts. */
63
- agent?: AiPromptAgent;
64
- /** Typed agent selection and context. Takes precedence over legacy agent, task and context properties. Omit context to preserve the same agent's session context; use null to clear it. Undefined leaves a host session's typed configuration intact and uses legacy properties for an internal session. */
65
- agentConfig?: AiChatAgentConfig;
66
- /** Saved Agent id (UUID) to run the prompt as. An agent picked in the prompt box takes precedence for that prompt. */
67
- agentId?: string;
68
- /** Task for the item agent (`generate`, `suggest`, `describe`). Ignored when `agent-id` is set. */
69
- task?: AiPromptItemTask;
70
- /** AI model preference for item agent chart generation */
71
- modelPreference?: 'performance' | 'quality';
72
- /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
73
- chatSession?: AiChatSession | null;
74
- /** Conversation ID (synced into the session; updated when the API returns a new id). */
75
- conversationId?: string | null;
76
- /** Chart context for `agent="item"`. */
77
- chart?: LuzmoChart | null;
78
- /** Dashboard context for `agent="dashboard"`. */
79
- dashboard?: DashboardStatePayload | null;
80
- /** Draft context for `agent="custom-item"`, sent as its `custom-item` input. The host owns the shape: the chart document under `document`, plus fields such as `chartId`. With a host `chatSession`, the default null preserves its draft. Once this element supplies a draft, setting this property to null clears the session's custom item context. */
81
- customItem?: AiPromptCustomItemInput['value'] | null;
82
- /** Current screen mode when editing a dashboard. */
83
- currentScreenMode?: AiPromptScreenMode;
84
- /** Locale ID sent to the aiprompt API. */
85
- localeId?: string;
86
- /** Timezone ID for dashboard agent requests. */
87
- timezoneId?: string;
88
- /** API version */
89
- apiVersion?: string;
90
- /** When true, uses NDJSON streaming for AI responses. When false, uses a single JSON response. */
91
- stream?: boolean;
92
- /** Loading message shown while generating and before progress steps are available. */
93
- loadingMessage?: string | null;
94
- /** Message shown in place of the assistant reply when the user stops an in-flight response. Falls back to a localized default when not set. */
95
- cancelledMessage?: string | null;
96
- /** When set, auto-submits via the session without adding a duplicate user message (assumes the prompt is already in the transcript). */
97
- initialPrompt?: string | null;
98
- /** Title for the empty state when there are no messages. */
99
- emptyStateTitle?: string;
100
- /** Optional label above empty-state suggestion chips. Only shown when `emptyStateSuggestions` is non-empty. */
101
- emptyStateSubtitle?: string;
102
- /** Optional suggestion chips for the empty state. When empty, only the title is shown. Each entry may include `selectedDatasets` to pre-select datasets when the chip is activated. */
103
- emptyStateSuggestions?: AiChatEmptyStateSuggestion[];
104
- /** Fired when a user sends a message */
105
- readonly luzmoMessageSent: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatMessageSentEventDetail>>;
106
- /** Fired when the selected datasets change */
107
- readonly luzmoDatasetsChanged: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatDatasetsChangedEventDetail>>;
108
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
109
- readonly luzmoStep: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatStepEvent>>;
110
- /** Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`. */
111
- readonly luzmoComplete: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatCompleteEvent>>;
112
- /** Fired when an in-flight prompt is stopped Custom actions beyond built-in `ChatMessage.actions` buttons can be projected via the `assistant-message-actions` light-DOM slot on the latest assistant message. */
113
- readonly luzmoStop: import("@angular/core").OutputEmitterRef<CustomEvent<void>>;
114
- /** Fired when the conversation ID is updated from the API */
115
- readonly luzmoConversationIdChanged: import("@angular/core").OutputEmitterRef<CustomEvent<AiChatConversationIdChangedEventDetail>>;
116
- /** Fired when a built-in assistant message action is activated (after confirmation when `confirm` is set) */
117
- readonly luzmoAssistantMessageAction: import("@angular/core").OutputEmitterRef<CustomEvent<AssistantMessageActionEventDetail>>;
118
- constructor();
119
- ngOnChanges(changes: SimpleChanges): void;
120
- /**
121
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
122
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
123
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
124
- * undefined / null by clearing their bindings.
125
- */
126
- private setHostProperty;
127
- private bindEvents;
128
- static ɵfac: i0.ɵɵFactoryDeclaration<LuzmoAiChat, never>;
129
- static ɵcmp: i0.ɵɵComponentDeclaration<LuzmoAiChat, "luzmo-ai-chat", ["luzmoAiChat"], { "messages": { "alias": "messages"; "required": false; }; "selectedDatasets": { "alias": "selectedDatasets"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "stoppable": { "alias": "stoppable"; "required": false; }; "showAssistantContextMenu": { "alias": "showAssistantContextMenu"; "required": false; }; "authKey": { "alias": "authKey"; "required": false; }; "authToken": { "alias": "authToken"; "required": false; }; "apiUrl": { "alias": "apiUrl"; "required": false; }; "appServer": { "alias": "appServer"; "required": false; }; "includePublicDatasets": { "alias": "includePublicDatasets"; "required": false; }; "flagOpendata": { "alias": "flagOpendata"; "required": false; }; "hideDatasetButton": { "alias": "hideDatasetButton"; "required": false; }; "hideDatasetIcons": { "alias": "hideDatasetIcons"; "required": false; }; "disableDatasetModification": { "alias": "disableDatasetModification"; "required": false; }; "hideSelectedDatasets": { "alias": "hideSelectedDatasets"; "required": false; }; "hideAgents": { "alias": "hideAgents"; "required": false; }; "disableColumnMentions": { "alias": "disableColumnMentions"; "required": false; }; "requireDataset": { "alias": "requireDataset"; "required": false; }; "allowImages": { "alias": "allowImages"; "required": false; }; "allowVoiceInput": { "alias": "allowVoiceInput"; "required": false; }; "acceptedFileTypes": { "alias": "acceptedFileTypes"; "required": false; }; "uploadAttachments": { "alias": "uploadAttachments"; "required": false; }; "agent": { "alias": "agent"; "required": false; }; "agentConfig": { "alias": "agentConfig"; "required": false; }; "agentId": { "alias": "agentId"; "required": false; }; "task": { "alias": "task"; "required": false; }; "modelPreference": { "alias": "modelPreference"; "required": false; }; "chatSession": { "alias": "chatSession"; "required": false; }; "conversationId": { "alias": "conversationId"; "required": false; }; "chart": { "alias": "chart"; "required": false; }; "dashboard": { "alias": "dashboard"; "required": false; }; "customItem": { "alias": "customItem"; "required": false; }; "currentScreenMode": { "alias": "currentScreenMode"; "required": false; }; "localeId": { "alias": "localeId"; "required": false; }; "timezoneId": { "alias": "timezoneId"; "required": false; }; "apiVersion": { "alias": "apiVersion"; "required": false; }; "stream": { "alias": "stream"; "required": false; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; }; "cancelledMessage": { "alias": "cancelledMessage"; "required": false; }; "initialPrompt": { "alias": "initialPrompt"; "required": false; }; "emptyStateTitle": { "alias": "emptyStateTitle"; "required": false; }; "emptyStateSubtitle": { "alias": "emptyStateSubtitle"; "required": false; }; "emptyStateSuggestions": { "alias": "emptyStateSuggestions"; "required": false; }; }, { "luzmoMessageSent": "luzmoMessageSent"; "luzmoDatasetsChanged": "luzmoDatasetsChanged"; "luzmoStep": "luzmoStep"; "luzmoComplete": "luzmoComplete"; "luzmoStop": "luzmoStop"; "luzmoConversationIdChanged": "luzmoConversationIdChanged"; "luzmoAssistantMessageAction": "luzmoAssistantMessageAction"; }, never, ["*"], true, never>;
130
- static ngAcceptInputType_disabled: unknown;
131
- static ngAcceptInputType_stoppable: unknown;
132
- static ngAcceptInputType_showAssistantContextMenu: unknown;
133
- static ngAcceptInputType_includePublicDatasets: unknown;
134
- static ngAcceptInputType_flagOpendata: unknown;
135
- static ngAcceptInputType_hideDatasetButton: unknown;
136
- static ngAcceptInputType_hideDatasetIcons: unknown;
137
- static ngAcceptInputType_disableDatasetModification: unknown;
138
- static ngAcceptInputType_hideSelectedDatasets: unknown;
139
- static ngAcceptInputType_hideAgents: unknown;
140
- static ngAcceptInputType_disableColumnMentions: unknown;
141
- static ngAcceptInputType_requireDataset: unknown;
142
- static ngAcceptInputType_allowImages: unknown;
143
- static ngAcceptInputType_allowVoiceInput: unknown;
144
- static ngAcceptInputType_stream: unknown;
145
- }
146
- /** The underlying custom element type for LuzmoAiChat */
147
- export type LuzmoAiChatElement = LuzmoAiChatHostElement;
@@ -1,455 +0,0 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, Input, output, Renderer2 } from '@angular/core';
2
- import '@luzmo/analytics-components-kit/ai-chat';
3
- import * as i0 from "@angular/core";
4
- const _c0 = ["*"];
5
- /**
6
- * Angular wrapper component for <luzmo-ai-chat>
7
- */
8
- export class LuzmoAiChat {
9
- elementRef = inject(ElementRef);
10
- renderer = inject(Renderer2);
11
- destroyRef = inject(DestroyRef);
12
- host = this.elementRef.nativeElement;
13
- listenerCleanup = [];
14
- /** The underlying custom element instance. Use to call imperative methods. */
15
- get nativeElement() {
16
- return this.host;
17
- }
18
- /** Live transcript is AiChatSessionState.messages. This prop optionally seeds the session on first connect. */
19
- messages;
20
- /** Live selection is in the session. This prop optionally seeds on first connect. */
21
- selectedDatasets;
22
- /** Placeholder text for the textarea */
23
- placeholder;
24
- /** When true, disables the entire chat interface */
25
- disabled;
26
- /** When true, shows a stop control on the prompt input while a response is generating */
27
- stoppable;
28
- /** When true, shows context menu (3 dots) on assistant messages */
29
- showAssistantContextMenu;
30
- /** Auth key for DataBroker authentication */
31
- authKey;
32
- /** Auth token for DataBroker authentication */
33
- authToken;
34
- /** API URL for DataBroker */
35
- apiUrl;
36
- /** The URL of the app server for thumbnails and assets */
37
- appServer;
38
- /** When true, shows public datasets alongside the user's other datasets. */
39
- includePublicDatasets;
40
- /** Alias for includePublicDatasets. */
41
- flagOpendata;
42
- /** When true, hides the "+ Add dataset" button in the input */
43
- hideDatasetButton;
44
- /** When true, hides dataset icons in the input dataset selector and @ mention dataset headers */
45
- hideDatasetIcons;
46
- /** When true, hides the add-dataset button and disables removing selected datasets while keeping pills visible */
47
- disableDatasetModification;
48
- /** When true, hides the dataset row and add-dataset button entirely */
49
- hideSelectedDatasets;
50
- /** When true, hides the Agents section in the input and runs prompts without a picked agent */
51
- hideAgents;
52
- /** When true, disables @ trigger mentions for dataset fields in the input */
53
- disableColumnMentions;
54
- /** When true, a picked agent or at least one selected dataset is required before the prompt can be submitted */
55
- requireDataset;
56
- /** Enables image attachments (PNG/JPEG/WebP/GIF). */
57
- allowImages;
58
- /** Enables mic dictation; audio is transcribed via `POST /aidictation` and inserted as editable text. */
59
- allowVoiceInput;
60
- /** Attachment MIME types/extensions. Defaults to PNG/JPEG/WebP/GIF when `allow-images` is set. */
61
- acceptedFileTypes;
62
- /** Optional upload override; otherwise uploads via `POST /upload` on attach. */
63
- uploadAttachments;
64
- /** Which aiprompt agent to use (`item`, `dashboard`, `analyst` or `custom-item`). Determines request payload and stream handling. With `agent-id` set it no longer shapes the request payload, only stream handling. Custom-item hosts must set `hide-agents` and leave `agent-id` unset to preserve draft context and internal repair prompts. */
65
- agent;
66
- /** Typed agent selection and context. Takes precedence over legacy agent, task and context properties. Omit context to preserve the same agent's session context; use null to clear it. Undefined leaves a host session's typed configuration intact and uses legacy properties for an internal session. */
67
- agentConfig;
68
- /** Saved Agent id (UUID) to run the prompt as. An agent picked in the prompt box takes precedence for that prompt. */
69
- agentId;
70
- /** Task for the item agent (`generate`, `suggest`, `describe`). Ignored when `agent-id` is set. */
71
- task;
72
- /** AI model preference for item agent chart generation */
73
- modelPreference;
74
- /** Host-owned AiChatSession. The component subscribes and renders; does not abort on disconnect. */
75
- chatSession;
76
- /** Conversation ID (synced into the session; updated when the API returns a new id). */
77
- conversationId;
78
- /** Chart context for `agent="item"`. */
79
- chart;
80
- /** Dashboard context for `agent="dashboard"`. */
81
- dashboard;
82
- /** Draft context for `agent="custom-item"`, sent as its `custom-item` input. The host owns the shape: the chart document under `document`, plus fields such as `chartId`. With a host `chatSession`, the default null preserves its draft. Once this element supplies a draft, setting this property to null clears the session's custom item context. */
83
- customItem;
84
- /** Current screen mode when editing a dashboard. */
85
- currentScreenMode;
86
- /** Locale ID sent to the aiprompt API. */
87
- localeId;
88
- /** Timezone ID for dashboard agent requests. */
89
- timezoneId;
90
- /** API version */
91
- apiVersion;
92
- /** When true, uses NDJSON streaming for AI responses. When false, uses a single JSON response. */
93
- stream;
94
- /** Loading message shown while generating and before progress steps are available. */
95
- loadingMessage;
96
- /** Message shown in place of the assistant reply when the user stops an in-flight response. Falls back to a localized default when not set. */
97
- cancelledMessage;
98
- /** When set, auto-submits via the session without adding a duplicate user message (assumes the prompt is already in the transcript). */
99
- initialPrompt;
100
- /** Title for the empty state when there are no messages. */
101
- emptyStateTitle;
102
- /** Optional label above empty-state suggestion chips. Only shown when `emptyStateSuggestions` is non-empty. */
103
- emptyStateSubtitle;
104
- /** Optional suggestion chips for the empty state. When empty, only the title is shown. Each entry may include `selectedDatasets` to pre-select datasets when the chip is activated. */
105
- emptyStateSuggestions;
106
- /** Fired when a user sends a message */
107
- luzmoMessageSent = output({ alias: 'luzmoMessageSent' });
108
- /** Fired when the selected datasets change */
109
- luzmoDatasetsChanged = output({ alias: 'luzmoDatasetsChanged' });
110
- /** Fired for every incremental, kit-assembled event during a streamed response (decision, text, progress, dashboard-title/layout/item, chart, custom-item, elicitation, interrupt, plus forward-by-default unrecognized chunks). Use `isRecognizedStep` to narrow. */
111
- luzmoStep = output({ alias: 'luzmoStep' });
112
- /** Fired exactly once per response with the authoritative final result (dashboard/chart/name/customItem) or an `error`. */
113
- luzmoComplete = output({ alias: 'luzmoComplete' });
114
- /** Fired when an in-flight prompt is stopped Custom actions beyond built-in `ChatMessage.actions` buttons can be projected via the `assistant-message-actions` light-DOM slot on the latest assistant message. */
115
- luzmoStop = output({ alias: 'luzmoStop' });
116
- /** Fired when the conversation ID is updated from the API */
117
- luzmoConversationIdChanged = output({ alias: 'luzmoConversationIdChanged' });
118
- /** Fired when a built-in assistant message action is activated (after confirmation when `confirm` is set) */
119
- luzmoAssistantMessageAction = output({ alias: 'luzmoAssistantMessageAction' });
120
- constructor() {
121
- this.bindEvents();
122
- this.destroyRef.onDestroy(() => {
123
- for (const cleanup of this.listenerCleanup) {
124
- cleanup();
125
- }
126
- });
127
- }
128
- ngOnChanges(changes) {
129
- for (const key of Object.keys(changes)) {
130
- switch (key) {
131
- case 'messages':
132
- this.setHostProperty('messages', changes['messages'].currentValue);
133
- break;
134
- case 'selectedDatasets':
135
- this.setHostProperty('selectedDatasets', changes['selectedDatasets'].currentValue);
136
- break;
137
- case 'placeholder':
138
- this.setHostProperty('placeholder', changes['placeholder'].currentValue);
139
- break;
140
- case 'disabled':
141
- this.setHostProperty('disabled', changes['disabled'].currentValue);
142
- break;
143
- case 'stoppable':
144
- this.setHostProperty('stoppable', changes['stoppable'].currentValue);
145
- break;
146
- case 'showAssistantContextMenu':
147
- this.setHostProperty('showAssistantContextMenu', changes['showAssistantContextMenu'].currentValue);
148
- break;
149
- case 'authKey':
150
- this.setHostProperty('authKey', changes['authKey'].currentValue);
151
- break;
152
- case 'authToken':
153
- this.setHostProperty('authToken', changes['authToken'].currentValue);
154
- break;
155
- case 'apiUrl':
156
- this.setHostProperty('apiUrl', changes['apiUrl'].currentValue);
157
- break;
158
- case 'appServer':
159
- this.setHostProperty('appServer', changes['appServer'].currentValue);
160
- break;
161
- case 'includePublicDatasets':
162
- this.setHostProperty('includePublicDatasets', changes['includePublicDatasets'].currentValue);
163
- break;
164
- case 'flagOpendata':
165
- this.setHostProperty('flagOpendata', changes['flagOpendata'].currentValue);
166
- break;
167
- case 'hideDatasetButton':
168
- this.setHostProperty('hideDatasetButton', changes['hideDatasetButton'].currentValue);
169
- break;
170
- case 'hideDatasetIcons':
171
- this.setHostProperty('hideDatasetIcons', changes['hideDatasetIcons'].currentValue);
172
- break;
173
- case 'disableDatasetModification':
174
- this.setHostProperty('disableDatasetModification', changes['disableDatasetModification'].currentValue);
175
- break;
176
- case 'hideSelectedDatasets':
177
- this.setHostProperty('hideSelectedDatasets', changes['hideSelectedDatasets'].currentValue);
178
- break;
179
- case 'hideAgents':
180
- this.setHostProperty('hideAgents', changes['hideAgents'].currentValue);
181
- break;
182
- case 'disableColumnMentions':
183
- this.setHostProperty('disableColumnMentions', changes['disableColumnMentions'].currentValue);
184
- break;
185
- case 'requireDataset':
186
- this.setHostProperty('requireDataset', changes['requireDataset'].currentValue);
187
- break;
188
- case 'allowImages':
189
- this.setHostProperty('allowImages', changes['allowImages'].currentValue);
190
- break;
191
- case 'allowVoiceInput':
192
- this.setHostProperty('allowVoiceInput', changes['allowVoiceInput'].currentValue);
193
- break;
194
- case 'acceptedFileTypes':
195
- this.setHostProperty('acceptedFileTypes', changes['acceptedFileTypes'].currentValue);
196
- break;
197
- case 'uploadAttachments':
198
- this.setHostProperty('uploadAttachments', changes['uploadAttachments'].currentValue);
199
- break;
200
- case 'agent':
201
- this.setHostProperty('agent', changes['agent'].currentValue);
202
- break;
203
- case 'agentConfig':
204
- this.setHostProperty('agentConfig', changes['agentConfig'].currentValue);
205
- break;
206
- case 'agentId':
207
- this.setHostProperty('agentId', changes['agentId'].currentValue);
208
- break;
209
- case 'task':
210
- this.setHostProperty('task', changes['task'].currentValue);
211
- break;
212
- case 'modelPreference':
213
- this.setHostProperty('modelPreference', changes['modelPreference'].currentValue);
214
- break;
215
- case 'chatSession':
216
- this.setHostProperty('chatSession', changes['chatSession'].currentValue);
217
- break;
218
- case 'conversationId':
219
- this.setHostProperty('conversationId', changes['conversationId'].currentValue);
220
- break;
221
- case 'chart':
222
- this.setHostProperty('chart', changes['chart'].currentValue);
223
- break;
224
- case 'dashboard':
225
- this.setHostProperty('dashboard', changes['dashboard'].currentValue);
226
- break;
227
- case 'customItem':
228
- this.setHostProperty('customItem', changes['customItem'].currentValue);
229
- break;
230
- case 'currentScreenMode':
231
- this.setHostProperty('currentScreenMode', changes['currentScreenMode'].currentValue);
232
- break;
233
- case 'localeId':
234
- this.setHostProperty('localeId', changes['localeId'].currentValue);
235
- break;
236
- case 'timezoneId':
237
- this.setHostProperty('timezoneId', changes['timezoneId'].currentValue);
238
- break;
239
- case 'apiVersion':
240
- this.setHostProperty('apiVersion', changes['apiVersion'].currentValue);
241
- break;
242
- case 'stream':
243
- this.setHostProperty('stream', changes['stream'].currentValue);
244
- break;
245
- case 'loadingMessage':
246
- this.setHostProperty('loadingMessage', changes['loadingMessage'].currentValue);
247
- break;
248
- case 'cancelledMessage':
249
- this.setHostProperty('cancelledMessage', changes['cancelledMessage'].currentValue);
250
- break;
251
- case 'initialPrompt':
252
- this.setHostProperty('initialPrompt', changes['initialPrompt'].currentValue);
253
- break;
254
- case 'emptyStateTitle':
255
- this.setHostProperty('emptyStateTitle', changes['emptyStateTitle'].currentValue);
256
- break;
257
- case 'emptyStateSubtitle':
258
- this.setHostProperty('emptyStateSubtitle', changes['emptyStateSubtitle'].currentValue);
259
- break;
260
- case 'emptyStateSuggestions':
261
- this.setHostProperty('emptyStateSuggestions', changes['emptyStateSuggestions'].currentValue);
262
- break;
263
- default:
264
- break;
265
- }
266
- }
267
- }
268
- /**
269
- * Forward a wrapper @Input to the underlying host element via Renderer2 so
270
- * the wrapper stays compatible with non-DOM Angular platforms (SSR, tests).
271
- * Unlike a "skip undefined" guard, this lets consumers reset values back to
272
- * undefined / null by clearing their bindings.
273
- */
274
- setHostProperty(key, value) {
275
- this.renderer.setProperty(this.host, key, value);
276
- }
277
- bindEvents() {
278
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-message-sent', (event) => {
279
- const typed = event;
280
- this.luzmoMessageSent.emit(typed);
281
- }));
282
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-datasets-changed', (event) => {
283
- const typed = event;
284
- this.luzmoDatasetsChanged.emit(typed);
285
- }));
286
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-step', (event) => {
287
- const typed = event;
288
- this.luzmoStep.emit(typed);
289
- }));
290
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-complete', (event) => {
291
- const typed = event;
292
- this.luzmoComplete.emit(typed);
293
- }));
294
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-stop', (event) => {
295
- const typed = event;
296
- this.luzmoStop.emit(typed);
297
- }));
298
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-conversation-id-changed', (event) => {
299
- const typed = event;
300
- this.luzmoConversationIdChanged.emit(typed);
301
- }));
302
- this.listenerCleanup.push(this.renderer.listen(this.host, 'luzmo-assistant-message-action', (event) => {
303
- const typed = event;
304
- this.luzmoAssistantMessageAction.emit(typed);
305
- }));
306
- }
307
- static ɵfac = function LuzmoAiChat_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LuzmoAiChat)(); };
308
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LuzmoAiChat, selectors: [["luzmo-ai-chat"]], inputs: { messages: "messages", selectedDatasets: "selectedDatasets", placeholder: "placeholder", disabled: [2, "disabled", "disabled", booleanAttribute], stoppable: [2, "stoppable", "stoppable", booleanAttribute], showAssistantContextMenu: [2, "showAssistantContextMenu", "showAssistantContextMenu", booleanAttribute], authKey: "authKey", authToken: "authToken", apiUrl: "apiUrl", appServer: "appServer", includePublicDatasets: [2, "includePublicDatasets", "includePublicDatasets", booleanAttribute], flagOpendata: [2, "flagOpendata", "flagOpendata", booleanAttribute], hideDatasetButton: [2, "hideDatasetButton", "hideDatasetButton", booleanAttribute], hideDatasetIcons: [2, "hideDatasetIcons", "hideDatasetIcons", booleanAttribute], disableDatasetModification: [2, "disableDatasetModification", "disableDatasetModification", booleanAttribute], hideSelectedDatasets: [2, "hideSelectedDatasets", "hideSelectedDatasets", booleanAttribute], hideAgents: [2, "hideAgents", "hideAgents", booleanAttribute], disableColumnMentions: [2, "disableColumnMentions", "disableColumnMentions", booleanAttribute], requireDataset: [2, "requireDataset", "requireDataset", booleanAttribute], allowImages: [2, "allowImages", "allowImages", booleanAttribute], allowVoiceInput: [2, "allowVoiceInput", "allowVoiceInput", booleanAttribute], acceptedFileTypes: "acceptedFileTypes", uploadAttachments: "uploadAttachments", agent: "agent", agentConfig: "agentConfig", agentId: "agentId", task: "task", modelPreference: "modelPreference", chatSession: "chatSession", conversationId: "conversationId", chart: "chart", dashboard: "dashboard", customItem: "customItem", currentScreenMode: "currentScreenMode", localeId: "localeId", timezoneId: "timezoneId", apiVersion: "apiVersion", stream: [2, "stream", "stream", booleanAttribute], loadingMessage: "loadingMessage", cancelledMessage: "cancelledMessage", initialPrompt: "initialPrompt", emptyStateTitle: "emptyStateTitle", emptyStateSubtitle: "emptyStateSubtitle", emptyStateSuggestions: "emptyStateSuggestions" }, outputs: { luzmoMessageSent: "luzmoMessageSent", luzmoDatasetsChanged: "luzmoDatasetsChanged", luzmoStep: "luzmoStep", luzmoComplete: "luzmoComplete", luzmoStop: "luzmoStop", luzmoConversationIdChanged: "luzmoConversationIdChanged", luzmoAssistantMessageAction: "luzmoAssistantMessageAction" }, exportAs: ["luzmoAiChat"], features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function LuzmoAiChat_Template(rf, ctx) { if (rf & 1) {
309
- i0.ɵɵprojectionDef();
310
- i0.ɵɵprojection(0);
311
- } }, encapsulation: 2 });
312
- }
313
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LuzmoAiChat, [{
314
- type: Component,
315
- args: [{
316
- selector: 'luzmo-ai-chat',
317
- exportAs: 'luzmoAiChat',
318
- standalone: true,
319
- changeDetection: ChangeDetectionStrategy.OnPush,
320
- template: '<ng-content />'
321
- }]
322
- }], () => [], { messages: [{
323
- type: Input,
324
- args: [{ alias: 'messages' }]
325
- }], selectedDatasets: [{
326
- type: Input,
327
- args: [{ alias: 'selectedDatasets' }]
328
- }], placeholder: [{
329
- type: Input,
330
- args: [{ alias: 'placeholder' }]
331
- }], disabled: [{
332
- type: Input,
333
- args: [{ alias: 'disabled', transform: booleanAttribute }]
334
- }], stoppable: [{
335
- type: Input,
336
- args: [{ alias: 'stoppable', transform: booleanAttribute }]
337
- }], showAssistantContextMenu: [{
338
- type: Input,
339
- args: [{ alias: 'showAssistantContextMenu', transform: booleanAttribute }]
340
- }], authKey: [{
341
- type: Input,
342
- args: [{ alias: 'authKey' }]
343
- }], authToken: [{
344
- type: Input,
345
- args: [{ alias: 'authToken' }]
346
- }], apiUrl: [{
347
- type: Input,
348
- args: [{ alias: 'apiUrl' }]
349
- }], appServer: [{
350
- type: Input,
351
- args: [{ alias: 'appServer' }]
352
- }], includePublicDatasets: [{
353
- type: Input,
354
- args: [{ alias: 'includePublicDatasets', transform: booleanAttribute }]
355
- }], flagOpendata: [{
356
- type: Input,
357
- args: [{ alias: 'flagOpendata', transform: booleanAttribute }]
358
- }], hideDatasetButton: [{
359
- type: Input,
360
- args: [{ alias: 'hideDatasetButton', transform: booleanAttribute }]
361
- }], hideDatasetIcons: [{
362
- type: Input,
363
- args: [{ alias: 'hideDatasetIcons', transform: booleanAttribute }]
364
- }], disableDatasetModification: [{
365
- type: Input,
366
- args: [{ alias: 'disableDatasetModification', transform: booleanAttribute }]
367
- }], hideSelectedDatasets: [{
368
- type: Input,
369
- args: [{ alias: 'hideSelectedDatasets', transform: booleanAttribute }]
370
- }], hideAgents: [{
371
- type: Input,
372
- args: [{ alias: 'hideAgents', transform: booleanAttribute }]
373
- }], disableColumnMentions: [{
374
- type: Input,
375
- args: [{ alias: 'disableColumnMentions', transform: booleanAttribute }]
376
- }], requireDataset: [{
377
- type: Input,
378
- args: [{ alias: 'requireDataset', transform: booleanAttribute }]
379
- }], allowImages: [{
380
- type: Input,
381
- args: [{ alias: 'allowImages', transform: booleanAttribute }]
382
- }], allowVoiceInput: [{
383
- type: Input,
384
- args: [{ alias: 'allowVoiceInput', transform: booleanAttribute }]
385
- }], acceptedFileTypes: [{
386
- type: Input,
387
- args: [{ alias: 'acceptedFileTypes' }]
388
- }], uploadAttachments: [{
389
- type: Input,
390
- args: [{ alias: 'uploadAttachments' }]
391
- }], agent: [{
392
- type: Input,
393
- args: [{ alias: 'agent' }]
394
- }], agentConfig: [{
395
- type: Input,
396
- args: [{ alias: 'agentConfig' }]
397
- }], agentId: [{
398
- type: Input,
399
- args: [{ alias: 'agentId' }]
400
- }], task: [{
401
- type: Input,
402
- args: [{ alias: 'task' }]
403
- }], modelPreference: [{
404
- type: Input,
405
- args: [{ alias: 'modelPreference' }]
406
- }], chatSession: [{
407
- type: Input,
408
- args: [{ alias: 'chatSession' }]
409
- }], conversationId: [{
410
- type: Input,
411
- args: [{ alias: 'conversationId' }]
412
- }], chart: [{
413
- type: Input,
414
- args: [{ alias: 'chart' }]
415
- }], dashboard: [{
416
- type: Input,
417
- args: [{ alias: 'dashboard' }]
418
- }], customItem: [{
419
- type: Input,
420
- args: [{ alias: 'customItem' }]
421
- }], currentScreenMode: [{
422
- type: Input,
423
- args: [{ alias: 'currentScreenMode' }]
424
- }], localeId: [{
425
- type: Input,
426
- args: [{ alias: 'localeId' }]
427
- }], timezoneId: [{
428
- type: Input,
429
- args: [{ alias: 'timezoneId' }]
430
- }], apiVersion: [{
431
- type: Input,
432
- args: [{ alias: 'apiVersion' }]
433
- }], stream: [{
434
- type: Input,
435
- args: [{ alias: 'stream', transform: booleanAttribute }]
436
- }], loadingMessage: [{
437
- type: Input,
438
- args: [{ alias: 'loadingMessage' }]
439
- }], cancelledMessage: [{
440
- type: Input,
441
- args: [{ alias: 'cancelledMessage' }]
442
- }], initialPrompt: [{
443
- type: Input,
444
- args: [{ alias: 'initialPrompt' }]
445
- }], emptyStateTitle: [{
446
- type: Input,
447
- args: [{ alias: 'emptyStateTitle' }]
448
- }], emptyStateSubtitle: [{
449
- type: Input,
450
- args: [{ alias: 'emptyStateSubtitle' }]
451
- }], emptyStateSuggestions: [{
452
- type: Input,
453
- args: [{ alias: 'emptyStateSuggestions' }]
454
- }], luzmoMessageSent: [{ type: i0.Output, args: ["luzmoMessageSent"] }], luzmoDatasetsChanged: [{ type: i0.Output, args: ["luzmoDatasetsChanged"] }], luzmoStep: [{ type: i0.Output, args: ["luzmoStep"] }], luzmoComplete: [{ type: i0.Output, args: ["luzmoComplete"] }], luzmoStop: [{ type: i0.Output, args: ["luzmoStop"] }], luzmoConversationIdChanged: [{ type: i0.Output, args: ["luzmoConversationIdChanged"] }], luzmoAssistantMessageAction: [{ type: i0.Output, args: ["luzmoAssistantMessageAction"] }] }); })();
455
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LuzmoAiChat, { className: "LuzmoAiChat", filePath: "components/ai-chat.ts", lineNumber: 18 }); })();