@drivenets/design-system 0.0.3 → 0.0.5

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 (247) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +51 -0
  3. package/dist/components/ds-alert-banner/ds-alert-banner.cjs +157 -52
  4. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
  5. package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
  6. package/dist/components/ds-alert-banner/ds-alert-banner.js +157 -52
  7. package/dist/components/ds-alert-banner/ds-alert-banner.js.map +1 -1
  8. package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
  9. package/dist/components/ds-alert-banner/ds-alert-banner.types.js.map +1 -1
  10. package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +59 -16
  11. package/dist/components/ds-breadcrumb/ds-breadcrumb.js +59 -16
  12. package/dist/components/ds-breadcrumb/ds-breadcrumb.js.map +1 -1
  13. package/dist/components/ds-button/ds-button.cjs +18 -2
  14. package/dist/components/ds-button/ds-button.d.cts +2 -2
  15. package/dist/components/ds-button/ds-button.d.cts.map +1 -1
  16. package/dist/components/ds-button/ds-button.d.ts +2 -2
  17. package/dist/components/ds-button/ds-button.js +18 -2
  18. package/dist/components/ds-button/ds-button.js.map +1 -1
  19. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +79 -10
  20. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +79 -10
  21. package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
  22. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +78 -10
  23. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +78 -10
  24. package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
  25. package/dist/components/ds-checkbox/ds-checkbox.cjs +89 -18
  26. package/dist/components/ds-checkbox/ds-checkbox.js +89 -18
  27. package/dist/components/ds-checkbox/ds-checkbox.js.map +1 -1
  28. package/dist/components/ds-chip/ds-chip.cjs +100 -30
  29. package/dist/components/ds-chip/ds-chip.js +100 -30
  30. package/dist/components/ds-chip/ds-chip.js.map +1 -1
  31. package/dist/components/ds-chip-group/ds-chip-group.cjs +6 -6
  32. package/dist/components/ds-chip-group/ds-chip-group.js +6 -6
  33. package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
  34. package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
  35. package/dist/components/ds-confirmation/ds-confirmation.cjs +210 -56
  36. package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
  37. package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
  38. package/dist/components/ds-confirmation/ds-confirmation.js +210 -56
  39. package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
  40. package/dist/components/ds-dialog/ds-dialog.js.map +1 -1
  41. package/dist/components/ds-drawer/ds-drawer.cjs +261 -61
  42. package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
  43. package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
  44. package/dist/components/ds-drawer/ds-drawer.js +261 -61
  45. package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
  46. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +481 -135
  47. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +481 -135
  48. package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
  49. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.cjs +146 -56
  50. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
  51. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
  52. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js +146 -56
  53. package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js.map +1 -1
  54. package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +190 -69
  55. package/dist/components/ds-file-upload/components/file-upload/file-upload.js +190 -69
  56. package/dist/components/ds-file-upload/components/file-upload/file-upload.js.map +1 -1
  57. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +273 -132
  58. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +273 -132
  59. package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js.map +1 -1
  60. package/dist/components/ds-file-upload/ds-file-upload.cjs +96 -16
  61. package/dist/components/ds-file-upload/ds-file-upload.js +96 -16
  62. package/dist/components/ds-file-upload/ds-file-upload.js.map +1 -1
  63. package/dist/components/ds-file-upload/errors/file-upload-errors.js.map +1 -1
  64. package/dist/components/ds-file-upload/hooks/use-file-upload.cjs +93 -93
  65. package/dist/components/ds-file-upload/hooks/use-file-upload.js +93 -93
  66. package/dist/components/ds-file-upload/hooks/use-file-upload.js.map +1 -1
  67. package/dist/components/ds-file-upload/types/accept-types.js.map +1 -1
  68. package/dist/components/ds-file-upload/utils/accept-utils.js.map +1 -1
  69. package/dist/components/ds-file-upload/utils/constants.js.map +1 -1
  70. package/dist/components/ds-file-upload/utils/file-factory.js.map +1 -1
  71. package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
  72. package/dist/components/ds-file-upload/utils/generate-helper-text.js.map +1 -1
  73. package/dist/components/ds-file-upload/utils/get-error-message.js.map +1 -1
  74. package/dist/components/ds-file-upload/utils/is-file-equal.js.map +1 -1
  75. package/dist/components/ds-form-control/ds-form-control.cjs +119 -34
  76. package/dist/components/ds-form-control/ds-form-control.d.cts +7 -7
  77. package/dist/components/ds-form-control/ds-form-control.d.ts +7 -7
  78. package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
  79. package/dist/components/ds-form-control/ds-form-control.js +119 -34
  80. package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
  81. package/dist/components/ds-form-control/ds-form-control.types.js.map +1 -1
  82. package/dist/components/ds-grid/ds-grid.js.map +1 -1
  83. package/dist/components/ds-icon/ds-icon.cjs +84 -13
  84. package/dist/components/ds-icon/ds-icon.js +84 -13
  85. package/dist/components/ds-icon/ds-icon.js.map +1 -1
  86. package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
  87. package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
  88. package/dist/components/ds-modal/ds-modal.cjs +222 -55
  89. package/dist/components/ds-modal/ds-modal.d.cts +8 -8
  90. package/dist/components/ds-modal/ds-modal.d.ts +8 -8
  91. package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
  92. package/dist/components/ds-modal/ds-modal.js +222 -55
  93. package/dist/components/ds-modal/ds-modal.js.map +1 -1
  94. package/dist/components/ds-number-input/ds-number-input.cjs +136 -49
  95. package/dist/components/ds-number-input/ds-number-input.js +136 -49
  96. package/dist/components/ds-number-input/ds-number-input.js.map +1 -1
  97. package/dist/components/ds-panel/ds-panel.cjs +111 -19
  98. package/dist/components/ds-panel/ds-panel.d.cts +2 -2
  99. package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
  100. package/dist/components/ds-panel/ds-panel.d.ts +2 -2
  101. package/dist/components/ds-panel/ds-panel.js +111 -19
  102. package/dist/components/ds-panel/ds-panel.js.map +1 -1
  103. package/dist/components/ds-password-input/ds-password-input.cjs +108 -41
  104. package/dist/components/ds-password-input/ds-password-input.js +108 -41
  105. package/dist/components/ds-password-input/ds-password-input.js.map +1 -1
  106. package/dist/components/ds-popover/ds-popover.cjs +50 -12
  107. package/dist/components/ds-popover/ds-popover.js +50 -12
  108. package/dist/components/ds-popover/ds-popover.js.map +1 -1
  109. package/dist/components/ds-radio-group/ds-radio-group.cjs +209 -53
  110. package/dist/components/ds-radio-group/ds-radio-group.js +209 -53
  111. package/dist/components/ds-radio-group/ds-radio-group.js.map +1 -1
  112. package/dist/components/ds-segment-group/ds-segment-group.cjs +215 -0
  113. package/dist/components/ds-segment-group/ds-segment-group.d.cts +26 -0
  114. package/dist/components/ds-segment-group/ds-segment-group.d.cts.map +1 -0
  115. package/dist/components/ds-segment-group/ds-segment-group.d.ts +26 -0
  116. package/dist/components/ds-segment-group/ds-segment-group.d.ts.map +1 -0
  117. package/dist/components/ds-segment-group/ds-segment-group.js +214 -0
  118. package/dist/components/ds-segment-group/ds-segment-group.js.map +1 -0
  119. package/dist/components/ds-segment-group/ds-segment-group.module.cjs +12 -0
  120. package/dist/components/ds-segment-group/ds-segment-group.module.js +12 -0
  121. package/dist/components/ds-segment-group/ds-segment-group.module.js.map +1 -0
  122. package/dist/components/ds-segment-group/ds-segment-group.types.cjs +2 -0
  123. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts +52 -0
  124. package/dist/components/ds-segment-group/ds-segment-group.types.d.cts.map +1 -0
  125. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts +52 -0
  126. package/dist/components/ds-segment-group/ds-segment-group.types.d.ts.map +1 -0
  127. package/dist/components/ds-segment-group/ds-segment-group.types.js +2 -0
  128. package/dist/components/ds-segment-group/index.cjs +2 -0
  129. package/dist/components/ds-segment-group/index.d.ts +2 -0
  130. package/dist/components/ds-segment-group/index.js +2 -0
  131. package/dist/components/ds-select/ds-select.cjs +198 -89
  132. package/dist/components/ds-select/ds-select.d.cts +2 -2
  133. package/dist/components/ds-select/ds-select.d.cts.map +1 -1
  134. package/dist/components/ds-select/ds-select.d.ts +2 -2
  135. package/dist/components/ds-select/ds-select.js +198 -89
  136. package/dist/components/ds-select/ds-select.js.map +1 -1
  137. package/dist/components/ds-select/select-items-chips.cjs +73 -22
  138. package/dist/components/ds-select/select-items-chips.js +73 -22
  139. package/dist/components/ds-select/select-items-chips.js.map +1 -1
  140. package/dist/components/ds-smart-tabs/ds-smart-tabs.cjs +208 -46
  141. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
  142. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts.map +1 -1
  143. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
  144. package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
  145. package/dist/components/ds-smart-tabs/ds-smart-tabs.js +208 -46
  146. package/dist/components/ds-smart-tabs/ds-smart-tabs.js.map +1 -1
  147. package/dist/components/ds-smart-tabs/ds-smart-tabs.types.js.map +1 -1
  148. package/dist/components/ds-spinner/ds-spinner.cjs +90 -20
  149. package/dist/components/ds-spinner/ds-spinner.js +90 -20
  150. package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
  151. package/dist/components/ds-spinner/ds-spinner.types.js.map +1 -1
  152. package/dist/components/ds-status-badge/ds-status-badge.cjs +54 -11
  153. package/dist/components/ds-status-badge/ds-status-badge.js +54 -11
  154. package/dist/components/ds-status-badge/ds-status-badge.js.map +1 -1
  155. package/dist/components/ds-stepper/components/ds-step-content.cjs +59 -13
  156. package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
  157. package/dist/components/ds-stepper/components/ds-step-content.js +59 -13
  158. package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
  159. package/dist/components/ds-stepper/components/ds-step-description.cjs +14 -5
  160. package/dist/components/ds-stepper/components/ds-step-description.js +14 -5
  161. package/dist/components/ds-stepper/components/ds-step-description.js.map +1 -1
  162. package/dist/components/ds-stepper/components/ds-step-label.cjs +14 -5
  163. package/dist/components/ds-stepper/components/ds-step-label.js +14 -5
  164. package/dist/components/ds-stepper/components/ds-step-label.js.map +1 -1
  165. package/dist/components/ds-stepper/components/ds-step-next-button.cjs +23 -6
  166. package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
  167. package/dist/components/ds-stepper/components/ds-step-next-button.js +23 -6
  168. package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
  169. package/dist/components/ds-stepper/components/ds-step.cjs +106 -25
  170. package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
  171. package/dist/components/ds-stepper/components/ds-step.js +106 -25
  172. package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
  173. package/dist/components/ds-stepper/ds-stepper.cjs +62 -15
  174. package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
  175. package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
  176. package/dist/components/ds-stepper/ds-stepper.js +62 -15
  177. package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
  178. package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
  179. package/dist/components/ds-stepper/hooks/use-steps.cjs +29 -9
  180. package/dist/components/ds-stepper/hooks/use-steps.js +29 -9
  181. package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
  182. package/dist/components/ds-system-status/ds-system-status.cjs +37 -7
  183. package/dist/components/ds-system-status/ds-system-status.js +37 -7
  184. package/dist/components/ds-system-status/ds-system-status.js.map +1 -1
  185. package/dist/components/ds-system-status/ds-system-status.types.js.map +1 -1
  186. package/dist/components/ds-table/components/core-table/core-table.cjs +281 -48
  187. package/dist/components/ds-table/components/core-table/core-table.js +281 -48
  188. package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
  189. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +134 -50
  190. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +134 -50
  191. package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
  192. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +140 -43
  193. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +140 -43
  194. package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
  195. package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +37 -6
  196. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js +37 -6
  197. package/dist/components/ds-table/components/ds-table-header/ds-table-header.js.map +1 -1
  198. package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +272 -100
  199. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +272 -100
  200. package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
  201. package/dist/components/ds-table/context/ds-table-context.js.map +1 -1
  202. package/dist/components/ds-table/ds-table.cjs +15 -15
  203. package/dist/components/ds-table/ds-table.d.cts +2 -2
  204. package/dist/components/ds-table/ds-table.js +15 -15
  205. package/dist/components/ds-table/ds-table.js.map +1 -1
  206. package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +126 -38
  207. package/dist/components/ds-table/hooks/use-drag-and-drop.js +126 -38
  208. package/dist/components/ds-table/hooks/use-drag-and-drop.js.map +1 -1
  209. package/dist/components/ds-table/utils/column-styling.js.map +1 -1
  210. package/dist/components/ds-table/utils/create-columns-grid-template.js.map +1 -1
  211. package/dist/components/ds-table/utils/merge-refs.js.map +1 -1
  212. package/dist/components/ds-text-input/ds-text-input.cjs +128 -43
  213. package/dist/components/ds-text-input/ds-text-input.js +128 -43
  214. package/dist/components/ds-text-input/ds-text-input.js.map +1 -1
  215. package/dist/components/ds-text-input/ds-text-input.types.js.map +1 -1
  216. package/dist/components/ds-textarea/ds-textarea.cjs +66 -22
  217. package/dist/components/ds-textarea/ds-textarea.js +66 -22
  218. package/dist/components/ds-textarea/ds-textarea.js.map +1 -1
  219. package/dist/components/ds-toast/ds-toast-context.cjs +62 -17
  220. package/dist/components/ds-toast/ds-toast-context.js +62 -17
  221. package/dist/components/ds-toast/ds-toast-context.js.map +1 -1
  222. package/dist/components/ds-toast/ds-toast.cjs +90 -26
  223. package/dist/components/ds-toast/ds-toast.js +90 -26
  224. package/dist/components/ds-toast/ds-toast.js.map +1 -1
  225. package/dist/components/ds-tooltip/ds-tooltip.cjs +51 -13
  226. package/dist/components/ds-tooltip/ds-tooltip.js +51 -13
  227. package/dist/components/ds-tooltip/ds-tooltip.js.map +1 -1
  228. package/dist/components/ds-typography/ds-typography.cjs +51 -7
  229. package/dist/components/ds-typography/ds-typography.config.js.map +1 -1
  230. package/dist/components/ds-typography/ds-typography.js +51 -7
  231. package/dist/components/ds-typography/ds-typography.js.map +1 -1
  232. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +91 -30
  233. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
  234. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
  235. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js +91 -30
  236. package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js.map +1 -1
  237. package/dist/index.cjs +3 -0
  238. package/dist/index.d.cts +3 -1
  239. package/dist/index.d.ts +4 -1
  240. package/dist/index.js +3 -1
  241. package/dist/index.min.css +1 -1
  242. package/package.json +8 -2
  243. package/src/components/ds-segment-group/ds-segment-group.module.scss +99 -0
  244. package/src/components/ds-segment-group/ds-segment-group.tsx +76 -0
  245. package/src/components/ds-segment-group/ds-segment-group.types.tsx +64 -0
  246. package/src/components/ds-segment-group/index.tsx +2 -0
  247. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ds-table.js","names":["ROW_SIZE_HEIGHT_MAP: Record<DsTableRowSize, number>","React","selection: Record<string, boolean>","styles","contextValue: DsTableContextType<TData, TValue>","classnames","Table","DsTableHeader","DsTableRow","DsTableBulkActions"],"sources":["../../../src/components/ds-table/ds-table.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useImperativeHandle } from 'react';\nimport {\n\ttype RowSelectionState,\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\tuseReactTable,\n\ttype VisibilityState,\n} from '@tanstack/react-table';\nimport { useVirtualizer, type VirtualItem } from '@tanstack/react-virtual';\nimport classnames from 'classnames';\nimport { Table, TableBody, TableCell, TableRow } from './components/core-table';\nimport { DsTableBulkActions } from './components/ds-table-bulk-actions';\nimport { DsTableHeader } from './components/ds-table-header';\nimport styles from './ds-table.module.scss';\nimport type { DsDataTableProps, DsTableRowSize } from './ds-table.types';\nimport { DsTableRow } from './components/ds-table-row';\nimport { useDragAndDrop } from './hooks/use-drag-and-drop';\nimport { type DsTableContextType, DsTableContext } from './context/ds-table-context';\nimport { createColumnsGridTemplate } from './utils/create-columns-grid-template';\n\n// Row size to pixel height mapping (matches CSS variables)\nconst ROW_SIZE_HEIGHT_MAP: Record<DsTableRowSize, number> = {\n\tsmall: 36,\n\tmedium: 48,\n\tlarge: 64,\n};\n\n/**\n * Design system Table component\n */\nconst DsTable = <TData extends { id: string }, TValue>({\n\tref,\n\tcolumns,\n\tdata: tableData,\n\tvirtualized = false,\n\tvirtualizedOptions,\n\tclassName,\n\tonRowClick,\n\temptyState,\n\tstickyHeader = true,\n\tbordered = true,\n\tfullWidth = true,\n\thighlightOnHover = true,\n\trowSize = 'medium',\n\texpandable = false,\n\trenderExpandedRow,\n\tselectable = false,\n\tshowSelectAllCheckbox = true,\n\tonSelectionChange,\n\tonSortingChange,\n\tonScroll,\n\tactions = [],\n\tonRowDoubleClick,\n\tprimaryRowActions = [],\n\tsecondaryRowActions,\n\treorderable = false,\n\tonOrderChange,\n\tcolumnFilters: externalColumnFilters,\n\tonColumnFiltersChange,\n\tcolumnVisibility: externalColumnVisibility,\n\tonColumnVisibilityChange,\n\tactiveRowId,\n}: DsDataTableProps<TData, TValue>) => {\n\tconst [data, setData] = React.useState(tableData);\n\tconst [sorting, setSorting] = React.useState<SortingState>([]);\n\tconst [internalColumnFilters, setInternalColumnFilters] = React.useState<ColumnFiltersState>([]);\n\tconst [internalColumnVisibility, setInternalColumnVisibility] = React.useState<VisibilityState>({});\n\tconst [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\tconst [expandedRows, setExpandedRows] = React.useState<Record<string, boolean>>({});\n\n\tconst { DragWrapper, SortableWrapper } = useDragAndDrop<TData>({\n\t\tisDragEnabled: reorderable && !virtualized,\n\t\tonOrderChange: (newData) => {\n\t\t\tsetData(newData);\n\t\t\tonOrderChange?.(newData);\n\t\t},\n\t\titems: data,\n\t});\n\n\tconst tableContainerRef = React.useRef<HTMLDivElement>(null);\n\n\tconst columnFilters = externalColumnFilters ?? internalColumnFilters;\n\tconst handleColumnFiltersChange = (\n\t\tupdaterOrValue: ColumnFiltersState | ((old: ColumnFiltersState) => ColumnFiltersState),\n\t) => {\n\t\tconst newFilters = typeof updaterOrValue === 'function' ? updaterOrValue(columnFilters) : updaterOrValue;\n\t\tif (onColumnFiltersChange) {\n\t\t\tonColumnFiltersChange(newFilters);\n\t\t} else {\n\t\t\tsetInternalColumnFilters(newFilters);\n\t\t}\n\t};\n\n\tconst columnVisibility = externalColumnVisibility ?? internalColumnVisibility;\n\tconst handleColumnVisibilityChange = (\n\t\tupdaterOrValue: VisibilityState | ((old: VisibilityState) => VisibilityState),\n\t) => {\n\t\tconst newVisibility =\n\t\t\ttypeof updaterOrValue === 'function' ? updaterOrValue(columnVisibility) : updaterOrValue;\n\n\t\tif (onColumnVisibilityChange) {\n\t\t\tonColumnVisibilityChange(newVisibility);\n\t\t} else {\n\t\t\tsetInternalColumnVisibility(newVisibility);\n\t\t}\n\t};\n\n\tconst handleSortingChange = (updaterOrValue: SortingState | ((old: SortingState) => SortingState)) => {\n\t\tconst newSorting = typeof updaterOrValue === 'function' ? updaterOrValue(sorting) : updaterOrValue;\n\t\tsetSorting(newSorting);\n\t\tonSortingChange?.(newSorting);\n\t};\n\n\tconst handleRowSelectionChange = (\n\t\tupdaterOrValue: RowSelectionState | ((old: RowSelectionState) => RowSelectionState),\n\t) => {\n\t\tconst newRowSelection =\n\t\t\ttypeof updaterOrValue === 'function' ? updaterOrValue(rowSelection) : updaterOrValue;\n\t\tsetRowSelection(newRowSelection);\n\t\tonSelectionChange?.(newRowSelection);\n\t};\n\n\tconst table = useReactTable({\n\t\tdata: reorderable ? data : tableData,\n\t\tcolumns,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tonSortingChange: handleSortingChange,\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnFiltersChange: handleColumnFiltersChange,\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tonColumnVisibilityChange: handleColumnVisibilityChange,\n\t\tonRowSelectionChange: handleRowSelectionChange,\n\t\tgetRowId: (row) => row.id,\n\t\tstate: {\n\t\t\tsorting,\n\t\t\tcolumnFilters,\n\t\t\tcolumnVisibility,\n\t\t\trowSelection,\n\t\t},\n\t\tenableRowSelection: typeof selectable === 'function' ? (row) => selectable(row.original) : selectable,\n\t});\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tselectRow: (rowId: string) => {\n\t\t\t\ttable.getRow(rowId).toggleSelected(true);\n\t\t\t},\n\t\t\tdeselectRow: (rowId: string) => {\n\t\t\t\ttable.getRow(rowId).toggleSelected(false);\n\t\t\t},\n\t\t\tselectAllRows: () => {\n\t\t\t\ttable.toggleAllRowsSelected(true);\n\t\t\t},\n\t\t\tdeselectAllRows: () => {\n\t\t\t\ttable.toggleAllRowsSelected(false);\n\t\t\t},\n\t\t\tselectRows: (rowIds: string[]) => {\n\t\t\t\tconst selection: Record<string, boolean> = {};\n\t\t\t\trowIds.forEach((id) => (selection[id] = true));\n\t\t\t\ttable.setRowSelection(selection);\n\t\t\t},\n\t\t\tgetSelectedRows: () => {\n\t\t\t\treturn table.getFilteredSelectedRowModel().rows.map((r) => r.original);\n\t\t\t},\n\t\t}),\n\t\t[table],\n\t);\n\n\tconst { rows, rowsById } = table.getRowModel();\n\n\tconst rowVirtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\tgetScrollElement: () => tableContainerRef.current,\n\t\t// estimate row height for accurate scrollbar dragging\n\t\testimateSize: () => virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],\n\t\toverscan: virtualizedOptions?.overscan || 5,\n\t\tonChange: (instance, sync) => {\n\t\t\tif (sync && onScroll) {\n\t\t\t\tconst scrollOffset = instance.scrollOffset || 0;\n\t\t\t\tconst totalContentHeight = instance.getTotalSize();\n\t\t\t\tconst viewportHeight = instance.scrollElement?.clientHeight;\n\n\t\t\t\tif (viewportHeight) {\n\t\t\t\t\tonScroll({ scrollOffset, totalContentHeight, viewportHeight });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\tconst toggleRowExpanded = (rowId: string) => {\n\t\tsetExpandedRows((prev) => ({\n\t\t\t...prev,\n\t\t\t[rowId]: !prev[rowId],\n\t\t}));\n\t};\n\n\tconst renderEmptyState = () =>\n\t\tvirtualized ? (\n\t\t\t<div className={styles.emptyStateVirtualized}>{emptyState || 'No results.'}</div>\n\t\t) : (\n\t\t\t<TableRow>\n\t\t\t\t<TableCell\n\t\t\t\t\tcolSpan={columns.length + (expandable ? 1 : 0) + (selectable ? 1 : 0)}\n\t\t\t\t\tclassName={styles.emptyState}\n\t\t\t\t>\n\t\t\t\t\t{emptyState || 'No results.'}\n\t\t\t\t</TableCell>\n\t\t\t</TableRow>\n\t\t);\n\n\tconst selectedRows = Object.entries(rowSelection)\n\t\t.filter(([, selected]) => selected)\n\t\t// This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\t.map(([key]) => rowsById[key]?.original)\n\t\t.filter(Boolean);\n\n\tconst contextValue: DsTableContextType<TData, TValue> = {\n\t\tstickyHeader,\n\t\tbordered,\n\t\tfullWidth,\n\t\thighlightOnHover,\n\t\trowSize,\n\t\texpandable,\n\t\tselectable,\n\t\treorderable,\n\t\tshowSelectAllCheckbox,\n\t\tonRowClick,\n\t\tonRowDoubleClick,\n\t\tprimaryRowActions,\n\t\tsecondaryRowActions,\n\t\trenderExpandedRow,\n\t\tvirtualized,\n\t\texpandedRows,\n\t\ttoggleRowExpanded,\n\t\tactiveRowId,\n\t};\n\n\treturn (\n\t\t<DsTableContext.Provider value={contextValue}>\n\t\t\t<div\n\t\t\t\tref={tableContainerRef}\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tstyles.container,\n\t\t\t\t\t!virtualized && styles.dataTableContainer,\n\t\t\t\t\tvirtualized && styles.virtualizedContainer,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<DragWrapper>\n\t\t\t\t\t<Table\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tvirtualized\n\t\t\t\t\t\t\t\t? ({\n\t\t\t\t\t\t\t\t\t\t'--ds-table-columns-template': createColumnsGridTemplate({\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tselectable: !!selectable,\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t} as React.CSSProperties)\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\tfullWidth && styles.fullWidth,\n\t\t\t\t\t\t\t!bordered && styles.tableNoBorder,\n\t\t\t\t\t\t\tvirtualized && styles.virtualized,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DsTableHeader table={table} />\n\t\t\t\t\t\t<TableBody\n\t\t\t\t\t\t\tstyle={{ height: virtualized ? `${String(rowVirtualizer.getTotalSize())}px` : undefined }}\n\t\t\t\t\t\t\tclassName={classnames(virtualized && styles.virtualizedBody)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{virtualized ? (\n\t\t\t\t\t\t\t\trowVirtualizer.getVirtualItems().length ? (\n\t\t\t\t\t\t\t\t\trowVirtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {\n\t\t\t\t\t\t\t\t\t\tconst row = rows[virtualRow.index];\n\t\t\t\t\t\t\t\t\t\treturn <DsTableRow key={row.id} row={row} virtualRow={virtualRow} />;\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\trenderEmptyState()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<SortableWrapper>\n\t\t\t\t\t\t\t\t\t{rows.length\n\t\t\t\t\t\t\t\t\t\t? rows.map((row) => <DsTableRow key={row.id} row={row} />)\n\t\t\t\t\t\t\t\t\t\t: renderEmptyState()}\n\t\t\t\t\t\t\t\t</SortableWrapper>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</DragWrapper>\n\t\t\t</div>\n\t\t\t{selectable && actions.length > 0 && (\n\t\t\t\t<DsTableBulkActions\n\t\t\t\t\tnumSelectedRows={selectedRows.length}\n\t\t\t\t\tactions={actions.map((action) => ({\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tonClick: () => action.onClick(selectedRows),\n\t\t\t\t\t}))}\n\t\t\t\t\tonClearSelection={table.resetRowSelection}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DsTableContext.Provider>\n\t);\n};\n\nexport default DsTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ds-table.js","names":["React","useImperativeHandle","RowSelectionState","ColumnFiltersState","getCoreRowModel","getFilteredRowModel","getSortedRowModel","SortingState","useReactTable","VisibilityState","useVirtualizer","VirtualItem","classnames","Table","TableBody","TableCell","TableRow","DsTableBulkActions","DsTableHeader","styles","DsDataTableProps","DsTableRowSize","DsTableRow","useDragAndDrop","DsTableContextType","DsTableContext","createColumnsGridTemplate","ROW_SIZE_HEIGHT_MAP","Record","small","medium","large","DsTable","id","ref","columns","data","tableData","virtualized","virtualizedOptions","className","onRowClick","emptyState","stickyHeader","bordered","fullWidth","highlightOnHover","rowSize","expandable","renderExpandedRow","selectable","showSelectAllCheckbox","onSelectionChange","onSortingChange","onScroll","actions","onRowDoubleClick","primaryRowActions","secondaryRowActions","reorderable","onOrderChange","columnFilters","externalColumnFilters","onColumnFiltersChange","columnVisibility","externalColumnVisibility","onColumnVisibilityChange","activeRowId","TData","TValue","setData","useState","sorting","setSorting","internalColumnFilters","setInternalColumnFilters","internalColumnVisibility","setInternalColumnVisibility","rowSelection","setRowSelection","expandedRows","setExpandedRows","DragWrapper","SortableWrapper","isDragEnabled","newData","items","tableContainerRef","useRef","HTMLDivElement","handleColumnFiltersChange","updaterOrValue","old","newFilters","handleColumnVisibilityChange","newVisibility","handleSortingChange","newSorting","handleRowSelectionChange","newRowSelection","table","onRowSelectionChange","getRowId","row","state","enableRowSelection","original","selectRow","rowId","getRow","toggleSelected","deselectRow","selectAllRows","toggleAllRowsSelected","deselectAllRows","selectRows","rowIds","selection","forEach","getSelectedRows","getFilteredSelectedRowModel","rows","map","r","rowsById","getRowModel","rowVirtualizer","count","length","getScrollElement","current","estimateSize","overscan","onChange","instance","sync","scrollOffset","totalContentHeight","getTotalSize","viewportHeight","scrollElement","clientHeight","toggleRowExpanded","prev","renderEmptyState","emptyStateVirtualized","selectedRows","Object","entries","filter","selected","key","Boolean","contextValue","container","dataTableContainer","virtualizedContainer","CSSProperties","undefined","tableNoBorder","height","String","virtualizedBody","getVirtualItems","virtualRow","index","action","onClick","resetRowSelection"],"sources":["../../../src/components/ds-table/ds-table.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useImperativeHandle } from 'react';\nimport {\n\ttype RowSelectionState,\n\ttype ColumnFiltersState,\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\ttype SortingState,\n\tuseReactTable,\n\ttype VisibilityState,\n} from '@tanstack/react-table';\nimport { useVirtualizer, type VirtualItem } from '@tanstack/react-virtual';\nimport classnames from 'classnames';\nimport { Table, TableBody, TableCell, TableRow } from './components/core-table';\nimport { DsTableBulkActions } from './components/ds-table-bulk-actions';\nimport { DsTableHeader } from './components/ds-table-header';\nimport styles from './ds-table.module.scss';\nimport type { DsDataTableProps, DsTableRowSize } from './ds-table.types';\nimport { DsTableRow } from './components/ds-table-row';\nimport { useDragAndDrop } from './hooks/use-drag-and-drop';\nimport { type DsTableContextType, DsTableContext } from './context/ds-table-context';\nimport { createColumnsGridTemplate } from './utils/create-columns-grid-template';\n\n// Row size to pixel height mapping (matches CSS variables)\nconst ROW_SIZE_HEIGHT_MAP: Record<DsTableRowSize, number> = {\n\tsmall: 36,\n\tmedium: 48,\n\tlarge: 64,\n};\n\n/**\n * Design system Table component\n */\nconst DsTable = <TData extends { id: string }, TValue>({\n\tref,\n\tcolumns,\n\tdata: tableData,\n\tvirtualized = false,\n\tvirtualizedOptions,\n\tclassName,\n\tonRowClick,\n\temptyState,\n\tstickyHeader = true,\n\tbordered = true,\n\tfullWidth = true,\n\thighlightOnHover = true,\n\trowSize = 'medium',\n\texpandable = false,\n\trenderExpandedRow,\n\tselectable = false,\n\tshowSelectAllCheckbox = true,\n\tonSelectionChange,\n\tonSortingChange,\n\tonScroll,\n\tactions = [],\n\tonRowDoubleClick,\n\tprimaryRowActions = [],\n\tsecondaryRowActions,\n\treorderable = false,\n\tonOrderChange,\n\tcolumnFilters: externalColumnFilters,\n\tonColumnFiltersChange,\n\tcolumnVisibility: externalColumnVisibility,\n\tonColumnVisibilityChange,\n\tactiveRowId,\n}: DsDataTableProps<TData, TValue>) => {\n\tconst [data, setData] = React.useState(tableData);\n\tconst [sorting, setSorting] = React.useState<SortingState>([]);\n\tconst [internalColumnFilters, setInternalColumnFilters] = React.useState<ColumnFiltersState>([]);\n\tconst [internalColumnVisibility, setInternalColumnVisibility] = React.useState<VisibilityState>({});\n\tconst [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\tconst [expandedRows, setExpandedRows] = React.useState<Record<string, boolean>>({});\n\n\tconst { DragWrapper, SortableWrapper } = useDragAndDrop<TData>({\n\t\tisDragEnabled: reorderable && !virtualized,\n\t\tonOrderChange: (newData) => {\n\t\t\tsetData(newData);\n\t\t\tonOrderChange?.(newData);\n\t\t},\n\t\titems: data,\n\t});\n\n\tconst tableContainerRef = React.useRef<HTMLDivElement>(null);\n\n\tconst columnFilters = externalColumnFilters ?? internalColumnFilters;\n\tconst handleColumnFiltersChange = (\n\t\tupdaterOrValue: ColumnFiltersState | ((old: ColumnFiltersState) => ColumnFiltersState),\n\t) => {\n\t\tconst newFilters = typeof updaterOrValue === 'function' ? updaterOrValue(columnFilters) : updaterOrValue;\n\t\tif (onColumnFiltersChange) {\n\t\t\tonColumnFiltersChange(newFilters);\n\t\t} else {\n\t\t\tsetInternalColumnFilters(newFilters);\n\t\t}\n\t};\n\n\tconst columnVisibility = externalColumnVisibility ?? internalColumnVisibility;\n\tconst handleColumnVisibilityChange = (\n\t\tupdaterOrValue: VisibilityState | ((old: VisibilityState) => VisibilityState),\n\t) => {\n\t\tconst newVisibility =\n\t\t\ttypeof updaterOrValue === 'function' ? updaterOrValue(columnVisibility) : updaterOrValue;\n\n\t\tif (onColumnVisibilityChange) {\n\t\t\tonColumnVisibilityChange(newVisibility);\n\t\t} else {\n\t\t\tsetInternalColumnVisibility(newVisibility);\n\t\t}\n\t};\n\n\tconst handleSortingChange = (updaterOrValue: SortingState | ((old: SortingState) => SortingState)) => {\n\t\tconst newSorting = typeof updaterOrValue === 'function' ? updaterOrValue(sorting) : updaterOrValue;\n\t\tsetSorting(newSorting);\n\t\tonSortingChange?.(newSorting);\n\t};\n\n\tconst handleRowSelectionChange = (\n\t\tupdaterOrValue: RowSelectionState | ((old: RowSelectionState) => RowSelectionState),\n\t) => {\n\t\tconst newRowSelection =\n\t\t\ttypeof updaterOrValue === 'function' ? updaterOrValue(rowSelection) : updaterOrValue;\n\t\tsetRowSelection(newRowSelection);\n\t\tonSelectionChange?.(newRowSelection);\n\t};\n\n\tconst table = useReactTable({\n\t\tdata: reorderable ? data : tableData,\n\t\tcolumns,\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tonSortingChange: handleSortingChange,\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tonColumnFiltersChange: handleColumnFiltersChange,\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tonColumnVisibilityChange: handleColumnVisibilityChange,\n\t\tonRowSelectionChange: handleRowSelectionChange,\n\t\tgetRowId: (row) => row.id,\n\t\tstate: {\n\t\t\tsorting,\n\t\t\tcolumnFilters,\n\t\t\tcolumnVisibility,\n\t\t\trowSelection,\n\t\t},\n\t\tenableRowSelection: typeof selectable === 'function' ? (row) => selectable(row.original) : selectable,\n\t});\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tselectRow: (rowId: string) => {\n\t\t\t\ttable.getRow(rowId).toggleSelected(true);\n\t\t\t},\n\t\t\tdeselectRow: (rowId: string) => {\n\t\t\t\ttable.getRow(rowId).toggleSelected(false);\n\t\t\t},\n\t\t\tselectAllRows: () => {\n\t\t\t\ttable.toggleAllRowsSelected(true);\n\t\t\t},\n\t\t\tdeselectAllRows: () => {\n\t\t\t\ttable.toggleAllRowsSelected(false);\n\t\t\t},\n\t\t\tselectRows: (rowIds: string[]) => {\n\t\t\t\tconst selection: Record<string, boolean> = {};\n\t\t\t\trowIds.forEach((id) => (selection[id] = true));\n\t\t\t\ttable.setRowSelection(selection);\n\t\t\t},\n\t\t\tgetSelectedRows: () => {\n\t\t\t\treturn table.getFilteredSelectedRowModel().rows.map((r) => r.original);\n\t\t\t},\n\t\t}),\n\t\t[table],\n\t);\n\n\tconst { rows, rowsById } = table.getRowModel();\n\n\tconst rowVirtualizer = useVirtualizer({\n\t\tcount: rows.length,\n\t\tgetScrollElement: () => tableContainerRef.current,\n\t\t// estimate row height for accurate scrollbar dragging\n\t\testimateSize: () => virtualizedOptions?.estimateSize || ROW_SIZE_HEIGHT_MAP[rowSize],\n\t\toverscan: virtualizedOptions?.overscan || 5,\n\t\tonChange: (instance, sync) => {\n\t\t\tif (sync && onScroll) {\n\t\t\t\tconst scrollOffset = instance.scrollOffset || 0;\n\t\t\t\tconst totalContentHeight = instance.getTotalSize();\n\t\t\t\tconst viewportHeight = instance.scrollElement?.clientHeight;\n\n\t\t\t\tif (viewportHeight) {\n\t\t\t\t\tonScroll({ scrollOffset, totalContentHeight, viewportHeight });\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\n\tconst toggleRowExpanded = (rowId: string) => {\n\t\tsetExpandedRows((prev) => ({\n\t\t\t...prev,\n\t\t\t[rowId]: !prev[rowId],\n\t\t}));\n\t};\n\n\tconst renderEmptyState = () =>\n\t\tvirtualized ? (\n\t\t\t<div className={styles.emptyStateVirtualized}>{emptyState || 'No results.'}</div>\n\t\t) : (\n\t\t\t<TableRow>\n\t\t\t\t<TableCell\n\t\t\t\t\tcolSpan={columns.length + (expandable ? 1 : 0) + (selectable ? 1 : 0)}\n\t\t\t\t\tclassName={styles.emptyState}\n\t\t\t\t>\n\t\t\t\t\t{emptyState || 'No results.'}\n\t\t\t\t</TableCell>\n\t\t\t</TableRow>\n\t\t);\n\n\tconst selectedRows = Object.entries(rowSelection)\n\t\t.filter(([, selected]) => selected)\n\t\t// This is not necessarily a redundant condition. It depends on `noUncheckedIndexedAccess`.\n\t\t// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n\t\t.map(([key]) => rowsById[key]?.original)\n\t\t.filter(Boolean);\n\n\tconst contextValue: DsTableContextType<TData, TValue> = {\n\t\tstickyHeader,\n\t\tbordered,\n\t\tfullWidth,\n\t\thighlightOnHover,\n\t\trowSize,\n\t\texpandable,\n\t\tselectable,\n\t\treorderable,\n\t\tshowSelectAllCheckbox,\n\t\tonRowClick,\n\t\tonRowDoubleClick,\n\t\tprimaryRowActions,\n\t\tsecondaryRowActions,\n\t\trenderExpandedRow,\n\t\tvirtualized,\n\t\texpandedRows,\n\t\ttoggleRowExpanded,\n\t\tactiveRowId,\n\t};\n\n\treturn (\n\t\t<DsTableContext.Provider value={contextValue}>\n\t\t\t<div\n\t\t\t\tref={tableContainerRef}\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tstyles.container,\n\t\t\t\t\t!virtualized && styles.dataTableContainer,\n\t\t\t\t\tvirtualized && styles.virtualizedContainer,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<DragWrapper>\n\t\t\t\t\t<Table\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tvirtualized\n\t\t\t\t\t\t\t\t? ({\n\t\t\t\t\t\t\t\t\t\t'--ds-table-columns-template': createColumnsGridTemplate({\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tselectable: !!selectable,\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t} as React.CSSProperties)\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\tfullWidth && styles.fullWidth,\n\t\t\t\t\t\t\t!bordered && styles.tableNoBorder,\n\t\t\t\t\t\t\tvirtualized && styles.virtualized,\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<DsTableHeader table={table} />\n\t\t\t\t\t\t<TableBody\n\t\t\t\t\t\t\tstyle={{ height: virtualized ? `${String(rowVirtualizer.getTotalSize())}px` : undefined }}\n\t\t\t\t\t\t\tclassName={classnames(virtualized && styles.virtualizedBody)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{virtualized ? (\n\t\t\t\t\t\t\t\trowVirtualizer.getVirtualItems().length ? (\n\t\t\t\t\t\t\t\t\trowVirtualizer.getVirtualItems().map((virtualRow: VirtualItem) => {\n\t\t\t\t\t\t\t\t\t\tconst row = rows[virtualRow.index];\n\t\t\t\t\t\t\t\t\t\treturn <DsTableRow key={row.id} row={row} virtualRow={virtualRow} />;\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\trenderEmptyState()\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<SortableWrapper>\n\t\t\t\t\t\t\t\t\t{rows.length\n\t\t\t\t\t\t\t\t\t\t? rows.map((row) => <DsTableRow key={row.id} row={row} />)\n\t\t\t\t\t\t\t\t\t\t: renderEmptyState()}\n\t\t\t\t\t\t\t\t</SortableWrapper>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</TableBody>\n\t\t\t\t\t</Table>\n\t\t\t\t</DragWrapper>\n\t\t\t</div>\n\t\t\t{selectable && actions.length > 0 && (\n\t\t\t\t<DsTableBulkActions\n\t\t\t\t\tnumSelectedRows={selectedRows.length}\n\t\t\t\t\tactions={actions.map((action) => ({\n\t\t\t\t\t\t...action,\n\t\t\t\t\t\tonClick: () => action.onClick(selectedRows),\n\t\t\t\t\t}))}\n\t\t\t\t\tonClearSelection={table.resetRowSelection}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</DsTableContext.Provider>\n\t);\n};\n\nexport default DsTable;\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ let react_compiler_runtime = require("react/compiler-runtime");
