impact-nova 2.6.0-alpha.0 → 2.6.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 (316) hide show
  1. package/README.md +25 -27
  2. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +3 -28
  3. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.d.ts +3 -0
  4. package/dist/components/data/ag-grid-react/cell-renderers/date-display-renderer.js +38 -31
  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/headers/advanced-filter/advanced-filter-dialog.js +65 -75
  7. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.d.ts +1 -1
  8. package/dist/components/data/ag-grid-react/headers/advanced-filter/column-filter-section.js +54 -54
  9. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +1 -1
  10. package/dist/components/data/ag-grid-react/headers/components/header-info.d.ts +9 -3
  11. package/dist/components/data/ag-grid-react/headers/components/header-info.js +69 -61
  12. package/dist/components/data/ag-grid-react/headers/components/info-modal.js +8 -8
  13. package/dist/components/data/ag-grid-react/headers/header-search-input.js +119 -122
  14. package/dist/components/data/ag-grid-react/headers/utils/date-utils.d.ts +1 -2
  15. package/dist/components/data/ag-grid-react/headers/utils/date-utils.js +20 -25
  16. package/dist/components/data/ag-grid-react/headers/utils/filter-utils.d.ts +1 -1
  17. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  18. package/dist/components/data/ag-grid-react/index.js +254 -481
  19. package/dist/components/data/ag-grid-react/theme.js +2 -6
  20. package/dist/components/data/ag-grid-react/value-formatter.types.d.ts +0 -4
  21. package/dist/components/data/ag-grid-react/value-formatters.d.ts +19 -0
  22. package/dist/components/data/ag-grid-react/value-formatters.js +90 -88
  23. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +2 -0
  24. package/dist/components/data/data-table/build-column-tree-from-grid.js +64 -58
  25. package/dist/components/data/data-table/column-picker-authority.d.ts +35 -0
  26. package/dist/components/data/data-table/column-picker-authority.js +118 -0
  27. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +7 -0
  28. package/dist/components/data/data-table/column-picker-drop-validation.js +37 -0
  29. package/dist/components/data/data-table/column-savability.d.ts +3 -0
  30. package/dist/components/data/data-table/column-savability.js +10 -0
  31. package/dist/components/data/data-table/data-table-column-apply.d.ts +2 -0
  32. package/dist/components/data/data-table/data-table-column-apply.js +84 -73
  33. package/dist/components/data/data-table/data-table-column-def-pin.js +31 -34
  34. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +10 -0
  35. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +79 -0
  36. package/dist/components/data/data-table/data-table-column-list.js +122 -64
  37. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +12 -6
  38. package/dist/components/data/data-table/data-table-column-tree-cache.js +250 -131
  39. package/dist/components/data/data-table/data-table-context.js +5 -5
  40. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +27 -0
  41. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +196 -0
  42. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +1 -0
  43. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +7 -0
  44. package/dist/components/data/data-table/data-table-sheet-context.js +1 -1
  45. package/dist/components/data/data-table/data-table-sheet.js +1 -2
  46. package/dist/components/data/data-table/index.d.ts +2 -0
  47. package/dist/components/data/data-table/index.js +32 -28
  48. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +5 -0
  49. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +28 -10
  50. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +12 -0
  51. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +12 -0
  52. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +10 -0
  53. package/dist/components/data/data-table/use-data-table-column-list-sync.js +250 -196
  54. package/dist/components/data/nested-list/components/NestedListContent.d.ts +10 -2
  55. package/dist/components/data/nested-list/components/NestedListContent.js +253 -138
  56. package/dist/components/data/nested-list/components/SortableItem.d.ts +2 -1
  57. package/dist/components/data/nested-list/components/SortableItem.js +62 -60
  58. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +10 -20
  59. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +44 -233
  60. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +24 -0
  61. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +128 -0
  62. package/dist/components/data/nested-list/nested-list-constants.d.ts +4 -1
  63. package/dist/components/data/nested-list/nested-list-constants.js +10 -4
  64. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +11 -0
  65. package/dist/components/data/nested-list/nested-list-display-utils.js +74 -0
  66. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +31 -0
  67. package/dist/components/data/nested-list/nested-list-drop-engine.js +209 -0
  68. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +26 -0
  69. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +67 -0
  70. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +4 -0
  71. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +43 -0
  72. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +3 -0
  73. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +34 -0
  74. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +9 -0
  75. package/dist/components/data/nested-list/nested-list-row-estimates.js +14 -0
  76. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +36 -0
  77. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +47 -0
  78. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +59 -0
  79. package/dist/components/data/nested-list/nested-list-virtual-drop.js +341 -0
  80. package/dist/components/data/nested-list/nested-list.js +322 -336
  81. package/dist/components/data/nested-list/nested-list.types.d.ts +17 -0
  82. package/dist/components/data-display/calendar/calendar-available-view.d.ts +6 -2
  83. package/dist/components/data-display/calendar/calendar-available-view.js +18 -19
  84. package/dist/components/data-display/calendar/calendar-config.js +21 -22
  85. package/dist/components/data-display/calendar/calendar-day-button.js +21 -21
  86. package/dist/components/data-display/calendar/calendar-day-picker-view.js +35 -36
  87. package/dist/components/data-display/calendar/calendar-fiscal-labels.d.ts +3 -3
  88. package/dist/components/data-display/calendar/calendar-fiscal-labels.js +62 -50
  89. package/dist/components/data-display/calendar/calendar-quarter-utils.js +12 -12
  90. package/dist/components/data-display/calendar/calendar-week-utils.d.ts +6 -0
  91. package/dist/components/data-display/calendar/calendar-week-utils.js +33 -33
  92. package/dist/components/data-display/calendar/calendar-year-panes.js +68 -58
  93. package/dist/components/data-display/calendar/calendar-year-utils.d.ts +13 -0
  94. package/dist/components/data-display/calendar/calendar-year-utils.js +59 -50
  95. package/dist/components/data-display/calendar/calendar.js +156 -153
  96. package/dist/components/data-display/calendar/fiscal-period-caption-select.js +22 -23
  97. package/dist/components/data-display/calendar/use-calendar-i18n.d.ts +0 -1
  98. package/dist/components/data-display/calendar/use-calendar-i18n.js +9 -10
  99. package/dist/components/data-display/chart/chart.js +72 -72
  100. package/dist/components/data-display/chart/chart.utils.d.ts +1 -1
  101. package/dist/components/data-display/chart/chart.utils.js +31 -40
  102. package/dist/components/feedback/sheet/sheet.js +1 -1
  103. package/dist/components/feedback/toast/toast.d.ts +1 -1
  104. package/dist/components/feedback/toast/toast.variants.d.ts +1 -1
  105. package/dist/components/flows/filter-panel/filter-panel.d.ts +1 -1
  106. package/dist/components/flows/filter-panel/filter-panel.js +64 -65
  107. package/dist/components/flows/filter-panel/filter-panel.types.d.ts +0 -1
  108. package/dist/components/flows/guidance/guidance-layer.js +34 -31
  109. package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +29 -20
  110. package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +1 -1
  111. package/dist/components/flows/guidance/renderers/announcement-renderer.js +74 -28
  112. package/dist/components/flows/guidance/renderers/guidance-action-tap-icon.d.ts +5 -0
  113. package/dist/components/flows/guidance/renderers/guidance-action-tap-icon.js +68 -0
  114. package/dist/components/flows/guidance/renderers/guidance-announcement-surface.d.ts +5 -0
  115. package/dist/components/flows/guidance/renderers/guidance-announcement-surface.js +76 -0
  116. package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +43 -2
  117. package/dist/components/flows/guidance/renderers/guidance-card-shared.js +322 -99
  118. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +3 -0
  119. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +189 -148
  120. package/dist/components/flows/guidance/renderers/guidance-shortcut-display.d.ts +9 -0
  121. package/dist/components/flows/guidance/renderers/guidance-shortcut-display.js +36 -0
  122. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.d.ts +2 -1
  123. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +152 -89
  124. package/dist/components/forms/date-picker/date-picker.js +126 -125
  125. package/dist/components/forms/date-picker/date-range-picker.js +192 -191
  126. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +6 -6
  127. package/dist/components/forms/date-picker/fiscal-pass-through.js +7 -3
  128. package/dist/components/forms/date-picker/multi-date-picker.js +67 -66
  129. package/dist/components/forms/date-picker/multi-quarter-picker.js +87 -87
  130. package/dist/components/forms/date-picker/multi-week-picker.js +83 -82
  131. package/dist/components/forms/date-picker/multi-year-picker.js +81 -81
  132. package/dist/components/forms/date-picker/quarter-range-picker.js +84 -84
  133. package/dist/components/forms/date-picker/week-picker.js +175 -174
  134. package/dist/components/forms/date-picker/week-range-picker.js +214 -213
  135. package/dist/components/forms/date-picker/year-range-picker.js +79 -79
  136. package/dist/components/ui/local-raster-icons/rasterIcons.d.ts +0 -1
  137. package/dist/components/ui/local-raster-icons/rasterIcons.js +25 -27
  138. package/dist/form-react/Fields/ChipsField.js +49 -48
  139. package/dist/form-react/Fields/DateRangeField.js +25 -25
  140. package/dist/form-react/Fields/MonthRangeField.js +57 -57
  141. package/dist/form-react/Fields/MultiMonthPickerField.js +28 -26
  142. package/dist/form-react/Fields/MultiWeekPickerField.js +41 -38
  143. package/dist/form-react/Fields/MultiYearPickerField.js +45 -45
  144. package/dist/form-react/Fields/SelectField.js +24 -26
  145. package/dist/form-react/Fields/TextFieldWithBackendValidation.js +27 -26
  146. package/dist/form-react/Fields/WeekRangePicker.js +18 -16
  147. package/dist/form-react/Fields/YearPickerField.js +27 -27
  148. package/dist/form-react/Fields/YearRangePickerField.js +29 -29
  149. package/dist/form-react/fields.d.ts +3 -0
  150. package/dist/form-react/fields.js +35 -29
  151. package/dist/form-react/types/fields.types.d.ts +39 -0
  152. package/dist/form-react/utils/date.utils.d.ts +52 -2
  153. package/dist/form-react/utils/date.utils.js +198 -62
  154. package/dist/i18n/defaultMessages.d.ts +5 -143
  155. package/dist/i18n/defaultMessages.js +25 -163
  156. package/dist/i18n/getDateFnsLocale.d.ts +4 -5
  157. package/dist/i18n/getDateFnsLocale.js +16 -46
  158. package/dist/i18n/i18n.types.d.ts +0 -13
  159. package/dist/i18n/impact-nova-i18n-context.d.ts +1 -1
  160. package/dist/i18n/impact-nova-i18n-context.js +25 -33
  161. package/dist/i18n/impact-nova-i18n-defaults.js +6 -8
  162. package/dist/i18n/index.d.ts +1 -4
  163. package/dist/i18n/index.js +16 -41
  164. package/dist/i18n/locales/de.js +3 -141
  165. package/dist/i18n/locales/es.js +3 -141
  166. package/dist/i18n/locales/hi.js +3 -141
  167. package/dist/i18n/locales/kn.js +3 -141
  168. package/dist/impact-nova-components.css +0 -249
  169. package/dist/impact-nova-tokens.scss +22 -6
  170. package/dist/impact-nova.css +1 -1
  171. package/dist/index.d.ts +1 -1
  172. package/dist/index.js +603 -622
  173. package/dist/lib/fiscal-calendar/index.d.ts +2 -2
  174. package/dist/lib/fiscal-calendar/index.js +26 -24
  175. package/dist/lib/fiscal-calendar/week-selection.d.ts +5 -0
  176. package/dist/lib/fiscal-calendar/week-selection.js +56 -49
  177. package/dist/lib/guidance/engine/guidance-engine.d.ts +9 -0
  178. package/dist/lib/guidance/engine/guidance-engine.js +127 -65
  179. package/dist/lib/guidance/engine/manifest-validator.js +37 -30
  180. package/dist/lib/guidance/targets/target-resolver.d.ts +1 -1
  181. package/dist/lib/guidance/targets/target-resolver.js +32 -30
  182. package/dist/lib/guidance/types/guidance.types.d.ts +41 -0
  183. package/dist/lib/hash/fnv1a128.d.ts +16 -0
  184. package/dist/lib/hash/fnv1a128.js +21 -0
  185. package/dist/llms/index.js +2 -26
  186. package/dist/llms/rules/ag-grid.js +1 -1
  187. package/dist/llms/rules/best-practices.js +1 -1
  188. package/dist/llms/rules/installation.js +1 -1
  189. package/dist/llms/rules/migration.js +1 -1
  190. package/dist/llms/rules/real-world-patterns.js +1 -1
  191. package/dist/llms/rules/requirements.js +1 -1
  192. package/dist/llms/rules/troubleshooting.js +1 -1
  193. package/dist/providers/app-providers.d.ts +1 -3
  194. package/dist/providers/app-providers.js +11 -22
  195. package/package.json +2 -13
  196. package/dist/components/data/ag-grid-react/chat/chat-capabilities.d.ts +0 -9
  197. package/dist/components/data/ag-grid-react/chat/chat-capabilities.js +0 -22
  198. package/dist/components/data/ag-grid-react/chat/chat-column.d.ts +0 -20
  199. package/dist/components/data/ag-grid-react/chat/chat-column.js +0 -81
  200. package/dist/components/data/ag-grid-react/chat/chat-composer.d.ts +0 -10
  201. package/dist/components/data/ag-grid-react/chat/chat-composer.js +0 -352
  202. package/dist/components/data/ag-grid-react/chat/chat-constants.d.ts +0 -17
  203. package/dist/components/data/ag-grid-react/chat/chat-constants.js +0 -22
  204. package/dist/components/data/ag-grid-react/chat/chat-format.d.ts +0 -41
  205. package/dist/components/data/ag-grid-react/chat/chat-format.js +0 -94
  206. package/dist/components/data/ag-grid-react/chat/chat-host.d.ts +0 -10
  207. package/dist/components/data/ag-grid-react/chat/chat-host.js +0 -651
  208. package/dist/components/data/ag-grid-react/chat/chat-host.types.d.ts +0 -13
  209. package/dist/components/data/ag-grid-react/chat/chat-html.d.ts +0 -2
  210. package/dist/components/data/ag-grid-react/chat/chat-html.js +0 -40
  211. package/dist/components/data/ag-grid-react/chat/chat-identity.d.ts +0 -13
  212. package/dist/components/data/ag-grid-react/chat/chat-identity.js +0 -24
  213. package/dist/components/data/ag-grid-react/chat/chat-menu.d.ts +0 -13
  214. package/dist/components/data/ag-grid-react/chat/chat-menu.js +0 -15
  215. package/dist/components/data/ag-grid-react/chat/chat-notify.d.ts +0 -17
  216. package/dist/components/data/ag-grid-react/chat/chat-notify.js +0 -124
  217. package/dist/components/data/ag-grid-react/chat/chat-persist.d.ts +0 -13
  218. package/dist/components/data/ag-grid-react/chat/chat-persist.js +0 -34
  219. package/dist/components/data/ag-grid-react/chat/chat-priority.d.ts +0 -13
  220. package/dist/components/data/ag-grid-react/chat/chat-priority.js +0 -79
  221. package/dist/components/data/ag-grid-react/chat/chat-summaries.d.ts +0 -2
  222. package/dist/components/data/ag-grid-react/chat/chat-summaries.js +0 -24
  223. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.d.ts +0 -72
  224. package/dist/components/data/ag-grid-react/chat/chat-thread-ui.js +0 -713
  225. package/dist/components/data/ag-grid-react/chat/chat-toggle.d.ts +0 -6
  226. package/dist/components/data/ag-grid-react/chat/chat-toggle.js +0 -25
  227. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.d.ts +0 -13
  228. package/dist/components/data/ag-grid-react/chat/chat-ui-actions.js +0 -26
  229. package/dist/components/data/ag-grid-react/chat/chat-window.d.ts +0 -14
  230. package/dist/components/data/ag-grid-react/chat/chat-window.js +0 -82
  231. package/dist/components/data/ag-grid-react/chat/chat-workspace.d.ts +0 -91
  232. package/dist/components/data/ag-grid-react/chat/chat-workspace.js +0 -555
  233. package/dist/components/data/ag-grid-react/chat/chat.types.d.ts +0 -319
  234. package/dist/components/data/ag-grid-react/chat/index.d.ts +0 -6
  235. package/dist/components/data/ag-grid-react/chat/index.js +0 -24
  236. package/dist/components/data/ag-grid-react/chat.story-data.d.ts +0 -34
  237. package/dist/components/data/ag-grid-react/chat.story-sources.d.ts +0 -4
  238. package/dist/components/data/ag-grid-react/comments/assets/comments-no-results.png.js +0 -4
  239. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.d.ts +0 -6
  240. package/dist/components/data/ag-grid-react/comments/comment-mode-toggle.js +0 -29
  241. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.d.ts +0 -8
  242. package/dist/components/data/ag-grid-react/comments/comments-actions-menu.js +0 -18
  243. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.d.ts +0 -18
  244. package/dist/components/data/ag-grid-react/comments/comments-ag-grid-presence.js +0 -16
  245. package/dist/components/data/ag-grid-react/comments/comments-capabilities.d.ts +0 -11
  246. package/dist/components/data/ag-grid-react/comments/comments-capabilities.js +0 -26
  247. package/dist/components/data/ag-grid-react/comments/comments-constants.d.ts +0 -12
  248. package/dist/components/data/ag-grid-react/comments/comments-constants.js +0 -21
  249. package/dist/components/data/ag-grid-react/comments/comments-format.d.ts +0 -20
  250. package/dist/components/data/ag-grid-react/comments/comments-format.js +0 -49
  251. package/dist/components/data/ag-grid-react/comments/comments-generation.d.ts +0 -14
  252. package/dist/components/data/ag-grid-react/comments/comments-generation.js +0 -18
  253. package/dist/components/data/ag-grid-react/comments/comments-host.d.ts +0 -10
  254. package/dist/components/data/ag-grid-react/comments/comments-host.js +0 -343
  255. package/dist/components/data/ag-grid-react/comments/comments-host.types.d.ts +0 -18
  256. package/dist/components/data/ag-grid-react/comments/comments-identity.d.ts +0 -7
  257. package/dist/components/data/ag-grid-react/comments/comments-identity.js +0 -20
  258. package/dist/components/data/ag-grid-react/comments/comments-menu.d.ts +0 -29
  259. package/dist/components/data/ag-grid-react/comments/comments-menu.js +0 -35
  260. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.d.ts +0 -22
  261. package/dist/components/data/ag-grid-react/comments/comments-overlay-anchor.js +0 -98
  262. package/dist/components/data/ag-grid-react/comments/comments-overlay.d.ts +0 -21
  263. package/dist/components/data/ag-grid-react/comments/comments-overlay.js +0 -406
  264. package/dist/components/data/ag-grid-react/comments/comments-panel.d.ts +0 -9
  265. package/dist/components/data/ag-grid-react/comments/comments-panel.js +0 -272
  266. package/dist/components/data/ag-grid-react/comments/comments-persist.d.ts +0 -11
  267. package/dist/components/data/ag-grid-react/comments/comments-persist.js +0 -19
  268. package/dist/components/data/ag-grid-react/comments/comments-reveal.d.ts +0 -11
  269. package/dist/components/data/ag-grid-react/comments/comments-reveal.js +0 -31
  270. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.d.ts +0 -18
  271. package/dist/components/data/ag-grid-react/comments/comments-ui-actions.js +0 -22
  272. package/dist/components/data/ag-grid-react/comments/comments-window.d.ts +0 -10
  273. package/dist/components/data/ag-grid-react/comments/comments-window.js +0 -62
  274. package/dist/components/data/ag-grid-react/comments/comments.types.d.ts +0 -178
  275. package/dist/components/data/ag-grid-react/comments/index.d.ts +0 -5
  276. package/dist/components/data/ag-grid-react/comments/index.js +0 -15
  277. package/dist/components/data/ag-grid-react/comments-cell-renderers-showcase.d.ts +0 -25
  278. package/dist/components/data/ag-grid-react/comments.story-data.d.ts +0 -37
  279. package/dist/components/data/ag-grid-react/comments.story-sources.d.ts +0 -11
  280. package/dist/components/data/ag-grid-react/grid-cell-address.d.ts +0 -21
  281. package/dist/components/data/ag-grid-react/grid-cell-address.js +0 -21
  282. package/dist/components/data/ag-grid-react/grid-row-reveal.d.ts +0 -34
  283. package/dist/components/data/ag-grid-react/grid-row-reveal.js +0 -33
  284. package/dist/components/data/ag-grid-react/notes/index.d.ts +0 -2
  285. package/dist/components/data/ag-grid-react/notes/index.js +0 -1
  286. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.d.ts +0 -25
  287. package/dist/components/data/ag-grid-react/notes/notes-ag-grid-adapter.js +0 -32
  288. package/dist/components/data/ag-grid-react/notes/notes-constants.d.ts +0 -2
  289. package/dist/components/data/ag-grid-react/notes/notes-constants.js +0 -4
  290. package/dist/components/data/ag-grid-react/notes/notes.types.d.ts +0 -12
  291. package/dist/components/data/ag-grid-react/notes.story-sources.d.ts +0 -7
  292. package/dist/components/data/ag-grid-react/nova-system-column.d.ts +0 -7
  293. package/dist/components/data/ag-grid-react/nova-system-column.js +0 -18
  294. package/dist/components/forms/date-picker/use-picker-i18n.d.ts +0 -6
  295. package/dist/components/forms/date-picker/use-picker-i18n.js +0 -11
  296. package/dist/components/ui/local-raster-icons/message3d.webp.js +0 -4
  297. package/dist/i18n/format/collator.d.ts +0 -1
  298. package/dist/i18n/format/collator.js +0 -7
  299. package/dist/i18n/format/date-pattern.d.ts +0 -5
  300. package/dist/i18n/format/date-pattern.js +0 -20
  301. package/dist/i18n/format/format-date.d.ts +0 -9
  302. package/dist/i18n/format/format-date.js +0 -56
  303. package/dist/i18n/format/format-number.d.ts +0 -20
  304. package/dist/i18n/format/format-number.js +0 -68
  305. package/dist/i18n/format/formatter-cache.d.ts +0 -9
  306. package/dist/i18n/format/formatter-cache.js +0 -66
  307. package/dist/i18n/format/index.d.ts +0 -6
  308. package/dist/i18n/format/parse-number.d.ts +0 -6
  309. package/dist/i18n/format/parse-number.js +0 -53
  310. package/dist/i18n/locale-config.d.ts +0 -28
  311. package/dist/i18n/locale-config.js +0 -32
  312. package/dist/i18n/week-start.d.ts +0 -6
  313. package/dist/i18n/week-start.js +0 -30
  314. package/dist/llms/rules/data-table-chat.js +0 -1
  315. package/dist/llms/rules/data-table-comments.js +0 -1
  316. package/dist/llms/rules/data-table-notes.js +0 -1
