@dmsi/wedgekit-react 1.0.1 → 2.0.1

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 (282) hide show
  1. package/dist/classNames.d.ts +1 -0
  2. package/dist/classNames.d.ts.map +1 -1
  3. package/dist/classNames.js +150 -0
  4. package/dist/components/AccessCard.js +63 -0
  5. package/dist/components/AccessCardGroup.js +73 -0
  6. package/dist/components/AccessChangerTabItem.js +51 -0
  7. package/dist/components/Accordion.js +99 -0
  8. package/dist/components/Alert.d.ts.map +1 -1
  9. package/dist/components/Alert.js +78 -0
  10. package/dist/components/Breadcrumbs.js +111 -0
  11. package/dist/components/Button.js +137 -0
  12. package/dist/components/CalendarRange.js +405 -0
  13. package/dist/components/Caption.js +99 -0
  14. package/dist/components/Card.js +50 -0
  15. package/dist/components/Checkbox.js +108 -0
  16. package/dist/components/CompactImagesPreview.d.ts.map +1 -1
  17. package/dist/components/CompactImagesPreview.js +120 -0
  18. package/dist/components/ContentTab.js +68 -0
  19. package/dist/components/ContentTabs.js +96 -0
  20. package/dist/components/DMSiLogo.js +54 -0
  21. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +27 -0
  22. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +79 -0
  23. package/dist/components/DataGrid/PinnedColumns.d.ts +9 -2
  24. package/dist/components/DataGrid/PinnedColumns.d.ts.map +1 -1
  25. package/dist/components/DataGrid/PinnedColumns.js +165 -0
  26. package/dist/components/DataGrid/SummaryRow/SummaryCell.d.ts +18 -0
  27. package/dist/components/DataGrid/SummaryRow/SummaryCell.d.ts.map +1 -0
  28. package/dist/components/DataGrid/SummaryRow/SummaryCell.js +51 -0
  29. package/dist/components/DataGrid/SummaryRow/aggregations.d.ts +39 -0
  30. package/dist/components/DataGrid/SummaryRow/aggregations.d.ts.map +1 -0
  31. package/dist/components/DataGrid/SummaryRow/aggregations.js +55 -0
  32. package/dist/components/DataGrid/SummaryRow/index.d.ts +18 -0
  33. package/dist/components/DataGrid/SummaryRow/index.d.ts.map +1 -0
  34. package/dist/components/DataGrid/SummaryRow/index.js +86 -0
  35. package/dist/components/DataGrid/TableBody/GroupRow.d.ts +18 -0
  36. package/dist/components/DataGrid/TableBody/GroupRow.d.ts.map +1 -0
  37. package/dist/components/DataGrid/TableBody/GroupRow.js +243 -0
  38. package/dist/components/DataGrid/TableBody/LoadingCell.js +33 -0
  39. package/dist/components/DataGrid/TableBody/TableBodyRow.d.ts +3 -2
  40. package/dist/components/DataGrid/TableBody/TableBodyRow.d.ts.map +1 -1
  41. package/dist/components/DataGrid/TableBody/TableBodyRow.js +136 -0
  42. package/dist/components/DataGrid/TableBody/index.d.ts +3 -1
  43. package/dist/components/DataGrid/TableBody/index.d.ts.map +1 -1
  44. package/dist/components/DataGrid/TableBody/index.js +161 -0
  45. package/dist/components/DataGrid/index.d.ts +1 -1
  46. package/dist/components/DataGrid/index.d.ts.map +1 -1
  47. package/dist/components/DataGrid/index.js +696 -0
  48. package/dist/components/DataGrid/types.d.ts +141 -1
  49. package/dist/components/DataGrid/types.d.ts.map +1 -1
  50. package/dist/components/DataGrid/utils.d.ts +2 -0
  51. package/dist/components/DataGrid/utils.d.ts.map +1 -1
  52. package/dist/components/DataGrid/utils.js +20 -0
  53. package/dist/components/DataGridCell.d.ts +5 -2
  54. package/dist/components/DataGridCell.d.ts.map +1 -1
  55. package/dist/components/DataGridCell.js +412 -0
  56. package/dist/components/DataTable.js +700 -0
  57. package/dist/components/DateInput.js +193 -0
  58. package/dist/components/DateRangeInput.js +368 -0
  59. package/dist/components/DebugJson.js +28 -0
  60. package/dist/components/Display.js +46 -0
  61. package/dist/components/EditingContext.js +34 -0
  62. package/dist/components/EmblaCarousel/ArrowButtons.js +83 -0
  63. package/dist/components/EmblaCarousel/SelectedSnapDisplay.js +12 -0
  64. package/dist/components/EmblaCarousel/index.js +153 -0
  65. package/dist/components/EmblaCarousel/usePrevNextButtons.js +21 -0
  66. package/dist/components/EmblaCarousel/useSelectedSnapDisplay.js +15 -0
  67. package/dist/components/EmptyCartIcon.js +25 -0
  68. package/dist/components/FilterGroup.d.ts +5 -3
  69. package/dist/components/FilterGroup.d.ts.map +1 -1
  70. package/dist/components/FilterGroup.js +198 -0
  71. package/dist/components/FullViewportBox.js +19 -0
  72. package/dist/components/Grid.js +54 -0
  73. package/dist/components/Heading.js +50 -0
  74. package/dist/components/HorizontalDivider.js +20 -0
  75. package/dist/components/Icon.d.ts +5 -2
  76. package/dist/components/Icon.d.ts.map +1 -1
  77. package/dist/components/Icon.js +73 -0
  78. package/dist/components/ImagePlaceholder.js +22 -0
  79. package/dist/components/Input.d.ts +11 -9
  80. package/dist/components/Input.d.ts.map +1 -1
  81. package/dist/components/Input.js +469 -0
  82. package/dist/components/InputGroup.js +45 -0
  83. package/dist/components/Label.js +37 -0
  84. package/dist/components/Link.js +69 -0
  85. package/dist/components/List.js +12 -0
  86. package/dist/components/ListGroup.d.ts.map +1 -1
  87. package/dist/components/ListGroup.js +54 -0
  88. package/dist/components/LiveChatComponent.js +25 -0
  89. package/dist/components/LoadingScrim.js +22 -0
  90. package/dist/components/LogoAgilityTopBar.js +90 -0
  91. package/dist/components/LogoDMSiTopBar.js +54 -0
  92. package/dist/components/LogoMillworkTopBar.js +196 -0
  93. package/dist/components/MainBar.js +58 -0
  94. package/dist/components/MaxViewportBox.js +19 -0
  95. package/dist/components/Menu.d.ts.map +1 -1
  96. package/dist/components/Menu.js +202 -0
  97. package/dist/components/MenuOption.js +161 -0
  98. package/dist/components/MobileDataGrid/ColumnList.js +85 -0
  99. package/dist/components/MobileDataGrid/ColumnSelector/index.js +100 -0
  100. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.d.ts.map +1 -1
  101. package/dist/components/MobileDataGrid/GridContextProvider/GridContext.js +6 -0
  102. package/dist/components/MobileDataGrid/GridContextProvider/index.js +80 -0
  103. package/dist/components/MobileDataGrid/GridContextProvider/useGridContext.js +11 -0
  104. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.js +18 -0
  105. package/dist/components/MobileDataGrid/MobileDataGridCard/index.d.ts +2 -1
  106. package/dist/components/MobileDataGrid/MobileDataGridCard/index.d.ts.map +1 -1
  107. package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +130 -0
  108. package/dist/components/MobileDataGrid/MobileDataGridHeader.d.ts.map +1 -1
  109. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +67 -0
  110. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +42 -0
  111. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.d.ts.map +1 -1
  112. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +58 -0
  113. package/dist/components/MobileDataGrid/dataGridReducer.js +28 -0
  114. package/dist/components/MobileDataGrid/index.d.ts +1 -1
  115. package/dist/components/MobileDataGrid/index.d.ts.map +1 -1
  116. package/dist/components/MobileDataGrid/index.js +78 -0
  117. package/dist/components/MobileNavMenu.d.ts.map +1 -1
  118. package/dist/components/MobileNavMenu.js +173 -0
  119. package/dist/components/Modal.d.ts +1 -2
  120. package/dist/components/Modal.d.ts.map +1 -1
  121. package/dist/components/Modal.js +201 -0
  122. package/dist/components/ModalButtons.d.ts.map +1 -1
  123. package/dist/components/ModalButtons.js +57 -0
  124. package/dist/components/ModalContent.d.ts +1 -2
  125. package/dist/components/ModalContent.d.ts.map +1 -1
  126. package/dist/components/ModalContent.js +24 -0
  127. package/dist/components/ModalHeader.js +74 -0
  128. package/dist/components/ModalScrim.js +32 -0
  129. package/dist/components/NavigationTab.js +72 -0
  130. package/dist/components/NavigationTabs.js +45 -0
  131. package/dist/components/NestedMenu.d.ts.map +1 -1
  132. package/dist/components/NestedMenu.js +119 -0
  133. package/dist/components/Notification.js +91 -0
  134. package/dist/components/OptionPill.d.ts +2 -1
  135. package/dist/components/OptionPill.d.ts.map +1 -1
  136. package/dist/components/OptionPill.js +103 -0
  137. package/dist/components/OrderCheckIcon.js +28 -0
  138. package/dist/components/PDFViewer/DownloadIcon.js +25 -0
  139. package/dist/components/PDFViewer/PDFElement.js +77 -0
  140. package/dist/components/PDFViewer/PDFNavigation.js +64 -0
  141. package/dist/components/PDFViewer/PDFPage.js +28 -0
  142. package/dist/components/PDFViewer/index.d.ts.map +1 -1
  143. package/dist/components/PDFViewer/index.js +124 -0
  144. package/dist/components/Pagination.d.ts.map +1 -1
  145. package/dist/components/Pagination.js +117 -0
  146. package/dist/components/Paragraph.js +43 -0
  147. package/dist/components/Password.js +47 -0
  148. package/dist/components/ProductImagePreview/CarouselPagination.js +48 -0
  149. package/dist/components/ProductImagePreview/MobileImageCarousel.d.ts +2 -1
  150. package/dist/components/ProductImagePreview/MobileImageCarousel.d.ts.map +1 -1
  151. package/dist/components/ProductImagePreview/MobileImageCarousel.js +146 -0
  152. package/dist/components/ProductImagePreview/ProductPrimaryImage.d.ts +2 -1
  153. package/dist/components/ProductImagePreview/ProductPrimaryImage.d.ts.map +1 -1
  154. package/dist/components/ProductImagePreview/ProductPrimaryImage.js +138 -0
  155. package/dist/components/ProductImagePreview/Thumbnail.d.ts +2 -1
  156. package/dist/components/ProductImagePreview/Thumbnail.d.ts.map +1 -1
  157. package/dist/components/ProductImagePreview/Thumbnail.js +46 -0
  158. package/dist/components/ProductImagePreview/ZoomWindow.js +74 -0
  159. package/dist/components/ProductImagePreview/index.d.ts.map +1 -1
  160. package/dist/components/ProductImagePreview/index.js +189 -0
  161. package/dist/components/ProductImagePreview/useProductImagePreview.js +85 -0
  162. package/dist/components/ProjectBar.d.ts +1 -1
  163. package/dist/components/ProjectBar.js +54 -0
  164. package/dist/components/Radio.js +113 -0
  165. package/dist/components/Search.js +89 -0
  166. package/dist/components/SearchResultImage/index.js +26 -0
  167. package/dist/components/Select.js +122 -0
  168. package/dist/components/SideMenu.js +24 -0
  169. package/dist/components/SideMenuGroup.js +80 -0
  170. package/dist/components/SideMenuItem.js +79 -0
  171. package/dist/components/SimpleTable.js +60 -0
  172. package/dist/components/SkeletonParagraph.js +24 -0
  173. package/dist/components/Spinner.d.ts +1 -1
  174. package/dist/components/Spinner.d.ts.map +1 -1
  175. package/dist/components/Spinner.js +30 -0
  176. package/dist/components/Stack.js +174 -0
  177. package/dist/components/StatusPill.js +44 -0
  178. package/dist/components/Stepper.js +138 -0
  179. package/dist/components/Subheader.d.ts +2 -1
  180. package/dist/components/Subheader.d.ts.map +1 -1
  181. package/dist/components/Subheader.js +41 -0
  182. package/dist/components/Surface.js +30 -0
  183. package/dist/components/Swatch.js +1498 -0
  184. package/dist/components/Textarea.js +106 -0
  185. package/dist/components/Theme.d.ts +1 -1
  186. package/dist/components/Theme.d.ts.map +1 -1
  187. package/dist/components/Theme.js +25 -0
  188. package/dist/components/Time.d.ts +2 -1
  189. package/dist/components/Time.d.ts.map +1 -1
  190. package/dist/components/Time.js +225 -0
  191. package/dist/components/Toast.d.ts +4 -3
  192. package/dist/components/Toast.d.ts.map +1 -1
  193. package/dist/components/Toast.js +170 -0
  194. package/dist/components/Tooltip.js +102 -0
  195. package/dist/components/TopBar.d.ts.map +1 -1
  196. package/dist/components/TopBar.js +119 -0
  197. package/dist/components/Upload.js +107 -0
  198. package/dist/components/WorldpayIframe.d.ts.map +1 -1
  199. package/dist/components/WorldpayIframe.js +19 -0
  200. package/dist/hooks/useEditCell.js +23 -0
  201. package/dist/hooks/useInfiniteScroll.js +25 -0
  202. package/dist/hooks/useKeydown.js +20 -0
  203. package/dist/hooks/useMatchesMedia.js +15 -0
  204. package/dist/hooks/useMenuSystem.js +186 -0
  205. package/dist/hooks/useMounted.js +9 -0
  206. package/dist/hooks/useTableLayout/computeColumns.js +59 -0
  207. package/dist/hooks/useTableLayout/storage.js +64 -0
  208. package/dist/hooks/useTableLayout/useTableLayout.js +163 -0
  209. package/dist/index.js +249 -52864
  210. package/dist/lib/loadFonts.js +11 -0
  211. package/dist/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +56 -0
  212. package/dist/node_modules/@dnd-kit/core/dist/core.esm.js +2299 -0
  213. package/dist/node_modules/@dnd-kit/modifiers/dist/modifiers.esm.js +13 -0
  214. package/dist/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +367 -0
  215. package/dist/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +235 -0
  216. package/dist/node_modules/@headlessui/react/dist/components/description/description.js +45 -0
  217. package/dist/node_modules/@headlessui/react/dist/components/keyboard.js +4 -0
  218. package/dist/node_modules/@headlessui/react/dist/components/label/label.js +62 -0
  219. package/dist/node_modules/@headlessui/react/dist/components/switch/switch.js +56 -0
  220. package/dist/node_modules/@headlessui/react/dist/hooks/use-active-press.js +33 -0
  221. package/dist/node_modules/@headlessui/react/dist/hooks/use-controllable.js +10 -0
  222. package/dist/node_modules/@headlessui/react/dist/hooks/use-default-value.js +8 -0
  223. package/dist/node_modules/@headlessui/react/dist/hooks/use-disposables.js +9 -0
  224. package/dist/node_modules/@headlessui/react/dist/hooks/use-event.js +9 -0
  225. package/dist/node_modules/@headlessui/react/dist/hooks/use-iso-morphic-effect.js +8 -0
  226. package/dist/node_modules/@headlessui/react/dist/hooks/use-latest-value.js +11 -0
  227. package/dist/node_modules/@headlessui/react/dist/hooks/use-resolve-button-type.js +12 -0
  228. package/dist/node_modules/@headlessui/react/dist/hooks/use-slot.js +7 -0
  229. package/dist/node_modules/@headlessui/react/dist/hooks/use-sync-refs.js +16 -0
  230. package/dist/node_modules/@headlessui/react/dist/internal/disabled.js +8 -0
  231. package/dist/node_modules/@headlessui/react/dist/internal/form-fields.js +35 -0
  232. package/dist/node_modules/@headlessui/react/dist/internal/hidden.js +13 -0
  233. package/dist/node_modules/@headlessui/react/dist/internal/id.js +8 -0
  234. package/dist/node_modules/@headlessui/react/dist/utils/bugs.js +19 -0
  235. package/dist/node_modules/@headlessui/react/dist/utils/class-names.js +6 -0
  236. package/dist/node_modules/@headlessui/react/dist/utils/disposables.js +40 -0
  237. package/dist/node_modules/@headlessui/react/dist/utils/dom.js +34 -0
  238. package/dist/node_modules/@headlessui/react/dist/utils/env.js +34 -0
  239. package/dist/node_modules/@headlessui/react/dist/utils/form.js +32 -0
  240. package/dist/node_modules/@headlessui/react/dist/utils/match.js +11 -0
  241. package/dist/node_modules/@headlessui/react/dist/utils/micro-task.js +8 -0
  242. package/dist/node_modules/@headlessui/react/dist/utils/owner.js +8 -0
  243. package/dist/node_modules/@headlessui/react/dist/utils/render.js +126 -0
  244. package/dist/node_modules/@js-temporal/polyfill/dist/index.esm.js +3913 -0
  245. package/dist/node_modules/@mikecousins/react-pdf/dist/index.js +83 -0
  246. package/dist/node_modules/@react-aria/focus/dist/useFocusRing.js +38 -0
  247. package/dist/node_modules/@react-aria/interactions/dist/useFocus.js +31 -0
  248. package/dist/node_modules/@react-aria/interactions/dist/useFocusVisible.js +99 -0
  249. package/dist/node_modules/@react-aria/interactions/dist/useFocusWithin.js +59 -0
  250. package/dist/node_modules/@react-aria/interactions/dist/useHover.js +86 -0
  251. package/dist/node_modules/@react-aria/interactions/dist/utils.js +68 -0
  252. package/dist/node_modules/@react-aria/utils/dist/DOMFunctions.js +32 -0
  253. package/dist/node_modules/@react-aria/utils/dist/domHelpers.js +15 -0
  254. package/dist/node_modules/@react-aria/utils/dist/focusWithoutScrolling.js +45 -0
  255. package/dist/node_modules/@react-aria/utils/dist/isVirtualEvent.js +7 -0
  256. package/dist/node_modules/@react-aria/utils/dist/openLink.js +28 -0
  257. package/dist/node_modules/@react-aria/utils/dist/platform.js +47 -0
  258. package/dist/node_modules/@react-aria/utils/dist/useGlobalListeners.js +34 -0
  259. package/dist/node_modules/@react-aria/utils/dist/useLayoutEffect.js +6 -0
  260. package/dist/node_modules/@react-stately/flags/dist/import.js +7 -0
  261. package/dist/node_modules/@tanstack/react-table/build/lib/index.js +94 -0
  262. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index.js +38 -0
  263. package/dist/node_modules/@tanstack/table-core/build/lib/index.js +1954 -0
  264. package/dist/node_modules/@tanstack/virtual-core/dist/esm/index.js +575 -0
  265. package/dist/node_modules/@tanstack/virtual-core/dist/esm/utils.js +52 -0
  266. package/dist/node_modules/clsx/dist/clsx.js +17 -0
  267. package/dist/node_modules/embla-carousel/esm/embla-carousel.esm.js +1204 -0
  268. package/dist/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js +126 -0
  269. package/dist/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js +24 -0
  270. package/dist/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +35 -0
  271. package/dist/node_modules/jsbi/dist/jsbi.js +1040 -0
  272. package/dist/node_modules/react-use/esm/usePrevious.js +10 -0
  273. package/dist/static/no-results-image.png.js +4 -0
  274. package/dist/styles.css +1 -1
  275. package/dist/utils/date-patch-dashes.js +28 -0
  276. package/dist/utils/date.js +95 -0
  277. package/dist/utils/formatting.js +22 -0
  278. package/dist/utils/index.js +4 -0
  279. package/dist/utils/mergeObjectArrays.js +18 -0
  280. package/dist/utils.js +20 -0
  281. package/package.json +1 -1
  282. /package/dist/{pdf-l6QfMa5e.js → node_modules/pdfjs-dist/build/pdf.js} +0 -0