2
3
  let react_jsx_runtime = require("react/jsx-runtime");
3
4
  let react = require("react");
4
5
  react = require_rolldown_runtime.__toESM(react);
@@ -7,47 +8,134 @@ let __dnd_kit_core = require("@dnd-kit/core");
7
8
  let __dnd_kit_modifiers = require("@dnd-kit/modifiers");
8
9
 
9
10
  //#region src/components/ds-table/hooks/use-drag-and-drop.tsx
10
- const DragWrapper = ({ children, onDragEnd, sensors }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__dnd_kit_core.DndContext, {
11
- collisionDetection: __dnd_kit_core.closestCenter,
12
- modifiers: [__dnd_kit_modifiers.restrictToVerticalAxis],
13
- onDragEnd,
14
- sensors,
15
- children
16
- });
17
- const SortableWrapper = ({ children, items }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__dnd_kit_sortable.SortableContext, {
18
- items,
19
- strategy: __dnd_kit_sortable.verticalListSortingStrategy,
20
- children
21
- });
22
- function useDragAndDrop({ isDragEnabled, onOrderChange, items }) {
23
- const dataIds = react.default.useMemo(() => items.map((row) => row.id), [items]);
24
- const sensors = (0, __dnd_kit_core.useSensors)((0, __dnd_kit_core.useSensor)(__dnd_kit_core.MouseSensor, {}), (0, __dnd_kit_core.useSensor)(__dnd_kit_core.TouchSensor, {}), (0, __dnd_kit_core.useSensor)(__dnd_kit_core.KeyboardSensor, {}));
25
- const handleDragEnd = react.default.useCallback((event) => {
26
- const { active, over } = event;
27
- if (active.id !== over?.id) {
28
- const oldIndex = items.findIndex((row) => row.id === active.id);
29
- const newIndex = items.findIndex((row) => row.id === over?.id);
30
- if (oldIndex !== -1 && newIndex !== -1) {
31
- const newData = (0, __dnd_kit_sortable.arrayMove)(items, oldIndex, newIndex);
32
- onOrderChange?.(newData);
33
- }
34
- }
35
- }, [items, onOrderChange]);
36
- return {
37
- DragWrapper: react.default.useMemo(() => isDragEnabled ? ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, {
38
- onDragEnd: handleDragEnd,
11
+ const DragWrapper = (t0) => {
12
+ const $ = (0, react_compiler_runtime.c)(5);
13
+ const { children, onDragEnd, sensors } = t0;
14
+ let t1;
15
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
+ t1 = [__dnd_kit_modifiers.restrictToVerticalAxis];
17
+ $[0] = t1;
18
+ } else t1 = $[0];
19
+ let t2;
20
+ if ($[1] !== children || $[2] !== onDragEnd || $[3] !== sensors) {
21
+ t2 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__dnd_kit_core.DndContext, {
22
+ collisionDetection: __dnd_kit_core.closestCenter,
23
+ modifiers: t1,
24
+ onDragEnd,
39
25
  sensors,
40
26
  children
41
- }) : react.default.Fragment, [
42
- isDragEnabled,
43
- handleDragEnd,
44
- sensors
45
- ]),
46
- SortableWrapper: react.default.useMemo(() => isDragEnabled ? ({ children }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableWrapper, {
47
- items: dataIds,
27
+ });
28
+ $[1] = children;
29
+ $[2] = onDragEnd;
30
+ $[3] = sensors;
31
+ $[4] = t2;
32
+ } else t2 = $[4];
33
+ return t2;
34
+ };
35
+ const SortableWrapper = (t0) => {
36
+ const $ = (0, react_compiler_runtime.c)(3);
37
+ const { children, items } = t0;
38
+ let t1;
39
+ if ($[0] !== children || $[1] !== items) {
40
+ t1 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__dnd_kit_sortable.SortableContext, {
41
+ items,
42
+ strategy: __dnd_kit_sortable.verticalListSortingStrategy,
48
43
  children
49
- }) : react.default.Fragment, [isDragEnabled, dataIds])
50
- };
44
+ });
45
+ $[0] = children;
46
+ $[1] = items;
47
+ $[2] = t1;
48
+ } else t1 = $[2];
49
+ return t1;
50
+ };
51
+ function useDragAndDrop(t0) {
52
+ const $ = (0, react_compiler_runtime.c)(18);
53
+ const { isDragEnabled, onOrderChange, items } = t0;
54
+ let t1;
55
+ if ($[0] !== items) {
56
+ t1 = items.map(_temp);
57
+ $[0] = items;
58
+ $[1] = t1;
59
+ } else t1 = $[1];
60
+ const dataIds = t1;
61
+ let t2;
62
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
63
+ t2 = {};
64
+ $[2] = t2;
65
+ } else t2 = $[2];
66
+ let t3;
67
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
68
+ t3 = {};
69
+ $[3] = t3;
70
+ } else t3 = $[3];
71
+ let t4;
72
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
73
+ t4 = {};
74
+ $[4] = t4;
75
+ } else t4 = $[4];
76
+ const sensors = (0, __dnd_kit_core.useSensors)((0, __dnd_kit_core.useSensor)(__dnd_kit_core.MouseSensor, t2), (0, __dnd_kit_core.useSensor)(__dnd_kit_core.TouchSensor, t3), (0, __dnd_kit_core.useSensor)(__dnd_kit_core.KeyboardSensor, t4));
77
+ let t5;
78
+ if ($[5] !== items || $[6] !== onOrderChange) {
79
+ t5 = (event) => {
80
+ const { active, over } = event;
81
+ if (active.id !== over?.id) {
82
+ const oldIndex = items.findIndex((row_0) => row_0.id === active.id);
83
+ const newIndex = items.findIndex((row_1) => row_1.id === over?.id);
84
+ if (oldIndex !== -1 && newIndex !== -1) {
85
+ const newData = (0, __dnd_kit_sortable.arrayMove)(items, oldIndex, newIndex);
86
+ onOrderChange?.(newData);
87
+ }
88
+ }
89
+ };
90
+ $[5] = items;
91
+ $[6] = onOrderChange;
92
+ $[7] = t5;
93
+ } else t5 = $[7];
94
+ const handleDragEnd = t5;
95
+ let t6;
96
+ if ($[8] !== handleDragEnd || $[9] !== isDragEnabled || $[10] !== sensors) {
97
+ t6 = isDragEnabled ? (t7$1) => {
98
+ const { children } = t7$1;
99
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DragWrapper, {
100
+ onDragEnd: handleDragEnd,
101
+ sensors,
102
+ children
103
+ });
104
+ } : react.default.Fragment;
105
+ $[8] = handleDragEnd;
106
+ $[9] = isDragEnabled;
107
+ $[10] = sensors;
108
+ $[11] = t6;
109
+ } else t6 = $[11];
110
+ const DragWrapperComponent = t6;
111
+ let t7;
112
+ if ($[12] !== dataIds || $[13] !== isDragEnabled) {
113
+ t7 = isDragEnabled ? (t8$1) => {
114
+ const { children: children_0 } = t8$1;
115
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortableWrapper, {
116
+ items: dataIds,
117
+ children: children_0
118
+ });
119
+ } : react.default.Fragment;
120
+ $[12] = dataIds;
121
+ $[13] = isDragEnabled;
122
+ $[14] = t7;
123
+ } else t7 = $[14];
124
+ const SortableWrapperComponent = t7;
125
+ let t8;
126
+ if ($[15] !== DragWrapperComponent || $[16] !== SortableWrapperComponent) {
127
+ t8 = {
128
+ DragWrapper: DragWrapperComponent,
129
+ SortableWrapper: SortableWrapperComponent
130
+ };
131
+ $[15] = DragWrapperComponent;
132
+ $[16] = SortableWrapperComponent;
133
+ $[17] = t8;
134
+ } else t8 = $[17];
135
+ return t8;
136
+ }
137
+ function _temp(row) {
138
+ return row.id;
51
139
  }
