@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,22 +1,3 @@
1
- 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); }
2
- 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; }
3
- 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; }
4
- 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; }
5
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
- 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 _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
14
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
17
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
18
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20
1
  import * as React from "react";
21
2
  import Banner from "./Banner";
22
3
 
@@ -80,26 +61,17 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
80
61
  */
81
62
  function extractFirstComponent(stack) {
82
63
  if (!stack || typeof stack !== "string") return null;
83
- var _iterator = _createForOfIteratorHelper(stack.split("\n")),
84
- _step;
85
- try {
86
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
87
- var raw = _step.value;
88
- var line = raw.trim();
89
- if (!line) continue;
90
- var match = /^(?:in|at)\s+([A-Za-z0-9_$.]+)/.exec(line);
91
- var name = match === null || match === void 0 ? void 0 : match[1];
92
- // Skip host elements (div, span…) — only a capitalised name is a component.
93
- if (name && /^[A-Z]/.test(name)) return name;
94
- }
95
- } catch (err) {
96
- _iterator.e(err);
97
- } finally {
98
- _iterator.f();
64
+ for (const raw of stack.split("\n")) {
65
+ const line = raw.trim();
66
+ if (!line) continue;
67
+ const match = /^(?:in|at)\s+([A-Za-z0-9_$.]+)/.exec(line);
68
+ const name = match?.[1];
69
+ // Skip host elements (div, span…) — only a capitalised name is a component.
70
+ if (name && /^[A-Z]/.test(name)) return name;
99
71
  }
100
72
  return null;
101
73
  }
