impact-nova 2.5.16 → 2.6.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 (254) hide show
  1. package/README.md +27 -25
  2. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +28 -1
  3. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.d.ts +0 -3
  4. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.js +31 -38
  5. package/dist/components/data/ag-grid-react/cell-renderers/input-display-renderer.d.ts +1 -1
  6. package/dist/components/data/ag-grid-react/chat/chat-capabilities.d.ts +9 -0
  7. package/dist/components/data/ag-grid-react/chat/chat-capabilities.js +22 -0
  8. package/dist/components/data/ag-grid-react/chat/chat-column.d.ts +20 -0
  9. package/dist/components/data/ag-grid-react/chat/chat-column.js +81 -0
  10. package/dist/components/data/ag-grid-react/chat/chat-composer.d.ts +10 -0
  11. package/dist/components/data/ag-grid-react/chat/chat-composer.js +352 -0
  12. package/dist/components/data/ag-grid-react/chat/chat-constants.d.ts +17 -0
  13. package/dist/components/data/ag-grid-react/chat/chat-constants.js +22 -0
  14. package/dist/components/data/ag-grid-react/chat/chat-format.d.ts +41 -0
  15. package/dist/components/data/ag-grid-react/chat/chat-format.js +94 -0
  16. package/dist/components/data/ag-grid-react/chat/chat-host.d.ts +10 -0
  17. package/dist/components/data/ag-grid-react/chat/chat-host.js +651 -0
  18. package/dist/components/data/ag-grid-react/chat/chat-host.types.d.ts +13 -0
  19. package/dist/components/data/ag-grid-react/chat/chat-html.d.ts +2 -0
  20. package/dist/components/data/ag-grid-react/chat/chat-html.js +40 -0
  21. package/dist/components/data/ag-grid-react/chat/chat-identity.d.ts +13 -0
  22. package/dist/components/data/ag-grid-react/chat/chat-identity.js +24 -0
  23. package/dist/components/data/ag-grid-react/chat/chat-menu.d.ts +13 -0
  24. package/dist/components/data/ag-grid-react/chat/chat-menu.js +15 -0
  25. package/dist/components/data/ag-grid-react/chat/chat-notify.d.ts +17 -0
  26. package/dist/components/data/ag-grid-react/chat/chat-notify.js +124 -0
  27. package/dist/components/data/ag-grid-react/chat/chat-persist.d.ts +13 -0
  28. package/dist/components/data/ag-grid-react/chat/chat-persist.js +34 -0
  29. package/dist/components/data/ag-grid-react/chat/chat-priority.d.ts +13 -0
  30. package/dist/components/data/ag-grid-react/chat/chat-priority.js +79 -0
  31. package/dist/components/data/ag-grid-react/chat/chat-summaries.d.ts +2 -0
  32. package/dist/components/data/ag-grid-react/chat/chat-summaries.js +24 -0
  33. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.d.ts +72 -0
  34. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.js +713 -0
  35. package/dist/components/data/ag-grid-react/chat/chat-toggle.d.ts +6 -0
  36. package/dist/components/data/ag-grid-react/chat/chat-toggle.js +25 -0
  37. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.d.ts +13 -0
  38. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.js +26 -0
  39. package/dist/components/data/ag-grid-react/chat/chat-window.d.ts +14 -0
  40. package/dist/components/data/ag-grid-react/chat/chat-window.js +82 -0
  41. package/dist/components/data/ag-grid-react/chat/chat-workspace.d.ts +91 -0
  42. package/dist/components/data/ag-grid-react/chat/chat-workspace.js +555 -0
  43. package/dist/components/data/ag-grid-react/chat/chat.types.d.ts +319 -0
  44. package/dist/components/data/ag-grid-react/chat/index.d.ts +6 -0
  45. package/dist/components/data/ag-grid-react/chat/index.js +24 -0
  46. package/dist/components/data/ag-grid-react/chat.story-data.d.ts +34 -0
  47. package/dist/components/data/ag-grid-react/chat.story-sources.d.ts +4 -0
  48. package/dist/components/data/ag-grid-react/comments/assets/comments-no-results.png.js +4 -0
  49. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.d.ts +6 -0
  50. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.js +29 -0
  51. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.d.ts +8 -0
  52. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.js +18 -0
  53. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.d.ts +18 -0
  54. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.js +16 -0
  55. package/dist/components/data/ag-grid-react/comments/comments-capabilities.d.ts +11 -0
  56. package/dist/components/data/ag-grid-react/comments/comments-capabilities.js +26 -0
  57. package/dist/components/data/ag-grid-react/comments/comments-constants.d.ts +12 -0
  58. package/dist/components/data/ag-grid-react/comments/comments-constants.js +21 -0
  59. package/dist/components/data/ag-grid-react/comments/comments-format.d.ts +20 -0
  60. package/dist/components/data/ag-grid-react/comments/comments-format.js +49 -0
  61. package/dist/components/data/ag-grid-react/comments/comments-generation.d.ts +14 -0
  62. package/dist/components/data/ag-grid-react/comments/comments-generation.js +18 -0
  63. package/dist/components/data/ag-grid-react/comments/comments-host.d.ts +10 -0
  64. package/dist/components/data/ag-grid-react/comments/comments-host.js +343 -0
  65. package/dist/components/data/ag-grid-react/comments/comments-host.types.d.ts +18 -0
  66. package/dist/components/data/ag-grid-react/comments/comments-identity.d.ts +7 -0
  67. package/dist/components/data/ag-grid-react/comments/comments-identity.js +20 -0
  68. package/dist/components/data/ag-grid-react/comments/comments-menu.d.ts +29 -0
  69. package/dist/components/data/ag-grid-react/comments/comments-menu.js +35 -0
  70. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.d.ts +22 -0
  71. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.js +98 -0
  72. package/dist/components/data/ag-grid-react/comments/comments-overlay.d.ts +21 -0
  73. package/dist/components/data/ag-grid-react/comments/comments-overlay.js +406 -0
  74. package/dist/components/data/ag-grid-react/comments/comments-panel.d.ts +9 -0
  75. package/dist/components/data/ag-grid-react/comments/comments-panel.js +272 -0
  76. package/dist/components/data/ag-grid-react/comments/comments-persist.d.ts +11 -0
  77. package/dist/components/data/ag-grid-react/comments/comments-persist.js +19 -0
  78. package/dist/components/data/ag-grid-react/comments/comments-reveal.d.ts +11 -0
  79. package/dist/components/data/ag-grid-react/comments/comments-reveal.js +31 -0
  80. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.d.ts +18 -0
  81. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.js +22 -0
  82. package/dist/components/data/ag-grid-react/comments/comments-window.d.ts +10 -0
  83. package/dist/components/data/ag-grid-react/comments/comments-window.js +62 -0
  84. package/dist/components/data/ag-grid-react/comments/comments.types.d.ts +178 -0
  85. package/dist/components/data/ag-grid-react/comments/index.d.ts +5 -0
  86. package/dist/components/data/ag-grid-react/comments/index.js +15 -0
  87. package/dist/components/data/ag-grid-react/comments-cell-renderers-showcase.d.ts +25 -0
  88. package/dist/components/data/ag-grid-react/comments.story-data.d.ts +37 -0
  89. package/dist/components/data/ag-grid-react/comments.story-sources.d.ts +11 -0
  90. package/dist/components/data/ag-grid-react/grid-cell-address.d.ts +21 -0
  91. package/dist/components/data/ag-grid-react/grid-cell-address.js +21 -0
  92. package/dist/components/data/ag-grid-react/grid-row-reveal.d.ts +34 -0
  93. package/dist/components/data/ag-grid-react/grid-row-reveal.js +33 -0
  94. package/dist/components/data/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +75 -65
  95. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.d.ts +1 -1
  96. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.js +54 -54
  97. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +1 -1
  98. package/dist/components/data/ag-grid-react/headers/header-search-input.js +122 -119
  99. package/dist/components/data/ag-grid-react/headers/utils/date-utils.d.ts +2 -1
  100. package/dist/components/data/ag-grid-react/headers/utils/date-utils.js +25 -20
  101. package/dist/components/data/ag-grid-react/headers/utils/filter-utils.d.ts +1 -1
  102. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  103. package/dist/components/data/ag-grid-react/index.js +481 -254
  104. package/dist/components/data/ag-grid-react/notes/index.d.ts +2 -0
  105. package/dist/components/data/ag-grid-react/notes/index.js +1 -0
  106. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.d.ts +25 -0
  107. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.js +32 -0
  108. package/dist/components/data/ag-grid-react/notes/notes-constants.d.ts +2 -0
  109. package/dist/components/data/ag-grid-react/notes/notes-constants.js +4 -0
  110. package/dist/components/data/ag-grid-react/notes/notes.types.d.ts +12 -0
  111. package/dist/components/data/ag-grid-react/notes.story-sources.d.ts +7 -0
  112. package/dist/components/data/ag-grid-react/nova-system-column.d.ts +7 -0
  113. package/dist/components/data/ag-grid-react/nova-system-column.js +18 -0
  114. package/dist/components/data/ag-grid-react/theme.js +6 -2
  115. package/dist/components/data/ag-grid-react/value-formatter.types.d.ts +4 -0
  116. package/dist/components/data/ag-grid-react/value-formatters.d.ts +0 -19
  117. package/dist/components/data/ag-grid-react/value-formatters.js +88 -90
  118. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +0 -1
  119. package/dist/components/data/data-table/build-column-tree-from-grid.js +49 -53
  120. package/dist/components/data/data-table/data-table-column-apply.d.ts +0 -2
  121. package/dist/components/data/data-table/data-table-column-apply.js +73 -84
  122. package/dist/components/data/data-table/data-table-column-def-pin.js +34 -31
  123. package/dist/components/data/data-table/data-table-column-list.js +64 -94
  124. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +6 -12
  125. package/dist/components/data/data-table/data-table-column-tree-cache.js +131 -250
  126. package/dist/components/data/data-table/data-table-context.js +5 -5
  127. package/dist/components/data/data-table/data-table-sheet-context.js +1 -1
  128. package/dist/components/data/data-table/data-table-sheet.js +2 -1
  129. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +0 -5
  130. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +11 -28
  131. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +0 -10
  132. package/dist/components/data/data-table/use-data-table-column-list-sync.js +196 -250
  133. package/dist/components/data/nested-list/components/NestedListContent.d.ts +2 -10
  134. package/dist/components/data/nested-list/components/NestedListContent.js +138 -253
  135. package/dist/components/data/nested-list/components/SortableItem.d.ts +1 -2
  136. package/dist/components/data/nested-list/components/SortableItem.js +60 -62
  137. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +20 -10
  138. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +233 -44
  139. package/dist/components/data/nested-list/nested-list-constants.d.ts +1 -4
  140. package/dist/components/data/nested-list/nested-list-constants.js +4 -10
  141. package/dist/components/data/nested-list/nested-list.js +336 -322
  142. package/dist/components/data/nested-list/nested-list.types.d.ts +0 -17
  143. package/dist/components/data-display/calendar/calendar-config.js +22 -21
  144. package/dist/components/data-display/calendar/calendar-day-button.js +21 -21
  145. package/dist/components/data-display/calendar/calendar-day-picker-view.js +36 -35
  146. package/dist/components/data-display/calendar/calendar-fiscal-labels.d.ts +3 -3
  147. package/dist/components/data-display/calendar/calendar-fiscal-labels.js +50 -62
  148. package/dist/components/data-display/calendar/calendar.js +138 -137
  149. package/dist/components/data-display/calendar/fiscal-period-caption-select.js +23 -22
  150. package/dist/components/data-display/calendar/use-calendar-i18n.d.ts +1 -0
  151. package/dist/components/data-display/calendar/use-calendar-i18n.js +10 -9
  152. package/dist/components/data-display/chart/chart.js +72 -72
  153. package/dist/components/data-display/chart/chart.utils.d.ts +1 -1
  154. package/dist/components/data-display/chart/chart.utils.js +40 -31
  155. package/dist/components/feedback/sheet/sheet.js +1 -1
  156. package/dist/components/feedback/toast/toast.d.ts +1 -1
  157. package/dist/components/feedback/toast/toast.variants.d.ts +1 -1
  158. package/dist/components/flows/filter-panel/filter-panel.d.ts +1 -1
  159. package/dist/components/flows/filter-panel/filter-panel.js +65 -64
  160. package/dist/components/flows/filter-panel/filter-panel.types.d.ts +1 -0
  161. package/dist/components/forms/date-picker/date-picker.js +125 -126
  162. package/dist/components/forms/date-picker/date-range-picker.js +191 -192
  163. package/dist/components/forms/date-picker/multi-date-picker.js +66 -67
  164. package/dist/components/forms/date-picker/multi-week-picker.js +82 -83
  165. package/dist/components/forms/date-picker/use-picker-i18n.d.ts +6 -0
  166. package/dist/components/forms/date-picker/use-picker-i18n.js +11 -0
  167. package/dist/components/forms/date-picker/week-picker.js +146 -147
  168. package/dist/components/forms/date-picker/week-range-picker.js +158 -159
  169. package/dist/components/ui/local-raster-icons/message3d.webp.js +4 -0
  170. package/dist/components/ui/local-raster-icons/rasterIcons.d.ts +1 -0
  171. package/dist/components/ui/local-raster-icons/rasterIcons.js +27 -25
  172. package/dist/form-react/Fields/WeekRangePicker.js +16 -16
  173. package/dist/i18n/defaultMessages.d.ts +144 -0
  174. package/dist/i18n/defaultMessages.js +161 -19
  175. package/dist/i18n/format/collator.d.ts +1 -0
  176. package/dist/i18n/format/collator.js +7 -0
  177. package/dist/i18n/format/date-pattern.d.ts +5 -0
  178. package/dist/i18n/format/date-pattern.js +20 -0
  179. package/dist/i18n/format/format-date.d.ts +9 -0
  180. package/dist/i18n/format/format-date.js +56 -0
  181. package/dist/i18n/format/format-number.d.ts +20 -0
  182. package/dist/i18n/format/format-number.js +68 -0
  183. package/dist/i18n/format/formatter-cache.d.ts +9 -0
  184. package/dist/i18n/format/formatter-cache.js +66 -0
  185. package/dist/i18n/format/index.d.ts +6 -0
  186. package/dist/i18n/format/parse-number.d.ts +6 -0
  187. package/dist/i18n/format/parse-number.js +53 -0
  188. package/dist/i18n/getDateFnsLocale.d.ts +5 -4
  189. package/dist/i18n/getDateFnsLocale.js +46 -16
  190. package/dist/i18n/i18n.types.d.ts +13 -0
  191. package/dist/i18n/impact-nova-i18n-context.d.ts +1 -1
  192. package/dist/i18n/impact-nova-i18n-context.js +33 -25
  193. package/dist/i18n/impact-nova-i18n-defaults.js +8 -6
  194. package/dist/i18n/index.d.ts +4 -1
  195. package/dist/i18n/index.js +41 -16
  196. package/dist/i18n/locale-config.d.ts +28 -0
  197. package/dist/i18n/locale-config.js +32 -0
  198. package/dist/i18n/locales/de.js +142 -0
  199. package/dist/i18n/locales/es.js +142 -0
  200. package/dist/i18n/locales/hi.js +142 -0
  201. package/dist/i18n/locales/kn.js +142 -0
  202. package/dist/i18n/week-start.d.ts +6 -0
  203. package/dist/i18n/week-start.js +30 -0
  204. package/dist/impact-nova-components.css +249 -0
  205. package/dist/impact-nova-tokens.scss +6 -0
  206. package/dist/impact-nova.css +1 -1
  207. package/dist/index.d.ts +1 -1
  208. package/dist/index.js +624 -601
  209. package/dist/llms/index.js +26 -2
  210. package/dist/llms/rules/ag-grid.js +1 -1
  211. package/dist/llms/rules/best-practices.js +1 -1
  212. package/dist/llms/rules/data-table-chat.js +1 -0
  213. package/dist/llms/rules/data-table-comments.js +1 -0
  214. package/dist/llms/rules/data-table-notes.js +1 -0
  215. package/dist/llms/rules/installation.js +1 -1
  216. package/dist/llms/rules/migration.js +1 -1
  217. package/dist/llms/rules/real-world-patterns.js +1 -1
  218. package/dist/llms/rules/requirements.js +1 -1
  219. package/dist/llms/rules/troubleshooting.js +1 -1
  220. package/dist/providers/app-providers.d.ts +3 -1
  221. package/dist/providers/app-providers.js +22 -11
  222. package/package.json +13 -1
  223. package/dist/components/data/data-table/column-picker-authority.d.ts +0 -34
  224. package/dist/components/data/data-table/column-picker-authority.js +0 -116
  225. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +0 -7
  226. package/dist/components/data/data-table/column-picker-drop-validation.js +0 -37
  227. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +0 -10
  228. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +0 -79
  229. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +0 -26
  230. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +0 -195
  231. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +0 -1
  232. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +0 -7
  233. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +0 -12
  234. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +0 -12
  235. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +0 -24
  236. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +0 -128
  237. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +0 -11
  238. package/dist/components/data/nested-list/nested-list-display-utils.js +0 -74
  239. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +0 -31
  240. package/dist/components/data/nested-list/nested-list-drop-engine.js +0 -209
  241. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +0 -26
  242. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +0 -67
  243. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +0 -4
  244. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +0 -43
  245. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +0 -3
  246. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +0 -34
  247. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +0 -9
  248. package/dist/components/data/nested-list/nested-list-row-estimates.js +0 -14
  249. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +0 -36
  250. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +0 -47
  251. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +0 -59
  252. package/dist/components/data/nested-list/nested-list-virtual-drop.js +0 -341
  253. package/dist/lib/hash/fnv1a128.d.ts +0 -16
  254. package/dist/lib/hash/fnv1a128.js +0 -21
