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
@@ -1,130 +1,119 @@
1
- import { Fnv1a128Hasher as u } from "../../../lib/hash/fnv1a128.js";
2
- import { isPickerEligibleColumnId as h } from "./data-table-picker-column-eligibility.js";
3
- const C = 150, I = 300;
4
- function a(t) {
5
- return t === "left" || t === !0 ? "left" : t === "right" ? "right" : null;
1
+ const s = 150, p = 300;
2
+ function u(i) {
3
+ return i === "left" || i === !0 ? "left" : i === "right" ? "right" : null;
6
4
  }
7
- function s(t, e) {
8
- return "pinned" in t && t.pinned !== void 0 ? a(t.pinned) : a(e.getPinned());
5
+ function a(i, r) {
6
+ return "pinned" in i && i.pinned !== void 0 ? u(i.pinned) : u(r.getPinned());
9
7
  }
10
- function G(t, e) {
11
- const r = t.getColumn(e);
12
- if (!r) return null;
13
- const l = t.getColumnState().find((n) => n.colId === e);
14
- return l ? s(l, r) : a(r.getPinned());
8
+ function g(i, r) {
9
+ const e = i.getColumn(r);
10
+ if (!e) return null;
11
+ const o = i.getColumnState().find((n) => n.colId === r);
12
+ return o ? a(o, e) : u(e.getPinned());
15
13
  }
16
- function f(t, e) {
17
- return t.map((r) => {
18
- if ((r.category === "group" || r.children && r.children.length > 0) && r.children)
14
+ function d(i, r) {
15
+ return i.map((e) => {
16
+ if ((e.category === "group" || e.children && e.children.length > 0) && e.children)
19
17
  return {
20
- ...r,
21
- children: f(r.children, e)
18
+ ...e,
19
+ children: d(e.children, r)
22
20
  };
23
- const n = r.data ?? {};
24
- let i = null;
25
- if (e !== null) {
26
- const o = n.pinned;
27
- i = o === "left" || o === "right" ? o : e;
21
+ const n = e.data ?? {};
22
+ let t = null;
23
+ if (r !== null) {
24
+ const l = n.pinned;
25
+ t = l === "left" || l === "right" ? l : r;
28
26
  }
29
27
  return {
30
- ...r,
28
+ ...e,
31
29
  data: {
32
30
  ...n,
33
- pinned: i
31
+ pinned: t
34
32
  }
35
33
  };
36
34
  });
37
35
  }
38
- function S(t) {
39
- return t.map((e) => e.id === "root-frozen" ? {
40
- ...e,
41
- children: e.children ? f(e.children, "left") : []
42
- } : e.id === "root-scrollable" ? {
43
- ...e,
44
- children: e.children ? f(e.children, null) : []
45
- } : e);
36
+ function m(i) {
37
+ return i.map((r) => r.id === "root-frozen" ? {
38
+ ...r,
39
+ children: r.children ? d(r.children, "left") : []
40
+ } : r.id === "root-scrollable" ? {
41
+ ...r,
42
+ children: r.children ? d(r.children, null) : []
43
+ } : r);
46
44
  }
47
- function y(t) {
48
- const e = new u(), r = (l, n) => {
49
- for (const i of l) {
50
- if (i.id === "root-frozen") {
51
- i.children && r(i.children, "left");
45
+ function C(i) {
46
+ const r = [], e = (o, n) => {
47
+ for (const t of o) {
48
+ if (t.id === "root-frozen") {
49
+ t.children && e(t.children, "left");
52
50
  continue;
53
51
  }
54
- if (i.id === "root-scrollable") {
55
- i.children && r(i.children, null);
52
+ if (t.id === "root-scrollable") {
53
+ t.children && e(t.children, null);
56
54
  continue;
57
55
  }
58
- if ((i.category === "group" || i.children && i.children.length > 0) && i.children) {
59
- r(i.children, n);
56
+ if ((t.category === "group" || t.children && t.children.length > 0) && t.children) {
57
+ e(t.children, n);
60
58
  continue;
61
59
  }
62
- let d = "0";
60
+ let f = "0";
63
61
  if (n !== null) {
64
- const c = i.data?.pinned;
65
- d = c === "left" || c === "right" ? c : "left";
62
+ const c = t.data?.pinned;
63
+ f = c === "left" || c === "right" ? c : "left";
66
64
  }
67
- e.update(i.id).update(":").update(d).update("|");
65
+ r.push(`${t.id}:${f}`);
68
66
  }
69
67
  };
70
- return r(t, null), e.digest();
68
+ return e(i, null), r.join("|");
71
69
  }
72
- function v(t) {
73
- const e = new u(), r = (l) => {
74
- for (const n of l) {
70
+ function G(i) {
71
+ const r = [], e = (o) => {
72
+ for (const n of o) {
75
73
  if (n.id === "root-frozen" || n.id === "root-scrollable") {
76
- n.children && r(n.children);
74
+ n.children && e(n.children);
77
75
  continue;
78
76
  }
79
77
  if ((n.category === "group" || n.children && n.children.length > 0) && n.children) {
80
- r(n.children);
78
+ e(n.children);
81
79
  continue;
82
80
  }
83
- e.update(n.id).update(":").update(n.checked ? "1" : "0").update("|");
81
+ r.push(`${n.id}:${n.checked ? "1" : "0"}`);
84
82
  }
85
83
  };
86
- return r(t), e.digest();
84
+ return e(i), r.join("|");
87
85
  }
88
- function M(t) {
89
- const e = new u(), r = (l) => {
90
- for (const n of l) {
86
+ function y(i) {
87
+ const r = [], e = (o) => {
88
+ for (const n of o) {
91
89
  if (n.id === "root-frozen" || n.id === "root-scrollable") {
92
- n.children && r(n.children);
90
+ n.children && e(n.children);
93
91
  continue;
94
92
  }
95
93
  if ((n.category === "group" || n.children && n.children.length > 0) && n.children) {
96
- r(n.children);
94
+ e(n.children);
97
95
  continue;
98
96
  }
99
- const o = n.data;
100
- e.update(n.id).update(":").update(o?.hasSortApplied ? "1" : "0").update(":").update(o?.hasFilterApplied ? "1" : "0").update("|");
97
+ const l = n.data;
98
+ r.push(
99
+ `${n.id}:${l?.hasSortApplied ? "1" : "0"}:${l?.hasFilterApplied ? "1" : "0"}`
100
+ );
101
101
  }
102
102
  };
103
- return r(t), e.digest();
103
+ return e(i), r.join("|");
104
104
  }
105
- function P(t) {
106
- const e = t.getGridOption("context"), r = typeof e?.activeSearchColumnId == "string" ? e.activeSearchColumnId : null, l = typeof t.getFilterModel == "function" ? t.getFilterModel() : {}, n = new Set(Object.keys(l ?? {})), i = new u();
107
- for (const o of t.getColumnState()) {
108
- if (!h(o.colId))
109
- continue;
110
- const d = n.has(o.colId) || r === o.colId;
111
- i.update(o.colId).update(":").update(o.sort ? "1" : "0").update(":").update(d ? "1" : "0").update("|");
112
- }
113
- return i.digest();
114
- }
115
- function T(t) {
116
- queueMicrotask(t);
105
+ function S(i) {
106
+ queueMicrotask(i);
117
107
  }
118
108
  export {
119
- C as EXTERNAL_SYNC_DEBOUNCE_MS,
120
- I as GRID_AUTO_UNPIN_WAIT_MS,
121
- T as afterSynchronousColumnApply,
122
- S as alignColumnTreePinMetadata,
123
- M as fingerprintColumnTreeIndicators,
124
- y as fingerprintColumnTreeLayout,
125
- v as fingerprintColumnTreeVisibility,
126
- P as fingerprintGridColumnIndicators,
127
- a as normalizeColumnPinned,
128
- G as readGridColumnPinned,
129
- s as resolveColumnPinnedFromGridState
109
+ s as EXTERNAL_SYNC_DEBOUNCE_MS,
110
+ p as GRID_AUTO_UNPIN_WAIT_MS,
111
+ S as afterSynchronousColumnApply,
112
+ m as alignColumnTreePinMetadata,
113
+ y as fingerprintColumnTreeIndicators,
114
+ C as fingerprintColumnTreeLayout,
115
+ G as fingerprintColumnTreeVisibility,
116
+ u as normalizeColumnPinned,
117
+ g as readGridColumnPinned,
118
+ a as resolveColumnPinnedFromGridState
130
119
  };
@@ -1,41 +1,44 @@
1
- function h(i) {
1
+ import { isNovaSystemColId as u } from "../ag-grid-react/nova-system-column.js";
2
+ function m(i) {
2
3
  const n = i.colId ?? i.field;
3
4
  return typeof n == "string" && n.length > 0 ? n : void 0;
4
5
  }
5
- function c(i, n, e) {
6
- if (n === "left" || n === !0) {
7
- e.leftColIds.push(i);
8
- return;
6
+ function c(i, n, t) {
7
+ if (!u(i)) {
8
+ if (n === "left" || n === !0) {
9
+ t.leftColIds.push(i);
10
+ return;
11
+ }
12
+ n === "right" && t.rightColIds.push(i);
9
13
  }
10
- n === "right" && e.rightColIds.push(i);
11
14
  }
12
- function m(i, n) {
13
- const e = h(i), d = i.pinned ?? i.initialPinned, t = i.hide ?? i.initialHide;
14
- if (e && (d != null && c(e, d, n.columnPinning), t === !0 && n.columnVisibility.hiddenColIds.push(e)), !(i.pinned !== void 0 || i.hide !== void 0 || i.initialPinned !== void 0 || i.initialHide !== void 0))
15
+ function f(i, n) {
16
+ const t = m(i), d = i.pinned ?? i.initialPinned, e = i.hide ?? i.initialHide;
17
+ if (t && u(t) || (t && (d != null && c(t, d, n.columnPinning), e === !0 && !u(t) && n.columnVisibility.hiddenColIds.push(t)), !(i.pinned !== void 0 || i.hide !== void 0 || i.initialPinned !== void 0 || i.initialHide !== void 0)))
15
18
  return i;
16
- const { pinned: o, hide: C, initialPinned: f, initialHide: P, ...s } = i, l = { ...s };
17
- return d !== void 0 && (l.initialPinned = d), t !== void 0 && (l.initialHide = t), l;
19
+ const { pinned: o, hide: C, initialPinned: P, initialHide: v, ...h } = i, l = { ...h };
20
+ return d !== void 0 && (l.initialPinned = d), e !== void 0 && (l.initialHide = e), l;
18
21
  }
19
- function u(i, n) {
20
- let e = !1;
21
- const d = i.map((t) => {
22
- if ("children" in t && t.children) {
23
- const o = u(
24
- t.children,
22
+ function s(i, n) {
23
+ let t = !1;
24
+ const d = i.map((e) => {
25
+ if ("children" in e && e.children) {
26
+ const o = s(
27
+ e.children,
25
28
  n
26
29
  );
27
- return o === t.children ? t : (e = !0, {
28
- ...t,
30
+ return o === e.children ? e : (t = !0, {
31
+ ...e,
29
32
  children: o
30
33
  });
31
34
  }
32
- const r = m(
33
- t,
35
+ const r = f(
36
+ e,
34
37
  n
35
38
  );
36
- return r !== t && (e = !0), r;
39
+ return r !== e && (t = !0), r;
37
40
  });
38
- return e ? d : i;
41
+ return t ? d : i;
39
42
  }
40
43
  function g() {
41
44
  return {
@@ -43,24 +46,24 @@ function g() {
43
46
  columnVisibility: { hiddenColIds: [] }
44
47
  };
45
48
  }
46
- function v(i) {
49
+ function b(i) {
47
50
  const n = g();
48
51
  return !i || i.length === 0 ? { runtimeColumnDefs: [], extractedRuntimeDefaults: n } : {
49
- runtimeColumnDefs: u(
52
+ runtimeColumnDefs: s(
50
53
  i,
51
54
  n
52
55
  ),
53
56
  extractedRuntimeDefaults: n
54
57
  };
55
58
  }
56
- function y(i, n, e) {
57
- const d = !e?.columnPinning && (n.columnPinning.leftColIds.length > 0 || n.columnPinning.rightColIds.length > 0), t = !e?.columnVisibility && n.columnVisibility.hiddenColIds.length > 0;
58
- if (!i && !d && !t)
59
+ function p(i, n, t) {
60
+ const d = !t?.columnPinning && (n.columnPinning.leftColIds.length > 0 || n.columnPinning.rightColIds.length > 0), e = !t?.columnVisibility && n.columnVisibility.hiddenColIds.length > 0;
61
+ if (!i && !d && !e)
59
62
  return;
60
63
  const r = { ...i };
61
- return !i?.columnPinning && d && (r.columnPinning = n.columnPinning), !i?.columnVisibility && t && (r.columnVisibility = n.columnVisibility), !r.columnPinning && !r.columnVisibility && Object.keys(r).length === 0 ? i : Object.keys(r).length > 0 ? r : void 0;
64
+ return !i?.columnPinning && d && (r.columnPinning = n.columnPinning), !i?.columnVisibility && e && (r.columnVisibility = n.columnVisibility), !r.columnPinning && !r.columnVisibility && Object.keys(r).length === 0 ? i : Object.keys(r).length > 0 ? r : void 0;
62
65
  }
63
66
  export {
64
- v as extractRuntimeColumnDefs,
65
- y as mergeInitialGridRuntimeState
67
+ b as extractRuntimeColumnDefs,
68
+ p as mergeInitialGridRuntimeState
66
69
  };
@@ -1,116 +1,86 @@
1
- import { jsxs as z, jsx as n } from "react/jsx-runtime";
2
- import { useRef as B, useState as H, useMemo as m, useCallback as s } from "react";
3
- import { useDataTable as j } from "./data-table-context.js";
4
- import { useDataTableSheet as G } from "./data-table-sheet-context.js";
5
- import { NestedList as U } from "../nested-list/nested-list.js";
6
- import { SelectionMode as W } from "../nested-list/nested-list.types.js";
7
- import { useImpactNovaI18n as Z } from "../../../i18n/use-impact-nova-i18n.js";
8
- import { countNestedListLeaves as q, buildCollapsedStateForAllGroups as J } from "../nested-list/nested-list-tree-utils.js";
9
- import { NESTED_LIST_VIRTUALIZATION_THRESHOLD as K, NESTED_LIST_ROOT_FROZEN_ID as Q } from "../nested-list/nested-list-constants.js";
10
- import { PinSwitch as X } from "./pin-switch.js";
11
- import { ColumnIndicator as C } from "./column-indicator.js";
12
- import { IndicatorLegend as Y } from "./indicator-legend.js";
13
- import { useDataTableColumnListSync as $ } from "./use-data-table-column-list-sync.js";
14
- import { buildFlatColumnVirtualRowModel as ee } from "./data-table-flat-column-virtual-rows.js";
15
- import { isValidColumnPickerGroupDrop as te } from "./column-picker-drop-validation.js";
16
- const le = 100, Le = ({
17
- enableApplyDiscard: c = !1,
18
- showSearch: A = !0,
19
- showSelectAll: b = !0,
20
- showCollapse: L = !0
1
+ import { jsxs as D, jsx as n } from "react/jsx-runtime";
2
+ import { useRef as _, useState as F, useMemo as O, useCallback as i } from "react";
3
+ import { useDataTable as E } from "./data-table-context.js";
4
+ import { useDataTableSheet as y } from "./data-table-sheet-context.js";
5
+ import { NestedList as z } from "../nested-list/nested-list.js";
6
+ import { SelectionMode as P } from "../nested-list/nested-list.types.js";
7
+ import { useImpactNovaI18n as R } from "../../../i18n/use-impact-nova-i18n.js";
8
+ import { countNestedListLeaves as k, buildCollapsedStateForAllGroups as M } from "../nested-list/nested-list-tree-utils.js";
9
+ import { PinSwitch as j } from "./pin-switch.js";
10
+ import { ColumnIndicator as m } from "./column-indicator.js";
11
+ import { IndicatorLegend as G } from "./indicator-legend.js";
12
+ import { useDataTableColumnListSync as H } from "./use-data-table-column-list-sync.js";
13
+ const U = 100, te = ({
14
+ enableApplyDiscard: o = !1,
15
+ showSearch: d = !0,
16
+ showSelectAll: p = !0,
17
+ showCollapse: f = !0
21
18
  }) => {
22
- const { gridApi: S } = j(), { open: g } = G(), { t: i } = Z(), T = B({}), [a, I] = H({}), u = m(
23
- () => ({
24
- frozenColumns: i("dataTable.frozenColumns"),
25
- scrollableColumns: i("dataTable.scrollableColumns")
26
- }),
27
- [i]
28
- ), {
29
- items: o,
30
- columnPickerAuthority: l,
31
- pickerMode: v,
32
- isReady: D,
33
- listWrapperRef: y,
34
- handleChange: f,
35
- handleSubmit: R,
36
- handlePinChange: h,
37
- handleAuthorityItemToggle: _,
38
- handleAuthorityVirtualDrop: N,
39
- handleAuthoritySelectAll: x
40
- } = $({
41
- gridApi: S,
42
- frozenColumnsLabel: u.frozenColumns,
43
- scrollableColumnsLabel: u.scrollableColumns,
44
- isSyncActive: g
45
- }), t = v === "authority-flat" && l != null, d = m(() => t && l ? l.orderedColumnIds.length : q(o), [t, l, o]), E = m(() => t || Object.keys(a).length > 0 || o.length === 0 || d <= le ? a : J(o), [a, d, t, o]), O = m(() => d >= K ? "virtual-index" : "sortable", [d]), F = s(
46
- (e) => l ? ee(l, u, {
47
- searchQuery: e,
48
- sortAppliedByColumnId: l.sortAppliedByColumnId,
49
- filterAppliedByColumnId: l.filterAppliedByColumnId
50
- }) : { rowCount: 0, getRowAt: () => ({ item: o[0], level: 0, indentLevel: 0 }) },
51
- [l, u, o]
52
- ), V = s(
19
+ const { gridApi: h } = E(), { open: C } = y(), { t: r } = R(), b = _({}), [l, L] = F({}), {
20
+ items: a,
21
+ isReady: S,
22
+ listWrapperRef: g,
23
+ handleChange: c,
24
+ handleSubmit: A,
25
+ handlePinChange: u
26
+ } = H({
27
+ gridApi: h,
28
+ frozenColumnsLabel: r("dataTable.frozenColumns"),
29
+ scrollableColumnsLabel: r("dataTable.scrollableColumns"),
30
+ isSyncActive: C
31
+ }), T = O(() => Object.keys(l).length > 0 || a.length === 0 || k(a) <= U ? l : M(a), [l, a]), x = i(
53
32
  (e) => {
54
- f(e, c);
33
+ c(e, o);
55
34
  },
56
- [c, f]
57
- ), M = s(
58
- (e) => t ? !0 : te(e),
59
- [t]
60
- ), k = s(
61
- (e, p) => {
62
- if (!p.isLeaf) return null;
63
- const r = e.data;
64
- return !r?.hasSortApplied && !r?.hasFilterApplied ? null : /* @__PURE__ */ z("span", { className: "inline-flex items-center gap-1 shrink-0", children: [
65
- r?.hasSortApplied && /* @__PURE__ */ n(C, { type: "sort" }),
66
- r?.hasFilterApplied && /* @__PURE__ */ n(C, { type: "filter" })
35
+ [o, c]
36
+ ), I = i(
37
+ (e, s) => {
38
+ if (!s.isLeaf) return null;
39
+ const t = e.data;
40
+ return !t?.hasSortApplied && !t?.hasFilterApplied ? null : /* @__PURE__ */ D("span", { className: "inline-flex items-center gap-1 shrink-0", children: [
41
+ t?.hasSortApplied && /* @__PURE__ */ n(m, { type: "sort" }),
42
+ t?.hasFilterApplied && /* @__PURE__ */ n(m, { type: "filter" })
67
43
  ] });
68
44
  },
69
45
  []
70
- ), P = s(
71
- (e, p) => {
72
- const r = e.data;
73
- return e.category === "structure" ? e.id !== Q ? null : /* @__PURE__ */ n(Y, {}) : !p.isLeaf || !(r?.pinned === "left" || r?.pinned === "right") ? null : /* @__PURE__ */ n(
74
- X,
46
+ ), N = i(
47
+ (e, s) => {
48
+ const t = e.data;
49
+ return e.category === "structure" ? e.id !== "root-frozen" ? null : /* @__PURE__ */ n(G, {}) : !s.isLeaf || !(t?.pinned === "left" || t?.pinned === "right") ? null : /* @__PURE__ */ n(
50
+ j,
75
51
  {
76
- value: r?.pinned ?? null,
77
- onChange: (w) => h(e.id, w),
52
+ value: t?.pinned ?? null,
53
+ onChange: (v) => u(e.id, v),
78
54
  className: "shrink-0"
79
55
  }
80
56
  );
81
57
  },
82
- [h]
58
+ [u]
83
59
  );
84
- return D ? /* @__PURE__ */ n("div", { ref: y, className: "flex flex-col flex-1 min-h-0 bg-canvas-elevated", children: /* @__PURE__ */ n(
85
- U,
60
+ return S ? /* @__PURE__ */ n("div", { ref: g, className: "flex flex-col flex-1 min-h-0 bg-canvas-elevated", children: /* @__PURE__ */ n(
61
+ z,
86
62
  {
87
- items: o,
88
- onChange: V,
89
- onSubmit: R,
90
- onItemToggle: t ? _ : void 0,
91
- onVirtualDrop: t ? N : void 0,
92
- flatVirtualRowResolver: t ? F : void 0,
93
- onFlatVirtualSelectAll: t ? x : void 0,
94
- isValidDropTarget: t ? void 0 : M,
95
- renderLabelExtras: k,
96
- renderActions: P,
97
- enableApplyDiscard: c,
98
- enableSearch: A,
99
- enableSelectAll: b,
63
+ items: a,
64
+ onChange: x,
65
+ onSubmit: A,
66
+ renderLabelExtras: I,
67
+ renderActions: N,
68
+ enableApplyDiscard: o,
69
+ enableSearch: d,
70
+ enableSelectAll: p,
100
71
  enableDragDrop: !0,
101
- dragMode: O,
102
72
  enableCollapse: !0,
103
- enableGlobalCollapse: L,
104
- selectionMode: W.CASCADE_DOWN,
105
- searchPlaceholder: i("dataTable.searchColumnsPlaceholder"),
73
+ enableGlobalCollapse: f,
74
+ selectionMode: P.CASCADE_DOWN,
75
+ searchPlaceholder: r("dataTable.searchColumnsPlaceholder"),
106
76
  className: "flex-1 min-h-0",
107
- initialCollapsedItems: E,
77
+ initialCollapsedItems: T,
108
78
  onCollapseChange: (e) => {
109
- T.current = e, I(e);
79
+ b.current = e, L(e);
110
80
  }
111
81
  }
112
- ) }) : /* @__PURE__ */ n("div", { className: "p-4 text-[13px] text-content-placeholder", children: i("dataTable.loadingColumns") });
82
+ ) }) : /* @__PURE__ */ n("div", { className: "p-4 text-[13px] text-content-placeholder", children: r("dataTable.loadingColumns") });
113
83
  };
114
84
  export {
115
- Le as DataTableColumnList
85
+ te as DataTableColumnList
116
86
  };
@@ -1,26 +1,22 @@
1
- import { ColumnState, GridApi } from 'ag-grid-community';
1
+ import { GridApi } from 'ag-grid-community';
2
2
  import { NestedListItem } from '../nested-list/nested-list.types';
3
3
  import { BuildColumnTreeLabels } from './build-column-tree-from-grid';
4
4
  import { ColumnListSyncFingerprints, ColumnListSyncMode } from './data-table-column-list-sync';
5
- import { ColumnPickerAuthority } from './column-picker-authority';
6
- export type ColumnPickerMode = 'tree' | 'authority-flat';
7
5
  interface ColumnTreeCacheEntry {
8
6
  fingerprints: ColumnListSyncFingerprints;
9
7
  items: NestedListItem[];
10
- pickerMode: ColumnPickerMode;
11
- authority: ColumnPickerAuthority | null;
12
8
  gridLayoutFingerprint: string;
13
9
  gridVisibilityFingerprint: string;
10
+ /**
11
+ * Leaf column ids captured at write time (single tree walk here) so the
12
+ * structural stale-check at read time needs no tree traversal.
13
+ */
14
14
  leafColumnIds: ReadonlySet<string>;
15
15
  }
16
16
  export declare function readGridLayoutFingerprint(gridApi: GridApi): string;
17
17
  export declare function readGridVisibilityFingerprint(gridApi: GridApi): string;
18
- export declare function hasColumnTreeCache(gridApi: GridApi): boolean;
19
- /** Column counts at or above this threshold prewarm immediately instead of on idle. */
20
- export declare const LARGE_COLUMN_PREWARM_THRESHOLD = 5000;
21
18
  export declare function readColumnTreeCache(gridApi: GridApi, labels: BuildColumnTreeLabels): ColumnTreeCacheEntry | null;
22
19
  export declare function writeColumnTreeCache(gridApi: GridApi, rootItems: NestedListItem[]): ColumnListSyncFingerprints;
23
- export declare function writeColumnTreeAuthorityCache(gridApi: GridApi, authority: ColumnPickerAuthority): ColumnListSyncFingerprints;
24
20
  export declare function buildColumnTreeWithCache(gridApi: GridApi, labels: BuildColumnTreeLabels): NestedListItem[] | null;
25
21
  /**
26
22
  * True when the live grid's column-id set differs from the cached tree's leaf ids.
@@ -31,15 +27,13 @@ export declare function buildColumnTreeWithCache(gridApi: GridApi, labels: Build
31
27
  * ({@link writeColumnTreeCache}), so this does no tree traversal at read time;
32
28
  * it only scans `getColumnState()`, which callers already fetch for fingerprints.
33
29
  */
34
- export declare function isGridColumnSetDifferentFromCachedLeaves(gridApi: GridApi, cachedLeafColumnIds: ReadonlySet<string>, precomputedColumnState?: ColumnState[]): boolean;
30
+ export declare function isGridColumnSetDifferentFromCachedLeaves(gridApi: GridApi, cachedLeafColumnIds: ReadonlySet<string>): boolean;
35
31
  export declare function resolveColumnTreeFromCacheOrGrid(options: {
36
32
  gridApi: GridApi;
37
33
  labels: BuildColumnTreeLabels;
38
34
  previousFingerprints: ColumnListSyncFingerprints;
39
35
  }): {
40
36
  rootItems: NestedListItem[] | null;
41
- authority: ColumnPickerAuthority | null;
42
- pickerMode: ColumnPickerMode;
43
37
  syncMode: ColumnListSyncMode;
44
38
  fingerprints: ColumnListSyncFingerprints;
45
39
  };