@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 +1 @@
1
- {"version":3,"file":"DataGridVirtualized.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_reactVirtual","_Skeleton","_SortableHeader","_useDelayedFlag","_tokens","_dataGridShared","_useColumnResize","_useColumnReorder","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","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","toPrimitive","undefined","res","TypeError","Number","DEFAULT_ROW_HEIGHT_BY_DENSITY","freeze","spacious","density","row","comfortable","compact","ultraCompact","PADDING_CELL_SX","padding","border","REORDER_GRIP_SX","position","insetInlineStart","top","transform","zIndex","display","alignItems","justifyContent","width","height","borderRadius","background","color","cursor","opacity","pointerEvents","transition","fontFamily","outline","outlineOffset","readCellValue","defaultGetRowId","id","DataGridVirtualized","_ref","_ref2","_ref$rows","rows","_ref$columns","columns","rawColumns","_ref$loading","loading","_ref$error","error","_ref$sort","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","_ref$getRowId","getRowId","onRowClick","rowFlashId","_ref$filtered","filtered","_ref$density","densityProp","ariaLabel","_ref$locale","locale","labels","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","rowHeight","_ref$overscan","overscan","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","L","useMemo","mergeLabels","tableAria","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","applyColumnOrder","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","useEffect","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","effectiveRowHeight","showCheckbox","colCount","sortable","col","selectedSet","Set","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","next","add","handleRowKeyDown","e","preventDefault","scrollRef","virtualizer","useVirtualizer","count","getScrollElement","estimateSize","virtualItems","getVirtualItems","totalSize","getTotalSize","firstItem","lastItem","paddingTop","start","paddingBottom","end","scrollContainerSx","overflow","maxHeight","tableDensityKey","tableSx","TABLE_BY_DENSITY","body","jsx","children","Array","from","_","SkeletonRow","cols","withCheckbox","withActions","colSpan","sx","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","style","virtualItem","index","isSelected","flash","clickable","hover","className","onClick","onKeyDown","tabIndex","size","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","checked","onChange","stopPropagation","slotProps","selectRow","_ref3","_ref4","getValue","effectiveWidth","liveWidths","cellSx","fontSize","whiteSpace","wrap","textOverflow","mono","numeric","fontVariantNumeric","maxWidth","align","render","CONTAINER_SX","ref","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","_ref5","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","sortKey","setSort","header","component","type","handleKeyDown","role","Math","round","minWidth","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","Pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridVirtualized.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport { density } from \"../tokens\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridColumn,\r\n DataGridLabels,\r\n DataGridPagination,\r\n} from \"../types/datagrid\";\r\nimport type { Density, RowId, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * DataGridVirtualized - Portnet UI v2 (pattern)\r\n *\r\n * Same public API as DataGrid + four virtualization-specific props\r\n * + the resize/reorder opt-ins (mirrors DataGrid):\r\n *\r\n * rowHeight, overscan — virtualization\r\n * resizable, columnWidths, onColumnWidthsChange — resize\r\n * reorderable, columnOrder, onColumnOrderChange — reorder\r\n *\r\n * When to use:\r\n * - 1000+ rows where pagination would feel artificial.\r\n * - Audit logs / ledgers / \"view all\" flows.\r\n *\r\n * When NOT to use:\r\n * - <100 rows: DataGrid is simpler.\r\n * - Variable-height rows: NOT supported (uniform rowHeight only).\r\n *\r\n * Virtualization caveats:\r\n * - rowFlashId only fires when the target row is in the current window.\r\n * For confirmations that survive scroll, use a Toast.\r\n * - Sort + filter cost is host-side.\r\n *\r\n * A11y (DG-V1): the table advertises aria-rowcount over the FULL dataset while\r\n * only the windowed rows are in the DOM, so every rendered row carries an\r\n * explicit aria-rowindex (header = 1, data row = virtualItem.index + 2) so SR\r\n * users hear their true position. aria-hidden spacer rows stay unindexed.\r\n * DG-2: the resize grip is a focusable role=\"separator\" (tabIndex 0,\r\n * aria-valuenow/valuemin) operable by pointer AND keyboard (Arrow / Home).\r\n * DG-R1: reorderable columns expose a hover/focus-revealed grip button\r\n * (aria-keyshortcuts Arrow/Home/End → useColumnReorder.handleKeyDown) so column\r\n * reorder is keyboard-operable, not drag-only; focus follows the moved column.\r\n */\r\n\r\n/** Row-height density tiers for the virtualizer — a distinct, wider set than\r\n * the canonical 2-tier Density (which governs table cell padding). */\r\nexport type DataGridVirtualizedDensity =\r\n | \"spacious\"\r\n | \"comfortable\"\r\n | \"compact\"\r\n | \"ultraCompact\";\r\n\r\nexport interface DataGridVirtualizedProps<T> {\r\n rows?: T[] | undefined;\r\n columns: DataGridColumn<T>[];\r\n loading?: boolean | undefined;\r\n /** Any truthy value switches the grid to its error branch. */\r\n error?: unknown;\r\n sort?: SortDescriptor[] | undefined;\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;\r\n selection?: Set<RowId> | RowId[] | undefined;\r\n onSelectionChange?: ((selection: Set<RowId>) => void) | undefined;\r\n pagination?: DataGridPagination | undefined;\r\n emptyState?: React.ReactNode | undefined;\r\n filteredEmptyState?: React.ReactNode | undefined;\r\n errorState?: React.ReactNode | undefined;\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n onRowClick?: ((row: T) => void) | undefined;\r\n rowFlashId?: RowId | undefined;\r\n filtered?: boolean | undefined;\r\n density?: DataGridVirtualizedDensity | undefined;\r\n ariaLabel?: string | undefined;\r\n locale?: string | undefined;\r\n labels?: DataGridLabels | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n /** Uniform row height in px (overrides the density default). */\r\n rowHeight?: number | undefined;\r\n /** Rows rendered beyond the visible window on each side. */\r\n overscan?: number | undefined;\r\n resizable?: boolean | undefined;\r\n columnWidths?: Record<string, number> | undefined;\r\n onColumnWidthsChange?: ((widths: Record<string, number>) => void) | undefined;\r\n reorderable?: boolean | undefined;\r\n columnOrder?: string[] | undefined;\r\n onColumnOrderChange?: ((order: string[]) => void) | undefined;\r\n}\r\n\r\n/** Default row height by density tier. */\r\nconst DEFAULT_ROW_HEIGHT_BY_DENSITY: Record<DataGridVirtualizedDensity, number> =\r\n Object.freeze({\r\n spacious: density.spacious.row, // 56\r\n comfortable: density.comfortable.row, // 44\r\n compact: density.compact.row, // 36\r\n ultraCompact: density.ultraCompact.row, // 28\r\n });\r\n\r\nconst PADDING_CELL_SX = Object.freeze({ padding: 0, border: 0 });\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGridVirtualized<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n filtered = false,\r\n density: densityProp = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n // Virtualization\r\n rowHeight,\r\n overscan = 10,\r\n // Resize\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n // Reorder\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n}: DataGridVirtualizedProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // Apply host-supplied column order (defensive, see _dataGridShared).\r\n const columns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n // Resize + reorder hooks. Cross-coupled via resizeIsActive.\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n // Effective row height: prop wins, otherwise density default.\r\n const effectiveRowHeight =\r\n rowHeight ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY[densityProp] ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY.comfortable;\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const colCount = columns.length + (showCheckbox ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const virtualizer = useVirtualizer({\r\n count: rows.length,\r\n getScrollElement: () => scrollRef.current,\r\n estimateSize: () => effectiveRowHeight,\r\n overscan,\r\n });\r\n\r\n const virtualItems = virtualizer.getVirtualItems();\r\n const totalSize = virtualizer.getTotalSize();\r\n const firstItem = virtualItems[0];\r\n const lastItem = virtualItems[virtualItems.length - 1];\r\n const paddingTop = firstItem ? firstItem.start : 0;\r\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0;\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({ overflow: \"auto\", maxHeight: maxBodyHeight }),\r\n [maxBodyHeight]\r\n );\r\n // TABLE_BY_DENSITY is keyed by the 2-tier Density; map the wider tier down\r\n // (matches the JS `TABLE_BY_DENSITY[dp] || .comfortable` fallback).\r\n const tableDensityKey: Density =\r\n densityProp === \"compact\" ? \"compact\" : \"comfortable\";\r\n const tableSx = TABLE_BY_DENSITY[tableDensityKey];\r\n\r\n // ── Body branches ──────────────────────────────────────────────\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={false}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {paddingTop > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingTop }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n {virtualItems.map((virtualItem) => {\r\n const row = rows[virtualItem.index];\r\n if (!row) return null;\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={virtualItem.key}\r\n data-index={virtualItem.index}\r\n aria-rowindex={virtualItem.index + 2}\r\n hover\r\n data-selected={isSelected || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n style={{ height: virtualItem.size }}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n // --text-body (14px) — was `var(--text-fs)`, a token typo\r\n // with no fallback; making the inheritance explicit preserves\r\n // the rendering while removing the dangling reference.\r\n const cellSx: SxProps<Theme> = {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n };\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={cellSx}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n );\r\n })}\r\n {paddingBottom > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingBottom }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box ref={scrollRef} sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n aria-rowcount={rows.length ? rows.length + 1 : undefined}\r\n size={densityProp === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow aria-rowindex={1}>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable = reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default DataGridVirtualized;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,UAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,cAAA,GAAAP,sBAAA,CAAAF,OAAA;AAGA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,eAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,eAAA,GAAAf,OAAA;AAeA,IAAAgB,gBAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,iBAAA,GAAAf,sBAAA,CAAAF,OAAA;AAAmD,IAAAkB,WAAA,GAAAlB,OAAA;AAAA,SAAAE,uBAAAiB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAvB,wBAAAoB,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAJ,QAAAP,GAAA,sCAAAO,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAvB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAsB,MAAA,IAAAtB,GAAA,CAAAwB,WAAA,KAAAF,MAAA,IAAAtB,GAAA,KAAAsB,MAAA,CAAAL,SAAA,qBAAAjB,GAAA,KAAAO,OAAA,CAAAP,GAAA;AAAA,SAAAyB,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAf,MAAA,CAAAe,IAAA,CAAAF,MAAA,OAAAb,MAAA,CAAAgB,qBAAA,QAAAC,OAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAnB,MAAA,CAAAE,wBAAA,CAAAW,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,OAAAC,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAN,MAAA,EAAArB,GAAA,EAAAyB,MAAA,CAAAzB,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAAR,MAAA,EAAAxB,MAAA,CAAA+B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,GAAAC,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAuB,MAAA,EAAArB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA0B,MAAA,EAAAzB,GAAA,iBAAAqB,MAAA;AAAA,SAAAM,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,oBAAA3C,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,QAAA/C,OAAA,CAAA8C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA/B,MAAA,CAAAkC,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,oBAAA/C,OAAA,CAAAmD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAL,IAAA,gBAAAF,MAAA,GAAAQ,MAAA,EAAAP,KAAA,KAQnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAhCA,CAkCA;AACA;AA0CA;AACA,IAAMQ,6BAAyE,GAC7EhD,MAAM,CAACiD,MAAM,CAAC;EACZC,QAAQ,EAAEC,eAAO,CAACD,QAAQ,CAACE,GAAG;EAAE;EAChCC,WAAW,EAAEF,eAAO,CAACE,WAAW,CAACD,GAAG;EAAE;EACtCE,OAAO,EAAEH,eAAO,CAACG,OAAO,CAACF,GAAG;EAAE;EAC9BG,YAAY,EAAEJ,eAAO,CAACI,YAAY,CAACH,GAAG,CAAE;AAC1C,CAAC,CAAC;AAEJ,IAAMI,eAAe,GAAGxD,MAAM,CAACiD,MAAM,CAAC;EAAEQ,OAAO,EAAE,CAAC;EAAEC,MAAM,EAAE;AAAE,CAAC,CAAC;;AAEhE;AACA;AACA;AACA;AACA,IAAMC,eAAe,GAAG3D,MAAM,CAACiD,MAAM,CAAC;EACpCW,QAAQ,EAAE,UAAU;EACpBC,gBAAgB,EAAE,CAAC;EACnBC,GAAG,EAAE,KAAK;EACVC,SAAS,EAAE,kBAAkB;EAC7BC,MAAM,EAAE,CAAC;EACTC,OAAO,EAAE,aAAa;EACtBC,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE,QAAQ;EACxBC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,EAAE;EACVZ,OAAO,EAAE,CAAC;EACVC,MAAM,EAAE,MAAM;EACdY,YAAY,EAAE,aAAa;EAC3BC,UAAU,EAAE,kBAAkB;EAC9BC,KAAK,EAAE,kBAAkB;EACzBC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAE,CAAC;EACVC,aAAa,EAAE,MAAM;EACrBC,UAAU,EAAE,0CAA0C;EACtDC,UAAU,EAAE,SAAS;EACrB,+BAA+B,EAAE;IAAEH,OAAO,EAAE,CAAC;IAAEC,aAAa,EAAE;EAAO,CAAC;EACtE,0BAA0B,EAAE;IAAED,OAAO,EAAE,CAAC;IAAEC,aAAa,EAAE;EAAO,CAAC;EACjE,iBAAiB,EAAE;IACjBG,OAAO,EAAE,yBAAyB;IAClCC,aAAa,EAAE,MAAM;IACrBL,OAAO,EAAE,CAAC;IACVC,aAAa,EAAE;EACjB;AACF,CAA0B,CAAC;;AAE3B;AACA;AACA,SAASK,aAAaA,CAAC5B,GAAY,EAAEjD,GAAW,EAAW;EACzD,OAAQiD,GAAG,CAA6BjD,GAAG,CAAC;AAC9C;;AAEA;AACA;AACA,IAAM8E,eAAe,GAAG,SAAlBA,eAAeA,CAAI7B,GAAY;EAAA,OAAaA,GAAG,CAAmB8B,EAAE;AAAA;AAE1E,SAASC,mBAAmBA,CAAAC,IAAA,EAiCI;EAAA,IAAAC,KAAA;EAAA,IAAAC,SAAA,GAAAF,IAAA,CAhC9BG,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAE,YAAA,GAAAJ,IAAA,CACTK,OAAO;IAAEC,UAAU,GAAAF,YAAA,cAAG,EAAE,GAAAA,YAAA;IAAAG,YAAA,GAAAP,IAAA,CACxBQ,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IAAAE,UAAA,GAAAT,IAAA,CACfU,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,IAAI,GAAAA,UAAA;IAAAE,SAAA,GAAAX,IAAA,CACZY,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IACTE,YAAY,GAAAb,IAAA,CAAZa,YAAY;IACZC,SAAS,GAAAd,IAAA,CAATc,SAAS;IACTC,iBAAiB,GAAAf,IAAA,CAAjBe,iBAAiB;IACjBC,UAAU,GAAAhB,IAAA,CAAVgB,UAAU;IACVC,UAAU,GAAAjB,IAAA,CAAViB,UAAU;IACVC,kBAAkB,GAAAlB,IAAA,CAAlBkB,kBAAkB;IAClBC,UAAU,GAAAnB,IAAA,CAAVmB,UAAU;IAAAC,aAAA,GAAApB,IAAA,CACVqB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAGvB,eAAe,GAAAuB,aAAA;IAC1BE,UAAU,GAAAtB,IAAA,CAAVsB,UAAU;IACVC,UAAU,GAAAvB,IAAA,CAAVuB,UAAU;IAAAC,aAAA,GAAAxB,IAAA,CACVyB,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,YAAA,GAAA1B,IAAA,CAChBjC,OAAO;IAAE4D,WAAW,GAAAD,YAAA,cAAG,aAAa,GAAAA,YAAA;IACpCE,SAAS,GAAA5B,IAAA,CAAT4B,SAAS;IAAAC,WAAA,GAAA7B,IAAA,CACT8B,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,OAAO,GAAAA,WAAA;IAChBE,MAAM,GAAA/B,IAAA,CAAN+B,MAAM;IAAAC,kBAAA,GAAAhC,IAAA,CACNiC,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAGE,uCAAuB,GAAAF,kBAAA;IAEvCG,SAAS,GAAAnC,IAAA,CAATmC,SAAS;IAAAC,aAAA,GAAApC,IAAA,CACTqC,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAE,cAAA,GAAAtC,IAAA,CAEbuC,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IACjBE,YAAY,GAAAxC,IAAA,CAAZwC,YAAY;IACZC,oBAAoB,GAAAzC,IAAA,CAApByC,oBAAoB;IAAAC,gBAAA,GAAA1C,IAAA,CAEpB2C,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,KAAK,GAAAA,gBAAA;IACnBE,WAAW,GAAA5C,IAAA,CAAX4C,WAAW;IACXC,mBAAmB,GAAA7C,IAAA,CAAnB6C,mBAAmB;EAEnB,IAAMC,CAAC,GAAGpK,KAAK,CAACqK,OAAO,CAAC;IAAA,OAAM,IAAAC,2BAAW,EAACjB,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAC5D,IAAMkB,SAAS,GAAGrB,SAAS,IAAI,IAAI,GAAGA,SAAS,GAAGkB,CAAC,CAACG,SAAS;EAE7D,IAAMC,YAAY,GAAG,IAAAC,0BAAc,EAAC3C,OAAO,CAAC;EAE5C,IAAA4C,uCAAuB,EAAC9C,UAAU,CAAC;;EAEnC;EACA,IAAMD,OAAO,GAAG3H,KAAK,CAACqK,OAAO,CAC3B;IAAA,OAAM,IAAAM,gCAAgB,EAAC/C,UAAU,EAAEsC,WAAW,CAAC;EAAA,GAC/C,CAACtC,UAAU,EAAEsC,WAAW,CAC1B,CAAC;;EAED;EACA,IAAMU,MAAM,GAAG,IAAAC,2BAAe,EAACf,YAAY,EAAEC,oBAAoB,CAAC;EAClE,IAAMe,OAAO,GAAG,IAAAC,4BAAgB,EAACpD,OAAO,EAAEuC,WAAW,EAAEC,mBAAmB,EAAE;IAC1Ea,cAAc,EAAEJ,MAAM,CAACK;EACzB,CAAC,CAAC;;EAEF;EACA;EACA;EACA,IAAMC,sBAAsB,GAAGlL,KAAK,CAACmL,MAAM,CAAgB,IAAI,CAAC;EAChEnL,KAAK,CAACoL,SAAS,CAAC,YAAM;IACpB,IAAM/I,GAAG,GAAG6I,sBAAsB,CAACG,OAAO;IAC1C,IAAI,CAAChJ,GAAG,IAAI,OAAOiJ,QAAQ,KAAK,WAAW,EAAE;IAC7CJ,sBAAsB,CAACG,OAAO,GAAG,IAAI;IACrC,IAAME,OAAO,GACX,OAAOC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,GAAG,IACV,OAAOD,MAAM,CAACC,GAAG,CAACC,MAAM,KAAK,UAAU,GACnCF,MAAM,CAACC,GAAG,CAACC,MAAM,CAACrJ,GAAG,CAAC,GACtBA,GAAG;IACT,IAAMsJ,EAAE,GAAGL,QAAQ,CAACM,aAAa,yBAAAC,MAAA,CAAwBN,OAAO,QAAI,CAAC;IACrE,IAAII,EAAE,YAAYG,WAAW,EAAEH,EAAE,CAACI,KAAK,CAAC,CAAC;EAC3C,CAAC,EAAE,CAAC7B,WAAW,CAAC,CAAC;;EAEjB;EACA,IAAM8B,kBAAkB,IAAAzE,KAAA,GACtBkC,SAAS,aAATA,SAAS,cAATA,SAAS,GACTvE,6BAA6B,CAAC+D,WAAW,CAAC,cAAA1B,KAAA,cAAAA,KAAA,GAC1CrC,6BAA6B,CAACK,WAAW;EAE3C,IAAM0G,YAAY,GAAG,CAAC,CAAC5D,iBAAiB;EACxC,IAAM6D,QAAQ,GAAGvE,OAAO,CAAC9D,MAAM,IAAIoI,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;EAExD,IAAME,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,GAAsB;IAAA,OACtCA,GAAG,CAACD,QAAQ,KAAK,KAAK,IAAI,CAAC,CAACC,GAAG,CAAC/J,GAAG,IAAI,CAAC,CAAC8F,YAAY;EAAA;EAEvD,IAAMkE,WAAW,GAAGrM,KAAK,CAACqK,OAAO,CAC/B;IAAA,OAAOjC,SAAS,YAAYkE,GAAG,GAAGlE,SAAS,GAAG,IAAIkE,GAAG,CAAClE,SAAS,IAAI,EAAE,CAAC;EAAA,CAAC,EACvE,CAACA,SAAS,CACZ,CAAC;EACD,IAAMmE,WAAW,GACf9E,IAAI,CAAC5D,MAAM,GAAG,CAAC,IAAI4D,IAAI,CAAC+E,KAAK,CAAC,UAACC,CAAC;IAAA,OAAKJ,WAAW,CAACvK,GAAG,CAAC6G,QAAQ,CAAC8D,CAAC,CAAC,CAAC;EAAA,EAAC;EACpE,IAAMC,YAAY,GAChB,CAACH,WAAW,IAAI9E,IAAI,CAACkF,IAAI,CAAC,UAACF,CAAC;IAAA,OAAKJ,WAAW,CAACvK,GAAG,CAAC6G,QAAQ,CAAC8D,CAAC,CAAC,CAAC;EAAA,EAAC;EAEhE,IAAMG,SAAS,GAAG,SAAZA,SAASA,CAAA,EAAS;IACtB,IAAI,CAACvE,iBAAiB,EAAE;IACxB,IAAIkE,WAAW,EAAElE,iBAAiB,CAAC,IAAIiE,GAAG,CAAQ,CAAC,CAAC,CAAC,KAChDjE,iBAAiB,CAAC,IAAIiE,GAAG,CAAC7E,IAAI,CAACoF,GAAG,CAAClE,QAAQ,CAAC,CAAC,CAAC;EACrD,CAAC;EACD,IAAMmE,SAAS,GAAG,SAAZA,SAASA,CAAI1F,EAAS,EAAK;IAC/B,IAAI,CAACiB,iBAAiB,EAAE;IACxB,IAAM0E,IAAI,GAAG,IAAIT,GAAG,CAACD,WAAW,CAAC;IACjC,IAAIU,IAAI,CAACjL,GAAG,CAACsF,EAAE,CAAC,EAAE2F,IAAI,UAAO,CAAC3F,EAAE,CAAC,CAAC,KAC7B2F,IAAI,CAACC,GAAG,CAAC5F,EAAE,CAAC;IACjBiB,iBAAiB,CAAC0E,IAAI,CAAC;EACzB,CAAC;EAED,IAAME,gBAAgB,GACpB,SADIA,gBAAgBA,CACnB3H,GAAM;IAAA,OAAK,UAAC4H,CAAmC,EAAK;MACnD,IAAI,CAACtE,UAAU,EAAE;MACjB,IAAIsE,CAAC,CAAC7K,GAAG,KAAK,OAAO,IAAI6K,CAAC,CAAC7K,GAAG,KAAK,GAAG,EAAE;QACtC6K,CAAC,CAACC,cAAc,CAAC,CAAC;QAClBvE,UAAU,CAACtD,GAAG,CAAC;MACjB;IACF,CAAC;EAAA;EAEH,IAAM8H,SAAS,GAAGpN,KAAK,CAACmL,MAAM,CAAiB,IAAI,CAAC;EAEpD,IAAMkC,WAAW,GAAG,IAAAC,4BAAc,EAAC;IACjCC,KAAK,EAAE9F,IAAI,CAAC5D,MAAM;IAClB2J,gBAAgB,EAAE,SAAAA,iBAAA;MAAA,OAAMJ,SAAS,CAAC/B,OAAO;IAAA;IACzCoC,YAAY,EAAE,SAAAA,aAAA;MAAA,OAAMzB,kBAAkB;IAAA;IACtCrC,QAAQ,EAARA;EACF,CAAC,CAAC;EAEF,IAAM+D,YAAY,GAAGL,WAAW,CAACM,eAAe,CAAC,CAAC;EAClD,IAAMC,SAAS,GAAGP,WAAW,CAACQ,YAAY,CAAC,CAAC;EAC5C,IAAMC,SAAS,GAAGJ,YAAY,CAAC,CAAC,CAAC;EACjC,IAAMK,QAAQ,GAAGL,YAAY,CAACA,YAAY,CAAC7J,MAAM,GAAG,CAAC,CAAC;EACtD,IAAMmK,UAAU,GAAGF,SAAS,GAAGA,SAAS,CAACG,KAAK,GAAG,CAAC;EAClD,IAAMC,aAAa,GAAGH,QAAQ,GAAGH,SAAS,GAAGG,QAAQ,CAACI,GAAG,GAAG,CAAC;EAE7D,IAAMC,iBAAiB,GAAGpO,KAAK,CAACqK,OAAO,CACrC;IAAA,OAAO;MAAEgE,QAAQ,EAAE,MAAM;MAAEC,SAAS,EAAE/E;IAAc,CAAC;EAAA,CAAC,EACtD,CAACA,aAAa,CAChB,CAAC;EACD;EACA;EACA,IAAMgF,eAAwB,GAC5BtF,WAAW,KAAK,SAAS,GAAG,SAAS,GAAG,aAAa;EACvD,IAAMuF,OAAO,GAAGC,gCAAgB,CAACF,eAAe,CAAC;;EAEjD;EACA,IAAIG,IAAqB;EACzB,IAAIlE,YAAY,EAAE;IAChBkE,IAAI,gBACF,IAAAtN,WAAA,CAAAuN,GAAA,EAACpO,UAAA,WAAS;MAAC,aAAU,MAAM;MAAAqO,QAAA,EACxBC,KAAK,CAACC,IAAI,CAAC;QAAEjL,MAAM,EAAE;MAAE,CAAC,EAAE,UAACkL,CAAC,EAAEpL,CAAC;QAAA,oBAC9B,IAAAvC,WAAA,CAAAuN,GAAA,EAAC9N,SAAA,CAAAmO,WAAW;UAEVC,IAAI,EAAEtH,OAAO,CAAC9D,MAAO;UACrBqL,YAAY,EAAEjD,YAAa;UAC3BkD,WAAW,EAAE;QAAM,SAAAtD,MAAA,CAHRlI,CAAC,CAIb,CAAC;MAAA,CACH;IAAC,CACO,CACZ;EACH,CAAC,MAAM,IAAIqE,KAAK,EAAE;IAChB0G,IAAI,gBACF,IAAAtN,WAAA,CAAAuN,GAAA,EAACpO,UAAA,WAAS;MAAAqO,QAAA,eACR,IAAAxN,WAAA,CAAAuN,GAAA,EAACnO,SAAA,WAAQ;QAAAoO,QAAA,eACP,IAAAxN,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;UAAC2O,OAAO,EAAElD,QAAS;UAACmD,EAAE,EAAEC,6BAAc;UAAAV,QAAA,eAC9C,IAAAxN,WAAA,CAAAuN,GAAA,EAACxO,IAAA,WAAG;YAACkP,EAAE,EAAEE,8BAAe;YAAAX,QAAA,EAAEnG;UAAU,CAAM;QAAC,CAClC;MAAC,CACJ;IAAC,CACF,CACZ;EACH,CAAC,MAAM,IAAIhB,IAAI,CAAC5D,MAAM,KAAK,CAAC,EAAE;IAC5B6K,IAAI,gBACF,IAAAtN,WAAA,CAAAuN,GAAA,EAACpO,UAAA,WAAS;MAAC,aAAWuH,OAAO,IAAIhD,SAAU;MAAA8J,QAAA,eACzC,IAAAxN,WAAA,CAAAuN,GAAA,EAACnO,SAAA,WAAQ;QAAAoO,QAAA,eACP,IAAAxN,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;UAAC2O,OAAO,EAAElD,QAAS;UAACmD,EAAE,EAAEC,6BAAc;UAAAV,QAAA,eAC9C,IAAAxN,WAAA,CAAAuN,GAAA,EAACxO,IAAA,WAAG;YAACkP,EAAE,EAAEE,8BAAe;YAAAX,QAAA,EACrB7F,QAAQ,GAAGP,kBAAkB,GAAGD;UAAU,CACxC;QAAC,CACG;MAAC,CACJ;IAAC,CACF,CACZ;EACH,CAAC,MAAM;IACLmG,IAAI,gBACF,IAAAtN,WAAA,CAAAoO,IAAA,EAACjP,UAAA,WAAS;MAAC,aAAWuH,OAAO,IAAIhD,SAAU;MAAA8J,QAAA,GACxCZ,UAAU,GAAG,CAAC,iBACb,IAAA5M,WAAA,CAAAuN,GAAA,EAACnO,SAAA,WAAQ;QAAC,eAAY,MAAM;QAACiP,KAAK,EAAE;UAAElJ,MAAM,EAAEyH;QAAW,CAAE;QAAAY,QAAA,eACzD,IAAAxN,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;UAAC2O,OAAO,EAAElD,QAAS;UAACmD,EAAE,EAAE3J;QAAgB,CAAE;MAAC,CAC7C,CACX,EACAgI,YAAY,CAACb,GAAG,CAAC,UAAC6C,WAAW,EAAK;QACjC,IAAMpK,GAAG,GAAGmC,IAAI,CAACiI,WAAW,CAACC,KAAK,CAAC;QACnC,IAAI,CAACrK,GAAG,EAAE,OAAO,IAAI;QACrB,IAAM8B,EAAE,GAAGuB,QAAQ,CAACrD,GAAG,CAAC;QACxB,IAAMsK,UAAU,GAAGvD,WAAW,CAACvK,GAAG,CAACsF,EAAE,CAAC;QACtC,IAAMyI,KAAK,GAAGhH,UAAU,KAAKzB,EAAE;QAC/B,IAAM0I,SAAS,GAAG,CAAC,CAAClH,UAAU;QAC9B,oBACE,IAAAxH,WAAA,CAAAoO,IAAA,EAAChP,SAAA,WAAQ;UAEP,cAAYkP,WAAW,CAACC,KAAM;UAC9B,iBAAeD,WAAW,CAACC,KAAK,GAAG,CAAE;UACrCI,KAAK;UACL,iBAAeH,UAAU,IAAI9K,SAAU;UACvCkL,SAAS,EAAEH,KAAK,GAAG,iBAAiB,GAAG/K,SAAU;UACjDmL,OAAO,EAAEH,SAAS,GAAG;YAAA,OAAMlH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAGtD,GAAG,CAAC;UAAA,IAAGR,SAAU;UACzDoL,SAAS,EAAEJ,SAAS,GAAG7C,gBAAgB,CAAC3H,GAAG,CAAC,GAAGR,SAAU;UACzDqL,QAAQ,EAAEL,SAAS,GAAG,CAAC,GAAGhL,SAAU;UACpC2K,KAAK,EAAE;YAAElJ,MAAM,EAAEmJ,WAAW,CAACU;UAAK,CAAE;UACpCf,EAAE,EAAES,SAAS,GAAGO,gCAAgB,GAAGC,6BAAc;UAAA1B,QAAA,GAEhD3C,YAAY,iBACX,IAAA7K,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;YAACkF,OAAO,EAAC,UAAU;YAAC0J,EAAE,EAAEkB,qCAAsB;YAAA3B,QAAA,eACtD,IAAAxN,WAAA,CAAAuN,GAAA,EAACjO,SAAA,WAAQ;cACP0P,IAAI,EAAC,OAAO;cACZI,OAAO,EAAEZ,UAAW;cACpBa,QAAQ,EAAE,SAAAA,SAACvD,CAAC,EAAK;gBACfA,CAAC,CAACwD,eAAe,CAAC,CAAC;gBACnB5D,SAAS,CAAC1F,EAAE,CAAC;cACf,CAAE;cACF6I,OAAO,EAAE,SAAAA,QAAC/C,CAAC;gBAAA,OAAKA,CAAC,CAACwD,eAAe,CAAC,CAAC;cAAA,CAAC;cACpCR,SAAS,EAAE,SAAAA,UAAChD,CAAC;gBAAA,OAAKA,CAAC,CAACwD,eAAe,CAAC,CAAC;cAAA,CAAC;cACtCC,SAAS,EAAE;gBAAEjM,KAAK,EAAE;kBAAE,YAAY,EAAE0F,CAAC,CAACwG,SAAS,CAACxJ,EAAE;gBAAE;cAAE;YAAE,CACzD;UAAC,CACO,CACZ,EACAO,OAAO,CAACkF,GAAG,CAAC,UAACT,GAAG,EAAK;YAAA,IAAAyE,KAAA,EAAAC,KAAA;YACpB,IAAM3M,KAAK,GAAGiI,GAAG,CAAC2E,QAAQ,GACtB3E,GAAG,CAAC2E,QAAQ,CAACzL,GAAG,CAAC,GACjB4B,aAAa,CAAC5B,GAAG,EAAE8G,GAAG,CAAC/J,GAAG,CAAC;YAC/B,IAAM2O,cAAc,IAAAH,KAAA,GACjBjG,MAAM,CAACqG,UAAU,IAAIrG,MAAM,CAACqG,UAAU,CAAC7E,GAAG,CAAC/J,GAAG,CAAC,cAAAwO,KAAA,cAAAA,KAAA,GAChDzE,GAAG,CAAC9F,KAAK;YACX;YACA;YACA;YACA,IAAM4K,MAAsB,GAAAzN,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA;cAC1B0N,QAAQ,EAAE,kBAAkB;cAC5BC,UAAU,EAAEhF,GAAG,CAACiF,IAAI,GAAG,QAAQ,GAAG,QAAQ;cAC1ChD,QAAQ,EAAE,QAAQ;cAClBiD,YAAY,EAAE;YAAU,GACpBlF,GAAG,CAACmF,IAAI,GAAG;cAAExK,UAAU,EAAE;YAAmB,CAAC,GAAG,CAAC,CAAC,GAClDqF,GAAG,CAACoF,OAAO,IAAIpF,GAAG,CAACmF,IAAI,GACvB;cAAEE,kBAAkB,EAAE;YAAe,CAAC,GACtC,CAAC,CAAC,GACFT,cAAc,IAAI,IAAI,GAAG;cAAE1K,KAAK,EAAE0K;YAAe,CAAC,GAAG,CAAC,CAAC,GACvD5E,GAAG,CAACsF,QAAQ,IAAI,IAAI,GAAG;cAAEA,QAAQ,EAAEtF,GAAG,CAACsF;YAAS,CAAC,GAAG,CAAC,CAAC,CAC3D;YACD,oBACE,IAAAtQ,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;cAERkR,KAAK,EAAEvF,GAAG,CAACuF,KAAK,KAAKvF,GAAG,CAACoF,OAAO,GAAG,OAAO,GAAG,MAAM,CAAE;cACrDnC,EAAE,EAAE6B,MAAO;cAAAtC,QAAA,EAEVxC,GAAG,CAACwF,MAAM,GACPxF,GAAG,CAACwF,MAAM,CAACtM,GAAG,CAAC,IAAAwL,KAAA,GACd3M,KAAK,cAAA2M,KAAA,cAAAA,KAAA,GAAwB;YAAG,GANhC1E,GAAG,CAAC/J,GAOA,CAAC;UAEhB,CAAC,CAAC;QAAA,GA5DGqN,WAAW,CAACrN,GA6DT,CAAC;MAEf,CAAC,CAAC,EACD6L,aAAa,GAAG,CAAC,iBAChB,IAAA9M,WAAA,CAAAuN,GAAA,EAACnO,SAAA,WAAQ;QAAC,eAAY,MAAM;QAACiP,KAAK,EAAE;UAAElJ,MAAM,EAAE2H;QAAc,CAAE;QAAAU,QAAA,eAC5D,IAAAxN,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;UAAC2O,OAAO,EAAElD,QAAS;UAACmD,EAAE,EAAE3J;QAAgB,CAAE;MAAC,CAC7C,CACX;IAAA,CACQ,CACZ;EACH;EAEA,oBACE,IAAAtE,WAAA,CAAAoO,IAAA,EAACrP,IAAA,WAAG;IAACkP,EAAE,EAAEwC,4BAAa;IAAAjD,QAAA,gBACpB,IAAAxN,WAAA,CAAAuN,GAAA,EAACxO,IAAA,WAAG;MAAC2R,GAAG,EAAE1E,SAAU;MAACiC,EAAE,EAAEjB,iBAAkB;MAAAQ,QAAA,eACzC,IAAAxN,WAAA,CAAAoO,IAAA,EAACnP,MAAA,WAAK;QACJ,cAAYkK,SAAU;QACtB,iBAAe9C,IAAI,CAAC5D,MAAM,GAAG4D,IAAI,CAAC5D,MAAM,GAAG,CAAC,GAAGiB,SAAU;QACzDsL,IAAI,EAAEnH,WAAW,KAAK,SAAS,GAAG,OAAO,GAAG,QAAS;QACrD8I,YAAY;QACZ1C,EAAE,EAAEb,OAAQ;QAAAI,QAAA,gBAEZ,IAAAxN,WAAA,CAAAuN,GAAA,EAACrO,UAAA,WAAS;UAAAsO,QAAA,eACR,IAAAxN,WAAA,CAAAoO,IAAA,EAAChP,SAAA,WAAQ;YAAC,iBAAe,CAAE;YAAAoO,QAAA,GACxB3C,YAAY,iBACX,IAAA7K,WAAA,CAAAuN,GAAA,EAAClO,UAAA,WAAS;cAACkF,OAAO,EAAC,UAAU;cAAC0J,EAAE,EAAE2C,uCAAwB;cAAApD,QAAA,eACxD,IAAAxN,WAAA,CAAAuN,GAAA,EAACjO,SAAA,WAAQ;gBACP0P,IAAI,EAAC,OAAO;gBACZI,OAAO,EAAEjE,WAAY;gBACrB0F,aAAa,EAAEvF,YAAa;gBAC5B+D,QAAQ,EAAE7D,SAAU;gBACpB+D,SAAS,EAAE;kBAAEjM,KAAK,EAAE;oBAAE,YAAY,EAAE0F,CAAC,CAAC8H;kBAAU;gBAAE;cAAE,CACrD;YAAC,CACO,CACZ,EACAvK,OAAO,CAACkF,GAAG,CAAC,UAACT,GAAG,EAAK;cAAA,IAAA+F,KAAA;cACpB,IAAMC,UAAU,GAAGjG,QAAQ,CAACC,GAAG,CAAC;cAChC,IAAMiG,WAAW,GAAGxI,SAAS,IAAIuC,GAAG,CAACvC,SAAS,KAAK,KAAK;cACxD,IAAMyI,aAAa,GAAGrI,WAAW,IAAImC,GAAG,CAACnC,WAAW,KAAK,KAAK;cAC9D,IAAMsI,QAAQ,GAAGH,UAAU,GACvB,IAAAI,2BAAW,EAACtK,IAAI,EAAEkE,GAAG,CAAC/J,GAAG,CAAC,GAC1ByC,SAAS;cACb,IAAMkM,cAAc,IAAAmB,KAAA,GACjBvH,MAAM,CAACqG,UAAU,IAAIrG,MAAM,CAACqG,UAAU,CAAC7E,GAAG,CAAC/J,GAAG,CAAC,cAAA8P,KAAA,cAAAA,KAAA,GAChD/F,GAAG,CAAC9F,KAAK;cACX,IAAMmM,eAAe,GAAGH,aAAa,GACjCxH,OAAO,CAAC4H,YAAY,CAACtG,GAAG,CAAC/J,GAAG,CAAC,GAC7B,IAAI;cACR,IAAMsQ,iBAAiB,GAAGL,aAAa,GACnCxH,OAAO,CAACoG,MAAM,CAAC9E,GAAG,CAAC/J,GAAG,CAAC,GACvByC,SAAS;cACb,oBACE,IAAA1D,WAAA,CAAAoO,IAAA,EAAC/O,UAAA,WAAS,EAAAgD,aAAA,CAAAA,aAAA;gBAERkO,KAAK,EAAEvF,GAAG,CAACuF,KAAK,KAAKvF,GAAG,CAACoF,OAAO,GAAG,OAAO,GAAG,MAAM,CAAE;gBACrD,aAAWe;cAAS,GACfE,eAAe,IAAI,CAAC,CAAC;gBAC1BpD,EAAE,EAAA5L,aAAA,CAAAA,aAAA;kBACAqC,QAAQ,EAAE,QAAQ;kBAClBE,GAAG,EAAE,CAAC;kBACNE,MAAM,EAAE;gBAAC,GACL8K,cAAc,IAAI,IAAI,GACtB;kBAAE1K,KAAK,EAAE0K;gBAAe,CAAC,GACzB,CAAC,CAAC,GACF2B,iBAAiB,GAChBA,iBAAiB,GAClB,CAAC,CAAC,CACN;gBAAA/D,QAAA,GAEDwD,UAAU,IAAIjK,YAAY,gBACzB,IAAA/G,WAAA,CAAAuN,GAAA,EAAC7N,eAAA,WAAc;kBACb8R,OAAO,EAAExG,GAAG,CAAC/J,GAAI;kBACjB6F,IAAI,EAAEA,IAAK;kBACX2K,OAAO,EAAE1K,YAAa;kBACtBwJ,KAAK,EAAEvF,GAAG,CAACuF,KAAK,KAAKvF,GAAG,CAACoF,OAAO,GAAG,OAAO,GAAG,MAAM,CAAE;kBAAA5C,QAAA,EAEpDxC,GAAG,CAAC0G;gBAAM,CACG,CAAC,GAEjB1G,GAAG,CAAC0G,MACL,EAEAR,aAAa,iBACZ,IAAAlR,WAAA,CAAAuN,GAAA,EAACxO,IAAA,WAAG;kBACF4S,SAAS,EAAC,QAAQ;kBAClBC,IAAI,EAAC,QAAQ;kBACb,qBAAmB5G,GAAG,CAAC/J,GAAI;kBAC3B,cAAW,2BAAwB;kBACnC,qBAAkB,+BAA+B;kBACjD6N,SAAS,EAAE,SAAAA,UAAChD,CAAC,EAAK;oBAChB,IACEA,CAAC,CAAC7K,GAAG,KAAK,WAAW,IACrB6K,CAAC,CAAC7K,GAAG,KAAK,YAAY,IACtB6K,CAAC,CAAC7K,GAAG,KAAK,MAAM,IAChB6K,CAAC,CAAC7K,GAAG,KAAK,KAAK,EACf;sBACA6I,sBAAsB,CAACG,OAAO,GAAGe,GAAG,CAAC/J,GAAG;oBAC1C;oBACAyI,OAAO,CAACmI,aAAa,CAAC7G,GAAG,CAAC/J,GAAG,CAAC,CAAC6K,CAAC,CAAC;kBACnC,CAAE;kBACFmC,EAAE,EAAExJ,eAAgB;kBAAA+I,QAAA,eAEpB,IAAAxN,WAAA,CAAAuN,GAAA,EAAChO,cAAA,WAAiB;oBAAC0O,EAAE,EAAE;sBAAE8B,QAAQ,EAAE;oBAAG;kBAAE,CAAE;gBAAC,CACxC,CACN,EAEAkB,WAAW,iBACV,IAAAjR,WAAA,CAAAuN,GAAA,EAACxO,IAAA,WAAG;kBACF+S,IAAI,EAAC,WAAW;kBAChB,oBAAiB,UAAU;kBAC3B,cAAW,2BAA2B;kBACtC/C,QAAQ,EAAE,CAAE;kBACZ,iBACE,OAAOa,cAAc,KAAK,QAAQ,GAC9BmC,IAAI,CAACC,KAAK,CAACpC,cAAc,CAAC,GAC1BlM,SACL;kBACD,iBAAe8F,MAAM,CAACyI,QAAS;kBAC/BC,SAAS,EAAC,OAAO;kBACjBC,WAAW,EAAE3I,MAAM,CAAC4I,eAAe,CAACpH,GAAG,CAAC/J,GAAG,CAAE;kBAC7C6N,SAAS,EAAEtF,MAAM,CAACqI,aAAa,CAAC7G,GAAG,CAAC/J,GAAG,CAAE;kBACzCgN,EAAE,EAAE;oBACFvJ,QAAQ,EAAE,UAAU;oBACpBE,GAAG,EAAE,CAAC;oBACNyN,cAAc,EAAE,CAAC;oBACjBnN,KAAK,EAAE,CAAC;oBACRC,MAAM,EAAE,MAAM;oBACdI,MAAM,EAAE,YAAY;oBACpB+M,UAAU,EAAE,MAAM;oBAClBC,WAAW,EAAE,MAAM;oBACnBzN,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE;sBACTO,UAAU,EAAE;oBACd,CAAC;oBACD,UAAU,EAAE;sBACVA,UAAU,EAAE;oBACd,CAAC;oBACD,iBAAiB,EAAE;sBACjBO,OAAO,EAAE,yBAAyB;sBAClCC,aAAa,EAAE,MAAM;sBACrBR,UAAU,EAAE;oBACd;kBACF;gBAAE,CACH,CACF;cAAA,IA3FI2F,GAAG,CAAC/J,GA4FA,CAAC;YAEhB,CAAC,CAAC;UAAA,CACM;QAAC,CACF,CAAC,EACXqM,IAAI;MAAA,CACA;IAAC,CACL,CAAC,EACLpG,UAAU,iBACT,IAAAlH,WAAA,CAAAuN,GAAA,EAAC1N,eAAA,CAAA2S,UAAU,EAAAnQ,aAAA,CAAAA,aAAA,KACL6E,UAAU;MACdR,OAAO,EAAEA,OAAQ;MACjBsB,MAAM,EAAEA,MAAO;MACfC,MAAM,EAAEe,CAAC,CAAC9B;IAAW,EACtB,CACF;EAAA,CACE,CAAC;AAEV;AAAC,IAAAuL,QAAA,GAAAC,OAAA,cAEczM,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"DataGridVirtualized.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_reactVirtual","_Skeleton","_SortableHeader","_useDelayedFlag","_tokens","_dataGridShared","_useColumnResize","_useColumnReorder","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_ROW_HEIGHT_BY_DENSITY","freeze","spacious","density","row","comfortable","compact","ultraCompact","PADDING_CELL_SX","padding","border","REORDER_GRIP_SX","position","insetInlineStart","top","transform","zIndex","display","alignItems","justifyContent","width","height","borderRadius","background","color","cursor","opacity","pointerEvents","transition","fontFamily","outline","outlineOffset","readCellValue","key","defaultGetRowId","id","DataGridVirtualized","rows","columns","rawColumns","loading","error","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","getRowId","onRowClick","rowFlashId","filtered","densityProp","ariaLabel","locale","labels","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","rowHeight","overscan","resizable","columnWidths","onColumnWidthsChange","reorderable","columnOrder","onColumnOrderChange","L","useMemo","mergeLabels","tableAria","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","applyColumnOrder","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","useEffect","current","document","escaped","window","CSS","escape","el","querySelector","HTMLElement","focus","effectiveRowHeight","showCheckbox","colCount","length","sortable","col","selectedSet","Set","allSelected","every","someSelected","some","toggleAll","map","toggleRow","next","delete","add","handleRowKeyDown","preventDefault","scrollRef","virtualizer","useVirtualizer","count","getScrollElement","estimateSize","virtualItems","getVirtualItems","totalSize","getTotalSize","firstItem","lastItem","paddingTop","start","paddingBottom","end","scrollContainerSx","overflow","maxHeight","tableDensityKey","tableSx","TABLE_BY_DENSITY","body","jsx","children","Array","from","_","SkeletonRow","cols","withCheckbox","withActions","colSpan","sx","ERROR_CELL_SX","ERROR_INNER_SX","undefined","jsxs","style","virtualItem","index","isSelected","flash","clickable","hover","className","onClick","onKeyDown","tabIndex","size","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","checked","onChange","stopPropagation","slotProps","input","selectRow","value","getValue","effectiveWidth","liveWidths","cellSx","fontSize","whiteSpace","wrap","textOverflow","mono","numeric","fontVariantNumeric","maxWidth","align","render","CONTAINER_SX","ref","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","sortKey","setSort","header","component","type","handleKeyDown","role","Math","round","minWidth","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","Pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridVirtualized.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport { density } from \"../tokens\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridColumn,\r\n DataGridLabels,\r\n DataGridPagination,\r\n} from \"../types/datagrid\";\r\nimport type { Density, RowId, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * DataGridVirtualized - Portnet UI v2 (pattern)\r\n *\r\n * Same public API as DataGrid + four virtualization-specific props\r\n * + the resize/reorder opt-ins (mirrors DataGrid):\r\n *\r\n * rowHeight, overscan — virtualization\r\n * resizable, columnWidths, onColumnWidthsChange — resize\r\n * reorderable, columnOrder, onColumnOrderChange — reorder\r\n *\r\n * When to use:\r\n * - 1000+ rows where pagination would feel artificial.\r\n * - Audit logs / ledgers / \"view all\" flows.\r\n *\r\n * When NOT to use:\r\n * - <100 rows: DataGrid is simpler.\r\n * - Variable-height rows: NOT supported (uniform rowHeight only).\r\n *\r\n * Virtualization caveats:\r\n * - rowFlashId only fires when the target row is in the current window.\r\n * For confirmations that survive scroll, use a Toast.\r\n * - Sort + filter cost is host-side.\r\n *\r\n * A11y (DG-V1): the table advertises aria-rowcount over the FULL dataset while\r\n * only the windowed rows are in the DOM, so every rendered row carries an\r\n * explicit aria-rowindex (header = 1, data row = virtualItem.index + 2) so SR\r\n * users hear their true position. aria-hidden spacer rows stay unindexed.\r\n * DG-2: the resize grip is a focusable role=\"separator\" (tabIndex 0,\r\n * aria-valuenow/valuemin) operable by pointer AND keyboard (Arrow / Home).\r\n * DG-R1: reorderable columns expose a hover/focus-revealed grip button\r\n * (aria-keyshortcuts Arrow/Home/End → useColumnReorder.handleKeyDown) so column\r\n * reorder is keyboard-operable, not drag-only; focus follows the moved column.\r\n */\r\n\r\n/** Row-height density tiers for the virtualizer — a distinct, wider set than\r\n * the canonical 2-tier Density (which governs table cell padding). */\r\nexport type DataGridVirtualizedDensity =\r\n | \"spacious\"\r\n | \"comfortable\"\r\n | \"compact\"\r\n | \"ultraCompact\";\r\n\r\nexport interface DataGridVirtualizedProps<T> {\r\n rows?: T[] | undefined;\r\n columns: DataGridColumn<T>[];\r\n loading?: boolean | undefined;\r\n /** Any truthy value switches the grid to its error branch. */\r\n error?: unknown;\r\n sort?: SortDescriptor[] | undefined;\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;\r\n selection?: Set<RowId> | RowId[] | undefined;\r\n onSelectionChange?: ((selection: Set<RowId>) => void) | undefined;\r\n pagination?: DataGridPagination | undefined;\r\n emptyState?: React.ReactNode | undefined;\r\n filteredEmptyState?: React.ReactNode | undefined;\r\n errorState?: React.ReactNode | undefined;\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n onRowClick?: ((row: T) => void) | undefined;\r\n rowFlashId?: RowId | undefined;\r\n filtered?: boolean | undefined;\r\n density?: DataGridVirtualizedDensity | undefined;\r\n ariaLabel?: string | undefined;\r\n locale?: string | undefined;\r\n labels?: DataGridLabels | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n /** Uniform row height in px (overrides the density default). */\r\n rowHeight?: number | undefined;\r\n /** Rows rendered beyond the visible window on each side. */\r\n overscan?: number | undefined;\r\n resizable?: boolean | undefined;\r\n columnWidths?: Record<string, number> | undefined;\r\n onColumnWidthsChange?: ((widths: Record<string, number>) => void) | undefined;\r\n reorderable?: boolean | undefined;\r\n columnOrder?: string[] | undefined;\r\n onColumnOrderChange?: ((order: string[]) => void) | undefined;\r\n}\r\n\r\n/** Default row height by density tier. */\r\nconst DEFAULT_ROW_HEIGHT_BY_DENSITY: Record<DataGridVirtualizedDensity, number> =\r\n Object.freeze({\r\n spacious: density.spacious.row, // 56\r\n comfortable: density.comfortable.row, // 44\r\n compact: density.compact.row, // 36\r\n ultraCompact: density.ultraCompact.row, // 28\r\n });\r\n\r\nconst PADDING_CELL_SX = Object.freeze({ padding: 0, border: 0 });\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGridVirtualized<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n filtered = false,\r\n density: densityProp = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n // Virtualization\r\n rowHeight,\r\n overscan = 10,\r\n // Resize\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n // Reorder\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n}: DataGridVirtualizedProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // Apply host-supplied column order (defensive, see _dataGridShared).\r\n const columns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n // Resize + reorder hooks. Cross-coupled via resizeIsActive.\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n // Effective row height: prop wins, otherwise density default.\r\n const effectiveRowHeight =\r\n rowHeight ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY[densityProp] ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY.comfortable;\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const colCount = columns.length + (showCheckbox ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const virtualizer = useVirtualizer({\r\n count: rows.length,\r\n getScrollElement: () => scrollRef.current,\r\n estimateSize: () => effectiveRowHeight,\r\n overscan,\r\n });\r\n\r\n const virtualItems = virtualizer.getVirtualItems();\r\n const totalSize = virtualizer.getTotalSize();\r\n const firstItem = virtualItems[0];\r\n const lastItem = virtualItems[virtualItems.length - 1];\r\n const paddingTop = firstItem ? firstItem.start : 0;\r\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0;\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({ overflow: \"auto\", maxHeight: maxBodyHeight }),\r\n [maxBodyHeight]\r\n );\r\n // TABLE_BY_DENSITY is keyed by the 2-tier Density; map the wider tier down\r\n // (matches the JS `TABLE_BY_DENSITY[dp] || .comfortable` fallback).\r\n const tableDensityKey: Density =\r\n densityProp === \"compact\" ? \"compact\" : \"comfortable\";\r\n const tableSx = TABLE_BY_DENSITY[tableDensityKey];\r\n\r\n // ── Body branches ──────────────────────────────────────────────\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={false}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {paddingTop > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingTop }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n {virtualItems.map((virtualItem) => {\r\n const row = rows[virtualItem.index];\r\n if (!row) return null;\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={virtualItem.key}\r\n data-index={virtualItem.index}\r\n aria-rowindex={virtualItem.index + 2}\r\n hover\r\n data-selected={isSelected || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n style={{ height: virtualItem.size }}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n // --text-body (14px) — was `var(--text-fs)`, a token typo\r\n // with no fallback; making the inheritance explicit preserves\r\n // the rendering while removing the dangling reference.\r\n const cellSx: SxProps<Theme> = {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n };\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={cellSx}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n );\r\n })}\r\n {paddingBottom > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingBottom }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box ref={scrollRef} sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n aria-rowcount={rows.length ? rows.length + 1 : undefined}\r\n size={densityProp === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow aria-rowindex={1}>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable = reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default DataGridVirtualized;\r\n"],"mappings":"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","ignoreList":[]}
@@ -3,19 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _ConfirmDialog = _interopRequireDefault(require("../components/ConfirmDialog"));
9
9
  var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