@@ -1,5 +1,12 @@
1
- import { ColumnDef, ColumnFiltersState, SortingState, FilterFn, Header, PartialKeys, RowData, Table, TableOptionsResolved } from '@tanstack/react-table';
1
+ import { ColumnDef, ColumnFiltersState, ExpandedState, GroupingState, SortingState, FilterFn, Header, PartialKeys, RowData, Table, TableOptionsResolved } from '@tanstack/react-table';
2
2
  import { ReactNode } from 'react';
3
+ export interface DataGridNotification {
4
+ id?: string;
5
+ testid?: string;
6
+ variant?: "success" | "warning" | "error" | "info";
7
+ title?: string;
8
+ message?: string;
9
+ }
3
10
  export interface DataGridPagination {
4
11
  pageIndex: number;
5
12
  pageSize: number;
@@ -7,6 +14,62 @@ export interface DataGridPagination {
7
14
  onPageChange: (pageIndex: number) => void;
8
15
  onPageSizeChange?: (pageSize: number) => void;
9
16
  }
17
+ export interface SummaryCellRenderParams<T> {
18
+ /** Rows currently visible after filters and sorting. */
19
+ filteredRows: T[];
20
+ /** All rows regardless of active filters. */
21
+ allRows: T[];
22
+ /** The column ID this cell belongs to. */
23
+ columnId: string;
24
+ }
25
+ export interface SummaryCellDef<T> {
26
+ /**
27
+ * Template string. Supports the following variable tokens:
28
+ *
29
+ * {count} — number of visible (filtered) rows
30
+ * {total} — total rows regardless of filter
31
+ * {sum} — sum of this column's numeric values (filtered rows)
32
+ * {sum,otherColumnId} — sum of another column's values
33
+ *
34
+ * Static text and tokens can be mixed: "Total ({count}): {sum,price}"
35
+ */
36
+ template?: string;
37
+ /**
38
+ * Fully custom render function. Takes precedence over `template`.
39
+ * Receives all filtered rows and the full unfiltered dataset.
40
+ */
41
+ render?: (params: SummaryCellRenderParams<T>) => ReactNode;
42
+ /**
43
+ * Number of columns this cell spans. Adjacent columns are skipped.
44
+ * Default: 1.
45
+ *
46
+ * Bounded to whichever section this column belongs to (left-pinned,
47
+ * center, or right-pinned) — each renders as a separate `<table>`, so a
48
+ * colSpan can never cross that boundary. A colSpan that would reach past
49
+ * the last column in its section is clamped to fit, with a console
50
+ * warning in development.
51
+ */
52
+ colSpan?: number;
53
+ /** Text alignment within the cell. */
54
+ align?: "left" | "right" | "center";
55
+ }
56
+ export interface DataGridSummaryRowConfig<T> {
57
+ /**
58
+ * Per-column summary cell definitions, keyed by column ID.
59
+ * Columns not listed render an empty cell.
60
+ */
61
+ cells: Record<string, SummaryCellDef<T>>;
62
+ }
63
+ export interface GroupCellProps<T> {
64
+ /** The rows within this group (post-filter). */
65
+ rows: T[];
66
+ /** This group's value for the grouped column (e.g. "Illinois"). */
67
+ groupValue: unknown;
68
+ /** Nesting depth, 0-indexed. */
69
+ depth: number;
70
+ /** Whether this group is currently expanded. */
71
+ isExpanded: boolean;
72
+ }
10
73
  export interface DataGridProps<T extends Record<string, unknown>> {
11
74
  id?: string;
12
75
  rowIdAccessor?: keyof T;
@@ -36,9 +99,73 @@ export interface DataGridProps<T extends Record<string, unknown>> {
36
99
  useMenuDefaultMinWidth?: boolean;
37
100
  rowDisabled?: boolean;
38
101
  rowDisabledAccessor?: (row: T) => boolean;
102
+ isLoading?: boolean;
103
+ loadingMessage?: string;
104
+ loadingDescription?: string;
105
+ maxHeight?: string | number;
106
+ fillHeight?: boolean;
107
+ manualFiltering?: boolean;
108
+ notifications?: DataGridNotification[];
39
109
  ref?: React.Ref<{
40
110
  getSavedLayout: () => ColumnDef<T>[] | undefined;
41
111
  }>;
112
+ /**
113
+ * Configures the sticky summary row rendered below all data rows.
114
+ *
115
+ * - Pass `true` to show the default "# Records" / "# of # Records" label.
116
+ * - Pass a config object for full customisation.
117
+ */
118
+ summaryRow?: true | DataGridSummaryRowConfig<T>;
119
+ /**
120
+ * Ordered array of column IDs to group by. The simple, declarative way to
121
+ * set grouping — the grid manages expand/collapse state internally and
122
+ * keeps itself in sync if this prop changes at runtime.
123
+ *
124
+ * For full control (e.g. persisting grouping state externally), use
125
+ * `grouping` + `onGroupingChange` instead — when provided, they take
126
+ * precedence over `groupBy`.
127
+ */
128
+ groupBy?: string[];
129
+ /**
130
+ * Controls the visual layout of group header rows.
131
+ * - "spanning" — a single row spanning all columns, showing the group value.
132
+ * - "columns" — the group row aligns to the column grid; every column
133
+ * (including the one being grouped by) can show aggregated values via
134
+ * `meta.aggregationFn` or `meta.groupCell`.
135
+ * Default: "spanning".
136
+ */
137
+ groupRowMode?: "spanning" | "columns";
138
+ /**
139
+ * Default expand state on load, applied only in uncontrolled mode (i.e.
140
+ * when `expanded` is not provided).
141
+ * - "all" — every group expanded.
142
+ * - "none" — every group collapsed.
143
+ * - "first" — only the first top-level group expanded.
144
+ * Default: "none".
145
+ */
146
+ groupDefaultExpand?: "all" | "none" | "first";
147
+ /** When true, a "Group by [column]" option appears in the column header right-click menu. */
148
+ allowUserGrouping?: boolean;
149
+ /** When true, the column(s) used for grouping are hidden from the data rows. */
150
+ hideGroupedColumns?: boolean;
151
+ /**
152
+ * Controls which rows show a selection checkbox when row selection is
153
+ * enabled (i.e. a `meta.checkbox` column exists). No effect if grouping
154
+ * isn't active or no checkbox column exists.
155
+ * - "row" — only data (leaf) rows are selectable. (Default.)
156
+ * - "group" — only group rows are selectable.
157
+ * - "both" — both are selectable and cascade: selecting a group selects
158
+ * all its descendant data rows; a group shows an indeterminate checkbox
159
+ * when only some of its descendants are selected.
160
+ * Default: "row".
161
+ */
162
+ groupSelectionMode?: "group" | "row" | "both";
163
+ /** Controlled grouping state. Takes precedence over `groupBy` when provided. */
164
+ grouping?: GroupingState;
165
+ onGroupingChange?: (state: GroupingState) => void;
166
+ /** Controlled expanded state. Takes precedence over `groupDefaultExpand` when provided. */
167
+ expanded?: ExpandedState;
168
+ onExpandedChange?: (state: ExpandedState) => void;
42
169
  }
43
170
  declare module "@tanstack/react-table" {
44
171
  interface TableOptions<TData extends RowData> extends PartialKeys<TableOptionsResolved<TData>, "state" | "onStateChange" | "renderFallbackValue"> {
@@ -69,6 +196,19 @@ declare module "@tanstack/react-table" {
69
196
  cellValue: unknown;
70
197
  row: RowData;
71
198
  }) => React.ReactNode;
199
+ /**
200
+ * Aggregation shown for this column in "columns" mode group rows.
201
+ * Scoped to sum/count only — matches FLAG-121 Summary Rows' supported
202
+ * aggregations exactly (both features share the same aggregations.ts
203
+ * utilities rather than duplicating the logic).
204
+ */
205
+ aggregationFn?: "sum" | "count";
206
+ /**
207
+ * Custom cell renderer for this column in a "columns" mode group row.
208
+ * Takes precedence over `aggregationFn`. Also reachable on the column
209
+ * currently being grouped by.
210
+ */
211
+ groupCell?: (props: GroupCellProps<TData>) => ReactNode;
72
212
  }
73
213
  }
74
214
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { KeyboardEvent } from 'react';
1
2
  import { SortDirection } from '@tanstack/react-table';
3
+ export declare function handleRowArrowKeyDown(e: KeyboardEvent<HTMLTableRowElement>): void;
2
4
  export declare function getSortIcon(sort: SortDirection | false, nextSort?: boolean): import("react/jsx-runtime").JSX.Element | null;
3
5
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,UAAQ,kDAUxE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/utils.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAUtD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,QAY1E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,QAAQ,UAAQ,kDAUxE"}
@@ -0,0 +1,20 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { clsx as i } from "../../node_modules/clsx/dist/clsx.js";
3
+ import { Icon as t } from "../Icon.js";
4
+ function c(r) {
5
+ if (r.key !== "ArrowDown" && r.key !== "ArrowUp") return;
6
+ r.preventDefault();
7
+ const e = r.key === "ArrowDown" ? r.currentTarget.nextElementSibling : r.currentTarget.previousElementSibling;
8
+ e instanceof HTMLTableRowElement && e.getAttribute("role") === "row" && e.focus();
9
+ }
10
+ function m(r, e = !1) {
11
+ const n = i(
12
+ "text-icon-on-action-primary-normal",
13
+ e && "invisible group-hover:visible"
14
+ );
15
+ return r === "asc" ? /* @__PURE__ */ o(t, { size: 16, className: n, name: "arrow_upward" }) : r === "desc" ? /* @__PURE__ */ o(t, { size: 16, className: n, name: "arrow_downward" }) : null;
16
+ }
17
+ export {
18
+ m as getSortIcon,
19
+ c as handleRowArrowKeyDown
20
+ };
@@ -13,12 +13,14 @@ type DataGridCellProps = PropsWithChildren<{
13
13
  onRightClick?: () => void;
14
14
  error?: boolean;
15
15
  warning?: boolean;
16
+ pending?: boolean;
16
17
  center?: boolean;
17
18
  width?: string;
18
19
  minWidth?: string;
19
20
  disabled?: boolean;
21
+ isLast?: boolean;
20
22
  }>;
21
- export declare const DataGridCell: import('react').MemoExoticComponent<({ id, type, component, children, className, locked, noPadding, paddedLeft, style, onClick, onRightClick, error, warning, center, width, minWidth, disabled, testid, ...props }: AsProps<Tags> & DataGridCellProps) => import("react/jsx-runtime").JSX.Element>;
23
+ export declare const DataGridCell: import('react').MemoExoticComponent<({ id, type, component, children, className, locked, noPadding, paddedLeft, style, onClick, onRightClick, error, warning, pending, center, width, minWidth, disabled, isLast, testid, ...props }: AsProps<Tags> & DataGridCellProps) => import("react/jsx-runtime").JSX.Element>;
22
24
  export type DataGridCellHeaderProps<T> = {
23
25
  header: Header<T, unknown>;
24
26
  children: React.ReactNode;
@@ -26,8 +28,9 @@ export type DataGridCellHeaderProps<T> = {
26
28
  setNodeRef?: (node: HTMLElement | null) => void;
27
29
  node?: RefObject<HTMLElement | null>;
28
30
  useMenuDefaultMinWidth?: boolean;
31
+ allowUserGrouping?: boolean;
29
32
  } & DataGridCellProps & ComponentProps<"th">;
30
- export declare function DataCellHeader<T>({ header, children, setNodeRef, node, id, testid, useMenuDefaultMinWidth, ...props }: DataGridCellHeaderProps<T>): import("react/jsx-runtime").JSX.Element;
33
+ export declare function DataCellHeader<T>({ header, children, setNodeRef, node, id, testid, useMenuDefaultMinWidth, allowUserGrouping, ...props }: DataGridCellHeaderProps<T>): import("react/jsx-runtime").JSX.Element;
31
34
  export declare namespace DataCellHeader {
32
35
  var displayName: string;
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../../src/components/DataGridCell.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,IAAI,EAGJ,MAAM,EACN,OAAO,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,SAAS,EAKV,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExB,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,uNAqBpB,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,6CAiIrC,CAAC;AAIF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IACvC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,iBAAiB,GACnB,cAAc,CAAC,IAAI,CAAC,CAAC;AAEvB,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,MAAM,EACN,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,EAAE,EACF,MAAM,EACN,sBAAsB,EACtB,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CAsO5B;yBA/Oe,cAAc;;;AAoP9B,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACjE,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CA+B5B;yBAnCe,mBAAmB;;;AAuCnC,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,EACvD,IAAI,EACJ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,iBAAiB,2CAmBpB;yBA1Be,aAAa"}
1
+ {"version":3,"file":"DataGridCell.d.ts","sourceRoot":"","sources":["../../src/components/DataGridCell.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,IAAI,EAGJ,MAAM,EACN,OAAO,EACR,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,SAAS,EAKV,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExB,KAAK,iBAAiB,GAAG,iBAAiB,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,wOAuBpB,OAAO,CAAC,IAAI,CAAC,GAAG,iBAAiB,6CAuIrC,CAAC;AAIF,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IACvC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACrC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,iBAAiB,GACnB,cAAc,CAAC,IAAI,CAAC,CAAC;AAEvB,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAChC,MAAM,EACN,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,EAAE,EACF,MAAM,EACN,sBAAsB,EACtB,iBAAiB,EACjB,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CAsS5B;yBAhTe,cAAc;;;AAqT9B,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EACjE,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,uBAAuB,CAAC,CAAC,CAAC,2CA+B5B;yBAnCe,mBAAmB;;;AAuCnC,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,EACvD,IAAI,EACJ,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,iBAAiB,2CAkBpB;yBAzBe,aAAa"}
@@ -0,0 +1,412 @@
1
+ "use client";
2
+ import { jsx as r, jsxs as W, Fragment as X } from "react/jsx-runtime";
3
+ import { useSortable as q } from "../node_modules/@dnd-kit/sortable/dist/sortable.esm.js";
4
+ import { CSS as J } from "../node_modules/@dnd-kit/utilities/dist/utilities.esm.js";
5
+ import { clsx as v } from "../node_modules/clsx/dist/clsx.js";
6
+ import { memo as Y, useRef as V, useState as A, useEffect as B } from "react";
7
+ import { componentPadding as Z, paddingUsingComponentGap as ee } from "../classNames.js";
8
+ import { MenuOption as f } from "./MenuOption.js";
9
+ import { Menu as U } from "./Menu.js";
10
+ import { Icon as j } from "./Icon.js";
11
+ import { Search as ne } from "./Search.js";
12
+ import { useSubMenuSystem as te } from "../hooks/useMenuSystem.js";
13
+ const _ = Y(
14
+ ({
15
+ id: e,
16
+ type: d = "default",
17
+ component: o = "static",
18
+ children: m,
19
+ className: t,
20
+ locked: n = !1,
21
+ noPadding: g = !1,
22
+ paddedLeft: $ = !1,
23
+ style: w,
24
+ onClick: p,
25
+ onRightClick: C,
26
+ error: h,
27
+ warning: D,
28
+ pending: P,
29
+ center: k,
30
+ width: b,
31
+ minWidth: y,
32
+ disabled: F,
33
+ isLast: z,
34
+ testid: O,
35
+ ...H
36
+ }) => {
37
+ const L = d === "header" ? "th" : "td", c = V(null), [E, S] = A(!1), [M, x] = A(!1);
38
+ B(() => () => {
39
+ c.current && (clearTimeout(c.current), c.current = null);
40
+ }, []);
41
+ const G = (u) => {
42
+ x(!0), c.current = window.setTimeout(() => {
43
+ S(!0);
44
+ }, 500);
45
+ }, I = (u) => {
46
+ c.current && (clearTimeout(c.current), c.current = null);
47
+ const K = u.nativeEvent instanceof MouseEvent && u.nativeEvent.button === 2;
48
+ !E && p && !K && M && p(u), K && C && C(), S(!1), x(!1);
49
+ }, R = () => {
50
+ c.current && (clearTimeout(c.current), c.current = null);
51
+ }, T = d === "header" && !n && !["button"].includes(o) && "bg-brand-400 border-brand-200", N = n && !["button"].includes(o) && "bg-neutral-400 border-neutral-300", l = d === "header" && o !== "button" && o !== "icon" && !z && v("border-r"), a = o === "button" && v("border-r border-b border-border-primary-normal"), s = o === "icon" && v("border-l"), i = v(
52
+ l,
53
+ a,
54
+ T,
55
+ N,
56
+ s,
57
+ t,
58
+ "flex flex-1 items-center gap-1 whitespace-nowrap h-10 relative text-text-primary-normal",
59
+ "focus-within:!z-10",
60
+ "overflow-x-hidden",
61
+ "overflow-y-hidden",
62
+ o === "input" && "border",
63
+ o === "input" && !h && !D && "border-border-primary-normal",
64
+ o === "input" && !h && !D && P && "[&:not(:focus-within)]:border-background-warning-normal",
65
+ o === "input" && h && "border-border-primary-error",
66
+ o === "input" && D && "border-background-warning-normal",
67
+ !["button", "icon"].includes(o) && !g && Z,
68
+ $ && "pl-2",
69
+ o === "icon" && "border-l",
70
+ E && "!cursor-grabbing",
71
+ o === "checkbox" || k && "justify-center",
72
+ F && "!text-text-primary-disabled"
73
+ );
74
+ return /* @__PURE__ */ r(
75
+ L,
76
+ {
77
+ id: e,
78
+ "data-testid": O,
79
+ className: v("flex h-10", !b && "flex-1"),
80
+ style: { width: b, minWidth: y },
81
+ ...H,
82
+ "data-theme": d === "header" && !n ? "brand" : void 0,
83
+ children: /* @__PURE__ */ r(
84
+ "div",
85
+ {
86
+ className: i,
87
+ style: {
88
+ ...w
89
+ },
90
+ onMouseDown: G,
91
+ onMouseUp: I,
92
+ onMouseLeave: R,
93
+ onTouchStart: G,
94
+ onTouchEnd: I,
95
+ onTouchCancel: R,
96
+ onContextMenu: (u) => u.preventDefault(),
97
+ children: m
98
+ }
99
+ )
100
+ }
101
+ );
102
+ }
103
+ );
104
+ _.displayName = "DataGridCell";
105
+ function Q({
106
+ header: e,
107
+ children: d,
108
+ setNodeRef: o,
109
+ node: m,
110
+ id: t,
111
+ testid: n,
112
+ useMenuDefaultMinWidth: g,
113
+ allowUserGrouping: $,
114
+ ...w
115
+ }) {
116
+ const [p, C] = A(!1), [h, D] = A(
117
+ e.column.getFilterValue() ?? ""
118
+ ), P = V(null), k = V(!1), { column: b, getContext: y } = e, { id: F, setFilterValue: z } = b, {
119
+ menuRootRef: O,
120
+ isMenuActive: H,
121
+ registerSubMenu: L,
122
+ listeners: c,
123
+ mobileHide: E
124
+ } = te(m || P);
125
+ B(() => {
126
+ const l = y().table.options.initialState?.columnPinning, a = l?.left ?? [], s = l?.right ?? [];
127
+ k.current = [...a, ...s].includes(F);
128
+ }, [F, y]), B(() => {
129
+ const l = setTimeout(() => {
130
+ z(h);
131
+ }, 500);
132
+ return () => {
133
+ clearTimeout(l);
134
+ };
135
+ }, [h, z]);
136
+ const S = !!$ && b.getCanGroup(), M = b.getIsGrouped(), x = b.getGroupedIndex(), G = y().table.getState().grouping.length, I = (l) => {
137
+ y().table.setGrouping((a) => {
138
+ const s = a.indexOf(F), i = s + l;
139
+ if (s === -1 || i < 0 || i >= a.length)
140
+ return a;
141
+ const u = [...a];
142
+ return [u[s], u[i]] = [u[i], u[s]], u;
143
+ });
144
+ }, R = {
145
+ position: "relative",
146
+ whiteSpace: "nowrap",
147
+ minWidth: e.column.getSize(),
148
+ "--color-text-primary-normal": "var(--color-text-brand-primary-normal)",
149
+ "--color-icon-on-action-primary-normal": "var(--color-text-brand-primary-normal)",
150
+ "--background-action-secondary-normal": "var(--color-text-brand-primary-normal)",
151
+ ...w.style
152
+ };
153
+ return /* @__PURE__ */ W(
154
+ _,
155
+ {
156
+ id: t,
157
+ testid: n,
158
+ ref: o || P,
159
+ type: "header",
160
+ component: "header",
161
+ style: R,
162
+ minWidth: `${e.column.getSize()}px`,
163
+ onClick: e.column.getToggleSortingHandler(),
164
+ onRightClick: () => C(!p),
165
+ ...w,
166
+ children: [
167
+ d,
168
+ M && /* @__PURE__ */ r(
169
+ j,
170
+ {
171
+ name: "workspaces",
172
+ size: 16,
173
+ className: "shrink-0",
174
+ title: `Grouped (level ${x + 1})`,
175
+ "data-testid": n ? `${n}-grouped-indicator` : void 0
176
+ }
177
+ ),
178
+ (e.column.getCanFilter() || !k.current && e.column.getCanPin() || S) && /* @__PURE__ */ W(
179
+ U,
180
+ {
181
+ id: t ? `${t}-menu` : void 0,
182
+ testid: n ? `${n}-menu` : void 0,
183
+ ref: O,
184
+ positionTo: m || P,
185
+ show: p,
186
+ setShow: C,
187
+ mobileHide: E,
188
+ useDefaultMinWidth: g,
189
+ children: [
190
+ e.column.getCanFilter() && /* @__PURE__ */ r(
191
+ f,
192
+ {
193
+ id: t ? `${t}-filter-option` : void 0,
194
+ testid: n ? `${n}-filter-option` : void 0,
195
+ ...c,
196
+ subMenu: ({ menuId: l, subMenuLevel: a, ...s }) => /* @__PURE__ */ W(
197
+ U,
198
+ {
199
+ id: t ? `${t}-filter-submenu` : void 0,
200
+ testid: n ? `${n}-filter-submenu` : void 0,
201
+ ...s,
202
+ show: H(l, a),
203
+ ref: (i) => {
204
+ L(l, i);
205
+ },
206
+ useDefaultMinWidth: g,
207
+ children: [
208
+ /* @__PURE__ */ r("div", { className: v(ee), children: /* @__PURE__ */ r(
209
+ ne,
210
+ {
211
+ id: t ? `${t}-filter-search` : void 0,
212
+ testid: n ? `${n}-filter-search` : void 0,
213
+ onChange: (i) => {
214
+ D(i.target.value);
215
+ },
216
+ onKeyDown: (i) => {
217
+ [" ", "Space"].includes(i.key) && i.stopPropagation();
218
+ },
219
+ value: h ?? ""
220
+ }
221
+ ) }),
222
+ /* @__PURE__ */ r(
223
+ f,
224
+ {
225
+ id: t ? `${t}-filter-contains` : void 0,
226
+ testid: n ? `${n}-filter-contains` : void 0,
227
+ onClick: N,
228
+ before: T("includesString"),
229
+ children: "Contains"
230
+ }
231
+ ),
232
+ /* @__PURE__ */ r(
233
+ f,
234
+ {
235
+ id: t ? `${t}-filter-startswith` : void 0,
236
+ testid: n ? `${n}-filter-startswith` : void 0,
237
+ onClick: N,
238
+ before: T("startsWith"),
239
+ children: "Starts with"
240
+ }
241
+ ),
242
+ /* @__PURE__ */ r(
243
+ f,
244
+ {
245
+ id: t ? `${t}-filter-endswith` : void 0,
246
+ testid: n ? `${n}-filter-endswith` : void 0,
247
+ onClick: N,
248
+ before: T("endsWith"),
249
+ children: "Ends with"
250
+ }
251
+ )
252
+ ]
253
+ }
254
+ ),
255
+ children: "Filter"
256
+ }
257
+ ),
258
+ !k.current && e.column.getCanPin() && /* @__PURE__ */ r(
259
+ f,
260
+ {
261
+ onClick: () => {
262
+ C(!p);
263
+ },
264
+ ...c,
265
+ subMenu: ({ menuId: l, subMenuLevel: a, ...s }) => /* @__PURE__ */ W(
266
+ U,
267
+ {
268
+ ...s,
269
+ show: H(l, a),
270
+ ref: (i) => {
271
+ L(l, i);
272
+ },
273
+ children: [
274
+ /* @__PURE__ */ r(
275
+ f,
276
+ {
277
+ selected: e.column.getIsPinned() === "left",
278
+ onClick: () => {
279
+ e.column.getIsPinned() === "left" ? e.column.pin(!1) : e.column.pin("left");
280
+ },
281
+ after: e.column.getIsPinned() === "left" && /* @__PURE__ */ r(j, { name: "check" }),
282
+ children: "Left"
283
+ }
284
+ ),
285
+ /* @__PURE__ */ r(
286
+ f,
287
+ {
288
+ selected: e.column.getIsPinned() === "right",
289
+ onClick: () => {
290
+ e.column.getIsPinned() === "right" ? e.column.pin(!1) : e.column.pin("right");
291
+ },
292
+ after: e.column.getIsPinned() === "right" && /* @__PURE__ */ r(j, { name: "check" }),
293
+ children: "Right"
294
+ }
295
+ )
296
+ ]
297
+ }
298
+ ),
299
+ children: `Freeze [${e.column.columnDef.header}]`
300
+ }
301
+ ),
302
+ S && /* @__PURE__ */ r(
303
+ f,
304
+ {
305
+ id: t ? `${t}-group-option` : void 0,
306
+ testid: n ? `${n}-group-option` : void 0,
307
+ onClick: e.column.getToggleGroupingHandler(),
308
+ children: M ? "Remove group" : `Group by [${e.column.columnDef.header}]`
309
+ }
310
+ ),
311
+ S && M && G > 1 && /* @__PURE__ */ W(X, { children: [
312
+ /* @__PURE__ */ r(
313
+ f,
314
+ {
315
+ id: t ? `${t}-group-move-up` : void 0,
316
+ testid: n ? `${n}-group-move-up` : void 0,
317
+ disabled: x === 0,
318
+ onClick: () => I(-1),
319
+ children: "Move up"
320
+ }
321
+ ),
322
+ /* @__PURE__ */ r(
323
+ f,
324
+ {
325
+ id: t ? `${t}-group-move-down` : void 0,
326
+ testid: n ? `${n}-group-move-down` : void 0,
327
+ disabled: x === G - 1,
328
+ onClick: () => I(1),
329
+ children: "Move down"
330
+ }
331
+ )
332
+ ] })
333
+ ]
334
+ }
335
+ )
336
+ ]
337
+ }
338
+ );
339
+ function T(l) {
340
+ return /* @__PURE__ */ r(
341
+ j,
342
+ {
343
+ name: "check",
344
+ className: v(
345
+ e.column.columnDef.filterFn !== l && "text-transparent"
346
+ )
347
+ }
348
+ );
349
+ }
350
+ function N(l, a) {
351
+ let s = "includesString";
352
+ const i = e.column.columnDef.filterFn;
353
+ a?.toLowerCase() === "starts with" && (s = i === "startsWith" ? "auto" : "startsWith"), a?.toLowerCase() === "ends with" && (s = i === "endsWith" ? "auto" : "endsWith"), a?.toLowerCase() === "contains" && (s = i === "includesString" ? "auto" : "includesString"), e.column.columnDef.filterFn = s, e.column.setFilterValue(h);
354
+ }
355
+ }
356
+ Q.displayName = "DataCellHeader";
357
+ function oe({
358
+ header: e,
359
+ children: d,
360
+ ...o
361
+ }) {
362
+ const { attributes: m, isDragging: t, listeners: n, setNodeRef: g, transform: $, node: w } = q({
363
+ id: e.column.id
364
+ }), p = {
365
+ opacity: t ? 0.8 : 1,
366
+ position: "relative",
367
+ transform: J.Translate.toString($),
368
+ transition: "width transform 0.2s ease-in-out",
369
+ whiteSpace: "nowrap",
370
+ zIndex: t ? 1 : 0,
371
+ "--color-text-primary-normal": "var(--color-action-000)",
372
+ "--color-icon-on-action-primary-normal": "var(--color-action-000)",
373
+ userSelect: "none"
374
+ };
375
+ return /* @__PURE__ */ r(
376
+ Q,
377
+ {
378
+ header: e,
379
+ setNodeRef: g,
380
+ node: w,
381
+ style: p,
382
+ ...o,
383
+ ...m,
384
+ ...n,
385
+ children: d
386
+ }
387
+ );
388
+ }
389
+ oe.displayName = "DraggableCellHeader";
390
+ function re({
391
+ cell: e,
392
+ children: d,
393
+ ...o
394
+ }) {
395
+ const { isDragging: m, setNodeRef: t, transform: n } = q({
396
+ id: e.column.id
397
+ }), g = {
398
+ opacity: m ? 0.8 : 1,
399
+ position: "relative",
400
+ transform: J.Translate.toString(n),
401
+ transition: "width transform 0.2s ease-in-out",
402
+ zIndex: m ? 1 : 0
403
+ };
404
+ return /* @__PURE__ */ r(_, { style: g, ref: t, width: `${e.column.getSize()}px`, ...o, children: d });
405
+ }
406
+ re.displayName = "DragAlongCell";
407
+ export {
408
+ Q as DataCellHeader,
409
+ _ as DataGridCell,
410
+ re as DragAlongCell,
411
+ oe as DraggableCellHeader
412
+ };