impact-nova 2.6.2 → 3.0.0-alpha.0

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 (259) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-cell-components.d.ts +9 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-list.d.ts +16 -0
  3. package/dist/components/data/ag-grid-react/ag-grid-list.js +23 -0
  4. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +21 -9
  5. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.d.ts +14 -0
  6. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +70 -0
  7. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.d.ts +10 -5
  8. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +73 -41
  9. package/dist/components/data/ag-grid-react/cell-renderers/index.d.ts +7 -0
  10. package/dist/components/data/ag-grid-react/cell-renderers/index.js +42 -36
  11. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.d.ts +19 -0
  12. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +89 -0
  13. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.d.ts +28 -0
  14. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.js +96 -0
  15. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.d.ts +30 -10
  16. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +72 -24
  17. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.d.ts +42 -0
  18. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.js +86 -0
  19. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +2 -12
  20. package/dist/components/data/ag-grid-react/headers/header-search-input.js +200 -207
  21. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  22. package/dist/components/data/ag-grid-react/index.js +263 -244
  23. package/dist/components/data/data-table/data-table.js +85 -82
  24. package/dist/components/data/data-table/data-table.types.d.ts +5 -0
  25. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +2 -3
  26. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +2 -3
  27. package/dist/components/data/expandable-list-item/sku-next-page-coordinator.d.ts +14 -0
  28. package/dist/components/data/expandable-list-item/sku-strip-lookahead.d.ts +26 -0
  29. package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +10 -0
  30. package/dist/components/data/expandable-list-item/useSkuStripVirtualizer.d.ts +30 -0
  31. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +81 -0
  32. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.item-grid.d.ts +1 -0
  33. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.product-card.d.ts +7 -0
  34. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +2 -0
  35. package/dist/components/data-display/chart/chart-heatmap-demos.d.ts +3 -0
  36. package/dist/components/data-display/chart/chart-heatmap-play.d.ts +9 -0
  37. package/dist/components/data-display/chart/chart.category-cluster-heatmap.stories-data.d.ts +22 -0
  38. package/dist/components/data-display/chart/chart.diverging-heatmap.stories-data.d.ts +43 -0
  39. package/dist/components/data-display/chart/chart.js +100 -93
  40. package/dist/components/data-display/chart/chart.types.d.ts +10 -0
  41. package/dist/components/data-display/chart/chart.utils.d.ts +14 -2
  42. package/dist/components/data-display/chart/chart.utils.js +132 -35
  43. package/dist/components/data-display/chart/index.js +15 -13
  44. package/dist/components/data-display/chart/resolve-highcharts-options.js +19 -14
  45. package/dist/components/data-display/globe-map/globe-map.d.ts +8 -0
  46. package/dist/components/data-display/globe-map/globe-map.js +161 -0
  47. package/dist/components/data-display/globe-map/globe-map.stories-data.d.ts +12 -0
  48. package/dist/components/data-display/globe-map/globe-map.types.d.ts +83 -0
  49. package/dist/components/data-display/globe-map/globe-map.utils.d.ts +115 -0
  50. package/dist/components/data-display/globe-map/globe-map.utils.js +259 -0
  51. package/dist/components/data-display/globe-map/globe-map.variants.d.ts +19 -0
  52. package/dist/components/data-display/globe-map/globe-map.variants.js +80 -0
  53. package/dist/components/data-display/globe-map/index.d.ts +2 -0
  54. package/dist/components/data-display/globe-map/index.js +10 -0
  55. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.d.ts +4 -0
  56. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.js +7 -0
  57. package/dist/components/data-display/globe-map/internals/globe-map-context.d.ts +25 -0
  58. package/dist/components/data-display/globe-map/internals/globe-map-context.js +19 -0
  59. package/dist/components/data-display/globe-map/internals/globe-map-legend.d.ts +2 -0
  60. package/dist/components/data-display/globe-map/internals/globe-map-legend.js +51 -0
  61. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.d.ts +6 -0
  62. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.js +119 -0
  63. package/dist/components/data-display/globe-map/internals/globe-map-point-card.d.ts +2 -0
  64. package/dist/components/data-display/globe-map/internals/globe-map-point-card.js +106 -0
  65. package/dist/components/data-display/globe-map/internals/globe-map-scene.d.ts +17 -0
  66. package/dist/components/data-display/globe-map/internals/globe-map-scene.js +218 -0
  67. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.d.ts +2 -0
  68. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.js +33 -0
  69. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.d.ts +45 -0
  70. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.js +270 -0
  71. package/dist/components/data-display/hex-tilemap/hex-tilemap.d.ts +9 -0
  72. package/dist/components/data-display/hex-tilemap/hex-tilemap.js +94 -0
  73. package/dist/components/data-display/hex-tilemap/hex-tilemap.stories-data.d.ts +7 -0
  74. package/dist/components/data-display/hex-tilemap/hex-tilemap.types.d.ts +43 -0
  75. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.d.ts +11 -0
  76. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.js +47 -0
  77. package/dist/components/data-display/hex-tilemap/index.d.ts +2 -0
  78. package/dist/components/data-display/hex-tilemap/index.js +12 -0
  79. package/dist/components/data-display/hex-tilemap/internals/hex-camera.d.ts +40 -0
  80. package/dist/components/data-display/hex-tilemap/internals/hex-camera.js +103 -0
  81. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.d.ts +9 -0
  82. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.js +1387 -0
  83. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.d.ts +21 -0
  84. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.js +82 -0
  85. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.d.ts +18 -0
  86. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.js +47 -0
  87. package/dist/components/data-display/hex-tilemap/internals/hex-layout.d.ts +10 -0
  88. package/dist/components/data-display/hex-tilemap/internals/hex-layout.js +35 -0
  89. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.d.ts +31 -0
  90. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.js +138 -0
  91. package/dist/components/data-display/hex-tilemap/internals/hex-regions.d.ts +6 -0
  92. package/dist/components/data-display/hex-tilemap/internals/hex-regions.js +18 -0
  93. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.d.ts +24 -0
  94. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.js +19 -0
  95. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.d.ts +2 -0
  96. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.js +51 -0
  97. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.d.ts +2 -0
  98. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.js +36 -0
  99. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.d.ts +3 -0
  100. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.js +147 -0
  101. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.d.ts +13 -0
  102. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.js +99 -0
  103. package/dist/components/data-display/hex-tilemap/internals/hex-world-grid.d.ts +8 -0
  104. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.d.ts +27 -0
  105. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.js +137 -0
  106. package/dist/components/data-display/notch-card/index.d.ts +2 -0
  107. package/dist/components/data-display/notch-card/index.js +6 -0
  108. package/dist/components/data-display/notch-card/notch-card.d.ts +7 -0
  109. package/dist/components/data-display/notch-card/notch-card.js +151 -0
  110. package/dist/components/data-display/notch-card/notch-card.path.d.ts +19 -0
  111. package/dist/components/data-display/notch-card/notch-card.path.js +118 -0
  112. package/dist/components/data-display/notch-card/notch-card.types.d.ts +15 -0
  113. package/dist/components/data-display/notch-card/notch-card.variants.d.ts +15 -0
  114. package/dist/components/data-display/notch-card/notch-card.variants.js +86 -0
  115. package/dist/components/feedback/hover-card/hover-card.d.ts +3 -1
  116. package/dist/components/feedback/hover-card/hover-card.js +28 -24
  117. package/dist/components/feedback/tooltip/overflow-tooltip.d.ts +1 -1
  118. package/dist/components/feedback/tooltip/overflow-tooltip.js +63 -57
  119. package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +4 -0
  120. package/dist/components/feedback/tooltip/tab-tooltip-render.js +2 -3
  121. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  122. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  123. package/dist/components/flows/filter-strip/index.d.ts +1 -0
  124. package/dist/components/flows/filter-strip/index.js +4 -2
  125. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +48 -46
  126. package/dist/components/flows/iris-chat/index.d.ts +10 -0
  127. package/dist/components/flows/iris-chat/index.js +55 -0
  128. package/dist/components/flows/iris-chat/iris-chat-artifact.d.ts +4 -0
  129. package/dist/components/flows/iris-chat/iris-chat-artifact.js +125 -0
  130. package/dist/components/flows/iris-chat/iris-chat-composer.d.ts +3 -0
  131. package/dist/components/flows/iris-chat/iris-chat-composer.js +297 -0
  132. package/dist/components/flows/iris-chat/iris-chat-context.d.ts +14 -0
  133. package/dist/components/flows/iris-chat/iris-chat-context.js +23 -0
  134. package/dist/components/flows/iris-chat/iris-chat-icons.d.ts +18 -0
  135. package/dist/components/flows/iris-chat/iris-chat-icons.js +176 -0
  136. package/dist/components/flows/iris-chat/iris-chat-markdown.d.ts +3 -0
  137. package/dist/components/flows/iris-chat/iris-chat-markdown.js +62 -0
  138. package/dist/components/flows/iris-chat/iris-chat-menu.d.ts +15 -0
  139. package/dist/components/flows/iris-chat/iris-chat-menu.js +259 -0
  140. package/dist/components/flows/iris-chat/iris-chat-prompt.d.ts +3 -0
  141. package/dist/components/flows/iris-chat/iris-chat-prompt.js +46 -0
  142. package/dist/components/flows/iris-chat/iris-chat-thinking.d.ts +12 -0
  143. package/dist/components/flows/iris-chat/iris-chat-thinking.js +202 -0
  144. package/dist/components/flows/iris-chat/iris-chat-thread.d.ts +37 -0
  145. package/dist/components/flows/iris-chat/iris-chat-thread.js +493 -0
  146. package/dist/components/flows/iris-chat/iris-chat.d.ts +43 -0
  147. package/dist/components/flows/iris-chat/iris-chat.js +336 -0
  148. package/dist/components/flows/iris-chat/iris-chat.types.d.ts +208 -0
  149. package/dist/components/flows/iris-chat/iris-chat.variants.d.ts +14 -0
  150. package/dist/components/flows/iris-chat/iris-chat.variants.js +78 -0
  151. package/dist/components/flows/iris-chat/read-iris-greeting-period.d.ts +4 -0
  152. package/dist/components/flows/iris-chat/read-iris-greeting-period.js +16 -0
  153. package/dist/components/flows/wizard/index.d.ts +2 -2
  154. package/dist/components/flows/wizard/index.js +17 -13
  155. package/dist/components/flows/wizard/wizard-context.d.ts +6 -1
  156. package/dist/components/flows/wizard/wizard-context.js +15 -7
  157. package/dist/components/flows/wizard/wizard.d.ts +22 -4
  158. package/dist/components/flows/wizard/wizard.js +278 -174
  159. package/dist/components/flows/wizard/wizard.types.d.ts +40 -0
  160. package/dist/components/forms/choice-card/assets/featured-backdrop-baked.webp.js +4 -0
  161. package/dist/components/forms/choice-card/assets/featured-noise.webp.js +4 -0
  162. package/dist/components/forms/choice-card/choice-card-featured-arcs.d.ts +4 -0
  163. package/dist/components/forms/choice-card/choice-card-featured-arcs.js +42 -0
  164. package/dist/components/forms/choice-card/choice-card-featured-backdrop.d.ts +4 -0
  165. package/dist/components/forms/choice-card/choice-card-featured-backdrop.js +45 -0
  166. package/dist/components/forms/choice-card/choice-card-indicator.variants.d.ts +8 -0
  167. package/dist/components/forms/choice-card/choice-card-indicator.variants.js +5 -0
  168. package/dist/components/forms/choice-card/choice-card-percent.d.ts +11 -0
  169. package/dist/components/forms/choice-card/choice-card-percent.js +80 -0
  170. package/dist/components/forms/choice-card/choice-card.d.ts +40 -3
  171. package/dist/components/forms/choice-card/choice-card.js +651 -170
  172. package/dist/components/forms/choice-card/choice-card.types.d.ts +40 -0
  173. package/dist/components/forms/choice-card/choice-card.variants.d.ts +7 -0
  174. package/dist/components/forms/choice-card/choice-card.variants.js +100 -0
  175. package/dist/components/forms/choice-card/index.d.ts +2 -1
  176. package/dist/components/forms/choice-card/index.js +27 -10
  177. package/dist/components/forms/select/components/SelectTriggerValue.js +2 -3
  178. package/dist/components/forms/select/components/Submenu.js +2 -3
  179. package/dist/components/layout/header/header.d.ts +3 -2
  180. package/dist/components/layout/header/header.js +67 -47
  181. package/dist/components/layout/header/header.types.d.ts +1 -0
  182. package/dist/components/primitives/iris/iris-agent-cursor.d.ts +3 -0
  183. package/dist/components/primitives/iris/iris-agent-cursor.js +89 -0
  184. package/dist/components/primitives/iris/iris-alan-gradient-icon.d.ts +5 -0
  185. package/dist/components/primitives/iris/iris-alan-gradient-icon.js +69 -0
  186. package/dist/components/primitives/iris/iris-control-context.d.ts +15 -0
  187. package/dist/components/primitives/iris/iris-control-context.js +44 -0
  188. package/dist/components/primitives/iris/iris-control-region.d.ts +10 -0
  189. package/dist/components/primitives/iris/iris-control-region.js +102 -0
  190. package/dist/components/primitives/iris/iris-control.types.d.ts +24 -0
  191. package/dist/components/primitives/iris/iris-control.variants.d.ts +4 -0
  192. package/dist/components/primitives/iris/iris-control.variants.js +20 -0
  193. package/dist/components/primitives/iris/iris.d.ts +24 -0
  194. package/dist/components/primitives/iris/iris.js +232 -0
  195. package/dist/components/primitives/iris/iris.types.d.ts +35 -0
  196. package/dist/components/primitives/iris/iris.variants.d.ts +30 -0
  197. package/dist/components/primitives/iris/iris.variants.js +120 -0
  198. package/dist/components/primitives/stepper/internals/pipeline-current-mark.d.ts +6 -0
  199. package/dist/components/primitives/stepper/internals/pipeline-current-mark.js +35 -0
  200. package/dist/components/primitives/stepper/internals/rail-status-dot.d.ts +13 -0
  201. package/dist/components/primitives/stepper/internals/rail-status-dot.js +70 -0
  202. package/dist/components/primitives/stepper/internals/step-hit-target.d.ts +15 -0
  203. package/dist/components/primitives/stepper/internals/step-hit-target.js +51 -0
  204. package/dist/components/primitives/stepper/internals/step-model.d.ts +3 -0
  205. package/dist/components/primitives/stepper/internals/step-model.js +10 -0
  206. package/dist/components/primitives/stepper/internals/stepper-compact.d.ts +5 -0
  207. package/dist/components/primitives/stepper/internals/stepper-compact.js +68 -0
  208. package/dist/components/primitives/stepper/internals/stepper-pipeline.d.ts +7 -0
  209. package/dist/components/primitives/stepper/internals/stepper-pipeline.js +87 -0
  210. package/dist/components/primitives/stepper/internals/stepper-rail.d.ts +5 -0
  211. package/dist/components/primitives/stepper/internals/stepper-rail.js +105 -0
  212. package/dist/components/primitives/stepper/internals/stepper-summary.d.ts +5 -0
  213. package/dist/components/primitives/stepper/internals/stepper-summary.js +103 -0
  214. package/dist/components/primitives/stepper/internals/stepper-track.d.ts +8 -0
  215. package/dist/components/primitives/stepper/internals/stepper-track.js +170 -0
  216. package/dist/components/primitives/stepper/stepper.d.ts +1 -0
  217. package/dist/components/primitives/stepper/stepper.js +134 -52
  218. package/dist/components/primitives/stepper/stepper.types.d.ts +17 -0
  219. package/dist/components/primitives/stepper/stepper.variants.d.ts +26 -0
  220. package/dist/components/primitives/stepper/stepper.variants.js +165 -5
  221. package/dist/components/primitives/tabs/tabs.d.ts +4 -1
  222. package/dist/components/primitives/tabs/tabs.js +131 -59
  223. package/dist/components/primitives/tabs/tabs.types.d.ts +5 -1
  224. package/dist/form-react/Fields/DateRangeField.js +20 -19
  225. package/dist/form-react/Fields/WeekRangePicker.js +36 -36
  226. package/dist/i18n/defaultMessages.d.ts +100 -0
  227. package/dist/i18n/defaultMessages.js +118 -21
  228. package/dist/i18n/index.d.ts +1 -1
  229. package/dist/i18n/locales/de.js +99 -2
  230. package/dist/i18n/locales/es.js +99 -2
  231. package/dist/i18n/locales/hi.js +99 -2
  232. package/dist/i18n/locales/kn.js +99 -2
  233. package/dist/impact-nova-components.css +972 -2
  234. package/dist/impact-nova-tokens.scss +109 -1
  235. package/dist/impact-nova.css +1 -1
  236. package/dist/index.d.ts +1 -1
  237. package/dist/index.js +585 -551
  238. package/dist/lib/virtualized/directional-range-extractor.d.ts +26 -0
  239. package/dist/lib/virtualized/directional-range-extractor.js +39 -0
  240. package/dist/lib/virtualized/index.d.ts +3 -0
  241. package/dist/lib/virtualized/index.js +35 -27
  242. package/dist/lib/virtualized/scroll-seek.d.ts +61 -0
  243. package/dist/lib/virtualized/scroll-seek.js +61 -0
  244. package/dist/lib/virtualized/usePaintedRangeVirtualizer.d.ts +19 -0
  245. package/dist/lib/virtualized/usePaintedRangeVirtualizer.js +30 -0
  246. package/dist/lib/virtualized/useResponsiveColumnCount.d.ts +35 -0
  247. package/dist/lib/virtualized/useResponsiveColumnCount.js +51 -0
  248. package/dist/lib/virtualized/useScrollSeekPaintedRange.d.ts +13 -0
  249. package/dist/lib/virtualized/useScrollSeekPaintedRange.js +45 -0
  250. package/dist/lib/virtualized/useVirtualizedList.d.ts +7 -0
  251. package/dist/lib/virtualized/useVirtualizedList.js +89 -87
  252. package/dist/lib/virtualized/useVirtualizedRows.d.ts +9 -2
  253. package/dist/lib/virtualized/useVirtualizedRows.js +15 -13
  254. package/dist/lib/virtualized/virtualized.types.d.ts +2 -0
  255. package/dist/llms/rules/installation.js +1 -1
  256. package/dist/llms/rules/requirements.js +1 -1
  257. package/dist/tailwind.config.js +3 -1
  258. package/dist/theme/tailwind-colors.js +2 -1
  259. package/package.json +39 -4