- 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); }
12
- 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; }
13
- 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); }
14
- 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; }
15
- 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; }
16
- 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; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- 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); } /**
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ 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); }
12
+ /**
19
13
  * DeleteResourceConfirmDialog — Portnet UI v2
20
14
  *
21
15
  * Opinionated wrapper over v2.ConfirmDialog for irreversible delete actions
@@ -43,35 +37,38 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
43
37
  *
44
38
  * Charter R-5.1 + §09.3 + R-M.*. WCAG 2.4.7 (focus visible — inherited from Modal).
45
39
  */
46
- function DeleteResourceConfirmDialog(_ref) {
47
- var isOpen = _ref.isOpen,
48
- onClose = _ref.onClose,
49
- onDelete = _ref.onDelete,
50
- title = _ref.title,
51
- description = _ref.description,
52
- impact = _ref.impact,
53
- _ref$confirmLabel = _ref.confirmLabel,
54
- confirmLabel = _ref$confirmLabel === void 0 ? "Confirmer" : _ref$confirmLabel,
55
- _ref$cancelLabel = _ref.cancelLabel,
56
- cancelLabel = _ref$cancelLabel === void 0 ? "Annuler" : _ref$cancelLabel,
57
- _ref$loading = _ref.loading,
58
- loading = _ref$loading === void 0 ? false : _ref$loading;
59
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConfirmDialog["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({
40
+
41
+ function DeleteResourceConfirmDialog({
42
+ isOpen,
43
+ onClose,
44
+ onDelete,
45
+ title,
46
+ description,
47
+ impact,
48
+ confirmLabel = "Confirmer",
49
+ cancelLabel = "Annuler",
50
+ loading = false
51
+ }) {
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConfirmDialog.default, {
60
53
  title: title,
61
54
  description: description,
62
55
  cancelLabel: cancelLabel,
63
56
  confirmLabel: confirmLabel,
64
57
  confirmVariant: "danger",
65
- loading: loading
66
- }, isOpen !== undefined ? {
67
- open: isOpen
68
- } : {}), onClose !== undefined ? {
69
- onClose: onClose
70
- } : {}), onDelete !== undefined ? {
71
- onConfirm: onDelete
72
- } : {}), impact !== undefined ? {
73
- impact: impact
74
- } : {}));
58
+ loading: loading,
59
+ ...(isOpen !== undefined ? {
60
+ open: isOpen
61
+ } : {}),
62
+ ...(onClose !== undefined ? {
63
+ onClose
64
+ } : {}),
65
+ ...(onDelete !== undefined ? {
66
+ onConfirm: onDelete
67
+ } : {}),
68
+ ...(impact !== undefined ? {
69
+ impact
70
+ } : {})
71
+ });
75
72
  }