@@ -0,0 +1,6 @@
1
+ export interface ChatToggleProps {
2
+ pressed: boolean;
3
+ onPressedChange: (pressed: boolean) => void;
4
+ disabled?: boolean;
5
+ }
6
+ export declare function ChatToggle({ pressed, onPressedChange, disabled }: ChatToggleProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { useImpactNovaI18n as e } from "../../../../i18n/use-impact-nova-i18n.js";
3
+ import { Button as m } from "../../../primitives/button/button.js";
4
+ import { cn as r } from "../../../../lib/utils.js";
5
+ function f({ pressed: t, onPressedChange: o, disabled: a }) {
6
+ const { t: n } = e();
7
+ return /* @__PURE__ */ i(
8
+ m,
9
+ {
10
+ type: "button",
11
+ size: "sm",
12
+ variant: t ? "default" : "outline",
13
+ "aria-pressed": t,
14
+ disabled: a,
15
+ "data-component": "chat-toggle",
16
+ "data-iv-chat-toggle": "",
17
+ className: r(t && "shadow-none"),
18
+ onClick: () => o(!t),
19
+ children: n("chat.panelTitle")
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ f as ChatToggle
25
+ };
@@ -0,0 +1,13 @@
1
+ import { ChatListActionContext, ChatMessageActionContext, ChatMenuItem, ChatThreadActionContext, ChatUiAction } from './chat.types';
2
+ export declare function buildChatMessageMenuItems(args: {
3
+ extras?: readonly ChatUiAction<ChatMessageActionContext>[];
4
+ context: ChatMessageActionContext;
5
+ }): ChatMenuItem[];
6
+ export declare function buildChatThreadMenuItems(args: {
7
+ extras?: readonly ChatUiAction<ChatThreadActionContext>[];
8
+ context: ChatThreadActionContext;
9
+ }): ChatMenuItem[];
10
+ export declare function buildChatListMenuItems(args: {
11
+ extras?: readonly ChatUiAction<ChatListActionContext>[];
12
+ context: ChatListActionContext;
13
+ }): ChatMenuItem[];
@@ -0,0 +1,26 @@
1
+ function r(e) {
2
+ return n([], e.extras, e.context);
3
+ }
4
+ function i(e) {
5
+ return n([], e.extras, e.context);
6
+ }
7
+ function c(e) {
8
+ return n([], e.extras, e.context);
9
+ }
10
+ function n(e, u, o) {
11
+ if (!u) return e;
12
+ for (const t of u)
13
+ e.push({
14
+ id: t.id,
15
+ label: t.label,
16
+ disabled: t.disabled,
17
+ icon: t.icon,
18
+ onSelect: () => t.onSelect(o)
19
+ });
20
+ return e;
21
+ }
22
+ export {
23
+ c as buildChatListMenuItems,
24
+ r as buildChatMessageMenuItems,
25
+ i as buildChatThreadMenuItems
26
+ };
@@ -0,0 +1,14 @@
1
+ import { ChatConversation, ChatMessage, ChatThreadPageRequest } from './chat.types';
2
+ export type ChatThreadWindow = {
3
+ messages: ChatMessage[];
4
+ hasMoreOlder: boolean;
5
+ hiddenCount: number;
6
+ messageCount: number;
7
+ };
8
+ export declare function chatThreadPageRequest(before?: string): ChatThreadPageRequest;
9
+ export declare function chatPinnedPageRequest(): ChatThreadPageRequest;
10
+ export declare function chatReplyThreadRequest(parentId: string, before?: string): ChatThreadPageRequest;
11
+ export declare function scopeChatMessages(messages: readonly ChatMessage[], request: ChatThreadPageRequest): ChatMessage[];
12
+ export declare function withChatReplyCounts(window: readonly ChatMessage[], all?: readonly ChatMessage[]): ChatMessage[];
13
+ export declare function selectChatThreadWindow(messages: readonly ChatMessage[], request: ChatThreadPageRequest): ChatThreadWindow;
14
+ export declare function boundLoadedConversation(conversation: ChatConversation, request: ChatThreadPageRequest): ChatConversation;
@@ -0,0 +1,82 @@
1
+ import { CHAT_THREAD_PAGE_SIZE as o } from "./chat-constants.js";
2
+ function g(e) {
3
+ return {
4
+ purpose: "page",
5
+ limit: o,
6
+ before: e
7
+ };
8
+ }
9
+ function m() {
10
+ return { purpose: "pinned", limit: o };
11
+ }
12
+ function f(e, n) {
13
+ return {
14
+ purpose: "thread",
15
+ limit: o,
16
+ parentId: e,
17
+ before: n
18
+ };
19
+ }
20
+ function p(e, n) {
21
+ return n.purpose === "pinned" ? e.filter((t) => t.pinned && !t.deleted && !t.system) : n.purpose === "thread" ? e.filter((t) => t.parentId === n.parentId) : e.filter((t) => !t.parentId);
22
+ }
23
+ function u(e, n = e) {
24
+ const t = /* @__PURE__ */ new Map();
25
+ for (const s of n)
26
+ !s.parentId || s.deleted || t.set(s.parentId, (t.get(s.parentId) ?? 0) + 1);
27
+ return e.map(
28
+ (s) => s.parentId ? s : { ...s, replyCount: t.get(s.id) ?? s.replyCount ?? 0 }
29
+ );
30
+ }
31
+ function l(e, n) {
32
+ const t = p(e, n), s = t.length;
33
+ if (n.before) {
34
+ const r = t.findIndex((i) => i.id === n.before);
35
+ if (r <= 0)
36
+ return { messages: [], hasMoreOlder: !1, hiddenCount: 0, messageCount: s };
37
+ const a = Math.max(0, r - n.limit);
38
+ return {
39
+ messages: t.slice(a, r),
40
+ hasMoreOlder: a > 0,
41
+ hiddenCount: a,
42
+ messageCount: s
43
+ };
44
+ }
45
+ const d = Math.max(0, s - n.limit);
46
+ return {
47
+ messages: t.slice(d),
48
+ hasMoreOlder: d > 0,
49
+ hiddenCount: d,
50
+ messageCount: s
51
+ };
52
+ }
53
+ function C(e, n) {
54
+ const t = p(e.messages, n);
55
+ if (t.length === e.messages.length && e.messages.length <= n.limit && (e.hasMoreOlder != null || e.hiddenCount != null || e.messageCount != null)) {
56
+ const a = n.purpose === "page" ? u(t, e.messages) : t;
57
+ return {
58
+ ...e,
59
+ messages: a,
60
+ hasMoreOlder: e.hasMoreOlder ?? !1,
61
+ hiddenCount: e.hiddenCount ?? 0,
62
+ messageCount: e.messageCount ?? t.length
63
+ };
64
+ }
65
+ const d = l(e.messages, n), r = n.purpose === "page" ? u(d.messages, e.messages) : d.messages;
66
+ return {
67
+ ...e,
68
+ messages: r,
69
+ hasMoreOlder: d.hasMoreOlder,
70
+ hiddenCount: d.hiddenCount,
71
+ messageCount: d.messageCount
72
+ };
73
+ }
74
+ export {
75
+ C as boundLoadedConversation,
76
+ m as chatPinnedPageRequest,
77
+ f as chatReplyThreadRequest,
78
+ g as chatThreadPageRequest,
79
+ p as scopeChatMessages,
80
+ l as selectChatThreadWindow,
81
+ u as withChatReplyCounts
82
+ };
@@ -0,0 +1,91 @@
1
+ import { ReactNode } from 'react';
2
+ import { ChatAttachment, ChatConversation, ChatDrawer, ChatListActionContext, ChatMember, ChatMessage, ChatPriority, ChatRowStatus, ChatSummary, ChatUiAction, DataTableChatConfig } from './chat.types';
3
+ export declare function ChatPanelHeader({ view, rowTitle, rowId, conversationId, onBack, }: {
4
+ view: "rows" | "row-chats";
5
+ rowTitle?: string;
6
+ rowId: string | null;
7
+ conversationId?: string;
8
+ onBack: () => void;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function ChatWorkspaceSheet({ open, onOpenChange, description, className, header, sidebar, children, }: {
11
+ open: boolean;
12
+ onOpenChange: (open: boolean) => void;
13
+ description: string;
14
+ className?: string;
15
+ header: ReactNode;
16
+ sidebar?: ReactNode;
17
+ children: ReactNode;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function ChatRowCatalog({ summaries, search, locating, onSearchChange, onSearchSubmit, onSelectRow, }: {
20
+ summaries: readonly ChatSummary[];
21
+ search: string;
22
+ locating: boolean;
23
+ onSearchChange: (value: string) => void;
24
+ onSearchSubmit: () => void;
25
+ onSelectRow: (rowId: string) => void;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ export declare function ChatConversationSidebar({ summaries, selectedConversationId, locating, canCreate, naming, nameDraft, rowId, listActions, onNameDraftChange, onStartCreate, onCancelCreate, onCreate, onSelectConversation, onMute, onCloseWorkspace, }: {
28
+ summaries: readonly ChatSummary[];
29
+ selectedConversationId: string | null;
30
+ locating: boolean;
31
+ canCreate: boolean;
32
+ naming: boolean;
33
+ nameDraft: string;
34
+ rowId: string | null;
35
+ listActions?: readonly ChatUiAction<ChatListActionContext>[];
36
+ onNameDraftChange: (value: string) => void;
37
+ onStartCreate: () => void;
38
+ onCancelCreate: () => void;
39
+ onCreate: () => void;
40
+ onSelectConversation: (conversationId: string) => void;
41
+ onMute?: (conversationIds: readonly string[], muted: boolean) => void;
42
+ onCloseWorkspace: () => void;
43
+ }): import("react/jsx-runtime").JSX.Element;
44
+ export declare function ChatThreadPane({ rowId, rowTitle, rowStatus, conversation, loading, loadingOlder, error, saving, draft, draftPriority, draftAttachments, drawer, drawerMessages, drawerLoading, threadDraft, searchOpen, messageSearch, highlightedMessageId, onDraftChange, onDraftPriorityChange, onDraftAttachmentsChange, onSave, onRetry, onLoadOlder, onToggleSearch, onMessageSearchChange, onOpenPinned, onOpenThread, onReply, onPin, onEdit, onDelete, onSetPriority, onSaveNotify, onAddMembers, onRemoveMember, onCloseDrawer, onCloseWorkspace, onSelectDrawerMessage, onThreadDraftChange, onThreadSave, config, }: {
45
+ rowId: string | null;
46
+ rowTitle?: string;
47
+ rowStatus: ChatRowStatus;
48
+ conversation: ChatConversation | null;
49
+ loading: boolean;
50
+ loadingOlder: boolean;
51
+ error: string | null;
52
+ saving: boolean;
53
+ draft: string;
54
+ draftPriority?: ChatPriority;
55
+ draftAttachments?: readonly ChatAttachment[];
56
+ drawer: ChatDrawer | null;
57
+ drawerMessages: readonly ChatMessage[];
58
+ drawerLoading: boolean;
59
+ threadDraft: string;
60
+ searchOpen: boolean;
61
+ messageSearch: string;
62
+ highlightedMessageId: string | null;
63
+ onDraftChange: (value: string) => void;
64
+ onDraftPriorityChange?: (priority: ChatPriority | null) => void;
65
+ onDraftAttachmentsChange?: (attachments: readonly ChatAttachment[]) => void;
66
+ onSave: () => void;
67
+ onRetry: () => void;
68
+ onLoadOlder: () => void;
69
+ onToggleSearch: () => void;
70
+ onMessageSearchChange: (value: string) => void;
71
+ onOpenPinned: () => void;
72
+ onOpenThread: (message: ChatMessage) => void;
73
+ onReply: (message: ChatMessage) => void;
74
+ onPin: (message: ChatMessage, pinned: boolean) => void;
75
+ onEdit: (message: ChatMessage, text: string) => void;
76
+ onDelete: (message: ChatMessage) => void;
77
+ onSetPriority: (message: ChatMessage, priority: ChatPriority | null) => void;
78
+ onSaveNotify: (next: {
79
+ notify: ChatConversation["notify"];
80
+ includeBroadcast: boolean;
81
+ muted: boolean;
82
+ }) => void;
83
+ onAddMembers: (members: readonly ChatMember[]) => void;
84
+ onRemoveMember: (member: ChatMember) => void;
85
+ onCloseDrawer: () => void;
86
+ onCloseWorkspace: () => void;
87
+ onSelectDrawerMessage: (messageId: string) => void;
88
+ onThreadDraftChange: (value: string) => void;
89
+ onThreadSave: () => void;
90
+ config: DataTableChatConfig;
91
+ }): import("react/jsx-runtime").JSX.Element;