impact-nova 2.5.17 → 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 (204) 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.js +14 -13
  119. package/dist/components/data/data-table/data-table-column-def-pin.js +34 -31
  120. package/dist/components/data/data-table/data-table-context.js +5 -5
  121. package/dist/components/data/data-table/data-table-sheet-context.js +1 -1
  122. package/dist/components/data/data-table/data-table-sheet.js +2 -1
  123. package/dist/components/data-display/calendar/calendar-config.js +22 -21
  124. package/dist/components/data-display/calendar/calendar-day-button.js +21 -21
  125. package/dist/components/data-display/calendar/calendar-day-picker-view.js +36 -35
  126. package/dist/components/data-display/calendar/calendar-fiscal-labels.d.ts +3 -3
  127. package/dist/components/data-display/calendar/calendar-fiscal-labels.js +50 -62
  128. package/dist/components/data-display/calendar/calendar.js +138 -137
  129. package/dist/components/data-display/calendar/fiscal-period-caption-select.js +23 -22
  130. package/dist/components/data-display/calendar/use-calendar-i18n.d.ts +1 -0
  131. package/dist/components/data-display/calendar/use-calendar-i18n.js +10 -9
  132. package/dist/components/data-display/chart/chart.js +72 -72
  133. package/dist/components/data-display/chart/chart.utils.d.ts +1 -1
  134. package/dist/components/data-display/chart/chart.utils.js +40 -31
  135. package/dist/components/feedback/sheet/sheet.js +1 -1
  136. package/dist/components/feedback/toast/toast.d.ts +1 -1
  137. package/dist/components/feedback/toast/toast.variants.d.ts +1 -1
  138. package/dist/components/flows/filter-panel/filter-panel.d.ts +1 -1
  139. package/dist/components/flows/filter-panel/filter-panel.js +65 -64
  140. package/dist/components/flows/filter-panel/filter-panel.types.d.ts +1 -0
  141. package/dist/components/forms/date-picker/date-picker.js +125 -126
  142. package/dist/components/forms/date-picker/date-range-picker.js +191 -192
  143. package/dist/components/forms/date-picker/multi-date-picker.js +66 -67
  144. package/dist/components/forms/date-picker/multi-week-picker.js +82 -83
  145. package/dist/components/forms/date-picker/use-picker-i18n.d.ts +6 -0
  146. package/dist/components/forms/date-picker/use-picker-i18n.js +11 -0
  147. package/dist/components/forms/date-picker/week-picker.js +146 -147
  148. package/dist/components/forms/date-picker/week-range-picker.js +158 -159
  149. package/dist/components/ui/local-raster-icons/message3d.webp.js +4 -0
  150. package/dist/components/ui/local-raster-icons/rasterIcons.d.ts +1 -0
  151. package/dist/components/ui/local-raster-icons/rasterIcons.js +27 -25
  152. package/dist/form-react/Fields/WeekRangePicker.js +16 -16
  153. package/dist/form-react/fields.d.ts +0 -3
  154. package/dist/form-react/fields.js +29 -35
  155. package/dist/i18n/defaultMessages.d.ts +144 -0
  156. package/dist/i18n/defaultMessages.js +161 -19
  157. package/dist/i18n/format/collator.d.ts +1 -0
  158. package/dist/i18n/format/collator.js +7 -0
  159. package/dist/i18n/format/date-pattern.d.ts +5 -0
  160. package/dist/i18n/format/date-pattern.js +20 -0
  161. package/dist/i18n/format/format-date.d.ts +9 -0
  162. package/dist/i18n/format/format-date.js +56 -0
  163. package/dist/i18n/format/format-number.d.ts +20 -0
  164. package/dist/i18n/format/format-number.js +68 -0
  165. package/dist/i18n/format/formatter-cache.d.ts +9 -0
  166. package/dist/i18n/format/formatter-cache.js +66 -0
  167. package/dist/i18n/format/index.d.ts +6 -0
  168. package/dist/i18n/format/parse-number.d.ts +6 -0
  169. package/dist/i18n/format/parse-number.js +53 -0
  170. package/dist/i18n/getDateFnsLocale.d.ts +5 -4
  171. package/dist/i18n/getDateFnsLocale.js +46 -16
  172. package/dist/i18n/i18n.types.d.ts +13 -0
  173. package/dist/i18n/impact-nova-i18n-context.d.ts +1 -1
  174. package/dist/i18n/impact-nova-i18n-context.js +33 -25
  175. package/dist/i18n/impact-nova-i18n-defaults.js +8 -6
  176. package/dist/i18n/index.d.ts +4 -1
  177. package/dist/i18n/index.js +41 -16
  178. package/dist/i18n/locale-config.d.ts +28 -0
  179. package/dist/i18n/locale-config.js +32 -0
  180. package/dist/i18n/locales/de.js +142 -0
  181. package/dist/i18n/locales/es.js +142 -0
  182. package/dist/i18n/locales/hi.js +142 -0
  183. package/dist/i18n/locales/kn.js +142 -0
  184. package/dist/i18n/week-start.d.ts +6 -0
  185. package/dist/i18n/week-start.js +30 -0
  186. package/dist/impact-nova-components.css +249 -0
  187. package/dist/impact-nova-tokens.scss +6 -0
  188. package/dist/impact-nova.css +1 -1
  189. package/dist/index.d.ts +1 -1
  190. package/dist/index.js +624 -601
  191. package/dist/llms/index.js +26 -2
  192. package/dist/llms/rules/ag-grid.js +1 -1
  193. package/dist/llms/rules/best-practices.js +1 -1
  194. package/dist/llms/rules/data-table-chat.js +1 -0
  195. package/dist/llms/rules/data-table-comments.js +1 -0
  196. package/dist/llms/rules/data-table-notes.js +1 -0
  197. package/dist/llms/rules/installation.js +1 -1
  198. package/dist/llms/rules/migration.js +1 -1
  199. package/dist/llms/rules/real-world-patterns.js +1 -1
  200. package/dist/llms/rules/requirements.js +1 -1
  201. package/dist/llms/rules/troubleshooting.js +1 -1
  202. package/dist/providers/app-providers.d.ts +3 -1
  203. package/dist/providers/app-providers.js +22 -11
  204. package/package.json +13 -1