@@ -0,0 +1,259 @@
1
+ import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
+ import { useRef as S, useState as y } from "react";
3
+ import { FunnelShow as I, ThreeDots as L, Pin as M, Pencil as A, Bin as D, ChevronRight as T } from "impact-nova-icons";
4
+ import { DropdownMenu as g, DropdownMenuTrigger as v, DropdownMenuContent as b, DropdownMenuItem as f } from "../../feedback/dropdown-menu/dropdown-menu.js";
5
+ import { ButtonIconTooltip as N } from "../../feedback/tooltip/button-icon-tooltip.js";
6
+ import { Button as x } from "../../primitives/button/button.js";
7
+ import { Accordion as j, AccordionItem as k, AccordionTrigger as R, AccordionContent as E } from "../../primitives/accordion/accordion.js";
8
+ import { useImpactNovaI18n as w } from "../../../i18n/use-impact-nova-i18n.js";
9
+ import { useVirtualizedList as B } from "../../../lib/virtualized/useVirtualizedList.js";
10
+ import { createComponent as O } from "../../../lib/primitives/create-component.js";
11
+ import { cn as C } from "../../../lib/utils.js";
12
+ import { IrisChatAttachIcon as $ } from "./iris-chat-icons.js";
13
+ const z = ["type", "status", "lastActivity"], ee = O(
14
+ "IrisChatMenu",
15
+ ({ className: t, children: m, ...l }, c) => /* @__PURE__ */ e(
16
+ "div",
17
+ {
18
+ ref: c,
19
+ "data-component": "iris-chat-menu",
20
+ className: C("flex flex-col gap-4 py-4", t),
21
+ ...l,
22
+ children: /* @__PURE__ */ e(j, { type: "multiple", defaultValue: ["recent", "artifacts"], className: "flex flex-col gap-4", children: m })
23
+ }
24
+ )
25
+ ), P = ({
26
+ value: t,
27
+ title: m,
28
+ onFilterSelect: l,
29
+ onViewMore: c,
30
+ viewMoreLabel: a,
31
+ className: h,
32
+ children: p
33
+ }) => {
34
+ const { t: i } = w(), d = {
35
+ type: i("irisChat.filterType"),
36
+ status: i("irisChat.filterStatus"),
37
+ lastActivity: i("irisChat.filterLastActivity")
38
+ };
39
+ return /* @__PURE__ */ s(
40
+ k,
41
+ {
42
+ value: t,
43
+ "data-component": "iris-chat-menu-section",
44
+ className: C("rounded-none border-0 bg-transparent shadow-none", h),
45
+ children: [
46
+ /* @__PURE__ */ s("div", { className: "flex h-10 items-center justify-between gap-2", children: [
47
+ /* @__PURE__ */ s(R, { variant: "plain", headingLevel: 3, className: "flex min-w-0 flex-1 items-center gap-2 py-0", children: [
48
+ /* @__PURE__ */ e("span", { className: "flex size-6 shrink-0 items-center justify-center rounded-full bg-secondary text-content-secondary", children: /* @__PURE__ */ e(
49
+ T,
50
+ {
51
+ size: 14,
52
+ className: "rotate-90 transition-transform group-data-[state=open]:-rotate-90"
53
+ }
54
+ ) }),
55
+ /* @__PURE__ */ e("span", { className: "text-sm font-medium text-content", children: m })
56
+ ] }),
57
+ /* @__PURE__ */ s(g, { children: [
58
+ /* @__PURE__ */ e(N, { label: i("irisChat.filter"), children: /* @__PURE__ */ e(v, { asChild: !0, children: /* @__PURE__ */ e(
59
+ x,
60
+ {
61
+ type: "button",
62
+ variant: "ghost",
63
+ size: "iconSm",
64
+ "aria-label": i("irisChat.filter"),
65
+ "data-testid": `iris-chat-filter-${t}`,
66
+ children: /* @__PURE__ */ e(I, { size: 16 })
67
+ }
68
+ ) }) }),
69
+ /* @__PURE__ */ e(b, { align: "end", children: z.map((o) => /* @__PURE__ */ e(f, { onSelect: () => l?.(o), children: d[o] }, o)) })
70
+ ] })
71
+ ] }),
72
+ /* @__PURE__ */ s(E, { className: "px-0 pb-1 pt-1", children: [
73
+ /* @__PURE__ */ e("div", { className: "flex flex-col", children: p }),
74
+ c ? /* @__PURE__ */ e(
75
+ x,
76
+ {
77
+ type: "button",
78
+ variant: "link",
79
+ "data-testid": `iris-chat-view-more-${t}`,
80
+ className: "mt-1 h-auto justify-start px-2 text-sm",
81
+ onClick: c,
82
+ children: a ?? i("irisChat.viewMore")
83
+ }
84
+ ) : null
85
+ ] })
86
+ ]
87
+ }
88
+ );
89
+ };
90
+ P.displayName = "IrisChatMenuSection";
91
+ const V = ({ title: t, onSelect: m, onAction: l, className: c }) => {
92
+ const { t: a } = w(), [h, p] = y(!1), [i, d] = y(!1), [o, u] = y(t), n = () => {
93
+ const r = o.trim();
94
+ if (d(!1), !r || r === t) {
95
+ u(t);
96
+ return;
97
+ }
98
+ l?.("rename", r);
99
+ };
100
+ return /* @__PURE__ */ s(
101
+ "div",
102
+ {
103
+ "data-component": "iris-chat-list-item",
104
+ "data-menu-open": h ? "" : void 0,
105
+ className: C(
106
+ "flex min-h-10 items-center justify-between gap-2 rounded-full px-3",
107
+ (h || i) && "bg-secondary",
108
+ "hover:bg-secondary",
109
+ c
110
+ ),
111
+ children: [
112
+ i ? /* @__PURE__ */ e(
113
+ "input",
114
+ {
115
+ value: o,
116
+ autoFocus: !0,
117
+ "aria-label": a("irisChat.rename"),
118
+ "data-testid": "iris-chat-item-rename",
119
+ className: "min-w-0 flex-1 bg-transparent text-sm text-content outline-none",
120
+ onChange: (r) => u(r.target.value),
121
+ onBlur: n,
122
+ onKeyDown: (r) => {
123
+ r.key === "Enter" && (r.preventDefault(), n()), r.key === "Escape" && (u(t), d(!1));
124
+ }
125
+ }
126
+ ) : /* @__PURE__ */ e(
127
+ "button",
128
+ {
129
+ type: "button",
130
+ className: "min-w-0 flex-1 truncate text-start text-sm text-content",
131
+ onClick: m,
132
+ children: t
133
+ }
134
+ ),
135
+ /* @__PURE__ */ s(g, { open: h, onOpenChange: p, children: [
136
+ /* @__PURE__ */ e(N, { label: a("irisChat.moreActions"), children: /* @__PURE__ */ e(v, { asChild: !0, children: /* @__PURE__ */ e(
137
+ x,
138
+ {
139
+ type: "button",
140
+ variant: "ghost",
141
+ size: "iconSm",
142
+ "aria-label": a("irisChat.moreActions"),
143
+ "data-testid": "iris-chat-item-more",
144
+ children: /* @__PURE__ */ e(L, { size: 16 })
145
+ }
146
+ ) }) }),
147
+ /* @__PURE__ */ s(b, { align: "end", className: "w-[182px]", children: [
148
+ /* @__PURE__ */ e(
149
+ f,
150
+ {
151
+ icon: /* @__PURE__ */ e(M, { size: 16 }),
152
+ onSelect: () => l?.("pin"),
153
+ children: a("irisChat.pin")
154
+ }
155
+ ),
156
+ /* @__PURE__ */ e(
157
+ f,
158
+ {
159
+ icon: /* @__PURE__ */ e(A, { size: 16 }),
160
+ onSelect: () => {
161
+ u(t), window.setTimeout(() => d(!0), 0);
162
+ },
163
+ children: a("irisChat.rename")
164
+ }
165
+ ),
166
+ /* @__PURE__ */ e(
167
+ f,
168
+ {
169
+ icon: /* @__PURE__ */ e($, {}),
170
+ onSelect: () => l?.("archive"),
171
+ children: a("irisChat.archive")
172
+ }
173
+ ),
174
+ /* @__PURE__ */ e(
175
+ f,
176
+ {
177
+ icon: /* @__PURE__ */ e(D, { size: 16 }),
178
+ className: "text-destructive focus:bg-destructive/10 focus:text-destructive",
179
+ onSelect: () => l?.("delete"),
180
+ children: a("irisChat.delete")
181
+ }
182
+ )
183
+ ] })
184
+ ] })
185
+ ]
186
+ }
187
+ );
188
+ };
189
+ V.displayName = "IrisChatListItem";
190
+ function F({
191
+ items: t,
192
+ getItemId: m,
193
+ renderItem: l,
194
+ title: c,
195
+ onFilterSelect: a,
196
+ estimateSize: h = 32,
197
+ className: p
198
+ }) {
199
+ const { t: i } = w(), d = S(null), o = B({
200
+ rowCount: t.length,
201
+ getRowData: (n) => t[n],
202
+ getRowId: (n) => m(t[n]),
203
+ estimateSize: () => h,
204
+ scrollElementRef: d,
205
+ hasMore: !1
206
+ }), u = {
207
+ type: i("irisChat.filterType"),
208
+ status: i("irisChat.filterStatus"),
209
+ lastActivity: i("irisChat.filterLastActivity")
210
+ };
211
+ return /* @__PURE__ */ s(
212
+ "div",
213
+ {
214
+ "data-component": "iris-chat-list",
215
+ className: C("flex min-h-0 flex-1 flex-col", p),
216
+ children: [
217
+ c || a ? /* @__PURE__ */ s("div", { className: "flex items-center justify-between gap-2 py-3", children: [
218
+ c ? /* @__PURE__ */ e("p", { className: "text-sm font-medium text-content", children: c }) : /* @__PURE__ */ e("span", {}),
219
+ a ? /* @__PURE__ */ s(g, { children: [
220
+ /* @__PURE__ */ e(N, { label: i("irisChat.filter"), children: /* @__PURE__ */ e(v, { asChild: !0, children: /* @__PURE__ */ e(
221
+ x,
222
+ {
223
+ type: "button",
224
+ variant: "ghost",
225
+ size: "iconSm",
226
+ "aria-label": i("irisChat.filter"),
227
+ "data-testid": "iris-chat-filter-list",
228
+ children: /* @__PURE__ */ e(I, { size: 16 })
229
+ }
230
+ ) }) }),
231
+ /* @__PURE__ */ e(b, { align: "end", children: z.map((n) => /* @__PURE__ */ e(f, { onSelect: () => a(n), children: u[n] }, n)) })
232
+ ] }) : null
233
+ ] }) : null,
234
+ /* @__PURE__ */ e("div", { ref: d, className: "min-h-0 flex-1 overflow-y-auto", children: /* @__PURE__ */ e("div", { style: { height: o.virtualizer.getTotalSize(), position: "relative" }, children: o.virtualizer.getVirtualItems().map((n) => {
235
+ const r = t[n.index];
236
+ return /* @__PURE__ */ e(
237
+ "div",
238
+ {
239
+ className: "absolute inset-x-0",
240
+ style: {
241
+ height: n.size,
242
+ transform: `translateY(${n.start}px)`
243
+ },
244
+ children: l(r)
245
+ },
246
+ m(r)
247
+ );
248
+ }) }) })
249
+ ]
250
+ }
251
+ );
252
+ }
253
+ F.displayName = "IrisChatList";
254
+ export {
255
+ F as IrisChatList,
256
+ V as IrisChatListItem,
257
+ ee as IrisChatMenu,
258
+ P as IrisChatMenuSection
259
+ };
@@ -0,0 +1,3 @@
1
+ import { IrisChatPromptProps } from './iris-chat.types';
2
+ declare const IrisChatPrompt: import('react').ForwardRefExoticComponent<IrisChatPromptProps & import('react').RefAttributes<HTMLFormElement>>;
3
+ export { IrisChatPrompt };
@@ -0,0 +1,46 @@
1
+ import { jsxs as l, jsx as o } from "react/jsx-runtime";
2
+ import { Button as c } from "../../primitives/button/button.js";
3
+ import { useImpactNovaI18n as d } from "../../../i18n/use-impact-nova-i18n.js";
4
+ import { createComponent as f } from "../../../lib/primitives/create-component.js";
5
+ import { cn as u } from "../../../lib/utils.js";
6
+ const b = f(
7
+ "IrisChatPrompt",
8
+ ({
9
+ className: e,
10
+ title: t,
11
+ children: m,
12
+ submitLabel: n,
13
+ submitDisabled: r = !1,
14
+ onSubmit: a
15
+ }, i) => {
16
+ const { t: p } = d();
17
+ return /* @__PURE__ */ l(
18
+ "form",
19
+ {
20
+ ref: i,
21
+ "data-component": "iris-chat-prompt",
22
+ className: u("flex w-full min-w-0 flex-col gap-4 rounded-2xl bg-secondary p-4", e),
23
+ onSubmit: (s) => {
24
+ s.preventDefault(), !r && a?.();
25
+ },
26
+ children: [
27
+ t ? /* @__PURE__ */ o("p", { className: "text-sm font-medium leading-5 text-content", children: t }) : null,
28
+ m,
29
+ /* @__PURE__ */ o(
30
+ c,
31
+ {
32
+ type: "submit",
33
+ disabled: r,
34
+ "data-testid": "iris-chat-prompt-submit",
35
+ className: "w-fit rounded-full",
36
+ children: n ?? p("irisChat.applySend")
37
+ }
38
+ )
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ );
44
+ export {
45
+ b as IrisChatPrompt
46
+ };
@@ -0,0 +1,12 @@
1
+ import { IrisChatCitationsProps, IrisChatProcessStepsProps, IrisChatThinkingProps, IrisChatThinkingStatusProps } from './iris-chat.types';
2
+ declare const IrisChatThinking: import('react').ForwardRefExoticComponent<IrisChatThinkingProps & import('react').RefAttributes<HTMLDivElement>>;
3
+ declare const IrisChatThinkingStatus: import('react').ForwardRefExoticComponent<IrisChatThinkingStatusProps & import('react').RefAttributes<HTMLDivElement>>;
4
+ declare const IrisChatProcessSteps: {
5
+ ({ title, steps, defaultOpen, open, onOpenChange, className, }: IrisChatProcessStepsProps): import("react/jsx-runtime").JSX.Element;
6
+ displayName: string;
7
+ };
8
+ declare const IrisChatCitations: {
9
+ ({ title, groups, defaultOpen, open, onOpenChange, className, }: IrisChatCitationsProps): import("react/jsx-runtime").JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export { IrisChatCitations, IrisChatProcessSteps, IrisChatThinking, IrisChatThinkingStatus };
@@ -0,0 +1,202 @@
1
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
+ import { useState as S, useEffect as _ } from "react";
3
+ import { ChevronRight as b, Checkmark as A } from "impact-nova-icons";
4
+ import { Accordion as C, AccordionItem as I, AccordionTrigger as y, AccordionContent as k } from "../../primitives/accordion/accordion.js";
5
+ import { IrisAlanGradientIcon as v } from "../../primitives/iris/iris-alan-gradient-icon.js";
6
+ import { useImpactNovaI18n as g } from "../../../i18n/use-impact-nova-i18n.js";
7
+ import { useControllableState as w } from "@radix-ui/react-use-controllable-state";
8
+ import { createComponent as T } from "../../../lib/primitives/create-component.js";
9
+ import { cn as l } from "../../../lib/utils.js";
10
+ const D = T(
11
+ "IrisChatThinking",
12
+ ({ className: n, ...s }, a) => /* @__PURE__ */ e(
13
+ "div",
14
+ {
15
+ ref: a,
16
+ "data-component": "iris-chat-thinking",
17
+ className: l("flex w-full flex-col gap-2", n),
18
+ ...s
19
+ }
20
+ )
21
+ ), z = 1e4, R = 6e4;
22
+ function G() {
23
+ const [n, s] = S("typing");
24
+ return _(() => {
25
+ const a = window.setTimeout(() => s("falling"), z), r = window.setTimeout(() => s("bricks"), R);
26
+ return () => {
27
+ window.clearTimeout(a), window.clearTimeout(r);
28
+ };
29
+ }, []), /* @__PURE__ */ e("span", { className: "iris-dot-loader-wrap", "aria-hidden": !0, children: /* @__PURE__ */ e(
30
+ "span",
31
+ {
32
+ "data-testid": "iris-chat-thinking-dots",
33
+ "data-stage": n,
34
+ className: l(
35
+ "iris-dot-loader",
36
+ n === "typing" && "iris-dot-typing",
37
+ n === "falling" && "iris-dot-falling",
38
+ n === "bricks" && "iris-dot-bricks"
39
+ )
40
+ }
41
+ ) });
42
+ }
43
+ const q = T(
44
+ "IrisChatThinkingStatus",
45
+ ({ className: n, children: s, ...a }, r) => {
46
+ const { t: o } = g();
47
+ return /* @__PURE__ */ i(
48
+ "div",
49
+ {
50
+ ref: r,
51
+ "data-component": "iris-chat-thinking-status",
52
+ role: "status",
53
+ "aria-label": o("irisChat.thinking"),
54
+ className: l(
55
+ "flex h-4 items-center gap-1.5 leading-none text-sm text-content-secondary",
56
+ n
57
+ ),
58
+ ...a,
59
+ children: [
60
+ /* @__PURE__ */ e("span", { className: "inline-flex size-4 shrink-0 items-center justify-center animate-spin motion-reduce:animate-none [animation-duration:2.6s]", children: /* @__PURE__ */ e(v, { size: 16 }) }),
61
+ s ?? /* @__PURE__ */ e(G, {})
62
+ ]
63
+ }
64
+ );
65
+ }
66
+ ), L = ({
67
+ title: n,
68
+ steps: s,
69
+ defaultOpen: a = !1,
70
+ open: r,
71
+ onOpenChange: o,
72
+ className: p
73
+ }) => {
74
+ const { t: h } = g(), [c, f] = w({
75
+ prop: r,
76
+ defaultProp: a,
77
+ onChange: o
78
+ }), x = n ?? h("irisChat.processSteps");
79
+ return /* @__PURE__ */ e(
80
+ C,
81
+ {
82
+ type: "single",
83
+ collapsible: !0,
84
+ value: c ? "steps" : "",
85
+ onValueChange: (t) => f(t === "steps"),
86
+ className: p,
87
+ children: /* @__PURE__ */ i(
88
+ I,
89
+ {
90
+ value: "steps",
91
+ className: "border-0 bg-transparent",
92
+ "data-component": "iris-chat-process-steps",
93
+ children: [
94
+ /* @__PURE__ */ i(
95
+ y,
96
+ {
97
+ variant: "plain",
98
+ headingLevel: 3,
99
+ className: "flex w-full items-center gap-2 py-1.5",
100
+ children: [
101
+ /* @__PURE__ */ e(v, { size: 16 }),
102
+ /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 text-start text-sm font-medium text-content", children: x }),
103
+ /* @__PURE__ */ e(
104
+ b,
105
+ {
106
+ size: 16,
107
+ className: l("shrink-0 text-content-secondary", c && "rotate-90")
108
+ }
109
+ )
110
+ ]
111
+ }
112
+ ),
113
+ /* @__PURE__ */ e(k, { className: "px-0 pb-2 pt-1", children: /* @__PURE__ */ e("ol", { className: "flex flex-col gap-2 ps-6", children: s.map((t) => /* @__PURE__ */ i("li", { className: "flex flex-col gap-1 text-sm text-content", children: [
114
+ /* @__PURE__ */ i("span", { className: "flex items-center gap-2", children: [
115
+ t.status === "complete" ? /* @__PURE__ */ e(A, { size: 14, className: "text-brand" }) : /* @__PURE__ */ e("span", { className: "size-2 rounded-full bg-brand" }),
116
+ t.label
117
+ ] }),
118
+ t.chip ? /* @__PURE__ */ e("span", { className: "ms-6 w-fit rounded-md bg-secondary px-2 py-0.5 font-mono text-xs", children: t.chip }) : null
119
+ ] }, t.id)) }) })
120
+ ]
121
+ }
122
+ )
123
+ }
124
+ );
125
+ };
126
+ L.displayName = "IrisChatProcessSteps";
127
+ const O = ({
128
+ title: n,
129
+ groups: s,
130
+ defaultOpen: a = !1,
131
+ open: r,
132
+ onOpenChange: o,
133
+ className: p
134
+ }) => {
135
+ const { t: h } = g(), [c, f] = w({
136
+ prop: r,
137
+ defaultProp: a,
138
+ onChange: o
139
+ }), x = n ?? h("irisChat.citations");
140
+ return /* @__PURE__ */ e(
141
+ C,
142
+ {
143
+ type: "single",
144
+ collapsible: !0,
145
+ value: c ? "citations" : "",
146
+ onValueChange: (t) => f(t === "citations"),
147
+ className: p,
148
+ children: /* @__PURE__ */ i(
149
+ I,
150
+ {
151
+ value: "citations",
152
+ className: "border-0 bg-transparent",
153
+ "data-component": "iris-chat-citations",
154
+ children: [
155
+ /* @__PURE__ */ i(
156
+ y,
157
+ {
158
+ variant: "plain",
159
+ headingLevel: 3,
160
+ className: "flex w-full items-center gap-2 py-1.5",
161
+ children: [
162
+ /* @__PURE__ */ e("span", { className: "min-w-0 flex-1 text-start text-sm font-medium text-content", children: x }),
163
+ /* @__PURE__ */ e(
164
+ b,
165
+ {
166
+ size: 16,
167
+ className: l("shrink-0 text-content-secondary", c && "rotate-90")
168
+ }
169
+ )
170
+ ]
171
+ }
172
+ ),
173
+ /* @__PURE__ */ e(k, { className: "px-0 pb-2 pt-1", children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-3", children: s.map((t) => /* @__PURE__ */ i("div", { className: "flex flex-col gap-1", children: [
174
+ /* @__PURE__ */ e("p", { className: "text-xs font-medium text-content-secondary", children: t.label }),
175
+ /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-1", children: t.tags.map((d) => {
176
+ const m = typeof d == "string" ? d : d.label, u = typeof d == "string" ? void 0 : d.href, N = "rounded-md bg-secondary px-2 py-0.5 text-xs text-content";
177
+ return u ? /* @__PURE__ */ e(
178
+ "a",
179
+ {
180
+ href: u,
181
+ target: "_blank",
182
+ rel: "noreferrer",
183
+ className: l(N, "text-brand underline"),
184
+ children: m
185
+ },
186
+ m
187
+ ) : /* @__PURE__ */ e("span", { className: N, children: m }, m);
188
+ }) })
189
+ ] }, t.id)) }) })
190
+ ]
191
+ }
192
+ )
193
+ }
194
+ );
195
+ };
196
+ O.displayName = "IrisChatCitations";
197
+ export {
198
+ O as IrisChatCitations,
199
+ L as IrisChatProcessSteps,
200
+ D as IrisChatThinking,
201
+ q as IrisChatThinkingStatus
202
+ };
@@ -0,0 +1,37 @@
1
+ import { IrisChatAttachmentProps, IrisChatErrorProps, IrisChatDayProps, IrisChatFollowUpListProps, IrisChatFollowUpProps, IrisChatGreetingProps, IrisChatSuggestionProps, IrisChatThreadProps } from './iris-chat.types';
2
+ import * as React from "react";
3
+ declare const IrisChatGreeting: React.ForwardRefExoticComponent<IrisChatGreetingProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const IrisChatSuggestions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
+ declare const IrisChatSuggestion: React.ForwardRefExoticComponent<IrisChatSuggestionProps & React.RefAttributes<HTMLButtonElement>>;
6
+ declare const IrisChatWorkflows: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
7
+ onShowMore?: () => void;
8
+ } & React.RefAttributes<HTMLDivElement>>;
9
+ declare const IrisChatWorkflow: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
10
+ title: string;
11
+ description?: string;
12
+ } & React.RefAttributes<HTMLButtonElement>>;
13
+ declare const IrisChatThread: React.ForwardRefExoticComponent<IrisChatThreadProps & React.RefAttributes<HTMLDivElement>>;
14
+ declare const IrisChatDay: React.ForwardRefExoticComponent<IrisChatDayProps & React.RefAttributes<HTMLDivElement>>;
15
+ declare const IrisChatMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & {
16
+ role: import('./iris-chat.types').IrisChatRole;
17
+ time?: string;
18
+ } & React.RefAttributes<HTMLElement>>;
19
+ declare const IrisChatActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
20
+ liked?: boolean;
21
+ disliked?: boolean;
22
+ copyText?: string;
23
+ onLike?: () => void;
24
+ onDislike?: () => void;
25
+ onCopy?: () => void;
26
+ onRetry?: () => void;
27
+ onSpeak?: () => void;
28
+ onFeedback?: (feedback: import('./iris-chat.types').IrisChatFeedback) => void;
29
+ } & React.RefAttributes<HTMLDivElement>>;
30
+ declare const IrisChatFollowUps: React.ForwardRefExoticComponent<IrisChatFollowUpListProps & React.RefAttributes<HTMLDivElement>>;
31
+ declare const IrisChatFollowUp: React.ForwardRefExoticComponent<IrisChatFollowUpProps & React.RefAttributes<HTMLButtonElement>>;
32
+ declare const IrisChatAttachment: React.ForwardRefExoticComponent<IrisChatAttachmentProps & React.RefAttributes<HTMLDivElement>>;
33
+ declare const IrisChatError: React.ForwardRefExoticComponent<IrisChatErrorProps & React.RefAttributes<HTMLDivElement>>;
34
+ declare const IrisChatChip: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & {
35
+ variant?: "default" | "outline";
36
+ } & React.RefAttributes<HTMLButtonElement>>;
37
+ export { IrisChatActions, IrisChatAttachment, IrisChatChip, IrisChatDay, IrisChatError, IrisChatFollowUp, IrisChatFollowUps, IrisChatGreeting, IrisChatMessage, IrisChatSuggestion, IrisChatSuggestions, IrisChatThread, IrisChatWorkflow, IrisChatWorkflows, };