52
140
 
53
141
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { c } from "react/compiler-runtime";
1
2
  import { jsx } from "react/jsx-runtime";
2
3
  import React from "react";
3
4
  import { SortableContext, arrayMove, verticalListSortingStrategy } from "@dnd-kit/sortable";
@@ -5,47 +6,134 @@ import { DndContext, KeyboardSensor, MouseSensor, TouchSensor, closestCenter, us
5
6
  import { restrictToVerticalAxis } from "@dnd-kit/modifiers";
6
7
 
7
8
  //#region src/components/ds-table/hooks/use-drag-and-drop.tsx
8
- const DragWrapper = ({ children, onDragEnd, sensors }) => /* @__PURE__ */ jsx(DndContext, {
9
- collisionDetection: closestCenter,
10
- modifiers: [restrictToVerticalAxis],
11
- onDragEnd,
12
- sensors,
13
- children
14
- });
15
- const SortableWrapper = ({ children, items }) => /* @__PURE__ */ jsx(SortableContext, {
16
- items,
17
- strategy: verticalListSortingStrategy,
18
- children
19
- });
20
- function useDragAndDrop({ isDragEnabled, onOrderChange, items }) {
21
- const dataIds = React.useMemo(() => items.map((row) => row.id), [items]);
22
- const sensors = useSensors(useSensor(MouseSensor, {}), useSensor(TouchSensor, {}), useSensor(KeyboardSensor, {}));
23
- const handleDragEnd = React.useCallback((event) => {
24
- const { active, over } = event;
25
- if (active.id !== over?.id) {
26
- const oldIndex = items.findIndex((row) => row.id === active.id);
27
- const newIndex = items.findIndex((row) => row.id === over?.id);
28
- if (oldIndex !== -1 && newIndex !== -1) {
29
- const newData = arrayMove(items, oldIndex, newIndex);
30
- onOrderChange?.(newData);
31
- }
32
- }
33
- }, [items, onOrderChange]);
34
- return {
35
- DragWrapper: React.useMemo(() => isDragEnabled ? ({ children }) => /* @__PURE__ */ jsx(DragWrapper, {
36
- onDragEnd: handleDragEnd,
9
+ const DragWrapper = (t0) => {
10
+ const $ = c(5);
11
+ const { children, onDragEnd, sensors } = t0;
12
+ let t1;
13
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
14
+ t1 = [restrictToVerticalAxis];
15
+ $[0] = t1;
16
+ } else t1 = $[0];
17
+ let t2;
18
+ if ($[1] !== children || $[2] !== onDragEnd || $[3] !== sensors) {
19
+ t2 = /* @__PURE__ */ jsx(DndContext, {
20
+ collisionDetection: closestCenter,
21
+ modifiers: t1,
22
+ onDragEnd,
37
23
  sensors,
38
24
  children
39
- }) : React.Fragment, [
40
- isDragEnabled,
41
- handleDragEnd,
42
- sensors
43
- ]),
44
- SortableWrapper: React.useMemo(() => isDragEnabled ? ({ children }) => /* @__PURE__ */ jsx(SortableWrapper, {
45
- items: dataIds,
25
+ });
26
+ $[1] = children;
27
+ $[2] = onDragEnd;
28
+ $[3] = sensors;
29
+ $[4] = t2;
30
+ } else t2 = $[4];
31
+ return t2;
32
+ };
33
+ const SortableWrapper = (t0) => {
34
+ const $ = c(3);
35
+ const { children, items } = t0;
36
+ let t1;
37
+ if ($[0] !== children || $[1] !== items) {
38
+ t1 = /* @__PURE__ */ jsx(SortableContext, {
39
+ items,
40
+ strategy: verticalListSortingStrategy,
46
41
  children
47
- }) : React.Fragment, [isDragEnabled, dataIds])
48
- };
42
+ });
43
+ $[0] = children;
44
+ $[1] = items;
45
+ $[2] = t1;
46
+ } else t1 = $[2];
47
+ return t1;
48
+ };
49
+ function useDragAndDrop(t0) {
50
+ const $ = c(18);
51
+ const { isDragEnabled, onOrderChange, items } = t0;
52
+ let t1;
53
+ if ($[0] !== items) {
54
+ t1 = items.map(_temp);
55
+ $[0] = items;
56
+ $[1] = t1;
57
+ } else t1 = $[1];
58
+ const dataIds = t1;
59
+ let t2;
60
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
61
+ t2 = {};
62
+ $[2] = t2;
63
+ } else t2 = $[2];
64
+ let t3;
65
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
66
+ t3 = {};
67
+ $[3] = t3;
68
+ } else t3 = $[3];
69
+ let t4;
70
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
71
+ t4 = {};
72
+ $[4] = t4;
73
+ } else t4 = $[4];
74
+ const sensors = useSensors(useSensor(MouseSensor, t2), useSensor(TouchSensor, t3), useSensor(KeyboardSensor, t4));
75
+ let t5;
76
+ if ($[5] !== items || $[6] !== onOrderChange) {
77
+ t5 = (event) => {
78
+ const { active, over } = event;
79
+ if (active.id !== over?.id) {
80
+ const oldIndex = items.findIndex((row_0) => row_0.id === active.id);
81
+ const newIndex = items.findIndex((row_1) => row_1.id === over?.id);
82
+ if (oldIndex !== -1 && newIndex !== -1) {
83
+ const newData = arrayMove(items, oldIndex, newIndex);
84
+ onOrderChange?.(newData);
85
+ }
86
+ }
87
+ };
88
+ $[5] = items;
89
+ $[6] = onOrderChange;
90
+ $[7] = t5;
91
+ } else t5 = $[7];
92
+ const handleDragEnd = t5;
93
+ let t6;
94
+ if ($[8] !== handleDragEnd || $[9] !== isDragEnabled || $[10] !== sensors) {
95
+ t6 = isDragEnabled ? (t7$1) => {
96
+ const { children } = t7$1;
97
+ return /* @__PURE__ */ jsx(DragWrapper, {
98
+ onDragEnd: handleDragEnd,
99
+ sensors,
100
+ children
101
+ });
102
+ } : React.Fragment;
103
+ $[8] = handleDragEnd;
104
+ $[9] = isDragEnabled;
105
+ $[10] = sensors;
106
+ $[11] = t6;
107
+ } else t6 = $[11];
108
+ const DragWrapperComponent = t6;
109
+ let t7;
110
+ if ($[12] !== dataIds || $[13] !== isDragEnabled) {
111
+ t7 = isDragEnabled ? (t8$1) => {
112
+ const { children: children_0 } = t8$1;
113
+ return /* @__PURE__ */ jsx(SortableWrapper, {
114
+ items: dataIds,
115
+ children: children_0
116
+ });
117
+ } : React.Fragment;
118
+ $[12] = dataIds;
119
+ $[13] = isDragEnabled;
120
+ $[14] = t7;
121
+ } else t7 = $[14];
122
+ const SortableWrapperComponent = t7;
123
+ let t8;
124
+ if ($[15] !== DragWrapperComponent || $[16] !== SortableWrapperComponent) {
125
+ t8 = {
126
+ DragWrapper: DragWrapperComponent,
127
+ SortableWrapper: SortableWrapperComponent
128
+ };
129
+ $[15] = DragWrapperComponent;
130
+ $[16] = SortableWrapperComponent;
131
+ $[17] = t8;
132
+ } else t8 = $[17];
133
+ return t8;
134
+ }
135
+ function _temp(row) {
136
+ return row.id;
49
137
  }