package/README.md CHANGED
@@ -221,54 +221,52 @@ export const CustomAction = ({ analyticsId, ...props }: CustomActionProps) => {
221
221
 
222
222
  ### Internationalization (i18n)
223
223
 
224
- Formatting locales are BCP 47 tags, not a closed enum. UI copy is a separate opt-in pack. Wrap the app with `ImpactNovaProviders` from `impact-nova/form` (or `ImpactNovaI18nProvider` from `impact-nova/i18n`).
224
+ Impact Nova supports multiple languages via a provider and message overrides. Wrap your app (or subtree) with `ImpactNovaI18nProvider` and set `locale` and optionally `messages`.
225
225
 
226
- ```tsx
227
- import { ImpactNovaProviders } from "impact-nova/form";
228
- import { de } from "impact-nova/locale/de";
229
- import { formatDate, formatNumber, formatCurrency } from "impact-nova/i18n";
230
-
231
- <ImpactNovaProviders locale="de-DE" messages={de}>
232
- <MyApp />
233
- </ImpactNovaProviders>
234
- ```
235
-
236
- Independent date and number locales:
226
+ **Locale packs** (German, Spanish, Hindi, Kannada) are exported so you can use them as-is or override only the strings you need:
237
227
 
238
228
  ```tsx
239
- <ImpactNovaProviders
240
- locale="de-DE"
241
- dateLocale="en-GB"
242
- numberLocale="en-US"
243
- messages={de}
244
- >
229
+ import { ImpactNovaI18nProvider, de, defaultMessages } from "impact-nova";
230
+
231
+ // Use a full locale pack as-is
232
+ function App() {
233
+ return (
234
+ <ImpactNovaI18nProvider locale="de" messages={de}>
235
+ <MyApp />
236
+ </ImpactNovaI18nProvider>
237
+ );
238
+ }
245
239
  ```
246
240
 
247
- **Override only a few keys** by spreading a locale pack:
241
+ **Override only a few keys** by spreading a locale pack and then overriding specific sections or keys. The provider merges your `messages` over the built-in English defaults (or over the pack you pass), so you only need to provide the keys you want to change:
248
242
 
249
243
  ```tsx
250
- import { de } from "impact-nova/locale/de";
244
+ import { ImpactNovaI18nProvider, de } from "impact-nova";
251
245
 
246
+ // German with custom labels for calendar only
252
247
  const messages = {
253
248
  ...de,
254
249
  calendar: { ...de.calendar, apply: "Übernehmen", cancel: "Schließen" },
255
250
  };
251
+
252
+ <ImpactNovaI18nProvider locale="de" messages={messages}>
253
+ <MyApp />
254
+ </ImpactNovaI18nProvider>;
256
255
  ```
257
256
 
258
- **Tree-shakeable locale packs:**
257
+ **Tree-shakeable locale imports** (if you only need one language and want to avoid pulling others into your bundle):
259
258
 
260
259
  ```tsx
261
260
  import { de } from "impact-nova/locale/de";
261
+ // or
262
262
  import { de, es, hi, kn } from "impact-nova/locale";
263
263
  ```
264
264
 
265
- - **`locale`**: BCP 47 language locale and default for formatting (e.g. `'de-DE'`). Default `'en'`.
266
- - **`dateLocale` / `numberLocale`**: optional overrides; each falls back to `locale`. `en-GB` is not rewritten to `en-US`.
267
- - **`messages`**: optional pack. `locale="de-DE"` does not auto-load German copy.
268
- - Format with `formatDate` / `formatNumber` / `formatCurrency` from `impact-nova/i18n`. Currency is always an explicit ISO code.
269
- - Explicit `format`, `weekStartsOn`, and `colDef.locale` still win.
265
+ - **`locale`**: BCP 47 code (e.g. `'en'`, `'de'`) used for date/number formatting. Supported: `en`, `en-US`, `en-GB`, `de`, `es`, `hi`, `kn`.
266
+ - **`messages`**: Optional `Partial<ImpactNovaMessages>`. Merged over the built-in English defaults; only provided keys are overridden. Use a locale pack (`de`, `es`, `hi`, `kn`) or spread one and override specific keys.
267
+ - **Per-component overrides**: Components that accept props like `placeholder`, `submitButtonLabel`, or `cancelLabel` use those when provided; otherwise they use values from the provider.
270
268
 
271
- See Storybook **Locale Lab** and `impact-nova://i18n` (MCP) for the full contract.
269
+ Calendar, date pickers, Select, NestedList, DataTableColumnList, and aria labels (e.g. Alert close, Breadcrumb, Chips remove) use the context. See `docs/I18N_PLAN.md` for the full list of message keys and components.
272
270
 
273
271
  ---
274
272
 
@@ -2,9 +2,6 @@ import { ReactNode } from 'react';
2
2
  import { ColDef, ColGroupDef, IHeaderParams, IHeaderGroupParams, Column, ValueFormatterParams } from 'ag-grid-community';
3
3
  import { Theme } from 'ag-grid-enterprise';
4
4
  import { AgGridReactProps } from 'ag-grid-react';
5
- import { DataTableCommentsConfig } from './comments/comments.types';
6
- import { DataTableNotesConfig } from './notes/notes.types';
7
- import { DataTableChatConfig } from './chat/chat.types';
8
5
  /** ColDef extended with Impact Nova runtime metadata set during column processing */
9
6
  export interface ImpactNovaColDef<TData = unknown> extends ColDef<TData> {
10
7
  /** Original column-level editable before addRowDataEditableCheck wraps the callback */
@@ -45,7 +42,7 @@ export interface ExtendedHeaderComponentParams extends Partial<IHeaderParams> {
45
42
  enableDateParsing?: boolean;
46
43
  /** Which picker to render for date columns. Default: 'date' */
47
44
  datePickerVariant?: 'date' | 'month' | 'week';
48
- /** Display format for dates in this column (date-fns token string). Omitted → locale-derived pattern. */
45
+ /** Display format for dates in this column (date-fns token string). Default: "MM/dd/yyyy" */
49
46
  dateDisplayFormat?: string;
50
47
  /** Fiscal calendar configuration for week/month picker */
51
48
  fiscalConfig?: {
@@ -60,6 +57,8 @@ export interface ExtendedHeaderComponentParams extends Partial<IHeaderParams> {
60
57
  infoData?: InfoContent;
61
58
  /** How to display the information (tooltip or modal) */
62
59
  displayMode?: 'tooltip' | 'modal';
60
+ /** Guidance target ID for the info icon (for guided tours) */
61
+ infoIconGuidanceTargetId?: string;
63
62
  }
64
63
  export type SectionType = 'TEXT' | 'KEY_VALUE' | 'BADGES' | 'LINK';
65
64
  export interface UISectionBase {
@@ -146,30 +145,6 @@ export interface AgGridWrapperProps<TData = unknown> extends Omit<AgGridReactPro
146
145
  * Application code must rely on document CSS variables and the default theme.
147
146
  */
148
147
  themeOverride?: Theme;
149
- /**
150
- * Opt-in cell comments. When omitted the grid is unchanged (no comments
151
- * overlay or mouse-handler wrap). Requires `getRowId`.
152
- * Import helpers from `impact-nova/ag-grid-react/comments`.
153
- *
154
- * Optional `locateRow` loads SSRM / server-paged rows that are not in memory.
155
- */
156
- comments?: DataTableCommentsConfig;
157
- /**
158
- * Opt-in AG Grid cell notes. When omitted the grid does not pass `notesDataSource`.
159
- * Requires `getRowId`. Import types from `impact-nova/ag-grid-react/notes`.
160
- *
161
- * Notes are AG Grid-owned (text on a cell). Comments remain a separate conversation.
162
- */
163
- notes?: DataTableNotesConfig;
164
- /**
165
- * Opt-in row Chat. When omitted the grid is unchanged (no Chat column,
166
- * host, listeners, or fetch). Requires `getRowId`.
167
- * Import helpers from `impact-nova/ag-grid-react/chat`.
168
- *
169
- * Identity is the stable row id. Optional `locateRow` loads SSRM /
170
- * server-paged rows that are not in memory.
171
- */
172
- chat?: DataTableChatConfig;
173
148
  }
174
149
  /**
175
150
  * Filter operators for advanced filtering.
@@ -1,7 +1,10 @@
1
1
  import { ICellRendererParams } from 'ag-grid-community';
2
2
  export interface DateDisplayRendererProps extends ICellRendererParams {
3
+ /** Date format type: 'date' | 'datetime-local' | 'time' */
3
4
  dateType?: 'date' | 'datetime-local' | 'time';
5
+ /** Placeholder text when no date is selected */
4
6
  placeholder?: string;
7
+ /** Whether the field is disabled */
5
8
  disabled?: boolean;
6
9
  }
7
10
  /**
@@ -1,50 +1,57 @@
1
- import { jsx as r, jsxs as g } from "react/jsx-runtime";
2
- import { Calendar as w } from "impact-nova-icons";
3
- import { useImpactNovaI18n as v } from "../../../../i18n/use-impact-nova-i18n.js";
4
- import { DEFAULT_LOCALE as j } from "../../../../i18n/locale-config.js";
5
- import { formatTime as L, formatDateTime as N, formatDate as E } from "../../../../i18n/format/format-date.js";
6
- function F(e) {
7
- const l = e.context;
8
- return e.colDef?.locale || l?.dateLocale || l?.locale || j;
9
- }
10
- const M = (e, l, o) => e == null || e === "" ? "" : l === "time" ? L(e, o) : l === "datetime-local" ? N(e, o) : E(e, o, {
11
- year: "numeric",
12
- month: "short",
13
- day: "numeric"
14
- }), _ = (e) => {
15
- const { t: l } = v(), o = F(e), {
16
- valueFormatted: p,
17
- value: t,
18
- dateType: b = "date",
19
- placeholder: h,
1
+ import { jsx as n, jsxs as b } from "react/jsx-runtime";
2
+ import { Calendar as y } from "impact-nova-icons";
3
+ const D = (t, i) => {
4
+ if (t == null || t === "") return "";
5
+ try {
6
+ const e = t instanceof Date ? t : new Date(String(t));
7
+ return isNaN(e.getTime()) ? String(t) : i === "time" ? e.toLocaleTimeString(void 0, { hour: "2-digit", minute: "2-digit" }) : i === "datetime-local" ? e.toLocaleString(void 0, {
8
+ year: "numeric",
9
+ month: "short",
10
+ day: "numeric",
11
+ hour: "2-digit",
12
+ minute: "2-digit"
13
+ }) : e.toLocaleDateString(void 0, {
14
+ year: "numeric",
15
+ month: "short",
16
+ day: "numeric"
17
+ });
18
+ } catch {
19
+ return String(t);
20
+ }
21
+ }, x = (t) => {
22
+ const {
23
+ valueFormatted: i,
24
+ value: e,
25
+ dateType: m = "date",
26
+ placeholder: g = "Select date...",
20
27
  disabled: s,
21
- colDef: n,
22
- data: i
23
- } = e, D = h ?? l("datePicker.selectDate"), c = t && typeof t == "object" && "cellMetadata" in t ? t.cellMetadata?._isDisabled : void 0, d = i && typeof i == "object" && "rowMetadata" in i ? i.rowMetadata?._isDisabled : void 0;
28
+ colDef: r,
29
+ data: l
30
+ } = t, o = e && typeof e == "object" && "cellMetadata" in e ? e.cellMetadata?._isDisabled : void 0, c = l && typeof l == "object" && "rowMetadata" in l ? l.rowMetadata?._isDisabled : void 0;
24
31
  let a = !1;
25
32
  if (!s) {
26
- const x = n?._originalEditable;
27
- n?.editable === !1 ? a = !1 : c === !1 ? a = !0 : c === !0 ? a = !1 : d === !1 ? a = !0 : d === !0 ? a = !1 : a = x === !0 || n?.editable === !0;
33
+ const p = r?._originalEditable;
34
+ r?.editable === !1 ? a = !1 : o === !1 ? a = !0 : o === !0 ? a = !1 : c === !1 ? a = !0 : c === !0 ? a = !1 : a = p === !0 || r?.editable === !0;
28
35
  }
29
- const f = t && typeof t == "object" && "value" in t, y = f ? t.value : t, m = (f ? null : p) ?? M(y, b, o), u = !m;
30
- return /* @__PURE__ */ r(
36
+ const d = e && typeof e == "object" && "value" in e, h = d ? e.value : e, u = (d ? null : i) ?? D(h, m), f = !u;
37
+ return /* @__PURE__ */ n(
31
38
  "div",
32
39
  {
33
40
  className: `w-full h-full flex items-center ag-cell-inner-padding ${s ? "opacity-60 cursor-not-allowed" : a ? "in-ag-editable-cell-highlight" : ""}`,
34
- children: /* @__PURE__ */ g(
41
+ children: /* @__PURE__ */ b(
35
42
  "div",
36
43
  {
37
44
  className: `flex w-full items-center justify-between rounded-[8px] px-1.5 h-7 ${a ? "bg-canvas-elevated cursor-pointer" : "bg-inherit"}`,
38
45
  children: [
39
- /* @__PURE__ */ r("span", { className: `truncate text-sm font-medium text-content ${u ? "text-content-empty" : ""}`, children: u ? D : m }),
40
- a && /* @__PURE__ */ r("span", { className: "h-3.5 w-3.5 shrink-0 text-content-icon", children: /* @__PURE__ */ r(w, { className: "h-3.5 w-3.5" }) })
46
+ /* @__PURE__ */ n("span", { className: `truncate text-sm font-medium text-content ${f ? "text-content-empty" : ""}`, children: f ? g : u }),
47
+ a && /* @__PURE__ */ n("span", { className: "h-3.5 w-3.5 shrink-0 text-content-icon", children: /* @__PURE__ */ n(y, { className: "h-3.5 w-3.5" }) })
41
48
  ]
42
49
  }
43
50
  )
44
51
  }
45
52
  );
46
53
  };
47
- _.displayName = "DateDisplayRenderer";
54
+ x.displayName = "DateDisplayRenderer";
48
55
  export {
49
- _ as DateDisplayRenderer
56
+ x as DateDisplayRenderer
50
57
  };
@@ -29,7 +29,7 @@ export interface InputDisplayRendererProps extends ICellRendererParams {
29
29
  * singleClickEdit: true,
30
30
  * cellRendererParams: { placeholder: '0.00', isNumeric: true },
31
31
  * cellEditorParams: { inputType: 'number', min: 0, step: 0.01 },
32
- * valueFormatter: (p) => p.value ? formatNumber(p.value, p.context?.numberLocale ?? 'en') : '',
32
+ * valueFormatter: (p) => p.value ? `$${p.value.toLocaleString()}` : '',
33
33
  * }
34
34
  * ```
35
35
  */
@@ -1,37 +1,37 @@
1
- import { jsx as r, jsxs as g, Fragment as I } from "react/jsx-runtime";
2
- import { useState as k } from "react";
3
- import { Dialog as ee, DialogContent as te, DialogHeader as le, DialogTitle as oe, DialogClose as ne, DialogBody as re, DialogFooter as ae } from "../../../../feedback/dialog/dialog.js";
1
+ import { jsx as r, jsxs as g, Fragment as Z } from "react/jsx-runtime";
2
+ import { useState as w } from "react";
3
+ import { Dialog as I, DialogContent as ee, DialogHeader as te, DialogTitle as le, DialogClose as oe, DialogBody as ne, DialogFooter as re } from "../../../../feedback/dialog/dialog.js";
4
4
  import { Button as y } from "../../../../primitives/button/button.js";
5
- import { Tooltip as se, TooltipTrigger as ie, TooltipContent as ce } from "../../../../feedback/tooltip/tooltip.js";
6
- import { Cross as ue } from "impact-nova-icons";
7
- import { useImpactNovaI18n as de } from "../../../../../i18n/use-impact-nova-i18n.js";
8
- import { ColumnFilterSection as H } from "./column-filter-section.js";
5
+ import { Tooltip as ae, TooltipTrigger as se, TooltipContent as ie } from "../../../../feedback/tooltip/tooltip.js";
6
+ import { Cross as ce } from "impact-nova-icons";
7
+ import { useImpactNovaI18n as ue } from "../../../../../i18n/use-impact-nova-i18n.js";
8
+ import { ColumnFilterSection as $ } from "./column-filter-section.js";
9
9
  import { generateFilterId as F, createEmptyRule as O } from "../utils/filter-utils.js";
10
- import { resolveDateDisplayFormat as P } from "../utils/date-utils.js";
11
- const q = (L) => {
10
+ import { DEFAULT_DATE_DISPLAY_FORMAT as j } from "../utils/date-utils.js";
11
+ const M = (k) => {
12
12
  const m = {};
13
- return L.forEach((p) => {
13
+ return k.forEach((p) => {
14
14
  p.columnId && (m[p.columnId] || (m[p.columnId] = []), m[p.columnId].push(p));
15
15
  }), m;
16
- }, De = ({
17
- isOpen: L,
16
+ }, Fe = ({
17
+ isOpen: k,
18
18
  onClose: m,
19
19
  onApply: p,
20
20
  columnId: a,
21
- columnLabel: W,
21
+ columnLabel: G,
22
22
  columnType: C,
23
- selectOptions: z,
24
- isMultiSelect: K,
25
- initialModel: T,
23
+ selectOptions: P,
24
+ isMultiSelect: H,
25
+ initialModel: L,
26
26
  api: u
27
27
  }) => {
28
- const { t: d, dateLocale: S } = de(), A = () => (T?.rules || []).filter((e) => !("logic" in e)), [b, B] = k("column"), [D, j] = k(() => {
29
- const e = {}, o = T?.columnLogic, l = A(), c = q(l);
28
+ const { t: d } = ue(), q = () => (L?.rules || []).filter((e) => !("logic" in e)), [b, z] = w("column"), [D, A] = w(() => {
29
+ const e = {}, o = L?.columnLogic, l = q(), c = M(l);
30
30
  return Object.keys(c).forEach((n) => {
31
- e[n] = o?.[n] || T?.logic || "OR";
31
+ e[n] = o?.[n] || L?.logic || "OR";
32
32
  }), e[a] || (e[a] = o?.[a] || "OR"), e;
33
- }), [v, E] = k(() => {
34
- const e = A();
33
+ }), [v, S] = w(() => {
34
+ const e = q();
35
35
  if (u) {
36
36
  const l = u.getFilterModel();
37
37
  l && Object.keys(l).forEach((n) => {
@@ -39,12 +39,12 @@ const q = (L) => {
39
39
  const t = l[n];
40
40
  let s = null;
41
41
  if (t.filterType === "date") {
42
- const i = t, w = u.getColumn(n)?.getColDef()?.headerComponentParams?.datePickerVariant, f = w === "week" || w === "month", _ = i.type === "inRange" && f ? "equals" : i.type || "equals";
42
+ const i = t, T = u.getColumn(n)?.getColDef()?.headerComponentParams?.datePickerVariant, f = T === "week" || T === "month", X = i.type === "inRange" && f ? "equals" : i.type || "equals";
43
43
  s = {
44
44
  id: F(),
45
45
  columnId: n,
46
46
  columnType: "date",
47
- operator: _,
47
+ operator: X,
48
48
  value: i.dateFrom || "",
49
49
  valueTo: i.dateTo || ""
50
50
  };
@@ -92,12 +92,12 @@ const q = (L) => {
92
92
  });
93
93
  }
94
94
  return e.some((l) => l.columnId === a) || e.push(O(a, C)), e;
95
- }), [R] = k(() => ({
95
+ }), [R] = w(() => ({
96
96
  allRules: v,
97
97
  // Use the computed rules (potentially synced)
98
98
  columnLogic: { ...D }
99
- })), Q = JSON.stringify({ allRules: v, columnLogic: D }) !== JSON.stringify(R), J = (e) => v.filter((o) => o.columnId === e), N = (e, o) => {
100
- E((l) => {
99
+ })), U = JSON.stringify({ allRules: v, columnLogic: D }) !== JSON.stringify(R), B = (e) => v.filter((o) => o.columnId === e), N = (e, o) => {
100
+ S((l) => {
101
101
  const c = /* @__PURE__ */ new Set(), n = [];
102
102
  l.forEach((s) => {
103
103
  c.has(s.columnId) || (c.add(s.columnId), n.push(s.columnId));
@@ -107,18 +107,18 @@ const q = (L) => {
107
107
  s === e ? t.push(...o) : t.push(...l.filter((i) => i.columnId === s));
108
108
  }), t;
109
109
  });
110
- }, V = (e) => D[e] || "OR", M = (e, o) => {
111
- j((l) => ({ ...l, [e]: o }));
112
- }, U = () => {
113
- b === "column" ? (N(a, [O(a, C)]), M(a, "OR")) : (E([O(a, C)]), j({ [a]: "OR" }));
114
- }, X = () => {
115
- E(R.allRules.length > 0 ? R.allRules : [O(a, C)]), j(R.columnLogic);
110
+ }, _ = (e) => D[e] || "OR", E = (e, o) => {
111
+ A((l) => ({ ...l, [e]: o }));
112
+ }, W = () => {
113
+ b === "column" ? (N(a, [O(a, C)]), E(a, "OR")) : (S([O(a, C)]), A({ [a]: "OR" }));
116
114
  }, Y = () => {
115
+ S(R.allRules.length > 0 ? R.allRules : [O(a, C)]), A(R.columnLogic);
116
+ }, K = () => {
117
117
  const e = v.filter((o) => o.operator === "empty" || o.operator === "notEmpty" ? !!o.columnId : o.columnId && o.value !== "" && o.value !== null);
118
118
  e.length === 0 ? p(null) : p({ logic: "OR", rules: e, columnLogic: { ...D } }), m();
119
- }, Z = q(v), $ = Object.keys(Z), x = Object.keys(q(
119
+ }, Q = M(v), J = Object.keys(Q), x = Object.keys(M(
120
120
  v.filter((e) => e.operator === "empty" || e.operator === "notEmpty" ? !!e.columnId : e.columnId && e.value !== "" && e.value !== null)
121
- )).length <= 1, G = (e, o) => {
121
+ )).length <= 1, V = (e, o) => {
122
122
  if (!u) return o;
123
123
  const l = u.getColumn(e);
124
124
  if (!l) return o;
@@ -131,10 +131,10 @@ const q = (L) => {
131
131
  const s = c?.headerName || e;
132
132
  return n.push(s), n.join(" > ");
133
133
  };
134
- return /* @__PURE__ */ r(ee, { open: L, onOpenChange: m, children: /* @__PURE__ */ g(te, { className: "w-[800px] max-w-[95vw] max-h-[90vh] flex flex-col p-0", hideClose: !0, children: [
135
- /* @__PURE__ */ g(le, { className: "flex flex-row items-center justify-between px-4 py-3 pe-4", children: [
136
- /* @__PURE__ */ r(oe, { children: d("advancedFilter.title") }),
137
- /* @__PURE__ */ r(ne, { asChild: !0, children: /* @__PURE__ */ r(y, { variant: "ghost", size: "icon", className: "h-8 w-8 p-0 text-content-tertiary hover:text-brand-variant-hover", onClick: m, "aria-label": d("aria.close"), children: /* @__PURE__ */ r(ue, { size: 14 }) }) })
134
+ return /* @__PURE__ */ r(I, { open: k, onOpenChange: m, children: /* @__PURE__ */ g(ee, { className: "w-[800px] max-w-[95vw] max-h-[90vh] flex flex-col p-0", hideClose: !0, children: [
135
+ /* @__PURE__ */ g(te, { className: "flex flex-row items-center justify-between px-4 py-3 pe-4", children: [
136
+ /* @__PURE__ */ r(le, { children: d("advancedFilter.title") }),
137
+ /* @__PURE__ */ r(oe, { asChild: !0, children: /* @__PURE__ */ r(y, { variant: "ghost", size: "icon", className: "h-8 w-8 p-0 text-content-tertiary hover:text-brand-variant-hover", onClick: m, "aria-label": d("aria.close"), children: /* @__PURE__ */ r(ce, { size: 14 }) }) })
138
138
  ] }),
139
139
  /* @__PURE__ */ g("div", { className: "flex items-center justify-between px-4 py-4 pb-2", children: [
140
140
  /* @__PURE__ */ g("div", { className: "inline-flex", role: "group", "data-component": "button-group", children: [
@@ -146,12 +146,12 @@ const q = (L) => {
146
146
  variant: "ghost",
147
147
  "aria-pressed": b === "column",
148
148
  className: `!shadow-none relative border transition-colors min-w-14 !rounded-none !rounded-l-md z-[1] ${b === "column" ? "!bg-accent !border-brand !text-brand z-10" : "!bg-canvas-elevated !border-button-primary-disabled !text-content-secondary hover:!bg-canvas-elevated hover:!text-brand"}`,
149
- onClick: () => B("column"),
149
+ onClick: () => z("column"),
150
150
  children: d("advancedFilter.currentColumn")
151
151
  }
152
152
  ),
153
- /* @__PURE__ */ g(se, { children: [
154
- /* @__PURE__ */ r(ie, { asChild: !0, children: /* @__PURE__ */ r(
153
+ /* @__PURE__ */ g(ae, { children: [
154
+ /* @__PURE__ */ r(se, { asChild: !0, children: /* @__PURE__ */ r(
155
155
  "span",
156
156
  {
157
157
  style: {
@@ -168,89 +168,79 @@ const q = (L) => {
168
168
  disabled: x,
169
169
  style: x ? { pointerEvents: "none" } : void 0,
170
170
  className: `!shadow-none relative border transition-colors min-w-14 !rounded-none !rounded-r-md -ml-px ${x ? "!bg-disabled-surface !border-disabled-border !text-disabled-foreground opacity-100" : b === "global" ? "!bg-accent !border-brand !text-brand z-10" : "!bg-canvas-elevated !border-button-primary-disabled !text-content-secondary hover:!bg-canvas-elevated hover:!text-brand z-[1]"}`,
171
- onClick: () => B("global"),
171
+ onClick: () => z("global"),
172
172
  children: d("advancedFilter.allFilters")
173
173
  }
174
174
  )
175
175
  }
176
176
  ) }),
177
- x && /* @__PURE__ */ r(ce, { variant: "tertiary", children: d("advancedFilter.allFiltersDisabledTooltip") })
177
+ x && /* @__PURE__ */ r(ie, { variant: "tertiary", children: d("advancedFilter.allFiltersDisabledTooltip") })
178
178
  ] })
179
179
  ] }),
180
- /* @__PURE__ */ r(y, { variant: "ghost", onClick: U, className: "!text-brand", children: d("advancedFilter.clearAll") })
180
+ /* @__PURE__ */ r(y, { variant: "ghost", onClick: W, className: "!text-brand", children: d("advancedFilter.clearAll") })
181
181
  ] }),
182
- /* @__PURE__ */ r(re, { className: "px-0 py-4 flex-1 overflow-y-auto min-h-0", children: /* @__PURE__ */ r("div", { className: "flex flex-col gap-6 w-full px-4", children: b === "column" ? (
182
+ /* @__PURE__ */ r(ne, { className: "px-0 py-4 flex-1 overflow-y-auto min-h-0", children: /* @__PURE__ */ r("div", { className: "flex flex-col gap-6 w-full px-4", children: b === "column" ? (
183
183
  // Column Mode: Single column section
184
184
  /* @__PURE__ */ r(
185
- H,
185
+ $,
186
186
  {
187
187
  columnId: a,
188
- columnLabel: G(a, W),
188
+ columnLabel: V(a, G),
189
189
  columnType: C,
190
- selectOptions: z,
191
- isMultiSelect: z ? !!K : !0,
192
- rules: J(a),
193
- logic: V(a),
194
- onLogicChange: (e) => M(a, e),
190
+ selectOptions: P,
191
+ isMultiSelect: P ? !!H : !0,
192
+ rules: B(a),
193
+ logic: _(a),
194
+ onLogicChange: (e) => E(a, e),
195
195
  onRulesChange: (e) => N(a, e),
196
- dateDisplayFormat: (() => {
197
- if (!u) return P(void 0, S);
198
- const e = u.getColumn(a);
199
- return P(
200
- e?.getColDef()?.headerComponentParams?.dateDisplayFormat,
201
- S
202
- );
203
- })()
196
+ dateDisplayFormat: u ? u.getColumn(a)?.getColDef()?.headerComponentParams?.dateDisplayFormat || j : j
204
197
  }
205
198
  )
206
199
  ) : (
207
200
  // Global Mode: All columns with filters
208
- /* @__PURE__ */ r(I, { children: $.length === 0 ? /* @__PURE__ */ r("div", { className: "text-center py-8 text-content-placeholder", children: d("advancedFilter.noFiltersApplied") }) : $.map((e, o) => {
201
+ /* @__PURE__ */ r(Z, { children: J.length === 0 ? /* @__PURE__ */ r("div", { className: "text-center py-8 text-content-placeholder", children: d("advancedFilter.noFiltersApplied") }) : J.map((e, o) => {
209
202
  let l = null;
210
203
  if (u) {
211
204
  const f = u.getColumn(e);
212
205
  f && (l = f.getColDef());
213
206
  }
214
- const c = l?.headerComponentParams, n = l?.headerName || e, t = G(e, n), s = l?.filter === "agNumberColumnFilter" ? "number" : l?.filter === "agDateColumnFilter" ? "date" : l?.filter === "agMultiColumnFilter" ? "multi" : l?.filter === "agSetColumnFilter" || c?.selectOptions ? "select" : "text", i = c?.selectOptions, h = c?.isMultiSelect, w = P(
215
- c?.dateDisplayFormat,
216
- S
217
- );
207
+ const c = l?.headerComponentParams, n = l?.headerName || e, t = V(e, n), s = l?.filter === "agNumberColumnFilter" ? "number" : l?.filter === "agDateColumnFilter" ? "date" : l?.filter === "agMultiColumnFilter" ? "multi" : l?.filter === "agSetColumnFilter" || c?.selectOptions ? "select" : "text", i = c?.selectOptions, h = c?.isMultiSelect, T = c?.dateDisplayFormat || j;
218
208
  return /* @__PURE__ */ g("div", { children: [
219
209
  o > 0 && /* @__PURE__ */ r("hr", { className: "border-stroke-hairline mb-6" }),
220
210
  /* @__PURE__ */ r(
221
- H,
211
+ $,
222
212
  {
223
213
  columnId: e,
224
214
  columnLabel: t,
225
215
  columnType: s,
226
216
  selectOptions: i,
227
217
  isMultiSelect: h,
228
- rules: J(e),
229
- logic: V(e),
230
- onLogicChange: (f) => M(e, f),
218
+ rules: B(e),
219
+ logic: _(e),
220
+ onLogicChange: (f) => E(e, f),
231
221
  onRulesChange: (f) => N(e, f),
232
222
  canDeleteLastRule: !0,
233
223
  onDeleteColumnFilter: () => N(e, []),
234
- dateDisplayFormat: w
224
+ dateDisplayFormat: T
235
225
  }
236
226
  )
237
227
  ] }, e);
238
228
  }) })
239
229
  ) }) }),
240
- /* @__PURE__ */ r(ae, { className: "flex justify-end border-t border-stroke-subtle", children: /* @__PURE__ */ g("div", { className: "flex gap-3", children: [
230
+ /* @__PURE__ */ r(re, { className: "flex justify-end border-t border-stroke-subtle", children: /* @__PURE__ */ g("div", { className: "flex gap-3", children: [
241
231
  /* @__PURE__ */ r(
242
232
  y,
243
233
  {
244
- onClick: X,
234
+ onClick: Y,
245
235
  variant: "secondary",
246
- disabled: !Q,
236
+ disabled: !U,
247
237
  children: d("advancedFilter.discard")
248
238
  }
249
239
  ),
250
- /* @__PURE__ */ r(y, { onClick: Y, variant: "default", children: d("advancedFilter.apply") })
240
+ /* @__PURE__ */ r(y, { onClick: K, variant: "default", children: d("advancedFilter.apply") })
251
241
  ] }) })
252
242
  ] }) });
253
243
  };
254
244
  export {
255
- De as AdvancedFilterDialog
245
+ Fe as AdvancedFilterDialog
256
246
  };
@@ -15,7 +15,7 @@ export interface ColumnFilterSectionProps {
15
15
  onRulesChange: (rules: AdvancedFilterRule[]) => void;
16
16
  canDeleteLastRule?: boolean;
17
17
  onDeleteColumnFilter?: () => void;
18
- /** Display format for dates in this column (date-fns token string). Omitted → locale-derived pattern. */
18
+ /** Display format for dates in this column (date-fns token string). Default: "MM/dd/yyyy" */
19
19
  dateDisplayFormat?: string;
20
20
  }
21
21
  /**