76
- var _default = exports["default"] = DeleteResourceConfirmDialog;
73
+ var _default = exports.default = DeleteResourceConfirmDialog;
77
74
  //# sourceMappingURL=DeleteResourceConfirmDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteResourceConfirmDialog.js","names":["React","_interopRequireWildcard","require","_ConfirmDialog","_interopRequireDefault","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","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","toPrimitive","undefined","res","TypeError","Number","DeleteResourceConfirmDialog","_ref","isOpen","onClose","onDelete","title","description","impact","_ref$confirmLabel","confirmLabel","_ref$cancelLabel","cancelLabel","_ref$loading","loading","jsx","confirmVariant","open","onConfirm","_default","exports"],"sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ConfirmDialog from \"../components/ConfirmDialog\";\r\n\r\n/**\r\n * DeleteResourceConfirmDialog — Portnet UI v2\r\n *\r\n * Opinionated wrapper over v2.ConfirmDialog for irreversible delete actions\r\n * across the design system. Hard-wires the \"danger\" variant (Charter §09.3 —\r\n * the only correct choice for a destructive irreversible action) and sensible\r\n * FR defaults for the button labels.\r\n *\r\n * The prop names `isOpen` / `onDelete` are deliberately chosen over\r\n * v2.ConfirmDialog's `open` / `onConfirm` because call sites read more\r\n * naturally with action-specific verbs — every host-module audit converged on\r\n * this naming and the wrapper formalises it as the destructive-action\r\n * convention.\r\n *\r\n * <DeleteResourceConfirmDialog\r\n * isOpen // bool, REQUIRED\r\n * onClose // () => void, REQUIRED\r\n * onDelete // () => void, REQUIRED — fires on confirm\r\n * title // node, REQUIRED — surfaces the resource type\r\n * description? // node — single-sentence consequence\r\n * impact? // node[] — bullet-list of side effects (Charter R-5.1)\r\n * confirmLabel? // node, default \"Confirmer\"\r\n * cancelLabel? // node, default \"Annuler\"\r\n * loading? // bool — disables both buttons + spinner on confirm\r\n * />\r\n *\r\n * Charter R-5.1 + §09.3 + R-M.*. WCAG 2.4.7 (focus visible — inherited from Modal).\r\n */\r\n\r\ntype ConfirmDialogProps = React.ComponentProps<typeof ConfirmDialog>;\r\n\r\nexport interface DeleteResourceConfirmDialogProps {\r\n isOpen: ConfirmDialogProps[\"open\"];\r\n onClose: ConfirmDialogProps[\"onClose\"];\r\n /** Fires on confirm (maps to ConfirmDialog's onConfirm). */\r\n onDelete: ConfirmDialogProps[\"onConfirm\"];\r\n title: ConfirmDialogProps[\"title\"];\r\n description?: ConfirmDialogProps[\"description\"] | undefined;\r\n impact?: ConfirmDialogProps[\"impact\"] | undefined;\r\n confirmLabel?: ConfirmDialogProps[\"confirmLabel\"] | undefined;\r\n cancelLabel?: ConfirmDialogProps[\"cancelLabel\"] | undefined;\r\n loading?: ConfirmDialogProps[\"loading\"] | undefined;\r\n}\r\n\r\nfunction DeleteResourceConfirmDialog({\r\n isOpen,\r\n onClose,\r\n onDelete,\r\n title,\r\n description,\r\n impact,\r\n confirmLabel = \"Confirmer\",\r\n cancelLabel = \"Annuler\",\r\n loading = false,\r\n}: DeleteResourceConfirmDialogProps) {\r\n return (\r\n <ConfirmDialog\r\n title={title}\r\n description={description}\r\n cancelLabel={cancelLabel}\r\n confirmLabel={confirmLabel}\r\n confirmVariant=\"danger\"\r\n loading={loading}\r\n {...(isOpen !== undefined ? { open: isOpen } : {})}\r\n {...(onClose !== undefined ? { onClose } : {})}\r\n {...(onDelete !== undefined ? { onConfirm: onDelete } : {})}\r\n {...(impact !== undefined ? { impact } : {})}\r\n />\r\n );\r\n}\r\n\r\nexport default DeleteResourceConfirmDialog;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAK,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAJ,QAAAP,GAAA,sCAAAO,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAvB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAsB,MAAA,IAAAtB,GAAA,CAAAwB,WAAA,KAAAF,MAAA,IAAAtB,GAAA,KAAAsB,MAAA,CAAAL,SAAA,qBAAAjB,GAAA,KAAAO,OAAA,CAAAP,GAAA;AAAA,SAAAyB,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAf,MAAA,CAAAe,IAAA,CAAAF,MAAA,OAAAb,MAAA,CAAAgB,qBAAA,QAAAC,OAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAnB,MAAA,CAAAE,wBAAA,CAAAW,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,OAAAC,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAN,MAAA,EAAArB,GAAA,EAAAyB,MAAA,CAAAzB,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAAR,MAAA,EAAAxB,MAAA,CAAA+B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,GAAAC,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAuB,MAAA,EAAArB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA0B,MAAA,EAAAzB,GAAA,iBAAAqB,MAAA;AAAA,SAAAM,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,oBAAA3C,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,QAAA/C,OAAA,CAAA8C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA/B,MAAA,CAAAkC,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,oBAAA/C,OAAA,CAAAmD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAL,IAAA,gBAAAF,MAAA,GAAAQ,MAAA,EAAAP,KAAA,KAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiBA,SAASQ,2BAA2BA,CAAAC,IAAA,EAUC;EAAA,IATnCC,MAAM,GAAAD,IAAA,CAANC,MAAM;IACNC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,MAAM,GAAAN,IAAA,CAANM,MAAM;IAAAC,iBAAA,GAAAP,IAAA,CACNQ,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,WAAW,GAAAA,iBAAA;IAAAE,gBAAA,GAAAT,IAAA,CAC1BU,WAAW;IAAXA,WAAW,GAAAD,gBAAA,cAAG,SAAS,GAAAA,gBAAA;IAAAE,YAAA,GAAAX,IAAA,CACvBY,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;EAEf,oBACE,IAAA1E,WAAA,CAAA4E,GAAA,EAAC9E,cAAA,WAAa,EAAAuC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACZ8B,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBK,WAAW,EAAEA,WAAY;IACzBF,YAAY,EAAEA,YAAa;IAC3BM,cAAc,EAAC,QAAQ;IACvBF,OAAO,EAAEA;EAAQ,GACZX,MAAM,KAAKN,SAAS,GAAG;IAAEoB,IAAI,EAAEd;EAAO,CAAC,GAAG,CAAC,CAAC,GAC5CC,OAAO,KAAKP,SAAS,GAAG;IAAEO,OAAO,EAAPA;EAAQ,CAAC,GAAG,CAAC,CAAC,GACxCC,QAAQ,KAAKR,SAAS,GAAG;IAAEqB,SAAS,EAAEb;EAAS,CAAC,GAAG,CAAC,CAAC,GACrDG,MAAM,KAAKX,SAAS,GAAG;IAAEW,MAAM,EAANA;EAAO,CAAC,GAAG,CAAC,CAAC,CAC5C,CAAC;AAEN;AAAC,IAAAW,QAAA,GAAAC,OAAA,cAEcnB,2BAA2B","ignoreList":[]}