50
138
 
51
139
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"use-drag-and-drop.js","names":[],"sources":["../../../../src/components/ds-table/hooks/use-drag-and-drop.tsx"],"sourcesContent":["import React from 'react';\nimport {\n\ttype DragEndEvent,\n\ttype UniqueIdentifier,\n\tclosestCenter,\n\tDndContext,\n\tKeyboardSensor,\n\tMouseSensor,\n\tTouchSensor,\n\tuseSensor,\n\tuseSensors,\n} from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\n\nexport interface UseDragAndDropResult {\n\tDragWrapper: React.ComponentType<React.PropsWithChildren>;\n\tSortableWrapper: React.ComponentType<React.PropsWithChildren>;\n}\n\nexport interface UseDragAndDropOptions<T> {\n\tisDragEnabled: boolean;\n\tonOrderChange?: (newData: T[]) => void;\n\titems: T[];\n}\n\ntype DragWrapperProps = React.PropsWithChildren<{\n\tonDragEnd: (event: DragEndEvent) => void;\n\tsensors: ReturnType<typeof useSensors>;\n}>;\n\nconst DragWrapper = ({ children, onDragEnd, sensors }: DragWrapperProps) => (\n\t<DndContext\n\t\tcollisionDetection={closestCenter}\n\t\tmodifiers={[restrictToVerticalAxis]}\n\t\tonDragEnd={onDragEnd}\n\t\tsensors={sensors}\n\t>\n\t\t{children}\n\t</DndContext>\n);\n\ntype SortableWrapperProps = React.PropsWithChildren<{\n\titems: UniqueIdentifier[];\n}>;\n\nconst SortableWrapper = ({ children, items }: SortableWrapperProps) => (\n\t<SortableContext items={items} strategy={verticalListSortingStrategy}>\n\t\t{children}\n\t</SortableContext>\n);\n\nexport function useDragAndDrop<T extends { id: string }>({\n\tisDragEnabled,\n\tonOrderChange,\n\titems,\n}: UseDragAndDropOptions<T>): UseDragAndDropResult {\n\tconst dataIds = React.useMemo(() => items.map((row) => row.id), [items]);\n\n\tconst sensors = useSensors(\n\t\tuseSensor(MouseSensor, {}),\n\t\tuseSensor(TouchSensor, {}),\n\t\tuseSensor(KeyboardSensor, {}),\n\t);\n\n\tconst handleDragEnd = React.useCallback(\n\t\t(event: DragEndEvent) => {\n\t\t\tconst { active, over } = event;\n\t\t\tif (active.id !== over?.id) {\n\t\t\t\tconst oldIndex = items.findIndex((row) => row.id === active.id);\n\t\t\t\tconst newIndex = items.findIndex((row) => row.id === over?.id);\n\t\t\t\tif (oldIndex !== -1 && newIndex !== -1) {\n\t\t\t\t\tconst newData = arrayMove(items, oldIndex, newIndex);\n\t\t\t\t\tonOrderChange?.(newData);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[items, onOrderChange],\n\t);\n\n\tconst DragWrapperComponent = React.useMemo(\n\t\t() =>\n\t\t\tisDragEnabled\n\t\t\t\t? ({ children }: React.PropsWithChildren) => (\n\t\t\t\t\t\t<DragWrapper onDragEnd={handleDragEnd} sensors={sensors}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</DragWrapper>\n\t\t\t\t\t)\n\t\t\t\t: React.Fragment,\n\t\t[isDragEnabled, handleDragEnd, sensors],\n\t);\n\n\tconst SortableWrapperComponent = React.useMemo(\n\t\t() =>\n\t\t\tisDragEnabled\n\t\t\t\t? ({ children }: React.PropsWithChildren) => (\n\t\t\t\t\t\t<SortableWrapper items={dataIds}>{children}</SortableWrapper>\n\t\t\t\t\t)\n\t\t\t\t: React.Fragment,\n\t\t[isDragEnabled, dataIds],\n\t);\n\n\treturn {\n\t\tDragWrapper: DragWrapperComponent,\n\t\tSortableWrapper: SortableWrapperComponent,\n\t};\n}\n"],"mappings":";;;;;;;AA+BA,MAAM,eAAe,EAAE,UAAU,WAAW,cAC3C,oBAAC;CACA,oBAAoB;CACpB,WAAW,CAAC,uBAAuB;CACxB;CACF;CAER;EACW;AAOd,MAAM,mBAAmB,EAAE,UAAU,YACpC,oBAAC;CAAuB;CAAO,UAAU;CACvC;EACgB;AAGnB,SAAgB,eAAyC,EACxD,eACA,eACA,SACkD;CAClD,MAAM,UAAU,MAAM,cAAc,MAAM,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC;CAExE,MAAM,UAAU,WACf,UAAU,aAAa,EAAE,CAAC,EAC1B,UAAU,aAAa,EAAE,CAAC,EAC1B,UAAU,gBAAgB,EAAE,CAAC,CAC7B;CAED,MAAM,gBAAgB,MAAM,aAC1B,UAAwB;EACxB,MAAM,EAAE,QAAQ,SAAS;AACzB,MAAI,OAAO,OAAO,MAAM,IAAI;GAC3B,MAAM,WAAW,MAAM,WAAW,QAAQ,IAAI,OAAO,OAAO,GAAG;GAC/D,MAAM,WAAW,MAAM,WAAW,QAAQ,IAAI,OAAO,MAAM,GAAG;AAC9D,OAAI,aAAa,MAAM,aAAa,IAAI;IACvC,MAAM,UAAU,UAAU,OAAO,UAAU,SAAS;AACpD,oBAAgB,QAAQ;;;IAI3B,CAAC,OAAO,cAAc,CACtB;AAwBD,QAAO;EACN,aAvB4B,MAAM,cAEjC,iBACI,EAAE,eACH,oBAAC;GAAY,WAAW;GAAwB;GAC9C;IACY,GAEd,MAAM,UACV;GAAC;GAAe;GAAe;GAAQ,CACvC;EAcA,iBAZgC,MAAM,cAErC,iBACI,EAAE,eACH,oBAAC;GAAgB,OAAO;GAAU;IAA2B,GAE7D,MAAM,UACV,CAAC,eAAe,QAAQ,CACxB;EAKA"}
1
+ {"version":3,"file":"use-drag-and-drop.js","names":["React","DragEndEvent","UniqueIdentifier","closestCenter","DndContext","KeyboardSensor","MouseSensor","TouchSensor","useSensor","useSensors","arrayMove","SortableContext","verticalListSortingStrategy","restrictToVerticalAxis","UseDragAndDropResult","DragWrapper","ComponentType","PropsWithChildren","SortableWrapper","UseDragAndDropOptions","isDragEnabled","onOrderChange","newData","T","items","DragWrapperProps","onDragEnd","event","sensors","ReturnType","t0","$","_c","children","t1","Symbol","for","t2","SortableWrapperProps","useDragAndDrop","map","_temp","dataIds","t3","t4","t5","active","over","id","oldIndex","findIndex","row_0","row","newIndex","row_1","handleDragEnd","t6","t7","Fragment","DragWrapperComponent","t8","children_0","SortableWrapperComponent"],"sources":["../../../../src/components/ds-table/hooks/use-drag-and-drop.tsx"],"sourcesContent":["import React from 'react';\nimport {\n\ttype DragEndEvent,\n\ttype UniqueIdentifier,\n\tclosestCenter,\n\tDndContext,\n\tKeyboardSensor,\n\tMouseSensor,\n\tTouchSensor,\n\tuseSensor,\n\tuseSensors,\n} from '@dnd-kit/core';\nimport { arrayMove, SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers';\n\nexport interface UseDragAndDropResult {\n\tDragWrapper: React.ComponentType<React.PropsWithChildren>;\n\tSortableWrapper: React.ComponentType<React.PropsWithChildren>;\n}\n\nexport interface UseDragAndDropOptions<T> {\n\tisDragEnabled: boolean;\n\tonOrderChange?: (newData: T[]) => void;\n\titems: T[];\n}\n\ntype DragWrapperProps = React.PropsWithChildren<{\n\tonDragEnd: (event: DragEndEvent) => void;\n\tsensors: ReturnType<typeof useSensors>;\n}>;\n\nconst DragWrapper = ({ children, onDragEnd, sensors }: DragWrapperProps) => (\n\t<DndContext\n\t\tcollisionDetection={closestCenter}\n\t\tmodifiers={[restrictToVerticalAxis]}\n\t\tonDragEnd={onDragEnd}\n\t\tsensors={sensors}\n\t>\n\t\t{children}\n\t</DndContext>\n);\n\ntype SortableWrapperProps = React.PropsWithChildren<{\n\titems: UniqueIdentifier[];\n}>;\n\nconst SortableWrapper = ({ children, items }: SortableWrapperProps) => (\n\t<SortableContext items={items} strategy={verticalListSortingStrategy}>\n\t\t{children}\n\t</SortableContext>\n);\n\nexport function useDragAndDrop<T extends { id: string }>({\n\tisDragEnabled,\n\tonOrderChange,\n\titems,\n}: UseDragAndDropOptions<T>): UseDragAndDropResult {\n\tconst dataIds = React.useMemo(() => items.map((row) => row.id), [items]);\n\n\tconst sensors = useSensors(\n\t\tuseSensor(MouseSensor, {}),\n\t\tuseSensor(TouchSensor, {}),\n\t\tuseSensor(KeyboardSensor, {}),\n\t);\n\n\tconst handleDragEnd = React.useCallback(\n\t\t(event: DragEndEvent) => {\n\t\t\tconst { active, over } = event;\n\t\t\tif (active.id !== over?.id) {\n\t\t\t\tconst oldIndex = items.findIndex((row) => row.id === active.id);\n\t\t\t\tconst newIndex = items.findIndex((row) => row.id === over?.id);\n\t\t\t\tif (oldIndex !== -1 && newIndex !== -1) {\n\t\t\t\t\tconst newData = arrayMove(items, oldIndex, newIndex);\n\t\t\t\t\tonOrderChange?.(newData);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[items, onOrderChange],\n\t);\n\n\tconst DragWrapperComponent = React.useMemo(\n\t\t() =>\n\t\t\tisDragEnabled\n\t\t\t\t? ({ children }: React.PropsWithChildren) => (\n\t\t\t\t\t\t<DragWrapper onDragEnd={handleDragEnd} sensors={sensors}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</DragWrapper>\n\t\t\t\t\t)\n\t\t\t\t: React.Fragment,\n\t\t[isDragEnabled, handleDragEnd, sensors],\n\t);\n\n\tconst SortableWrapperComponent = React.useMemo(\n\t\t() =>\n\t\t\tisDragEnabled\n\t\t\t\t? ({ children }: React.PropsWithChildren) => (\n\t\t\t\t\t\t<SortableWrapper items={dataIds}>{children}</SortableWrapper>\n\t\t\t\t\t)\n\t\t\t\t: React.Fragment,\n\t\t[isDragEnabled, dataIds],\n\t);\n\n\treturn {\n\t\tDragWrapper: DragWrapperComponent,\n\t\tSortableWrapper: SortableWrapperComponent,\n\t};\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"column-styling.js","names":[],"sources":["../../../../src/components/ds-table/utils/column-styling.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { defaultColumnSizing } from '@tanstack/react-table';\n\n/**\n * Generates the appropriate style object for a table column/cell based on its size and virtualization state\n *\n * @param columnSize - The size of the column\n * @param virtualized - Whether the table is virtualized\n * @param isLastColumn - Whether this is the last column in the row\n * @returns Style object or undefined if no custom styling is needed\n */\nexport const getColumnStyle = (\n\tcolumnSize: number,\n\tvirtualized?: boolean,\n\tisLastColumn: boolean = false,\n): CSSProperties | undefined => {\n\tconst hasCustomSize = columnSize !== defaultColumnSizing.size;\n\tif (!hasCustomSize) {\n\t\treturn undefined;\n\t}\n\n\tif (virtualized) {\n\t\treturn {\n\t\t\tflexBasis: `${String(columnSize)}px`,\n\t\t\tflexGrow: isLastColumn ? 1 : 0,\n\t\t};\n\t}\n\n\treturn { width: columnSize };\n};\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,kBACZ,YACA,aACA,eAAwB,UACO;AAE/B,KAAI,EADkB,eAAe,oBAAoB,MAExD;AAGD,KAAI,YACH,QAAO;EACN,WAAW,GAAG,OAAO,WAAW,CAAC;EACjC,UAAU,eAAe,IAAI;EAC7B;AAGF,QAAO,EAAE,OAAO,YAAY"}
1
+ {"version":3,"file":"column-styling.js","names":["CSSProperties","defaultColumnSizing","getColumnStyle","columnSize","virtualized","isLastColumn","hasCustomSize","size","undefined","flexBasis","String","flexGrow","width"],"sources":["../../../../src/components/ds-table/utils/column-styling.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { defaultColumnSizing } from '@tanstack/react-table';\n\n/**\n * Generates the appropriate style object for a table column/cell based on its size and virtualization state\n *\n * @param columnSize - The size of the column\n * @param virtualized - Whether the table is virtualized\n * @param isLastColumn - Whether this is the last column in the row\n * @returns Style object or undefined if no custom styling is needed\n */\nexport const getColumnStyle = (\n\tcolumnSize: number,\n\tvirtualized?: boolean,\n\tisLastColumn: boolean = false,\n): CSSProperties | undefined => {\n\tconst hasCustomSize = columnSize !== defaultColumnSizing.size;\n\tif (!hasCustomSize) {\n\t\treturn undefined;\n\t}\n\n\tif (virtualized) {\n\t\treturn {\n\t\t\tflexBasis: `${String(columnSize)}px`,\n\t\t\tflexGrow: isLastColumn ? 1 : 0,\n\t\t};\n\t}\n\n\treturn { width: columnSize };\n};\n"],"mappings":";;;;;;;;;;;AAWA,MAAaE,kBACZC,YACAC,aACAC,eAAwB,UACO;AAE/B,KAAI,EADkBF,eAAeF,oBAAoBM,MAExD;AAGD,KAAIH,YACH,QAAO;EACNK,WAAW,GAAGC,OAAOP,WAAW,CAAA;EAChCQ,UAAUN,eAAe,IAAI;EAC7B;AAGF,QAAO,EAAEO,OAAOT,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-columns-grid-template.js","names":[],"sources":["../../../../src/components/ds-table/utils/create-columns-grid-template.ts"],"sourcesContent":["import type { ColumnDef } from '@tanstack/react-table';\n\ntype Args = {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tcolumns: ColumnDef<any, any>[];\n\tselectable?: boolean;\n};\n\n// In virtualized tables, the rows should all be positioned at the top with a `translateY` offset.\n// We're using a Grid for this rather than `position: absolute` to ensure that each cell aligns with\n// other cells in the same column (mimicking the native table behavior).\nexport function createColumnsGridTemplate({ columns, selectable }: Args): string {\n\treturn columns\n\t\t.reduce<string[]>(\n\t\t\t(acc, col) => {\n\t\t\t\tacc.push(col.size ? `${String(col.size)}px` : 'auto');\n\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\tselectable ? ['max-content'] : [],\n\t\t)\n\t\t.join(' ');\n}\n"],"mappings":";AAWA,SAAgB,0BAA0B,EAAE,SAAS,cAA4B;AAChF,QAAO,QACL,QACC,KAAK,QAAQ;AACb,MAAI,KAAK,IAAI,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,MAAM,OAAO;AAErD,SAAO;IAER,aAAa,CAAC,cAAc,GAAG,EAAE,CACjC,CACA,KAAK,IAAI"}
1
+ {"version":3,"file":"create-columns-grid-template.js","names":["ColumnDef","Args","columns","selectable","createColumnsGridTemplate","reduce","acc","col","push","size","String","join"],"sources":["../../../../src/components/ds-table/utils/create-columns-grid-template.ts"],"sourcesContent":["import type { ColumnDef } from '@tanstack/react-table';\n\ntype Args = {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tcolumns: ColumnDef<any, any>[];\n\tselectable?: boolean;\n};\n\n// In virtualized tables, the rows should all be positioned at the top with a `translateY` offset.\n// We're using a Grid for this rather than `position: absolute` to ensure that each cell aligns with\n// other cells in the same column (mimicking the native table behavior).\nexport function createColumnsGridTemplate({ columns, selectable }: Args): string {\n\treturn columns\n\t\t.reduce<string[]>(\n\t\t\t(acc, col) => {\n\t\t\t\tacc.push(col.size ? `${String(col.size)}px` : 'auto');\n\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\tselectable ? ['max-content'] : [],\n\t\t)\n\t\t.join(' ');\n}\n"],"mappings":";AAWA,SAAgBI,0BAA0B,EAAEF,SAASC,cAA4B;AAChF,QAAOD,QACLG,QACCC,KAAKC,QAAQ;AACbD,MAAIE,KAAKD,IAAIE,OAAO,GAAGC,OAAOH,IAAIE,KAAK,CAAA,MAAO,OAAO;AAErD,SAAOH;IAERH,aAAa,CAAC,cAAc,GAAG,EAChC,CAAC,CACAQ,KAAK,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge-refs.js","names":[],"sources":["../../../../src/components/ds-table/utils/merge-refs.ts"],"sourcesContent":["import type { Ref, RefCallback } from 'react';\n\nexport const mergeRefs = <T>(...refs: Array<Ref<T> | undefined>): RefCallback<T> => {\n\treturn (value) => {\n\t\trefs\n\t\t\t.filter((r) => !!r)\n\t\t\t.forEach((ref) => {\n\t\t\t\tif (typeof ref === 'function') {\n\t\t\t\t\tref(value);\n\t\t\t\t} else {\n\t\t\t\t\tref.current = value;\n\t\t\t\t}\n\t\t\t});\n\t};\n};\n"],"mappings":";AAEA,MAAa,aAAgB,GAAG,SAAoD;AACnF,SAAQ,UAAU;AACjB,OACE,QAAQ,MAAM,CAAC,CAAC,EAAE,CAClB,SAAS,QAAQ;AACjB,OAAI,OAAO,QAAQ,WAClB,KAAI,MAAM;OAEV,KAAI,UAAU;IAEd"}
1
+ {"version":3,"file":"merge-refs.js","names":["Ref","RefCallback","mergeRefs","refs","Array","T","value","filter","r","forEach","ref","current"],"sources":["../../../../src/components/ds-table/utils/merge-refs.ts"],"sourcesContent":["import type { Ref, RefCallback } from 'react';\n\nexport const mergeRefs = <T>(...refs: Array<Ref<T> | undefined>): RefCallback<T> => {\n\treturn (value) => {\n\t\trefs\n\t\t\t.filter((r) => !!r)\n\t\t\t.forEach((ref) => {\n\t\t\t\tif (typeof ref === 'function') {\n\t\t\t\t\tref(value);\n\t\t\t\t} else {\n\t\t\t\t\tref.current = value;\n\t\t\t\t}\n\t\t\t});\n\t};\n};\n"],"mappings":";AAEA,MAAaE,aAAgB,GAAGC,SAAoD;AACnF,SAAQG,UAAU;AACjBH,OACEI,QAAQC,MAAM,CAAC,CAACA,EAAE,CAClBC,SAASC,QAAQ;AACjB,OAAI,OAAOA,QAAQ,WAClBA,KAAIJ,MAAM;OAEVI,KAAIC,UAAUL;IAEd"}