102
- var DETAIL_SX = Object.freeze({
74
+ const DETAIL_SX = Object.freeze({
103
75
  fontFamily: "var(--font-mono)",
104
76
  fontSize: "var(--text-xs)",
105
77
  color: "var(--fg-subtle)",
@@ -108,107 +80,89 @@ var DETAIL_SX = Object.freeze({
108
80
  // otherwise widen the banner past its container.
109
81
  wordBreak: "break-word"
110
82
  });
111
- var SectionErrorBoundary = /*#__PURE__*/function (_React$Component) {
112
- _inherits(SectionErrorBoundary, _React$Component);
113
- var _super = _createSuper(SectionErrorBoundary);
114
- function SectionErrorBoundary(props) {
115
- var _this;
116
- _classCallCheck(this, SectionErrorBoundary);
117
- _this = _super.call(this, props);
118
- _this.state = {
83
+ class SectionErrorBoundary extends React.Component {
84
+ constructor(props) {
85
+ super(props);
86
+ this.state = {
119
87
  error: null,
120
88
  info: null,
121
89
  attempt: 0
122
90
  };
123
- _this.handleRetry = _this.handleRetry.bind(_assertThisInitialized(_this));
124
- return _this;
91
+ this.handleRetry = this.handleRetry.bind(this);
92
+ }
93
+ static getDerivedStateFromError(error) {
94
+ return {
95
+ error
96
+ };
125
97
  }
126
- _createClass(SectionErrorBoundary, [{
127
- key: "componentDidCatch",
128
- value: function componentDidCatch(error, info) {
129
- var _this$props;
130
- var title = ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.title) || "Section";
131
- // eslint-disable-next-line no-console
132
- console.error("[SectionErrorBoundary:".concat(title, "]"), error, "\nComponent stack:", info === null || info === void 0 ? void 0 : info.componentStack);
133
- this.setState({
134
- info: info
135
- });
136
- /* Guarded: a throwing reporter must not take down the boundary that exists to
137
- * stop things from taking each other down. */
138
- try {
139
- var _this$props$onError, _this$props2;
140
- (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);
141
- } catch (_unused) {
142
- /* reporter failed — the console.error above is still the record */
143
- }
98
+ componentDidCatch(error, info) {
99
+ const title = this.props?.title || "Section";
100
+ // eslint-disable-next-line no-console
101
+ console.error(`[SectionErrorBoundary:${title}]`, error, "\nComponent stack:", info?.componentStack);
102
+ this.setState({
103
+ info
104
+ });
105
+ /* Guarded: a throwing reporter must not take down the boundary that exists to
106
+ * stop things from taking each other down. */
107
+ try {
108
+ this.props.onError?.(error, info);
109
+ } catch {
110
+ /* reporter failed — the console.error above is still the record */
144
111
  }
145
- }, {
146
- key: "handleRetry",
147
- value: function handleRetry() {
148
- this.setState(function (s) {
149
- return {
150
- error: null,
151
- info: null,
152
- attempt: s.attempt + 1
153
- };
154
- });
112
+ }
113
+ handleRetry() {
114
+ this.setState(s => ({
115
+ error: null,
116
+ info: null,
117
+ attempt: s.attempt + 1
118
+ }));
119
+ }
120
+ render() {
121
+ const {
122
+ error,
123
+ info,
124
+ attempt
125
+ } = this.state;
126
+ const {
127
+ title,
128
+ children,
129
+ secondaryAction,
130
+ retryLabel
131
+ } = this.props;
132
+ if (!error) {
133
+ /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the
134
+ * state that led to the throw. Without this, retry re-renders the same
135
+ * broken instance and fails identically. */
136
+ return /*#__PURE__*/_jsx(React.Fragment, {
137
+ children: children
138
+ }, attempt);
155
139
  }
156
- }, {
157
- key: "render",
158
- value: function render() {
159
- var _ref, _error$message;
160
- var _this$state = this.state,
161
- error = _this$state.error,
162
- info = _this$state.info,
163
- attempt = _this$state.attempt;
164
- var _this$props3 = this.props,
165
- title = _this$props3.title,
166
- children = _this$props3.children,
167
- secondaryAction = _this$props3.secondaryAction,
168
- retryLabel = _this$props3.retryLabel;
169
- if (!error) {
170
- /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the
171
- * state that led to the throw. Without this, retry re-renders the same
172
- * broken instance and fails identically. */
173
- return /*#__PURE__*/_jsx(React.Fragment, {
174
- children: children
175
- }, attempt);
176
- }
177
140
 
178
- /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the
179
- * nine mandatory strict flags, and `process.env` is an index signature. Note
180
- * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a
181
- * green typecheck is not sufficient evidence here. */
182
- var isDev = process.env["NODE_ENV"] !== "production";
183
- var originComponent = extractFirstComponent(info === null || info === void 0 ? void 0 : info.componentStack);
184
- var technicalMessage = String((_ref = (_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : error) !== null && _ref !== void 0 ? _ref : "");
185
- return /*#__PURE__*/_jsxs(Banner, _objectSpread(_objectSpread({
186
- variant: "error",
187
- title: "".concat(title || "Section", " \u2014 affichage impossible"),
188
- action: {
189
- label: retryLabel || "Réessayer",
190
- onClick: this.handleRetry
191
- }
192
- }, secondaryAction ? {
193
- secondaryAction: secondaryAction
194
- } : {}), {}, {
195
- children: [/*#__PURE__*/_jsxs("div", {
196
- children: ["Cette section n'a pas pu s'afficher. Cliquez sur \xAB\xA0", retryLabel || "Réessayer", "\xA0\xBB\xA0; si le probl\xE8me persiste, rechargez la page ou contactez l'administrateur."]
197
- }), isDev && (technicalMessage || originComponent) && /*#__PURE__*/_jsxs("div", {
198
- style: DETAIL_SX,
199
- children: [technicalMessage, originComponent ? " \xB7 origine probable : ".concat(originComponent) : ""]
200
- })]
201
- }));
202
- }
203
- }], [{
204
- key: "getDerivedStateFromError",
205
- value: function getDerivedStateFromError(error) {
206
- return {
207
- error: error
208
- };
209
- }
210
- }]);
211
- return SectionErrorBoundary;
212
- }(React.Component);
141
+ /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the
142
+ * nine mandatory strict flags, and `process.env` is an index signature. Note
143
+ * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a
144
+ * green typecheck is not sufficient evidence here. */
145
+ const isDev = process.env["NODE_ENV"] !== "production";
146
+ const originComponent = extractFirstComponent(info?.componentStack);
147
+ const technicalMessage = String(error?.message ?? error ?? "");
148
+ return /*#__PURE__*/_jsxs(Banner, {
149
+ variant: "error",
150
+ title: `${title || "Section"} affichage impossible`,
151
+ action: {
152
+ label: retryLabel || "Réessayer",
153
+ onClick: this.handleRetry
154
+ },
155
+ ...(secondaryAction ? {
156
+ secondaryAction
157
+ } : {}),
158
+ children: [/*#__PURE__*/_jsxs("div", {
159
+ children: ["Cette section n'a pas pu s'afficher. Cliquez sur \xAB\xA0", retryLabel || "Réessayer", "\xA0\xBB\xA0; si le probl\xE8me persiste, rechargez la page ou contactez l'administrateur."]
160
+ }), isDev && (technicalMessage || originComponent) && /*#__PURE__*/_jsxs("div", {
161
+ style: DETAIL_SX,
162
+ children: [technicalMessage, originComponent ? ` · origine probable : ${originComponent}` : ""]
163
+ })]
164
+ });
165
+ }
166
+ }
213
167
  export default SectionErrorBoundary;
214
168
  //# sourceMappingURL=SectionErrorBoundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionErrorBoundary.js","names":["React","Banner","jsx","_jsx","jsxs","_jsxs","extractFirstComponent","stack","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","raw","value","line","trim","match","exec","name","test","err","e","f","DETAIL_SX","Object","freeze","fontFamily","fontSize","color","marginTop","wordBreak","SectionErrorBoundary","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","state","error","info","attempt","handleRetry","bind","_assertThisInitialized","_createClass","key","componentDidCatch","_this$props","title","console","concat","componentStack","setState","_this$props$onError","_this$props2","onError","_unused","render","_ref","_error$message","_this$state","_this$props3","children","secondaryAction","retryLabel","Fragment","isDev","process","env","originComponent","technicalMessage","String","message","_objectSpread","variant","action","label","onClick","style","getDerivedStateFromError","Component"],"sources":["../../../../src/lib/v2/components/SectionErrorBoundary.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Banner from \"./Banner\";\r\nimport type { BannerAction } from \"./Banner\";\r\n\r\n/**\r\n * SectionErrorBoundary — Portnet UI v2\r\n *\r\n * Isolates a subtree so one failing section cannot take down the page.\r\n *\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n * WHY THIS BELONGS IN THE LIBRARY (capability gap G-30)\r\n *\r\n * ISO/IEC 25010 § Reliability — Fault tolerance: a system must keep operating\r\n * despite a fault. React does the opposite by default. An exception thrown during\r\n * render unmounts the WHOLE tree, so a single section receiving an unexpected\r\n * payload — an `articles` field arriving as an object where `.map` is called —\r\n * replaces the entire page with a BLANK SCREEN. Not an error message: nothing.\r\n * That is the worst possible failure mode, and it is reachable in every GU module\r\n * whose wire models declare all fields optional precisely because the legacy\r\n * back-end is not dependable.\r\n *\r\n * `ms-ti-fe` wrapped 13 sections in a boundary of its own; `addpe-fe` had none,\r\n * and neither did this library — so the pattern was one module's private\r\n * safeguard rather than a platform guarantee. Promoting it makes fault tolerance\r\n * available by import instead of by copy (R-2.1).\r\n *\r\n * NO MUI IMPORT, deliberately. This file depends only on React and `Banner`.\r\n * That constraint is inherited from the reference implementation and it is\r\n * load-bearing rather than stylistic: if MUI is what threw, importing MUI in the\r\n * fallback risks failing the fallback too. Keep it that way.\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n *\r\n * <SectionErrorBoundary title=\"Marchandises\">\r\n * <MarchandisesSection data={data.marchandises} />\r\n * </SectionErrorBoundary>\r\n *\r\n * Class component because `getDerivedStateFromError` and `componentDidCatch` have\r\n * no hook equivalent in stable React.\r\n *\r\n * WHAT THE USER SEES, and how it diverges from the reference. The reference\r\n * rendered `error.message` straight into the banner body — so an end user was\r\n * shown \"Cannot read properties of undefined (reading 'map')\". Charter §09.3\r\n * forbids exactly that (\"pas de jargon technique exposé à l'utilisateur\"), and a\r\n * raw JS exception is worse than the \"Erreur HTTP 422\" the charter uses as its\r\n * DON'T example. So:\r\n *\r\n * - production: a stable French sentence + the retry action. Nothing technical.\r\n * - development: the message and the probable origin component are appended,\r\n * because that is where a developer reads them.\r\n * - always: `console.error` with the full component stack, and the optional\r\n * `onError` hook for an APM breadcrumb — which is how the detail reaches\r\n * whoever can act on it, rather than the user who cannot.\r\n */\r\n\r\nexport interface SectionErrorBoundaryProps {\r\n /** Short section label, used to name the failure in the banner and the log. */\r\n title?: string | undefined;\r\n /** The subtree to protect. */\r\n children?: React.ReactNode | undefined;\r\n /**\r\n * Optional second affordance, rendered left of \"Réessayer\" (R-M.6). Use it when\r\n * retrying is unlikely to help and the user needs a way out — e.g. « Retour à la\r\n * liste ». The library cannot know the host's navigation, so this is a\r\n * pass-through rather than a built-in.\r\n *\r\n * Only possible since `Banner` gained `secondaryAction` (gap G-19); the\r\n * reference implementation had no second exit at all.\r\n */\r\n secondaryAction?: BannerAction | undefined;\r\n /**\r\n * Reporting hook, called once per caught error with the same arguments as\r\n * `componentDidCatch`. `console.error` is invisible in production, so without\r\n * this a boundary silently swallows the only signal an operator would get.\r\n */\r\n onError?: ((error: Error, info: React.ErrorInfo) => void) | undefined;\r\n /** Retry button label. Defaults to « Réessayer ». */\r\n retryLabel?: string | undefined;\r\n}\r\n\r\ninterface SectionErrorBoundaryState {\r\n error: Error | null;\r\n info: React.ErrorInfo | null;\r\n attempt: number;\r\n}\r\n\r\n/**\r\n * Pulls the topmost user component out of a React component stack.\r\n *\r\n * Handles BOTH stack formats: React 18 emits `\" in Foo (at Bar.tsx:42)\"`,\r\n * React 19 emits `\" at Foo (Bar.tsx:42)\"`. The reference matched only `in`,\r\n * so on React 19 — which this library targets — it silently returned null and the\r\n * origin hint never rendered.\r\n */\r\nfunction extractFirstComponent(\r\n stack: string | null | undefined\r\n): string | null {\r\n if (!stack || typeof stack !== \"string\") return null;\r\n for (const raw of stack.split(\"\\n\")) {\r\n const line = raw.trim();\r\n if (!line) continue;\r\n const match = /^(?:in|at)\\s+([A-Za-z0-9_$.]+)/.exec(line);\r\n const name = match?.[1];\r\n // Skip host elements (div, span…) — only a capitalised name is a component.\r\n if (name && /^[A-Z]/.test(name)) return name;\r\n }\r\n return null;\r\n}\r\n\r\nconst DETAIL_SX = Object.freeze({\r\n fontFamily: \"var(--font-mono)\",\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n marginTop: \"var(--s-1)\",\r\n // `wordBreak` because an exception message has no spaces to wrap on and would\r\n // otherwise widen the banner past its container.\r\n wordBreak: \"break-word\" as const,\r\n});\r\n\r\nclass SectionErrorBoundary extends React.Component<\r\n SectionErrorBoundaryProps,\r\n SectionErrorBoundaryState\r\n> {\r\n constructor(props: SectionErrorBoundaryProps) {\r\n super(props);\r\n this.state = { error: null, info: null, attempt: 0 };\r\n this.handleRetry = this.handleRetry.bind(this);\r\n }\r\n\r\n static getDerivedStateFromError(\r\n error: Error\r\n ): Partial<SectionErrorBoundaryState> {\r\n return { error };\r\n }\r\n\r\n override componentDidCatch(error: Error, info: React.ErrorInfo) {\r\n const title = this.props?.title || \"Section\";\r\n // eslint-disable-next-line no-console\r\n console.error(\r\n `[SectionErrorBoundary:${title}]`,\r\n error,\r\n \"\\nComponent stack:\",\r\n info?.componentStack\r\n );\r\n this.setState({ info });\r\n /* Guarded: a throwing reporter must not take down the boundary that exists to\r\n * stop things from taking each other down. */\r\n try {\r\n this.props.onError?.(error, info);\r\n } catch {\r\n /* reporter failed — the console.error above is still the record */\r\n }\r\n }\r\n\r\n handleRetry() {\r\n this.setState((s) => ({ error: null, info: null, attempt: s.attempt + 1 }));\r\n }\r\n\r\n override render() {\r\n const { error, info, attempt } = this.state;\r\n const { title, children, secondaryAction, retryLabel } = this.props;\r\n\r\n if (!error) {\r\n /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the\r\n * state that led to the throw. Without this, retry re-renders the same\r\n * broken instance and fails identically. */\r\n return <React.Fragment key={attempt}>{children}</React.Fragment>;\r\n }\r\n\r\n /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the\r\n * nine mandatory strict flags, and `process.env` is an index signature. Note\r\n * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a\r\n * green typecheck is not sufficient evidence here. */\r\n const isDev = process.env[\"NODE_ENV\"] !== \"production\";\r\n const originComponent = extractFirstComponent(info?.componentStack);\r\n const technicalMessage = String(error?.message ?? error ?? \"\");\r\n\r\n return (\r\n <Banner\r\n variant=\"error\"\r\n title={`${title || \"Section\"} — affichage impossible`}\r\n action={{ label: retryLabel || \"Réessayer\", onClick: this.handleRetry }}\r\n {...(secondaryAction ? { secondaryAction } : {})}\r\n >\r\n {/* §09.3 — [Quoi] + [Comment corriger], no technical detail. The cause\r\n goes to the console and to `onError`, not to the user. */}\r\n <div>\r\n Cette section n'a pas pu s'afficher. Cliquez sur «&nbsp;\r\n {retryLabel || \"Réessayer\"}&nbsp;»&nbsp;; si le problème persiste,\r\n rechargez la page ou contactez l'administrateur.\r\n </div>\r\n {isDev && (technicalMessage || originComponent) && (\r\n <div style={DETAIL_SX}>\r\n {technicalMessage}\r\n {originComponent ? ` · origine probable : ${originComponent}` : \"\"}\r\n </div>\r\n )}\r\n </Banner>\r\n );\r\n }\r\n}\r\n\r\nexport default SectionErrorBoundary;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SectionErrorBoundary.js","names":["React","Banner","jsx","_jsx","jsxs","_jsxs","extractFirstComponent","stack","raw","split","line","trim","match","exec","name","test","DETAIL_SX","Object","freeze","fontFamily","fontSize","color","marginTop","wordBreak","SectionErrorBoundary","Component","constructor","props","state","error","info","attempt","handleRetry","bind","getDerivedStateFromError","componentDidCatch","title","console","componentStack","setState","onError","s","render","children","secondaryAction","retryLabel","Fragment","isDev","process","env","originComponent","technicalMessage","String","message","variant","action","label","onClick","style"],"sources":["../../../../src/lib/v2/components/SectionErrorBoundary.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Banner from \"./Banner\";\r\nimport type { BannerAction } from \"./Banner\";\r\n\r\n/**\r\n * SectionErrorBoundary — Portnet UI v2\r\n *\r\n * Isolates a subtree so one failing section cannot take down the page.\r\n *\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n * WHY THIS BELONGS IN THE LIBRARY (capability gap G-30)\r\n *\r\n * ISO/IEC 25010 § Reliability — Fault tolerance: a system must keep operating\r\n * despite a fault. React does the opposite by default. An exception thrown during\r\n * render unmounts the WHOLE tree, so a single section receiving an unexpected\r\n * payload — an `articles` field arriving as an object where `.map` is called —\r\n * replaces the entire page with a BLANK SCREEN. Not an error message: nothing.\r\n * That is the worst possible failure mode, and it is reachable in every GU module\r\n * whose wire models declare all fields optional precisely because the legacy\r\n * back-end is not dependable.\r\n *\r\n * `ms-ti-fe` wrapped 13 sections in a boundary of its own; `addpe-fe` had none,\r\n * and neither did this library — so the pattern was one module's private\r\n * safeguard rather than a platform guarantee. Promoting it makes fault tolerance\r\n * available by import instead of by copy (R-2.1).\r\n *\r\n * NO MUI IMPORT, deliberately. This file depends only on React and `Banner`.\r\n * That constraint is inherited from the reference implementation and it is\r\n * load-bearing rather than stylistic: if MUI is what threw, importing MUI in the\r\n * fallback risks failing the fallback too. Keep it that way.\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n *\r\n * <SectionErrorBoundary title=\"Marchandises\">\r\n * <MarchandisesSection data={data.marchandises} />\r\n * </SectionErrorBoundary>\r\n *\r\n * Class component because `getDerivedStateFromError` and `componentDidCatch` have\r\n * no hook equivalent in stable React.\r\n *\r\n * WHAT THE USER SEES, and how it diverges from the reference. The reference\r\n * rendered `error.message` straight into the banner body — so an end user was\r\n * shown \"Cannot read properties of undefined (reading 'map')\". Charter §09.3\r\n * forbids exactly that (\"pas de jargon technique exposé à l'utilisateur\"), and a\r\n * raw JS exception is worse than the \"Erreur HTTP 422\" the charter uses as its\r\n * DON'T example. So:\r\n *\r\n * - production: a stable French sentence + the retry action. Nothing technical.\r\n * - development: the message and the probable origin component are appended,\r\n * because that is where a developer reads them.\r\n * - always: `console.error` with the full component stack, and the optional\r\n * `onError` hook for an APM breadcrumb — which is how the detail reaches\r\n * whoever can act on it, rather than the user who cannot.\r\n */\r\n\r\nexport interface SectionErrorBoundaryProps {\r\n /** Short section label, used to name the failure in the banner and the log. */\r\n title?: string | undefined;\r\n /** The subtree to protect. */\r\n children?: React.ReactNode | undefined;\r\n /**\r\n * Optional second affordance, rendered left of \"Réessayer\" (R-M.6). Use it when\r\n * retrying is unlikely to help and the user needs a way out — e.g. « Retour à la\r\n * liste ». The library cannot know the host's navigation, so this is a\r\n * pass-through rather than a built-in.\r\n *\r\n * Only possible since `Banner` gained `secondaryAction` (gap G-19); the\r\n * reference implementation had no second exit at all.\r\n */\r\n secondaryAction?: BannerAction | undefined;\r\n /**\r\n * Reporting hook, called once per caught error with the same arguments as\r\n * `componentDidCatch`. `console.error` is invisible in production, so without\r\n * this a boundary silently swallows the only signal an operator would get.\r\n */\r\n onError?: ((error: Error, info: React.ErrorInfo) => void) | undefined;\r\n /** Retry button label. Defaults to « Réessayer ». */\r\n retryLabel?: string | undefined;\r\n}\r\n\r\ninterface SectionErrorBoundaryState {\r\n error: Error | null;\r\n info: React.ErrorInfo | null;\r\n attempt: number;\r\n}\r\n\r\n/**\r\n * Pulls the topmost user component out of a React component stack.\r\n *\r\n * Handles BOTH stack formats: React 18 emits `\" in Foo (at Bar.tsx:42)\"`,\r\n * React 19 emits `\" at Foo (Bar.tsx:42)\"`. The reference matched only `in`,\r\n * so on React 19 — which this library targets — it silently returned null and the\r\n * origin hint never rendered.\r\n */\r\nfunction extractFirstComponent(\r\n stack: string | null | undefined\r\n): string | null {\r\n if (!stack || typeof stack !== \"string\") return null;\r\n for (const raw of stack.split(\"\\n\")) {\r\n const line = raw.trim();\r\n if (!line) continue;\r\n const match = /^(?:in|at)\\s+([A-Za-z0-9_$.]+)/.exec(line);\r\n const name = match?.[1];\r\n // Skip host elements (div, span…) — only a capitalised name is a component.\r\n if (name && /^[A-Z]/.test(name)) return name;\r\n }\r\n return null;\r\n}\r\n\r\nconst DETAIL_SX = Object.freeze({\r\n fontFamily: \"var(--font-mono)\",\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n marginTop: \"var(--s-1)\",\r\n // `wordBreak` because an exception message has no spaces to wrap on and would\r\n // otherwise widen the banner past its container.\r\n wordBreak: \"break-word\" as const,\r\n});\r\n\r\nclass SectionErrorBoundary extends React.Component<\r\n SectionErrorBoundaryProps,\r\n SectionErrorBoundaryState\r\n> {\r\n constructor(props: SectionErrorBoundaryProps) {\r\n super(props);\r\n this.state = { error: null, info: null, attempt: 0 };\r\n this.handleRetry = this.handleRetry.bind(this);\r\n }\r\n\r\n static getDerivedStateFromError(\r\n error: Error\r\n ): Partial<SectionErrorBoundaryState> {\r\n return { error };\r\n }\r\n\r\n override componentDidCatch(error: Error, info: React.ErrorInfo) {\r\n const title = this.props?.title || \"Section\";\r\n // eslint-disable-next-line no-console\r\n console.error(\r\n `[SectionErrorBoundary:${title}]`,\r\n error,\r\n \"\\nComponent stack:\",\r\n info?.componentStack\r\n );\r\n this.setState({ info });\r\n /* Guarded: a throwing reporter must not take down the boundary that exists to\r\n * stop things from taking each other down. */\r\n try {\r\n this.props.onError?.(error, info);\r\n } catch {\r\n /* reporter failed — the console.error above is still the record */\r\n }\r\n }\r\n\r\n handleRetry() {\r\n this.setState((s) => ({ error: null, info: null, attempt: s.attempt + 1 }));\r\n }\r\n\r\n override render() {\r\n const { error, info, attempt } = this.state;\r\n const { title, children, secondaryAction, retryLabel } = this.props;\r\n\r\n if (!error) {\r\n /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the\r\n * state that led to the throw. Without this, retry re-renders the same\r\n * broken instance and fails identically. */\r\n return <React.Fragment key={attempt}>{children}</React.Fragment>;\r\n }\r\n\r\n /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the\r\n * nine mandatory strict flags, and `process.env` is an index signature. Note\r\n * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a\r\n * green typecheck is not sufficient evidence here. */\r\n const isDev = process.env[\"NODE_ENV\"] !== \"production\";\r\n const originComponent = extractFirstComponent(info?.componentStack);\r\n const technicalMessage = String(error?.message ?? error ?? \"\");\r\n\r\n return (\r\n <Banner\r\n variant=\"error\"\r\n title={`${title || \"Section\"} — affichage impossible`}\r\n action={{ label: retryLabel || \"Réessayer\", onClick: this.handleRetry }}\r\n {...(secondaryAction ? { secondaryAction } : {})}\r\n >\r\n {/* §09.3 — [Quoi] + [Comment corriger], no technical detail. The cause\r\n goes to the console and to `onError`, not to the user. */}\r\n <div>\r\n Cette section n'a pas pu s'afficher. Cliquez sur «&nbsp;\r\n {retryLabel || \"Réessayer\"}&nbsp;»&nbsp;; si le problème persiste,\r\n rechargez la page ou contactez l'administrateur.\r\n </div>\r\n {isDev && (technicalMessage || originComponent) && (\r\n <div style={DETAIL_SX}>\r\n {technicalMessage}\r\n {originComponent ? ` · origine probable : ${originComponent}` : \"\"}\r\n </div>\r\n )}\r\n </Banner>\r\n );\r\n }\r\n}\r\n\r\nexport default SectionErrorBoundary;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,3 @@
1
- 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); }
2
- var _excluded = ["level", "icon", "title", "children", "subtitle", "action", "sx"];
3
- 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; }
4
- 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; }
5
- 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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- 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); }
8
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
1
  import * as React from "react";
11
2
  import Box from "@mui/material/Box";
12
3
 
@@ -51,7 +42,7 @@ import Box from "@mui/material/Box";
51
42
  * sx — escape hatch.
52
43
  */
53
44
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
54
- var TYPOGRAPHY_BY_LEVEL = Object.freeze({
45
+ const TYPOGRAPHY_BY_LEVEL = Object.freeze({
55
46
  h2: {
56
47
  fontSize: "var(--text-h2)",
57
48
  lineHeight: "var(--lh-tight)"
@@ -65,25 +56,26 @@ var TYPOGRAPHY_BY_LEVEL = Object.freeze({
65
56
  lineHeight: "var(--lh-snug)"
66
57
  }
67
58
  });
68
- function SectionHeader(_ref) {
69
- var _ref$level = _ref.level,
70
- level = _ref$level === void 0 ? "h3" : _ref$level,
71
- icon = _ref.icon,
72
- title = _ref.title,
73
- children = _ref.children,
74
- subtitle = _ref.subtitle,
75
- action = _ref.action,
76
- sx = _ref.sx,
77
- rest = _objectWithoutProperties(_ref, _excluded);
78
- var headingText = title !== null && title !== void 0 ? title : children;
79
- var typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;
80
- return /*#__PURE__*/_jsxs(Box, _objectSpread(_objectSpread({
81
- sx: _objectSpread({
59
+ function SectionHeader({
60
+ level = "h3",
61
+ icon,
62
+ title,
63
+ children,
64
+ subtitle,
65
+ action,
66
+ sx,
67
+ ...rest
68
+ }) {
69
+ const headingText = title ?? children;
70
+ const typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;
71
+ return /*#__PURE__*/_jsxs(Box, {
72
+ sx: {
82
73
  display: "flex",
83
74
  alignItems: subtitle ? "flex-start" : "center",
84
- gap: "var(--s-2)"
85
- }, sx)
86
- }, rest), {}, {
75
+ gap: "var(--s-2)",
76
+ ...sx
77
+ },
78
+ ...rest,
87
79
  children: [icon && /*#__PURE__*/_jsx(Box, {
88
80
  "aria-hidden": "true",
89
81
  sx: {
@@ -105,11 +97,12 @@ function SectionHeader(_ref) {
105
97
  },
106
98
  children: [/*#__PURE__*/_jsx(Box, {
107
99
  component: level,
108
- sx: _objectSpread({
100
+ sx: {
109
101
  margin: 0,
110
102
  fontWeight: "var(--fw-semibold)",
111
- color: "var(--fg)"
112
- }, typography),
103
+ color: "var(--fg)",
104
+ ...typography
105
+ },
113
106
  children: headingText
114
107
  }), subtitle && /*#__PURE__*/_jsx(Box, {
115
108
  sx: {
@@ -126,7 +119,7 @@ function SectionHeader(_ref) {
126
119
  },
127
120
  children: action
128
121
  })]
129
- }));
122
+ });
130
123
  }
131
124
  export default SectionHeader;
132
125
  //# sourceMappingURL=SectionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionHeader.js","names":["React","Box","jsx","_jsx","jsxs","_jsxs","TYPOGRAPHY_BY_LEVEL","Object","freeze","h2","fontSize","lineHeight","h3","h4","SectionHeader","_ref","_ref$level","level","icon","title","children","subtitle","action","sx","rest","_objectWithoutProperties","_excluded","headingText","typography","_objectSpread","display","alignItems","gap","color","marginTop","flex","minWidth","component","margin","fontWeight"],"sources":["../../../../src/lib/v2/components/SectionHeader.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * SectionHeader — Portnet UI v2\r\n *\r\n * Charter §03 · standalone section-header primitive. Replaces the\r\n * local AppTitle wrapper that host modules previously maintained\r\n * (audit Batch 2 violation C3 in ms-ti-fe — direct MUI Typography\r\n * with hardcoded styling).\r\n *\r\n * Distinguished from v2.FormSection: SectionHeader is JUST the\r\n * heading row (no wrapping content, no surface chrome). Use it\r\n * when you need to label a region but don't want the FormSection\r\n * card border + padding.\r\n *\r\n * Usage:\r\n *\r\n * <SectionHeader level=\"h3\" icon={<DescriptionIcon />}>\r\n * Données du titre\r\n * </SectionHeader>\r\n *\r\n * <SectionHeader\r\n * level=\"h2\"\r\n * title=\"Documents joints\"\r\n * subtitle=\"Pièces transmises par l'opérateur\"\r\n * action={<Button variant=\"ghost\">Tout télécharger</Button>}\r\n * />\r\n *\r\n * The text can be passed either as `children` (single-line) or as\r\n * `title` + optional `subtitle` (multi-line).\r\n *\r\n * Props:\r\n * level — semantic h-level (\"h2\" / \"h3\" / \"h4\"). Default \"h3\".\r\n * Pick the next level below the page's outermost\r\n * heading (typically the ActionBar h1).\r\n * icon — optional leading icon element.\r\n * title — heading text. Use this OR children.\r\n * children — heading text. Use this OR title.\r\n * subtitle — optional secondary line beneath the title.\r\n * action — optional trailing element (Button, dropdown, etc.).\r\n * sx — escape hatch.\r\n */\r\n\r\nexport type SectionHeaderLevel = \"h2\" | \"h3\" | \"h4\";\r\n\r\nconst TYPOGRAPHY_BY_LEVEL: Record<SectionHeaderLevel, { fontSize: string; lineHeight: string }> = Object.freeze({\r\n h2: { fontSize: \"var(--text-h2)\", lineHeight: \"var(--lh-tight)\" },\r\n h3: { fontSize: \"var(--text-h3)\", lineHeight: \"var(--lh-snug)\" },\r\n h4: { fontSize: \"var(--text-h4)\", lineHeight: \"var(--lh-snug)\" },\r\n});\r\n\r\nexport interface SectionHeaderProps extends Omit<BoxProps, \"title\"> {\r\n level?: SectionHeaderLevel | undefined;\r\n icon?: React.ReactElement | undefined;\r\n title?: React.ReactNode | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n action?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction SectionHeader({\r\n level = \"h3\",\r\n icon,\r\n title,\r\n children,\r\n subtitle,\r\n action,\r\n sx,\r\n ...rest\r\n}: SectionHeaderProps) {\r\n const headingText = title ?? children;\r\n const typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: subtitle ? \"flex-start\" : \"center\",\r\n gap: \"var(--s-2)\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {icon && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n display: \"inline-flex\",\r\n // Lift the icon slightly so it lines up with the\r\n // first cap-height of the heading text rather than\r\n // floating at the baseline.\r\n marginTop: subtitle ? \"2px\" : 0,\r\n \"& svg\": { fontSize: 20 },\r\n }}\r\n >\r\n {icon}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ flex: 1, minWidth: 0 }}>\r\n <Box\r\n component={level}\r\n sx={{\r\n margin: 0,\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n ...typography,\r\n }}\r\n >\r\n {headingText}\r\n </Box>\r\n {subtitle && (\r\n <Box\r\n sx={{\r\n marginTop: \"var(--s-1)\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n lineHeight: \"var(--lh-normal)\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {action && <Box sx={{ flex: \"0 0 auto\" }}>{action}</Box>}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionHeader;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SectionHeader.js","names":["React","Box","jsx","_jsx","jsxs","_jsxs","TYPOGRAPHY_BY_LEVEL","Object","freeze","h2","fontSize","lineHeight","h3","h4","SectionHeader","level","icon","title","children","subtitle","action","sx","rest","headingText","typography","display","alignItems","gap","color","marginTop","flex","minWidth","component","margin","fontWeight"],"sources":["../../../../src/lib/v2/components/SectionHeader.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * SectionHeader — Portnet UI v2\r\n *\r\n * Charter §03 · standalone section-header primitive. Replaces the\r\n * local AppTitle wrapper that host modules previously maintained\r\n * (audit Batch 2 violation C3 in ms-ti-fe — direct MUI Typography\r\n * with hardcoded styling).\r\n *\r\n * Distinguished from v2.FormSection: SectionHeader is JUST the\r\n * heading row (no wrapping content, no surface chrome). Use it\r\n * when you need to label a region but don't want the FormSection\r\n * card border + padding.\r\n *\r\n * Usage:\r\n *\r\n * <SectionHeader level=\"h3\" icon={<DescriptionIcon />}>\r\n * Données du titre\r\n * </SectionHeader>\r\n *\r\n * <SectionHeader\r\n * level=\"h2\"\r\n * title=\"Documents joints\"\r\n * subtitle=\"Pièces transmises par l'opérateur\"\r\n * action={<Button variant=\"ghost\">Tout télécharger</Button>}\r\n * />\r\n *\r\n * The text can be passed either as `children` (single-line) or as\r\n * `title` + optional `subtitle` (multi-line).\r\n *\r\n * Props:\r\n * level — semantic h-level (\"h2\" / \"h3\" / \"h4\"). Default \"h3\".\r\n * Pick the next level below the page's outermost\r\n * heading (typically the ActionBar h1).\r\n * icon — optional leading icon element.\r\n * title — heading text. Use this OR children.\r\n * children — heading text. Use this OR title.\r\n * subtitle — optional secondary line beneath the title.\r\n * action — optional trailing element (Button, dropdown, etc.).\r\n * sx — escape hatch.\r\n */\r\n\r\nexport type SectionHeaderLevel = \"h2\" | \"h3\" | \"h4\";\r\n\r\nconst TYPOGRAPHY_BY_LEVEL: Record<SectionHeaderLevel, { fontSize: string; lineHeight: string }> = Object.freeze({\r\n h2: { fontSize: \"var(--text-h2)\", lineHeight: \"var(--lh-tight)\" },\r\n h3: { fontSize: \"var(--text-h3)\", lineHeight: \"var(--lh-snug)\" },\r\n h4: { fontSize: \"var(--text-h4)\", lineHeight: \"var(--lh-snug)\" },\r\n});\r\n\r\nexport interface SectionHeaderProps extends Omit<BoxProps, \"title\"> {\r\n level?: SectionHeaderLevel | undefined;\r\n icon?: React.ReactElement | undefined;\r\n title?: React.ReactNode | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n action?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction SectionHeader({\r\n level = \"h3\",\r\n icon,\r\n title,\r\n children,\r\n subtitle,\r\n action,\r\n sx,\r\n ...rest\r\n}: SectionHeaderProps) {\r\n const headingText = title ?? children;\r\n const typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: subtitle ? \"flex-start\" : \"center\",\r\n gap: \"var(--s-2)\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {icon && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n display: \"inline-flex\",\r\n // Lift the icon slightly so it lines up with the\r\n // first cap-height of the heading text rather than\r\n // floating at the baseline.\r\n marginTop: subtitle ? \"2px\" : 0,\r\n \"& svg\": { fontSize: 20 },\r\n }}\r\n >\r\n {icon}\r\n </Box>\r\n )}\r\n\r\n <Box sx={{ flex: 1, minWidth: 0 }}>\r\n <Box\r\n component={level}\r\n sx={{\r\n margin: 0,\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n ...typography,\r\n }}\r\n >\r\n {headingText}\r\n </Box>\r\n {subtitle && (\r\n <Box\r\n sx={{\r\n marginTop: \"var(--s-1)\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n lineHeight: \"var(--lh-normal)\",\r\n }}\r\n >\r\n {subtitle}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n {action && <Box sx={{ flex: \"0 0 auto\" }}>{action}</Box>}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionHeader;\r\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;;AAGnC;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvCA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA2CA,MAAMC,mBAAyF,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC9GC,EAAE,EAAE;IAAEC,QAAQ,EAAE,gBAAgB;IAAEC,UAAU,EAAE;EAAkB,CAAC;EACjEC,EAAE,EAAE;IAAEF,QAAQ,EAAE,gBAAgB;IAAEC,UAAU,EAAE;EAAkB,CAAC;EACjEE,EAAE,EAAE;IAAEH,QAAQ,EAAE,gBAAgB;IAAEC,UAAU,EAAE;EAAkB;AAClE,CAAC,CAAC;AAUF,SAASG,aAAaA,CAAC;EACrBC,KAAK,GAAG,IAAI;EACZC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,MAAM;EACNC,EAAE;EACF,GAAGC;AACe,CAAC,EAAE;EACrB,MAAMC,WAAW,GAAGN,KAAK,IAAIC,QAAQ;EACrC,MAAMM,UAAU,GAAIlB,mBAAmB,CAACS,KAAK,CAAC,IAAIT,mBAAmB,CAACM,EAAE;EAExE,oBACEP,KAAA,CAACJ,GAAG;IACFoB,EAAE,EAAE;MACFI,OAAO,EAAM,MAAM;MACnBC,UAAU,EAAGP,QAAQ,GAAG,YAAY,GAAG,QAAQ;MAC/CQ,GAAG,EAAU,YAAY;MACzB,GAAGN;IACL,CAAE;IAAA,GACEC,IAAI;IAAAJ,QAAA,GAEPF,IAAI,iBACHb,IAAA,CAACF,GAAG;MACF,eAAY,MAAM;MAClBoB,EAAE,EAAE;QACFO,KAAK,EAAE,iBAAiB;QACxBH,OAAO,EAAE,aAAa;QACtB;QACA;QACA;QACAI,SAAS,EAAEV,QAAQ,GAAG,KAAK,GAAG,CAAC;QAC/B,OAAO,EAAE;UAAET,QAAQ,EAAE;QAAG;MAC1B,CAAE;MAAAQ,QAAA,EAEDF;IAAI,CACF,CACN,eAEDX,KAAA,CAACJ,GAAG;MAACoB,EAAE,EAAE;QAAES,IAAI,EAAE,CAAC;QAAEC,QAAQ,EAAE;MAAE,CAAE;MAAAb,QAAA,gBAChCf,IAAA,CAACF,GAAG;QACF+B,SAAS,EAAEjB,KAAM;QACjBM,EAAE,EAAE;UACFY,MAAM,EAAM,CAAC;UACbC,UAAU,EAAE,oBAAoB;UAChCN,KAAK,EAAO,WAAW;UACvB,GAAGJ;QACL,CAAE;QAAAN,QAAA,EAEDK;MAAW,CACT,CAAC,EACLJ,QAAQ,iBACPhB,IAAA,CAACF,GAAG;QACFoB,EAAE,EAAE;UACFQ,SAAS,EAAG,YAAY;UACxBnB,QAAQ,EAAI,gBAAgB;UAC5BkB,KAAK,EAAO,iBAAiB;UAC7BjB,UAAU,EAAE;QACd,CAAE;QAAAO,QAAA,EAEDC;MAAQ,CACN,CACN;IAAA,CACE,CAAC,EAELC,MAAM,iBAAIjB,IAAA,CAACF,GAAG;MAACoB,EAAE,EAAE;QAAES,IAAI,EAAE;MAAW,CAAE;MAAAZ,QAAA,EAAEE;IAAM,CAAM,CAAC;EAAA,CACrD,CAAC;AAEV;AAEA,eAAeN,aAAa","ignoreList":[]}