1
+ {"version":3,"file":"DeleteResourceConfirmDialog.js","names":["React","_interopRequireWildcard","require","_ConfirmDialog","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DeleteResourceConfirmDialog","isOpen","onClose","onDelete","title","description","impact","confirmLabel","cancelLabel","loading","jsx","confirmVariant","undefined","open","onConfirm","_default","exports"],"sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ConfirmDialog from \"../components/ConfirmDialog\";\r\n\r\n/**\r\n * DeleteResourceConfirmDialog — Portnet UI v2\r\n *\r\n * Opinionated wrapper over v2.ConfirmDialog for irreversible delete actions\r\n * across the design system. Hard-wires the \"danger\" variant (Charter §09.3 —\r\n * the only correct choice for a destructive irreversible action) and sensible\r\n * FR defaults for the button labels.\r\n *\r\n * The prop names `isOpen` / `onDelete` are deliberately chosen over\r\n * v2.ConfirmDialog's `open` / `onConfirm` because call sites read more\r\n * naturally with action-specific verbs — every host-module audit converged on\r\n * this naming and the wrapper formalises it as the destructive-action\r\n * convention.\r\n *\r\n * <DeleteResourceConfirmDialog\r\n * isOpen // bool, REQUIRED\r\n * onClose // () => void, REQUIRED\r\n * onDelete // () => void, REQUIRED — fires on confirm\r\n * title // node, REQUIRED — surfaces the resource type\r\n * description? // node — single-sentence consequence\r\n * impact? // node[] — bullet-list of side effects (Charter R-5.1)\r\n * confirmLabel? // node, default \"Confirmer\"\r\n * cancelLabel? // node, default \"Annuler\"\r\n * loading? // bool — disables both buttons + spinner on confirm\r\n * />\r\n *\r\n * Charter R-5.1 + §09.3 + R-M.*. WCAG 2.4.7 (focus visible — inherited from Modal).\r\n */\r\n\r\ntype ConfirmDialogProps = React.ComponentProps<typeof ConfirmDialog>;\r\n\r\nexport interface DeleteResourceConfirmDialogProps {\r\n isOpen: ConfirmDialogProps[\"open\"];\r\n onClose: ConfirmDialogProps[\"onClose\"];\r\n /** Fires on confirm (maps to ConfirmDialog's onConfirm). */\r\n onDelete: ConfirmDialogProps[\"onConfirm\"];\r\n title: ConfirmDialogProps[\"title\"];\r\n description?: ConfirmDialogProps[\"description\"] | undefined;\r\n impact?: ConfirmDialogProps[\"impact\"] | undefined;\r\n confirmLabel?: ConfirmDialogProps[\"confirmLabel\"] | undefined;\r\n cancelLabel?: ConfirmDialogProps[\"cancelLabel\"] | undefined;\r\n loading?: ConfirmDialogProps[\"loading\"] | undefined;\r\n}\r\n\r\nfunction DeleteResourceConfirmDialog({\r\n isOpen,\r\n onClose,\r\n onDelete,\r\n title,\r\n description,\r\n impact,\r\n confirmLabel = \"Confirmer\",\r\n cancelLabel = \"Annuler\",\r\n loading = false,\r\n}: DeleteResourceConfirmDialogProps) {\r\n return (\r\n <ConfirmDialog\r\n title={title}\r\n description={description}\r\n cancelLabel={cancelLabel}\r\n confirmLabel={confirmLabel}\r\n confirmVariant=\"danger\"\r\n loading={loading}\r\n {...(isOpen !== undefined ? { open: isOpen } : {})}\r\n {...(onClose !== undefined ? { onClose } : {})}\r\n {...(onDelete !== undefined ? { onConfirm: onDelete } : {})}\r\n {...(impact !== undefined ? { impact } : {})}\r\n />\r\n );\r\n}\r\n\r\nexport default DeleteResourceConfirmDialog;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAK,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA,SAASgB,2BAA2BA,CAAC;EACnCC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC,WAAW;EACXC,MAAM;EACNC,YAAY,GAAG,WAAW;EAC1BC,WAAW,GAAG,SAAS;EACvBC,OAAO,GAAG;AACsB,CAAC,EAAE;EACnC,oBACE,IAAA7B,WAAA,CAAA8B,GAAA,EAAChC,cAAA,CAAAK,OAAa;IACZqB,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzBG,WAAW,EAAEA,WAAY;IACzBD,YAAY,EAAEA,YAAa;IAC3BI,cAAc,EAAC,QAAQ;IACvBF,OAAO,EAAEA,OAAQ;IAAA,IACZR,MAAM,KAAKW,SAAS,GAAG;MAAEC,IAAI,EAAEZ;IAAO,CAAC,GAAG,CAAC,CAAC;IAAA,IAC5CC,OAAO,KAAKU,SAAS,GAAG;MAAEV;IAAQ,CAAC,GAAG,CAAC,CAAC;IAAA,IACxCC,QAAQ,KAAKS,SAAS,GAAG;MAAEE,SAAS,EAAEX;IAAS,CAAC,GAAG,CAAC,CAAC;IAAA,IACrDG,MAAM,KAAKM,SAAS,GAAG;MAAEN;IAAO,CAAC,GAAG,CAAC,CAAC;EAAA,CAC5C,CAAC;AAEN;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEciB,2BAA2B","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ import * as React from "react";
2
+ import type { SxProps, Theme } from "@mui/material/styles";
3
+ /**
4
+ * DetailSplit — Portnet UI v2 (pattern)
5
+ *
6
+ * Charter §07 R-L.7 · Platform Mandatory UX Patterns §Detail /
7
+ * Consultation — Vertical Progress.
8
+ *
9
+ * The canonical consultation skeleton: the record on the left, the
10
+ * progression rail on the right. Both halves are MUST on every detail
11
+ * page of the platform ("Display progression on the right side"), and
12
+ * the library shipped the rail itself (`VStepper`) but not the geometry
13
+ * that places it — so every host wrote the same three-value flex row by
14
+ * hand.
15
+ *
16
+ * Promoted from `refonte-frontend` (Area 4), where it appeared TWICE —
17
+ * `DetailPage` and `TraitementDemande` — as:
18
+ *
19
+ * <div style={{ display: "flex", gap: "var(--s-4)",
20
+ * alignItems: "flex-start", flexWrap: "wrap" }}>
21
+ * <div style={{ flex: "1 1 560px", minWidth: 0 }}>…</div>
22
+ * <aside style={{ flex: "0 1 300px", minWidth: 260 }}>…</aside>
23
+ * </div>
24
+ *
25
+ * Three magic widths per copy (R-2.3), and nothing keeping the two
26
+ * screens agreeing — they had already drifted on the `<aside>` carrying
27
+ * no accessible name. The widths now come from `tokens.layout.detail`.
28
+ *
29
+ * REFLOW WITHOUT A MEDIA QUERY. `flexWrap: "wrap"` plus the two
30
+ * flex-bases is the whole responsive strategy: as soon as the container
31
+ * cannot seat `mainMin + aside`, the rail drops BELOW the content at full
32
+ * width. No breakpoint, no `useMediaQuery`, and correct at any CONTAINER
33
+ * width rather than at viewport widths only (WCAG 1.4.10).
34
+ * `minWidth: 0` on the content column is load-bearing — without it a
35
+ * wide child (a DataGrid, a long mono value) refuses to shrink and
36
+ * overflows the viewport instead of wrapping.
37
+ *
38
+ * The rail renders as a real `<aside>` (complementary landmark). Pass
39
+ * `asideLabel` whenever the page has more than one complementary region,
40
+ * or when the rail's own heading does not name it in a screen-reader
41
+ * landmark list (R-Ar.1).
42
+ *
43
+ * NO `Surface` IS IMPOSED ON EITHER HALF, deliberately. Hosts typically
44
+ * fill these slots with components that already compose `Surface`
45
+ * (`FormSection`, a detail card). Wrapping them again produces a card
46
+ * inside a card — one large white block swallowing the others, a defect
47
+ * this pattern's origin module had to fix at browser acceptance.
48
+ *
49
+ * Usage:
50
+ * import { DetailSplit, FormSection, VStepper } from "@portnet/ui";
51
+ *
52
+ * <DetailSplit
53
+ * asideLabel="Progression du dossier"
54
+ * aside={
55
+ * <FormSection title="Progression du dossier" cols="none">
56
+ * <VStepper items={etapes} ariaLabel="Progression du dossier" />
57
+ * </FormSection>
58
+ * }
59
+ * sx={{ marginBlockStart: "var(--s-4)" }}
60
+ * >
61
+ * <RecordCard … />
62
+ * </DetailSplit>
63
+ *
64
+ * With no `aside`, the content column simply grows to the full width —
65
+ * so a page whose rail is conditional needs no branch on the layout.
66
+ */
67
+ export interface DetailSplitProps {
68
+ /** Content column (left on desktop, first in DOM and reading order). */
69
+ children?: React.ReactNode | undefined;
70
+ /**
71
+ * Right-hand rail — the progression stepper on a consultation page.
72
+ * Omit it and the content column takes the full width.
73
+ */
74
+ aside?: React.ReactNode | undefined;
75
+ /**
76
+ * Accessible name of the `<aside>` landmark. Set it when the page has
77
+ * several complementary regions.
78
+ */
79
+ asideLabel?: string | undefined;
80
+ /** Gap between the two columns. @default var(--s-4) */
81
+ gap?: string | undefined;
82
+ /** MUI sx overrides applied to the row container. */
83
+ sx?: SxProps<Theme> | undefined;
84
+ }
85
+ declare function DetailSplit({ children, aside, asideLabel, gap, sx, }: DetailSplitProps): React.JSX.Element;
86
+ export default DetailSplit;
87
+ //# sourceMappingURL=DetailSplit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailSplit.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DetailSplit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,qDAAqD;IACrD,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAED,iBAAS,WAAW,CAAC,EACnB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,GAAG,EACH,EAAE,GACH,EAAE,gBAAgB,qBAgClB;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
+ var _tokens = require("../tokens");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ 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); }
13
+ /**
14
+ * DetailSplit — Portnet UI v2 (pattern)
15
+ *
16
+ * Charter §07 R-L.7 · Platform Mandatory UX Patterns §Detail /
17
+ * Consultation — Vertical Progress.
18
+ *
19
+ * The canonical consultation skeleton: the record on the left, the
20
+ * progression rail on the right. Both halves are MUST on every detail
21
+ * page of the platform ("Display progression on the right side"), and
22
+ * the library shipped the rail itself (`VStepper`) but not the geometry
23
+ * that places it — so every host wrote the same three-value flex row by
24
+ * hand.
25
+ *
26
+ * Promoted from `refonte-frontend` (Area 4), where it appeared TWICE —
27
+ * `DetailPage` and `TraitementDemande` — as:
28
+ *
29
+ * <div style={{ display: "flex", gap: "var(--s-4)",
30
+ * alignItems: "flex-start", flexWrap: "wrap" }}>
31
+ * <div style={{ flex: "1 1 560px", minWidth: 0 }}>…</div>
32
+ * <aside style={{ flex: "0 1 300px", minWidth: 260 }}>…</aside>
33
+ * </div>
34
+ *
35
+ * Three magic widths per copy (R-2.3), and nothing keeping the two
36
+ * screens agreeing — they had already drifted on the `<aside>` carrying
37
+ * no accessible name. The widths now come from `tokens.layout.detail`.
38
+ *
39
+ * REFLOW WITHOUT A MEDIA QUERY. `flexWrap: "wrap"` plus the two
40
+ * flex-bases is the whole responsive strategy: as soon as the container
41
+ * cannot seat `mainMin + aside`, the rail drops BELOW the content at full
42
+ * width. No breakpoint, no `useMediaQuery`, and correct at any CONTAINER
43
+ * width rather than at viewport widths only (WCAG 1.4.10).
44
+ * `minWidth: 0` on the content column is load-bearing — without it a
45
+ * wide child (a DataGrid, a long mono value) refuses to shrink and
46
+ * overflows the viewport instead of wrapping.
47
+ *
48
+ * The rail renders as a real `<aside>` (complementary landmark). Pass
49
+ * `asideLabel` whenever the page has more than one complementary region,
50
+ * or when the rail's own heading does not name it in a screen-reader
51
+ * landmark list (R-Ar.1).
52
+ *
53
+ * NO `Surface` IS IMPOSED ON EITHER HALF, deliberately. Hosts typically
54
+ * fill these slots with components that already compose `Surface`
55
+ * (`FormSection`, a detail card). Wrapping them again produces a card
56
+ * inside a card — one large white block swallowing the others, a defect
57
+ * this pattern's origin module had to fix at browser acceptance.
58
+ *
59
+ * Usage:
60
+ * import { DetailSplit, FormSection, VStepper } from "@portnet/ui";
61
+ *
62
+ * <DetailSplit
63
+ * asideLabel="Progression du dossier"
64
+ * aside={
65
+ * <FormSection title="Progression du dossier" cols="none">
66
+ * <VStepper items={etapes} ariaLabel="Progression du dossier" />
67
+ * </FormSection>
68
+ * }
69
+ * sx={{ marginBlockStart: "var(--s-4)" }}
70
+ * >
71
+ * <RecordCard … />
72
+ * </DetailSplit>
73
+ *
74
+ * With no `aside`, the content column simply grows to the full width —
75
+ * so a page whose rail is conditional needs no branch on the layout.
76
+ */
77
+
78
+ function DetailSplit({
79
+ children,
80
+ aside,
81
+ asideLabel,
82
+ gap,
83
+ sx
84
+ }) {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
86
+ sx: {
87
+ display: "flex",
88
+ gap: gap ?? "var(--s-4)",
89
+ /* Columns of unequal height must not stretch: the rail keeps its
90
+ * own height instead of tracking the record's. */
91
+ alignItems: "flex-start",
92
+ /* The entire responsive strategy — see the header note. */
93
+ flexWrap: "wrap",
94
+ ...sx
95
+ },
96
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
97
+ sx: {
98
+ flex: `1 1 ${_tokens.layout.detail.mainMin}px`,
99
+ minWidth: 0
100
+ },
101
+ children: children
102
+ }), aside != null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
103
+ component: "aside",
104
+ ...(asideLabel !== undefined ? {
105
+ "aria-label": asideLabel
106
+ } : {}),
107
+ sx: {
108
+ flex: `0 1 ${_tokens.layout.detail.aside}px`,
109
+ minWidth: _tokens.layout.detail.asideMin
110
+ },
111
+ children: aside
112
+ }) : null]
113
+ });
114
+ }
115
+ var _default = exports.default = DetailSplit;
116
+ //# sourceMappingURL=DetailSplit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailSplit.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_tokens","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DetailSplit","children","aside","asideLabel","gap","sx","jsxs","display","alignItems","flexWrap","jsx","flex","layout","detail","mainMin","minWidth","component","undefined","asideMin","_default","exports"],"sources":["../../../src/lib/v2/patterns/DetailSplit.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { layout } from \"../tokens\";\r\n\r\n/**\r\n * DetailSplit — Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 R-L.7 · Platform Mandatory UX Patterns §Detail /\r\n * Consultation — Vertical Progress.\r\n *\r\n * The canonical consultation skeleton: the record on the left, the\r\n * progression rail on the right. Both halves are MUST on every detail\r\n * page of the platform (\"Display progression on the right side\"), and\r\n * the library shipped the rail itself (`VStepper`) but not the geometry\r\n * that places it — so every host wrote the same three-value flex row by\r\n * hand.\r\n *\r\n * Promoted from `refonte-frontend` (Area 4), where it appeared TWICE —\r\n * `DetailPage` and `TraitementDemande` — as:\r\n *\r\n * <div style={{ display: \"flex\", gap: \"var(--s-4)\",\r\n * alignItems: \"flex-start\", flexWrap: \"wrap\" }}>\r\n * <div style={{ flex: \"1 1 560px\", minWidth: 0 }}>…</div>\r\n * <aside style={{ flex: \"0 1 300px\", minWidth: 260 }}>…</aside>\r\n * </div>\r\n *\r\n * Three magic widths per copy (R-2.3), and nothing keeping the two\r\n * screens agreeing — they had already drifted on the `<aside>` carrying\r\n * no accessible name. The widths now come from `tokens.layout.detail`.\r\n *\r\n * REFLOW WITHOUT A MEDIA QUERY. `flexWrap: \"wrap\"` plus the two\r\n * flex-bases is the whole responsive strategy: as soon as the container\r\n * cannot seat `mainMin + aside`, the rail drops BELOW the content at full\r\n * width. No breakpoint, no `useMediaQuery`, and correct at any CONTAINER\r\n * width rather than at viewport widths only (WCAG 1.4.10).\r\n * `minWidth: 0` on the content column is load-bearing — without it a\r\n * wide child (a DataGrid, a long mono value) refuses to shrink and\r\n * overflows the viewport instead of wrapping.\r\n *\r\n * The rail renders as a real `<aside>` (complementary landmark). Pass\r\n * `asideLabel` whenever the page has more than one complementary region,\r\n * or when the rail's own heading does not name it in a screen-reader\r\n * landmark list (R-Ar.1).\r\n *\r\n * NO `Surface` IS IMPOSED ON EITHER HALF, deliberately. Hosts typically\r\n * fill these slots with components that already compose `Surface`\r\n * (`FormSection`, a detail card). Wrapping them again produces a card\r\n * inside a card — one large white block swallowing the others, a defect\r\n * this pattern's origin module had to fix at browser acceptance.\r\n *\r\n * Usage:\r\n * import { DetailSplit, FormSection, VStepper } from \"@portnet/ui\";\r\n *\r\n * <DetailSplit\r\n * asideLabel=\"Progression du dossier\"\r\n * aside={\r\n * <FormSection title=\"Progression du dossier\" cols=\"none\">\r\n * <VStepper items={etapes} ariaLabel=\"Progression du dossier\" />\r\n * </FormSection>\r\n * }\r\n * sx={{ marginBlockStart: \"var(--s-4)\" }}\r\n * >\r\n * <RecordCard … />\r\n * </DetailSplit>\r\n *\r\n * With no `aside`, the content column simply grows to the full width —\r\n * so a page whose rail is conditional needs no branch on the layout.\r\n */\r\n\r\nexport interface DetailSplitProps {\r\n /** Content column (left on desktop, first in DOM and reading order). */\r\n children?: React.ReactNode | undefined;\r\n /**\r\n * Right-hand rail — the progression stepper on a consultation page.\r\n * Omit it and the content column takes the full width.\r\n */\r\n aside?: React.ReactNode | undefined;\r\n /**\r\n * Accessible name of the `<aside>` landmark. Set it when the page has\r\n * several complementary regions.\r\n */\r\n asideLabel?: string | undefined;\r\n /** Gap between the two columns. @default var(--s-4) */\r\n gap?: string | undefined;\r\n /** MUI sx overrides applied to the row container. */\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction DetailSplit({\r\n children,\r\n aside,\r\n asideLabel,\r\n gap,\r\n sx,\r\n}: DetailSplitProps) {\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: gap ?? \"var(--s-4)\",\r\n /* Columns of unequal height must not stretch: the rail keeps its\r\n * own height instead of tracking the record's. */\r\n alignItems: \"flex-start\",\r\n /* The entire responsive strategy — see the header note. */\r\n flexWrap: \"wrap\",\r\n ...(sx as SystemStyleObject<Theme>),\r\n }}\r\n >\r\n <Box sx={{ flex: `1 1 ${layout.detail.mainMin}px`, minWidth: 0 }}>\r\n {children}\r\n </Box>\r\n\r\n {aside != null ? (\r\n <Box\r\n component=\"aside\"\r\n {...(asideLabel !== undefined ? { \"aria-label\": asideLabel } : {})}\r\n sx={{\r\n flex: `0 1 ${layout.detail.aside}px`,\r\n minWidth: layout.detail.asideMin,\r\n }}\r\n >\r\n {aside}\r\n </Box>\r\n ) : null}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default DetailSplit;\r\n"],"mappings":"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","ignoreList":[]}