@portnet/ui 6.0.2 → 6.0.3

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 (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -1,28 +1,11 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = useColumnReorder;
6
+ exports.default = useColumnReorder;
8
7
  var React = _interopRequireWildcard(require("react"));
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
17
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
19
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
20
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
25
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
9
  /**
27
10
  * useColumnReorder — Portnet UI v2 (private)
28
11
  *
@@ -65,200 +48,178 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
65
48
  * onDrop never fires.
66
49
  */
67
50
 
68
- function useColumnReorder(columns, columnOrder, onColumnOrderChange) {
69
- var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
70
- var resizeIsActive = options.resizeIsActive;
51
+ function useColumnReorder(columns, columnOrder, onColumnOrderChange, options = {}) {
52
+ const {
53
+ resizeIsActive
54
+ } = options;
71
55
 
72
56
  // Effective order = host order, or fallback to the natural columns
73
57
  // sequence. Memoised on the input shapes; no allocation when both
74
58
  // refs are stable.
75
- var effectiveOrder = React.useMemo(function () {
76
- return columnOrder || columns.map(function (c) {
77
- return c.key;
78
- });
79
- }, [columnOrder, columns]);
80
- var _React$useState = React.useState(null),
81
- _React$useState2 = _slicedToArray(_React$useState, 2),
82
- dragKey = _React$useState2[0],
83
- setDragKey = _React$useState2[1];
84
- var _React$useState3 = React.useState(null),
85
- _React$useState4 = _slicedToArray(_React$useState3, 2),
86
- overKey = _React$useState4[0],
87
- setOverKey = _React$useState4[1];
59
+ const effectiveOrder = React.useMemo(() => columnOrder || columns.map(c => c.key), [columnOrder, columns]);
60
+ const [dragKey, setDragKey] = React.useState(null);
61
+ const [overKey, setOverKey] = React.useState(null);
88
62
 
89
63
  // Refs mirror state for use inside fresh-closure handlers
90
64
  // (the onDragEnd inside cellHandlers needs the latest dragKey
91
65
  // even if React hasn't yet re-rendered).
92
- var dragKeyRef = React.useRef(null);
93
- var reset = React.useCallback(function () {
66
+ const dragKeyRef = React.useRef(null);
67
+ const reset = React.useCallback(() => {
94
68
  dragKeyRef.current = null;
95
69
  setDragKey(null);
96
70
  setOverKey(null);
97
71
  }, []);
98
- var onDragStart = React.useCallback(function (key) {
99
- return function (e) {
100
- // Cross-hook: if resize is active, abort the drag. Resize fires
101
- // first via mousedown; this handler runs later via dragstart.
102
- if (resizeIsActive) {
103
- e.preventDefault();
104
- return;
105
- }
106
- dragKeyRef.current = key;
107
- setDragKey(key);
108
- // Mark the data transfer with the source key. Some browsers
109
- // require a non-empty payload to allow drop (Firefox).
110
- try {
111
- e.dataTransfer.effectAllowed = "move";
112
- e.dataTransfer.setData("text/plain", key);
113
- } catch (_unused) {
114
- // Older Safari throws on certain MIME types; ignored.
115
- }
116
- };
117
- }, [resizeIsActive]);
118
- var onDragOver = React.useCallback(function (key) {
119
- return function (e) {
120
- // CRITICAL — without preventDefault, the browser refuses the
121
- // drop and onDrop never fires.
72
+ const onDragStart = React.useCallback(key => e => {
73
+ // Cross-hook: if resize is active, abort the drag. Resize fires
74
+ // first via mousedown; this handler runs later via dragstart.
75
+ if (resizeIsActive) {
122
76
  e.preventDefault();
123
- try {
124
- e.dataTransfer.dropEffect = "move";
125
- } catch (_unused2) {
126
- // Some browsers throw outside a trusted dragstart→drop chain.
127
- }
128
- if (overKey !== key) setOverKey(key);
129
- };
77
+ return;
78
+ }
79
+ dragKeyRef.current = key;
80
+ setDragKey(key);
81
+ // Mark the data transfer with the source key. Some browsers
82
+ // require a non-empty payload to allow drop (Firefox).
83
+ try {
84
+ e.dataTransfer.effectAllowed = "move";
85
+ e.dataTransfer.setData("text/plain", key);
86
+ } catch {
87
+ // Older Safari throws on certain MIME types; ignored.
88
+ }
89
+ }, [resizeIsActive]);
90
+ const onDragOver = React.useCallback(key => e => {
91
+ // CRITICAL — without preventDefault, the browser refuses the
92
+ // drop and onDrop never fires.
93
+ e.preventDefault();
94
+ try {
95
+ e.dataTransfer.dropEffect = "move";
96
+ } catch {
97
+ // Some browsers throw outside a trusted dragstart→drop chain.
98
+ }
99
+ if (overKey !== key) setOverKey(key);
130
100
  }, [overKey]);
131
- var onDragLeave = React.useCallback(function (key) {
132
- return function () {
133
- // Only clear when leaving the same key we'd entered. Without
134
- // this guard, fast moves between cells flicker the highlight.
135
- if (overKey === key) setOverKey(null);
136
- };
101
+ const onDragLeave = React.useCallback(key => () => {
102
+ // Only clear when leaving the same key we'd entered. Without
103
+ // this guard, fast moves between cells flicker the highlight.
104
+ if (overKey === key) setOverKey(null);
137
105
  }, [overKey]);
138
- var onDrop = React.useCallback(function (targetKey) {
139
- return function (e) {
140
- e.preventDefault();
141
- var sourceKey = e.dataTransfer && e.dataTransfer.getData("text/plain") || dragKeyRef.current;
142
- if (!sourceKey || sourceKey === targetKey) {
143
- reset();
144
- return;
145
- }
146
- var sourceIdx = effectiveOrder.indexOf(sourceKey);
147
- var targetIdx = effectiveOrder.indexOf(targetKey);
148
- if (sourceIdx < 0 || targetIdx < 0) {
149
- reset();
150
- return;
151
- }
152
- var newOrder = _toConsumableArray(effectiveOrder);
153
- newOrder.splice(sourceIdx, 1);
154
- // After splice the target index may shift by 1 if source was
155
- // before target. Recompute against the post-splice array.
156
- var insertIdx = newOrder.indexOf(targetKey);
157
- newOrder.splice(insertIdx, 0, sourceKey);
158
- if (onColumnOrderChange) onColumnOrderChange(newOrder);
106
+ const onDrop = React.useCallback(targetKey => e => {
107
+ e.preventDefault();
108
+ const sourceKey = e.dataTransfer && e.dataTransfer.getData("text/plain") || dragKeyRef.current;
109
+ if (!sourceKey || sourceKey === targetKey) {
159
110
  reset();
160
- };
111
+ return;
112
+ }
113
+ const sourceIdx = effectiveOrder.indexOf(sourceKey);
114
+ const targetIdx = effectiveOrder.indexOf(targetKey);
115
+ if (sourceIdx < 0 || targetIdx < 0) {
116
+ reset();
117
+ return;
118
+ }
119
+ const newOrder = [...effectiveOrder];
120
+ newOrder.splice(sourceIdx, 1);
121
+ // After splice the target index may shift by 1 if source was
122
+ // before target. Recompute against the post-splice array.
123
+ const insertIdx = newOrder.indexOf(targetKey);
124
+ newOrder.splice(insertIdx, 0, sourceKey);
125
+ if (onColumnOrderChange) onColumnOrderChange(newOrder);
126
+ reset();
161
127
  }, [effectiveOrder, onColumnOrderChange, reset]);
162
- var onDragEnd = React.useCallback(function () {
128
+ const onDragEnd = React.useCallback(() => {
163
129
  // Fires whether the drop succeeded or the user cancelled (Esc /
164
130
  // drop on a non-target). Belt-and-suspenders cleanup.
165
131
  reset();
166
132
  }, [reset]);
167
- var cellHandlers = React.useCallback(function (key) {
133
+ const cellHandlers = React.useCallback(key => ({
134
+ draggable: true,
135
+ onDragStart: onDragStart(key),
136
+ onDragOver: onDragOver(key),
137
+ onDragLeave: onDragLeave(key),
138
+ onDrop: onDrop(key),
139
+ onDragEnd
140
+ }), [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]);
141
+ const cellSx = React.useCallback(key => {
142
+ const isDragSource = dragKey === key;
143
+ const isDropTarget = overKey === key && dragKey !== key;
144
+ if (!isDragSource && !isDropTarget) return undefined;
168
145
  return {
169
- draggable: true,
170
- onDragStart: onDragStart(key),
171
- onDragOver: onDragOver(key),
172
- onDragLeave: onDragLeave(key),
173
- onDrop: onDrop(key),
174
- onDragEnd: onDragEnd
146
+ ...(isDragSource && {
147
+ opacity: 0.5
148
+ }),
149
+ ...(isDropTarget && {
150
+ // Inset accent outline = "drop here" visual. boxShadow not
151
+ // outline so it doesn't extend beyond the cell border.
152
+ boxShadow: "inset 0 0 0 2px var(--accent)"
153
+ })
175
154
  };
176
- }, [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]);
177
- var cellSx = React.useCallback(function (key) {
178
- var isDragSource = dragKey === key;
179
- var isDropTarget = overKey === key && dragKey !== key;
180
- if (!isDragSource && !isDropTarget) return undefined;
181
- return _objectSpread(_objectSpread({}, isDragSource && {
182
- opacity: 0.5
183
- }), isDropTarget && {
184
- // Inset accent outline = "drop here" visual. boxShadow not
185
- // outline so it doesn't extend beyond the cell border.
186
- boxShadow: "inset 0 0 0 2px var(--accent)"
187
- });
188
155
  }, [dragKey, overKey]);
189
156
 
190
157
  // ── Keyboard reorder (DG-R1) ───────────────────────────────────
191
158
  // Commit a reordered copy of effectiveOrder. All keyboard moves route
192
159
  // through here; edge/no-op cases are filtered by the callers.
193
- var commitOrder = React.useCallback(function (newOrder) {
160
+ const commitOrder = React.useCallback(newOrder => {
194
161
  if (onColumnOrderChange) onColumnOrderChange(newOrder);
195
162
  }, [onColumnOrderChange]);
196
163
 
197
164
  // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.
198
- var swap = React.useCallback(function (key, dir) {
199
- var idx = effectiveOrder.indexOf(key);
165
+ const swap = React.useCallback((key, dir) => {
166
+ const idx = effectiveOrder.indexOf(key);
200
167
  if (idx < 0) return;
201
- var target = idx + dir;
168
+ const target = idx + dir;
202
169
  if (target < 0 || target >= effectiveOrder.length) return; // at edge
203
- var newOrder = _toConsumableArray(effectiveOrder);
204
- var a = newOrder[idx];
205
- var b = newOrder[target];
170
+ const newOrder = [...effectiveOrder];
171
+ const a = newOrder[idx];
172
+ const b = newOrder[target];
206
173
  newOrder[idx] = b;
207
174
  newOrder[target] = a;
208
175
  commitOrder(newOrder);
209
176
  }, [effectiveOrder, commitOrder]);
210
- var moveEarlier = React.useCallback(function (key) {
211
- return swap(key, -1);
212
- }, [swap]);
213
- var moveLater = React.useCallback(function (key) {
214
- return swap(key, 1);
215
- }, [swap]);
177
+ const moveEarlier = React.useCallback(key => swap(key, -1), [swap]);
178
+ const moveLater = React.useCallback(key => swap(key, 1), [swap]);
216
179
 
217
180
  // Send the column to the first / last slot (Home / End).
218
- var moveToEdge = React.useCallback(function (key, edge) {
219
- var idx = effectiveOrder.indexOf(key);
181
+ const moveToEdge = React.useCallback((key, edge) => {
182
+ const idx = effectiveOrder.indexOf(key);
220
183
  if (idx < 0) return;
221
184
  if (edge === "start" && idx === 0) return;
222
185
  if (edge === "end" && idx === effectiveOrder.length - 1) return;
223
- var newOrder = _toConsumableArray(effectiveOrder);
224
- var moved = newOrder.splice(idx, 1)[0];
186
+ const newOrder = [...effectiveOrder];
187
+ const moved = newOrder.splice(idx, 1)[0];
225
188
  if (edge === "start") newOrder.unshift(moved);else newOrder.push(moved);
226
189
  commitOrder(newOrder);
227
190
  }, [effectiveOrder, commitOrder]);
228
- var handleKeyDown = React.useCallback(function (key) {
229
- return function (e) {
230
- if (resizeIsActive) return;
231
- var isLeft = e.key === "ArrowLeft";
232
- var isRight = e.key === "ArrowRight";
233
- var isHome = e.key === "Home";
234
- var isEnd = e.key === "End";
235
- if (!isLeft && !isRight && !isHome && !isEnd) return;
236
- e.preventDefault();
237
- e.stopPropagation();
238
- if (isHome) {
239
- moveToEdge(key, "start");
240
- return;
241
- }
242
- if (isEnd) {
243
- moveToEdge(key, "end");
244
- return;
245
- }
191
+ const handleKeyDown = React.useCallback(key => e => {
192
+ if (resizeIsActive) return;
193
+ const isLeft = e.key === "ArrowLeft";
194
+ const isRight = e.key === "ArrowRight";
195
+ const isHome = e.key === "Home";
196
+ const isEnd = e.key === "End";
197
+ if (!isLeft && !isRight && !isHome && !isEnd) return;
198
+ e.preventDefault();
199
+ e.stopPropagation();
200
+ if (isHome) {
201
+ moveToEdge(key, "start");
202
+ return;
203
+ }
204
+ if (isEnd) {
205
+ moveToEdge(key, "end");
206
+ return;
207
+ }
246
208
 
247
- // RTL-aware physical-arrow mapping: in RTL the visual order is
248
- // reversed, so ArrowLeft advances toward the end of the order.
249
- var cell = e.currentTarget.closest("th");
250
- var isRtl = !!cell && typeof window !== "undefined" && typeof window.getComputedStyle === "function" && window.getComputedStyle(cell).direction === "rtl";
251
- var goLater = isRtl ? isLeft : isRight;
252
- if (goLater) moveLater(key);else moveEarlier(key);
253
- };
209
+ // RTL-aware physical-arrow mapping: in RTL the visual order is
210
+ // reversed, so ArrowLeft advances toward the end of the order.
211
+ const cell = e.currentTarget.closest("th");
212
+ const isRtl = !!cell && typeof window !== "undefined" && typeof window.getComputedStyle === "function" && window.getComputedStyle(cell).direction === "rtl";
213
+ const goLater = isRtl ? isLeft : isRight;
214
+ if (goLater) moveLater(key);else moveEarlier(key);
254
215
  }, [resizeIsActive, moveToEdge, moveEarlier, moveLater]);
255
216
  return {
256
- cellHandlers: cellHandlers,
257
- cellSx: cellSx,
217
+ cellHandlers,
218
+ cellSx,
258
219
  isReordering: dragKey != null,
259
- moveEarlier: moveEarlier,
260
- moveLater: moveLater,
261
- handleKeyDown: handleKeyDown
220
+ moveEarlier,
221
+ moveLater,
222
+ handleKeyDown
262
223
  };
263
224
  }
264
225
  //# sourceMappingURL=_useColumnReorder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","_React$useState","useState","_React$useState2","dragKey","setDragKey","_React$useState3","_React$useState4","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","e","preventDefault","dataTransfer","effectAllowed","setData","_unused","onDragOver","dropEffect","_unused2","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","opacity","boxShadow","commitOrder","swap","dir","idx","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean | undefined;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","key","dragKey","setDragKey","useState","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","preventDefault","dataTransfer","effectAllowed","setData","onDragOver","dropEffect","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","undefined","opacity","boxShadow","commitOrder","swap","dir","idx","target","length","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","push","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean | undefined;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}