@@ -0,0 +1,2 @@
1
+ export type { GridCellAddress } from '../grid-cell-address';
2
+ export type { CellNote, DataTableNotesConfig } from './notes.types';
@@ -0,0 +1,25 @@
1
+ import { CellNote, DataTableNotesConfig } from './notes.types';
2
+ export type NotesGetNoteParams = {
3
+ rowNode: {
4
+ id?: string | null;
5
+ };
6
+ column: {
7
+ getColId: () => string;
8
+ };
9
+ };
10
+ export type NotesSetNoteParams = NotesGetNoteParams & {
11
+ note?: CellNote | null;
12
+ };
13
+ export type NotesDataSourceAdapter = {
14
+ getNote: (params: NotesGetNoteParams) => CellNote | undefined;
15
+ setNote: (params: NotesSetNoteParams) => void;
16
+ };
17
+ export declare function noteOwnsCellPointer(notes: DataTableNotesConfig | undefined, commentMode: boolean | undefined, event: {
18
+ node?: {
19
+ id?: string | null;
20
+ } | null;
21
+ column?: {
22
+ getColId?: () => string;
23
+ } | null;
24
+ }): boolean;
25
+ export declare function createNotesDataSource(config: DataTableNotesConfig, onMissingRowId?: () => void): NotesDataSourceAdapter;
@@ -0,0 +1,32 @@
1
+ import { cellAddressFromGridEvent as s } from "../grid-cell-address.js";
2
+ function d(e) {
3
+ const r = e.rowNode.id, o = e.column.getColId();
4
+ if (!(!r || !o))
5
+ return { rowId: r, colId: o };
6
+ }
7
+ function u(e, r, o) {
8
+ if (r || !e) return !1;
9
+ const t = s(o);
10
+ return t != null && e.getNote(t) != null;
11
+ }
12
+ function l(e, r) {
13
+ let o = !1;
14
+ return {
15
+ getNote(t) {
16
+ const n = d(t);
17
+ if (!n) {
18
+ !t.rowNode.id && !o && (o = !0, r?.());
19
+ return;
20
+ }
21
+ return e.getNote(n);
22
+ },
23
+ setNote(t) {
24
+ const n = d(t);
25
+ n && e.setNote(n, t.note ?? void 0);
26
+ }
27
+ };
28
+ }
29
+ export {
30
+ l as createNotesDataSource,
31
+ u as noteOwnsCellPointer
32
+ };
@@ -0,0 +1,2 @@
1
+ export declare const NOTES_WRAPPER_ATTR = "data-iv-notes";
2
+ export declare const NOTES_MISSING_ROW_ID_WARNING = "[impact-nova] notes requires getRowId so GridCellAddress.rowId is a stable business key.";
@@ -0,0 +1,4 @@
1
+ const s = "[impact-nova] notes requires getRowId so GridCellAddress.rowId is a stable business key.";
2
+ export {
3
+ s as NOTES_MISSING_ROW_ID_WARNING
4
+ };
@@ -0,0 +1,12 @@
1
+ import { GridCellAddress } from '../grid-cell-address';
2
+ export type CellNote = {
3
+ text: string;
4
+ readOnly?: boolean;
5
+ author?: string;
6
+ createdAt?: string;
7
+ updatedAt?: string;
8
+ };
9
+ export type DataTableNotesConfig = {
10
+ getNote: (address: GridCellAddress) => CellNote | undefined;
11
+ setNote: (address: GridCellAddress, note: CellNote | undefined) => void;
12
+ };
@@ -0,0 +1,7 @@
1
+ /** Copy-paste blocks for Data Display / DataTable / Notes Docs tab. */
2
+ export declare const NOTES_QUICK_START_SOURCE = "import { useMemo, useRef } from \"react\";\nimport { DataTable, DataTableContent } from \"impact-nova/data-table\";\nimport type { CellNote, DataTableNotesConfig, GridCellAddress } from \"impact-nova/ag-grid-react/notes\";\n\nconst store = new Map<string, CellNote>();\nfunction key(address: GridCellAddress) {\n return address.rowId + \"\\0\" + address.colId;\n}\n\nconst notes: DataTableNotesConfig = {\n getNote: (address) => store.get(key(address)),\n setNote: (address, note) => {\n if (!note) store.delete(key(address));\n else store.set(key(address), note);\n },\n};\n\n<DataTable className=\"h-[640px]\">\n <DataTableContent\n getRowId={(params) => params.data.id}\n columnDefs={columnDefs}\n rowData={rowData}\n notes={notes}\n />\n</DataTable>\n\n// Right-click \u2192 Add note. Hover a noted cell for the AG Grid note popup.\n// Identity is { rowId, colId } \u2014 not DOM, not rowIndex, not page.\n";
3
+ export declare const NOTES_CLIENT_PAGE_SOURCE = "import { DataTable, DataTableContent } from \"impact-nova/data-table\";\n\n<DataTableContent\n getRowId={(params) => params.data.id}\n rowData={allRows}\n columnDefs={columnDefs}\n pagination\n paginationPageSize={12}\n notes={notes}\n/>\n";
4
+ export declare const NOTES_SERVER_PAGE_SOURCE = "import { DataTable, DataTableContent } from \"impact-nova/data-table\";\n\n// Only the current page is in rowData. Notes live in YOUR store keyed by { rowId, colId }.\n<DataTableContent\n getRowId={(params) => params.data.id}\n rowData={pageRows}\n columnDefs={columnDefs}\n notes={notes}\n/>\n";
5
+ export declare const NOTES_CUSTOM_APPEARANCE_SOURCE = "import { DataTable, DataTableContent } from \"impact-nova/data-table\";\n\n<div\n className=\"h-[640px]\"\n style={{\n [\"--iv-note-indicator-color\"]: \"var(--color-destructive)\",\n [\"--iv-note-indicator-size\"]: \"12px\",\n }}\n>\n <DataTableContent getRowId={(p) => p.data.id} notes={notes} columnDefs={columnDefs} rowData={rowData} />\n</div>\n";
6
+ export declare const NOTES_WITH_COMMENTS_SOURCE = "import { DataTable, DataTableContent } from \"impact-nova/data-table\";\nimport type { DataTableCommentsConfig } from \"impact-nova/ag-grid-react/comments\";\nimport type { DataTableNotesConfig } from \"impact-nova/ag-grid-react/notes\";\n\n<DataTableContent\n getRowId={(params) => params.data.id}\n comments={comments}\n notes={notes}\n columnDefs={columnDefs}\n rowData={rowData}\n/>\n\n// Same cell may have both. Blue triangle = Comment. Yellow = Note. Split = both.\n// Hover opens the AG Grid note. Context menu keeps Add/Open comment and native note actions.\n";
7
+ export declare const NOTES_CUSTOM_WITH_COMMENTS_SOURCE = "import { DataTable, DataTableContent } from \"impact-nova/data-table\";\n\n<div\n className=\"h-[640px]\"\n style={{\n [\"--iv-comment-indicator-color\"]: \"var(--color-success)\",\n [\"--iv-note-indicator-color\"]: \"var(--color-destructive)\",\n }}\n>\n <DataTable className=\"h-full\">\n <DataTableContent\n getRowId={(p) => p.data.id}\n comments={{\n ...comments,\n messageActions: [{ id: \"open\", label: \"Open\", onSelect: ({ message }) => openRecord(message.id) }],\n }}\n notes={notes}\n columnDefs={columnDefs}\n rowData={rowData}\n />\n </DataTable>\n</div>\n";
@@ -0,0 +1,7 @@
1
+ /** Nova-owned grid columns (`iv-chat`, …). Never persist, list, auto-size, or export these. */
2
+ export declare const NOVA_SYSTEM_COL_ID_PREFIX = "iv-";
3
+ export declare function isNovaSystemColId(colId: string | null | undefined): boolean;
4
+ export declare function omitNovaSystemColumnIds(colIds: readonly string[]): string[];
5
+ export declare function exportColumnColIds(columns: ReadonlyArray<{
6
+ getColId?: () => string;
7
+ } | null | undefined> | null | undefined): string[];
@@ -0,0 +1,18 @@
1
+ const e = "iv-";
2
+ function s(t) {
3
+ return typeof t == "string" && t.startsWith("iv-");
4
+ }
5
+ function i(t) {
6
+ if (!t?.length) return [];
7
+ const n = [];
8
+ for (const r of t) {
9
+ const o = r?.getColId?.();
10
+ o && !s(o) && n.push(o);
11
+ }
12
+ return n;
13
+ }
14
+ export {
15
+ e as NOVA_SYSTEM_COL_ID_PREFIX,
16
+ i as exportColumnColIds,
17
+ s as isNovaSystemColId
18
+ };
@@ -1,5 +1,5 @@
1
- import { themeQuartz as e, iconSetMaterial as o } from "ag-grid-enterprise";
2
- const d = e.withPart(o).withParams({
1
+ import { themeQuartz as o, iconSetMaterial as e } from "ag-grid-enterprise";
2
+ const d = o.withPart(e).withParams({
3
3
  accentColor: "#4259EE",
4
4
  backgroundColor: "#FFFFFF",
5
5
  borderColor: "#D9DDE7",
@@ -57,6 +57,8 @@ const d = e.withPart(o).withParams({
57
57
  menuBorder: !1,
58
58
  tooltipBorder: !1,
59
59
  pinnedRowBorder: !1,
60
+ noteIndicatorColor: "#E1BC29",
61
+ noteIndicatorSize: 12,
60
62
  browserColorScheme: "light"
61
63
  }, "light").withParams({
62
64
  accentColor: "#E5E5E5",
@@ -116,6 +118,8 @@ const d = e.withPart(o).withParams({
116
118
  menuBorder: !1,
117
119
  tooltipBorder: !1,
118
120
  pinnedRowBorder: !1,
121
+ noteIndicatorColor: "#F59E0B",
122
+ noteIndicatorSize: 12,
119
123
  browserColorScheme: "dark"
120
124
  }, "dark");
121
125
  export {
@@ -6,6 +6,10 @@ export interface FormatterGridContext {
6
6
  currency?: string;
7
7
  decimals?: number;
8
8
  locale?: string;
9
+ dateLocale?: string;
10
+ numberLocale?: string;
11
+ booleanYes?: string;
12
+ booleanNo?: string;
9
13
  [key: string]: unknown;
10
14
  }
11
15
  export interface BackendFormatterConfigBase {
@@ -1,22 +1,3 @@
1
1
  import { ValueFormatterParams } from 'ag-grid-community';
2
- /**
3
- * AG Grid value formatters registry
4
- * Use with AgGridWrapper's valueFormatters prop
5
- *
6
- * @example
7
- * ```typescript
8
- * <AgGridWrapper
9
- * valueFormatters={AG_GRID_VALUE_FORMATTERS}
10
- * context={{ currency: 'EUR', decimals: 0 }}
11
- * columnDefs={[
12
- * { field: 'price', valueFormatter: 'currency' },
13
- * { field: 'discount', valueFormatter: 'percentage' },
14
- * ]}
15
- * />
16
- * ```
17
- */
18
2
  export declare const AG_GRID_VALUE_FORMATTERS: Record<string, (params: ValueFormatterParams) => string>;
19
- /**
20
- * Type-safe formatter names
21
- */
22
3
  export type AGGridFormatterName = keyof typeof AG_GRID_VALUE_FORMATTERS;
@@ -1,110 +1,108 @@
1
- import { getBackendFormatterColDef as s, getNullDisplay as a, getFormatterConfig as b } from "./value-formatter.types.js";
2
- const d = (t, e) => {
3
- let o, n;
4
- return e === "bil" ? (o = t / 1e9, n = "B") : e === "mil" ? (o = t / 1e6, n = "M") : (o = t / 1e3, n = "K"), isNaN(o) || !isFinite(o) ? `0.0${n}` : o.toFixed(1) + n;
5
- }, N = (t, e) => !e || e === "full_no" || e === "full_precision" ? null : d(t, e), f = (t) => t.context, v = (t) => {
6
- const e = b(s(t)), o = f(t);
1
+ import { getBackendFormatterColDef as m, getNullDisplay as a, getFormatterConfig as S } from "./value-formatter.types.js";
2
+ import { DEFAULT_LOCALE as T } from "../../../i18n/locale-config.js";
3
+ import { formatDateTime as L, formatDate as _ } from "../../../i18n/format/format-date.js";
4
+ import { formatPercent as N, formatCompactNumber as b, formatNumber as d, formatCurrency as x } from "../../../i18n/format/format-number.js";
5
+ import { getNumberFormat as V } from "../../../i18n/format/formatter-cache.js";
6
+ function s(t) {
7
+ return t.context;
8
+ }
9
+ function g(t, e) {
10
+ return t || e?.numberLocale || e?.locale || T;
11
+ }
12
+ function $(t, e) {
13
+ return t || e?.dateLocale || e?.locale || T;
14
+ }
15
+ function D(t) {
16
+ return t === "thou" || t === "mil" || t === "bil" ? t : null;
17
+ }
18
+ const C = (t) => {
19
+ const e = S(m(t)), o = s(t);
7
20
  if (t.value == null) return a(e, o);
8
- const n = e.currency || "USD", r = e.locale || "en-US", c = o?.formatType || e.formatType, i = Number(t.value);
9
- if (isNaN(i)) return String(t.value);
10
- const u = N(Math.abs(i), c);
11
- if (u) {
12
- const l = i < 0 ? "-" : "", m = new Intl.NumberFormat(r, {
13
- style: "currency",
14
- currency: n
15
- }).formatToParts(0).find((F) => F.type === "currency")?.value || n;
16
- return `${l}${m}${u}`;
21
+ const n = e.currency || "USD", c = g(e.locale, o), i = o?.formatType || e.formatType, r = Number(t.value);
22
+ if (isNaN(r)) return String(t.value);
23
+ const l = D(i);
24
+ if (l) {
25
+ const u = b(Math.abs(r), c, l), y = V(c, { style: "currency", currency: n }).formatToParts(0).find((F) => F.type === "currency")?.value || n;
26
+ return `${r < 0 ? "-" : ""}${y}${u}`;
17
27
  }
18
- if (c === "full_precision") {
19
- const l = i < 0 ? "-" : "", m = new Intl.NumberFormat(r, { style: "currency", currency: n }).formatToParts(0).find((F) => F.type === "currency")?.value || n;
20
- return `${l}${m}${new Intl.NumberFormat(r, { minimumFractionDigits: 2, maximumFractionDigits: 20 }).format(Math.abs(i))}`;
21
- }
22
- return new Intl.NumberFormat(r, {
23
- style: "currency",
24
- currency: n
25
- }).format(i);
26
- }, D = (t) => {
27
- const e = b(s(t)), o = f(t);
28
+ return i === "full_precision" ? x(r, c, n, {
29
+ minimumFractionDigits: 2,
30
+ maximumFractionDigits: 20
31
+ }) : x(r, c, n);
32
+ }, h = (t) => {
33
+ const e = S(m(t)), o = s(t);
28
34
  if (t.value == null) return a(e, o);
29
- const n = e.symbol || "$", r = e.position || "prefix", c = e.decimals ?? 2, i = e.locale || "en-US", u = o?.formatType || e.formatType, l = Number(t.value);
30
- if (isNaN(l)) return String(t.value);
31
- const g = N(Math.abs(l), u);
32
- let m;
33
- return g ? m = `${l < 0 ? "-" : ""}${g}` : u === "full_precision" ? m = `${l < 0 ? "-" : ""}${new Intl.NumberFormat(i, { minimumFractionDigits: c, maximumFractionDigits: 20 }).format(Math.abs(l))}` : m = new Intl.NumberFormat(i, {
34
- minimumFractionDigits: c,
35
- maximumFractionDigits: c
36
- }).format(l), r === "prefix" ? `${n}${m}` : `${m}${n}`;
37
- }, x = (t) => {
38
- const e = s(t), o = f(t);
35
+ const n = e.symbol || "$", c = e.position || "prefix", i = e.decimals ?? 2, r = g(e.locale, o), l = o?.formatType || e.formatType, u = Number(t.value);
36
+ if (isNaN(u)) return String(t.value);
37
+ const y = D(l);
38
+ let f;
39
+ return y ? f = `${u < 0 ? "-" : ""}${b(Math.abs(u), r, y)}` : l === "full_precision" ? f = d(u, r, {
40
+ minimumFractionDigits: i,
41
+ maximumFractionDigits: 20
42
+ }) : f = d(u, r, {
43
+ minimumFractionDigits: i,
44
+ maximumFractionDigits: i
45
+ }), c === "prefix" ? `${n}${f}` : `${f}${n}`;
46
+ }, A = (t) => {
47
+ const e = m(t), o = s(t);
39
48
  if (t.value == null) return a(e, o);
40
- const n = e.decimals ?? 0, r = e.locale || "en-US", c = o?.formatType || e.formatType, i = Number(t.value);
41
- if (isNaN(i)) return String(t.value);
42
- const u = N(Math.abs(i), c);
43
- return u ? `${i < 0 ? "-" : ""}${u}` : c === "full_precision" ? `${i < 0 ? "-" : ""}${new Intl.NumberFormat(r, { minimumFractionDigits: n, maximumFractionDigits: 20 }).format(Math.abs(i))}` : new Intl.NumberFormat(r, {
49
+ const n = e.decimals ?? 0, c = g(e.locale, o), i = o?.formatType || e.formatType, r = Number(t.value);
50
+ if (isNaN(r)) return String(t.value);
51
+ const l = D(i);
52
+ return l ? `${r < 0 ? "-" : ""}${b(Math.abs(r), c, l)}` : i === "full_precision" ? d(r, c, {
53
+ minimumFractionDigits: n,
54
+ maximumFractionDigits: 20
55
+ }) : d(r, c, {
44
56
  minimumFractionDigits: n,
45
57
  maximumFractionDigits: n
46
- }).format(i);
47
- }, y = (t) => {
48
- const e = s(t), o = f(t);
58
+ });
59
+ }, v = (t) => {
60
+ const e = m(t), o = s(t);
49
61
  if (t.value == null) return a(e, o);
50
62
  const n = Number(t.value);
51
63
  if (isNaN(n)) return String(t.value);
52
- const r = Math.abs(n), c = n < 0 ? "-" : "";
53
- return r >= 1e9 ? `${c}${(r / 1e9).toFixed(1)}B` : r >= 1e6 ? `${c}${(r / 1e6).toFixed(1)}M` : r >= 1e3 ? `${c}${(r / 1e3).toFixed(1)}K` : new Intl.NumberFormat("en-US", {
54
- maximumFractionDigits: 2
55
- }).format(n);
56
- }, $ = (t) => {
57
- const e = s(t), o = f(t);
64
+ const c = g(e.locale, o);
65
+ return b(n, c, "auto");
66
+ }, M = (t) => {
67
+ const e = m(t), o = s(t);
58
68
  if (t.value == null) return a(e, o);
59
69
  const n = Number(t.value);
60
70
  if (isNaN(n)) return String(t.value);
61
- const r = e.decimals ?? 2, c = e.divideBy ?? 100, i = o?.formatType || e.formatType, u = n / c;
62
- return i === "full_precision" ? new Intl.NumberFormat("en-US", {
63
- style: "percent",
71
+ const c = e.decimals ?? 2, i = e.divideBy ?? 100, r = o?.formatType || e.formatType, l = g(e.locale, o), u = n / i;
72
+ return r === "full_precision" ? N(u, l, {
64
73
  minimumFractionDigits: 2,
65
74
  maximumFractionDigits: 20
66
- }).format(u) : new Intl.NumberFormat("en-US", {
67
- style: "percent",
68
- minimumFractionDigits: r,
69
- maximumFractionDigits: r
70
- }).format(u);
71
- }, S = (t) => {
72
- const e = s(t), o = f(t);
75
+ }) : N(u, l, {
76
+ minimumFractionDigits: c,
77
+ maximumFractionDigits: c
78
+ });
79
+ }, E = (t) => {
80
+ const e = m(t), o = s(t);
73
81
  if (!t.value) return a(e, o);
74
- const n = e.dateStyle || "medium", r = e.locale || "en-US", c = new Date(t.value);
75
- return isNaN(c.getTime()) ? String(t.value) : new Intl.DateTimeFormat(r, {
76
- dateStyle: n
77
- }).format(c);
78
- }, T = (t) => {
79
- const e = s(t), o = f(t);
82
+ const n = e.dateStyle || "medium", c = $(e.locale, o);
83
+ return _(t.value, c, { dateStyle: n }) || String(t.value);
84
+ }, B = (t) => {
85
+ const e = m(t), o = s(t);
80
86
  if (!t.value) return a(e, o);
81
- const n = e.dateStyle || "medium", r = e.timeStyle || "short", c = e.locale || "en-US", i = new Date(t.value);
82
- return isNaN(i.getTime()) ? String(t.value) : new Intl.DateTimeFormat(c, {
83
- dateStyle: n,
84
- timeStyle: r
85
- }).format(i);
86
- }, w = (t) => {
87
- const e = s(t), o = f(t);
87
+ const n = e.dateStyle || "medium", c = e.timeStyle || "short", i = $(e.locale, o);
88
+ return L(t.value, i, { dateStyle: n, timeStyle: c }) || String(t.value);
89
+ }, R = (t) => {
90
+ const e = m(t), o = s(t);
88
91
  if (t.value == null) return a(e, o);
89
- const n = e.trueValue || "Yes", r = e.falseValue || "No";
90
- return t.value ? n : r;
91
- }, M = {
92
- // Currency formatters
93
- currency: v,
94
- currencySymbol: D,
95
- // Number formatters
96
- number: x,
97
- compact: y,
98
- compactNumber: y,
99
- largeNumber: y,
100
- // Percentage formatter
101
- percentage: $,
102
- // Date formatters
103
- date: S,
104
- dateTime: T,
105
- // Boolean formatter
106
- boolean: w
92
+ const n = e.trueValue || o?.booleanYes || "Yes", c = e.falseValue || o?.booleanNo || "No";
93
+ return t.value ? n : c;
94
+ }, Y = {
95
+ currency: C,
96
+ currencySymbol: h,
97
+ number: A,
98
+ compact: v,
99
+ compactNumber: v,
100
+ largeNumber: v,
101
+ percentage: M,
102
+ date: E,
103
+ dateTime: B,
104
+ boolean: R
107
105
  };
108
106
  export {
109
- M as AG_GRID_VALUE_FORMATTERS
107
+ Y as AG_GRID_VALUE_FORMATTERS
110
108
  };
@@ -1,5 +1,6 @@
1
- import { resolveColumnPinnedFromGridState as T } from "./data-table-column-apply.js";
2
- function B(l) {
1
+ import { isNovaSystemColId as T } from "../ag-grid-react/nova-system-column.js";
2
+ import { resolveColumnPinnedFromGridState as B } from "./data-table-column-apply.js";
3
+ function H(l) {
3
4
  const u = [];
4
5
  let c = l.getOriginalParent();
5
6
  for (; c; ) {
@@ -8,7 +9,7 @@ function B(l) {
8
9
  }
9
10
  return u.reverse(), u;
10
11
  }
11
- function q(l, u) {
12
+ function K(l, u) {
12
13
  const c = l.getColumnState(), a = l.getGridOption("context"), z = typeof a?.activeSearchColumnId == "string" ? a.activeSearchColumnId : null, _ = l.getAllGridColumns?.() ?? l.getColumns() ?? [], F = new Map(
13
14
  _.map((e) => [e.getColId(), e])
14
15
  ), f = [], h = [], D = /* @__PURE__ */ new Map(), G = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map();
@@ -32,18 +33,18 @@ function q(l, u) {
32
33
  };
33
34
  return o.push(d), D.set(r, { list: o, node: d }), d;
34
35
  };
35
- let p = 0, S = 0, g = 0, v = 0;
36
+ let p = 0, S = 0, C = 0, v = 0;
36
37
  c.forEach((e) => {
37
38
  const o = F.get(e.colId) ?? l.getColumn(e.colId);
38
39
  if (!o) return;
39
40
  const n = o.getColDef(), i = n.headerName;
40
- if (i != null && i.trim() === "" || e.colId === "ag-Grid-SelectionColumn")
41
+ if (i != null && i.trim() === "" || e.colId === "ag-Grid-SelectionColumn" || T(e.colId))
41
42
  return;
42
43
  const r = n.headerName;
43
44
  let t = typeof r == "string" && r.trim() !== "" ? r : l.getDisplayNameForColumn(o, "header");
44
45
  if ((!t || t.trim() === "") && (t = n.field ?? e.colId), !t || t.trim() === "")
45
46
  return;
46
- const s = !e.hide, I = !!e.sort, y = o.isFilterActive() || z === e.colId, d = T(e, o), b = {
47
+ const s = !e.hide, I = !!e.sort, y = o.isFilterActive() || z === e.colId, d = B(e, o), b = {
47
48
  id: e.colId,
48
49
  label: t,
49
50
  checked: s,
@@ -53,8 +54,8 @@ function q(l, u) {
53
54
  pinned: d
54
55
  }
55
56
  };
56
- d ? (p++, s && S++) : (g++, s && v++);
57
- const N = d ? f : h, $ = B(o);
57
+ d ? (p++, s && S++) : (C++, s && v++);
58
+ const N = d ? f : h, $ = H(o);
58
59
  if ($.length > 0) {
59
60
  let w = N, k = null;
60
61
  for (const P of $)
@@ -63,13 +64,13 @@ function q(l, u) {
63
64
  } else
64
65
  N.push(b);
65
66
  });
66
- const C = (e) => {
67
+ const g = (e) => {
67
68
  let o = e.length > 0;
68
69
  for (const n of e)
69
- n.children && (n.checked = C(n.children)), n.checked || (o = !1);
70
+ n.children && (n.checked = g(n.children)), n.checked || (o = !1);
70
71
  return o;
71
72
  };
72
- return C(f), C(h), [
73
+ return g(f), g(h), [
73
74
  {
74
75
  id: "root-frozen",
75
76
  label: u.frozenColumns,
@@ -81,7 +82,7 @@ function q(l, u) {
81
82
  {
82
83
  id: "root-scrollable",
83
84
  label: u.scrollableColumns,
84
- checked: g > 0 && v === g,
85
+ checked: C > 0 && v === C,
85
86
  children: h,
86
87
  category: "structure",
87
88
  isDragDisabled: !0
@@ -89,5 +90,5 @@ function q(l, u) {
89
90
  ];
90
91
  }
91
92
  export {
92
- q as buildColumnTreeFromGrid
93
+ K as buildColumnTreeFromGrid
93
94
  };
@@ -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,14 +1,14 @@
1
- import { createContext as e, useContext as a } from "react";
1
+ import { useContext as e, createContext as a } from "react";
2
2
  import { useDataTableSheetPortalSnapshot as s } from "./data-table-sheet-portal-store.js";
3
- const n = e(
3
+ const n = a(
4
4
  null
5
- ), l = e(null), b = () => {
6
- const t = a(n);
5
+ ), l = a(null), b = () => {
6
+ const t = e(n);
7
7
  if (!t)
8
8
  throw new Error("useDataTable must be used within a DataTable");
9
9
  return t;
10
10
  }, u = () => {
11
- const t = a(l);
11
+ const t = e(l);
12
12
  if (!t)
13
13
  throw new Error(
14
14
  "useDataTableSheetPortalStore must be used within a DataTable"
@@ -1,4 +1,4 @@
1
- import { useContext as t, createContext as n } from "react";
1
+ import { createContext as n, useContext as t } from "react";
2
2
  const s = n(!1), o = n(null), h = () => {
3
3
  const e = t(s), a = t(o);
4
4
  if (!a)
@@ -97,7 +97,8 @@ const I = ({
97
97
  {
98
98
  "data-component": "data-table-sheet-panel",
99
99
  className: h(
100
- "relative flex h-full min-h-0 w-[355px] flex-col overflow-hidden bg-canvas-elevated border-t border-l border-stroke-hairline pointer-events-auto shadow-elevation-floating",
100
+ "relative flex h-full min-h-0 flex-col overflow-hidden bg-canvas-elevated border-t border-l border-stroke-hairline pointer-events-auto shadow-elevation-floating",
101
+ "w-[355px]",
101
102
  r
102
103
  ),
103
104
  children: n