@portnet/ui 6.0.1 → 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 (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -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 -39
  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 +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  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 +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  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 -22
  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 +118 -90
  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 +210 -52
  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 +64 -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 +14 -4
  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 +26 -75
  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 +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  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 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  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 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  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 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  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 +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  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 +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  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 +235 -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 +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1,34 +1,15 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Banner = _interopRequireDefault(require("./Banner"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
18
- 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); } }
19
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
20
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
21
- 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); }
22
- 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); }
23
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
24
- 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); }; }
25
- 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); }
26
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
27
- 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; } }
28
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
29
- 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; } } }; }
30
- 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); }
31
- 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; } /**
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ /**
32
13
  * SectionErrorBoundary — Portnet UI v2
33
14
  *
34
15
  * Isolates a subtree so one failing section cannot take down the page.
@@ -77,6 +58,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
77
58
  * `onError` hook for an APM breadcrumb — which is how the detail reaches
78
59
  * whoever can act on it, rather than the user who cannot.
79
60
  */
61
+
80
62
  /**
81
63
  * Pulls the topmost user component out of a React component stack.
82
64
  *
@@ -87,26 +69,17 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
87
69
  */
88
70
  function extractFirstComponent(stack) {
89
71
  if (!stack || typeof stack !== "string") return null;
90
- var _iterator = _createForOfIteratorHelper(stack.split("\n")),
91
- _step;
92
- try {
93
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
94
- var raw = _step.value;
95
- var line = raw.trim();
96
- if (!line) continue;
97
- var match = /^(?:in|at)\s+([A-Za-z0-9_$.]+)/.exec(line);
98
- var name = match === null || match === void 0 ? void 0 : match[1];
99
- // Skip host elements (div, span…) — only a capitalised name is a component.
100
- if (name && /^[A-Z]/.test(name)) return name;
101
- }
102
- } catch (err) {
103
- _iterator.e(err);
104
- } finally {
105
- _iterator.f();
72
+ for (const raw of stack.split("\n")) {
73
+ const line = raw.trim();
74
+ if (!line) continue;
75
+ const match = /^(?:in|at)\s+([A-Za-z0-9_$.]+)/.exec(line);
76
+ const name = match?.[1];
77
+ // Skip host elements (div, span…) — only a capitalised name is a component.
78
+ if (name && /^[A-Z]/.test(name)) return name;
106
79
  }
107
80
  return null;
108
81
  }
109
- var DETAIL_SX = Object.freeze({
82
+ const DETAIL_SX = Object.freeze({
110
83
  fontFamily: "var(--font-mono)",
111
84
  fontSize: "var(--text-xs)",
112
85
  color: "var(--fg-subtle)",
@@ -115,107 +88,89 @@ var DETAIL_SX = Object.freeze({
115
88
  // otherwise widen the banner past its container.
116
89
  wordBreak: "break-word"
117
90
  });
118
- var SectionErrorBoundary = /*#__PURE__*/function (_React$Component) {
119
- _inherits(SectionErrorBoundary, _React$Component);
120
- var _super = _createSuper(SectionErrorBoundary);
121
- function SectionErrorBoundary(props) {
122
- var _this;
123
- _classCallCheck(this, SectionErrorBoundary);
124
- _this = _super.call(this, props);
125
- _this.state = {
91
+ class SectionErrorBoundary extends React.Component {
92
+ constructor(props) {
93
+ super(props);
94
+ this.state = {
126
95
  error: null,
127
96
  info: null,
128
97
  attempt: 0
129
98
  };
130
- _this.handleRetry = _this.handleRetry.bind(_assertThisInitialized(_this));
131
- return _this;
99
+ this.handleRetry = this.handleRetry.bind(this);
132
100
  }
133
- _createClass(SectionErrorBoundary, [{
134
- key: "componentDidCatch",
135
- value: function componentDidCatch(error, info) {
136
- var _this$props;
137
- var title = ((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.title) || "Section";
138
- // eslint-disable-next-line no-console
139
- console.error("[SectionErrorBoundary:".concat(title, "]"), error, "\nComponent stack:", info === null || info === void 0 ? void 0 : info.componentStack);
140
- this.setState({
141
- info: info
142
- });
143
- /* Guarded: a throwing reporter must not take down the boundary that exists to
144
- * stop things from taking each other down. */
145
- try {
146
- var _this$props$onError, _this$props2;
147
- (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);
148
- } catch (_unused) {
149
- /* reporter failed — the console.error above is still the record */
150
- }
101
+ static getDerivedStateFromError(error) {
102
+ return {
103
+ error
104
+ };
105
+ }
106
+ componentDidCatch(error, info) {
107
+ const title = this.props?.title || "Section";
108
+ // eslint-disable-next-line no-console
109
+ console.error(`[SectionErrorBoundary:${title}]`, error, "\nComponent stack:", info?.componentStack);
110
+ this.setState({
111
+ info
112
+ });
113
+ /* Guarded: a throwing reporter must not take down the boundary that exists to
114
+ * stop things from taking each other down. */
115
+ try {
116
+ this.props.onError?.(error, info);
117
+ } catch {
118
+ /* reporter failed — the console.error above is still the record */
151
119
  }
152
- }, {
153
- key: "handleRetry",
154
- value: function handleRetry() {
155
- this.setState(function (s) {
156
- return {
157
- error: null,
158
- info: null,
159
- attempt: s.attempt + 1
160
- };
161
- });
120
+ }
121
+ handleRetry() {
122
+ this.setState(s => ({
123
+ error: null,
124
+ info: null,
125
+ attempt: s.attempt + 1
126
+ }));
127
+ }
128
+ render() {
129
+ const {
130
+ error,
131
+ info,
132
+ attempt
133
+ } = this.state;
134
+ const {
135
+ title,
136
+ children,
137
+ secondaryAction,
138
+ retryLabel
139
+ } = this.props;
140
+ if (!error) {
141
+ /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the
142
+ * state that led to the throw. Without this, retry re-renders the same
143
+ * broken instance and fails identically. */
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
145
+ children: children
146
+ }, attempt);
162
147
  }
163
- }, {
164
- key: "render",
165
- value: function render() {
166
- var _ref, _error$message;
167
- var _this$state = this.state,
168
- error = _this$state.error,
169
- info = _this$state.info,
170
- attempt = _this$state.attempt;
171
- var _this$props3 = this.props,
172
- title = _this$props3.title,
173
- children = _this$props3.children,
174
- secondaryAction = _this$props3.secondaryAction,
175
- retryLabel = _this$props3.retryLabel;
176
- if (!error) {
177
- /* Re-keyed on retry so React REMOUNTS the subtree rather than reusing the
178
- * state that led to the throw. Without this, retry re-renders the same
179
- * broken instance and fails identically. */
180
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
181
- children: children
182
- }, attempt);
183
- }
184
148
 
185
- /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the
186
- * nine mandatory strict flags, and `process.env` is an index signature. Note
187
- * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a
188
- * green typecheck is not sufficient evidence here. */
189
- var isDev = process.env["NODE_ENV"] !== "production";
190
- var originComponent = extractFirstComponent(info === null || info === void 0 ? void 0 : info.componentStack);
191
- 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 : "");
192
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Banner["default"], _objectSpread(_objectSpread({
193
- variant: "error",
194
- title: "".concat(title || "Section", " \u2014 affichage impossible"),
195
- action: {
196
- label: retryLabel || "Réessayer",
197
- onClick: this.handleRetry
198
- }
199
- }, secondaryAction ? {
200
- secondaryAction: secondaryAction
201
- } : {}), {}, {
202
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
203
- 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."]
204
- }), isDev && (technicalMessage || originComponent) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
205
- style: DETAIL_SX,
206
- children: [technicalMessage, originComponent ? " \xB7 origine probable : ".concat(originComponent) : ""]
207
- })]
208
- }));
209
- }
210
- }], [{
211
- key: "getDerivedStateFromError",
212
- value: function getDerivedStateFromError(error) {
213
- return {
214
- error: error
215
- };
216
- }
217
- }]);
218
- return SectionErrorBoundary;
219
- }(React.Component);
220
- var _default = exports["default"] = SectionErrorBoundary;
149
+ /* Bracket access, not dot: `noPropertyAccessFromIndexSignature` is one of the
150
+ * nine mandatory strict flags, and `process.env` is an index signature. Note
151
+ * that `tsc --noEmit` did not flag this — only `tsconfig.build.json` did, so a
152
+ * green typecheck is not sufficient evidence here. */
153
+ const isDev = process.env["NODE_ENV"] !== "production";
154
+ const originComponent = extractFirstComponent(info?.componentStack);
155
+ const technicalMessage = String(error?.message ?? error ?? "");
156
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Banner.default, {
157
+ variant: "error",
158
+ title: `${title || "Section"} affichage impossible`,
159
+ action: {
160
+ label: retryLabel || "Réessayer",
161
+ onClick: this.handleRetry
162
+ },
163
+ ...(secondaryAction ? {
164
+ secondaryAction
165
+ } : {}),
166
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
167
+ 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."]
168
+ }), isDev && (technicalMessage || originComponent) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
169
+ style: DETAIL_SX,
170
+ children: [technicalMessage, originComponent ? ` · origine probable : ${originComponent}` : ""]
171
+ })]
172
+ });
173
+ }
174
+ }
175
+ var _default = exports.default = SectionErrorBoundary;
221
176
  //# sourceMappingURL=SectionErrorBoundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionErrorBoundary.js","names":["React","_interopRequireWildcard","require","_Banner","_interopRequireDefault","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_classCallCheck","instance","Constructor","TypeError","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","Number","_inherits","subClass","superClass","create","constructor","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","e","getPrototypeOf","_createForOfIteratorHelper","allowArrayLike","it","iterator","Array","isArray","_unsupportedIterableToArray","F","s","n","done","_e","f","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","extractFirstComponent","stack","_iterator","split","_step","raw","line","trim","match","exec","DETAIL_SX","freeze","fontFamily","fontSize","color","marginTop","wordBreak","SectionErrorBoundary","_React$Component","_super","_this","state","error","info","attempt","handleRetry","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","jsx","Fragment","isDev","process","env","originComponent","technicalMessage","message","jsxs","variant","action","label","onClick","style","getDerivedStateFromError","Component","_default","exports"],"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":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA8B,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAK,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA+C,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAC,SAAA;AAAA,SAAAC,kBAAAjB,MAAA,EAAAkB,KAAA,aAAAjB,CAAA,MAAAA,CAAA,GAAAiB,KAAA,CAAAf,MAAA,EAAAF,CAAA,UAAAkB,UAAA,GAAAD,KAAA,CAAAjB,CAAA,GAAAkB,UAAA,CAAAvB,UAAA,GAAAuB,UAAA,CAAAvB,UAAA,WAAAuB,UAAA,CAAAR,YAAA,wBAAAQ,UAAA,EAAAA,UAAA,CAAAP,QAAA,SAAAjC,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAU,cAAA,CAAAS,UAAA,CAAArC,GAAA,GAAAqC,UAAA;AAAA,SAAAC,aAAAL,WAAA,EAAAM,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAJ,iBAAA,CAAAF,WAAA,CAAAhC,SAAA,EAAAsC,UAAA,OAAAC,WAAA,EAAAL,iBAAA,CAAAF,WAAA,EAAAO,WAAA,GAAA3C,MAAA,CAAAC,cAAA,CAAAmC,WAAA,iBAAAH,QAAA,mBAAAG,WAAA;AAAA,SAAAL,eAAAa,GAAA,QAAAzC,GAAA,GAAA0C,YAAA,CAAAD,GAAA,oBAAAlD,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAA2C,MAAA,CAAA3C,GAAA;AAAA,SAAA0C,aAAAE,KAAA,EAAAC,IAAA,QAAAtD,OAAA,CAAAqD,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAA3C,IAAA,CAAAyC,KAAA,EAAAC,IAAA,oBAAAtD,OAAA,CAAA2D,GAAA,uBAAAA,GAAA,YAAAhB,SAAA,4DAAAW,IAAA,gBAAAF,MAAA,GAAAQ,MAAA,EAAAP,KAAA;AAAA,SAAAQ,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAApB,SAAA,0DAAAmB,QAAA,CAAApD,SAAA,GAAAJ,MAAA,CAAA0D,MAAA,CAAAD,UAAA,IAAAA,UAAA,CAAArD,SAAA,IAAAuD,WAAA,IAAA7B,KAAA,EAAA0B,QAAA,EAAAvB,QAAA,QAAAD,YAAA,aAAAhC,MAAA,CAAAC,cAAA,CAAAuD,QAAA,iBAAAvB,QAAA,gBAAAwB,UAAA,EAAAG,eAAA,CAAAJ,QAAA,EAAAC,UAAA;AAAA,SAAAG,gBAAAC,CAAA,EAAAC,CAAA,IAAAF,eAAA,GAAA5D,MAAA,CAAA+D,cAAA,GAAA/D,MAAA,CAAA+D,cAAA,CAAAC,IAAA,cAAAJ,gBAAAC,CAAA,EAAAC,CAAA,IAAAD,CAAA,CAAAI,SAAA,GAAAH,CAAA,SAAAD,CAAA,YAAAD,eAAA,CAAAC,CAAA,EAAAC,CAAA;AAAA,SAAAI,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAAb,WAAA,EAAAc,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAhD,SAAA,EAAAmD,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAApD,KAAA,OAAAI,SAAA,YAAAsD,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAC,IAAA,EAAAxE,IAAA,QAAAA,IAAA,KAAAZ,OAAA,CAAAY,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAA+B,SAAA,uEAAA0C,sBAAA,CAAAD,IAAA;AAAA,SAAAC,uBAAAD,IAAA,QAAAA,IAAA,yBAAAE,cAAA,wEAAAF,IAAA;AAAA,SAAAT,0BAAA,eAAAM,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAA/E,SAAA,CAAAgF,OAAA,CAAA9E,IAAA,CAAAqE,OAAA,CAAAC,SAAA,CAAAO,OAAA,8CAAAE,CAAA;AAAA,SAAAb,gBAAAX,CAAA,IAAAW,eAAA,GAAAxE,MAAA,CAAA+D,cAAA,GAAA/D,MAAA,CAAAsF,cAAA,CAAAtB,IAAA,cAAAQ,gBAAAX,CAAA,WAAAA,CAAA,CAAAI,SAAA,IAAAjE,MAAA,CAAAsF,cAAA,CAAAzB,CAAA,aAAAW,eAAA,CAAAX,CAAA;AAAA,SAAA0B,2BAAA1B,CAAA,EAAA2B,cAAA,QAAAC,EAAA,UAAAvC,MAAA,oBAAAW,CAAA,CAAAX,MAAA,CAAAwC,QAAA,KAAA7B,CAAA,qBAAA4B,EAAA,QAAAE,KAAA,CAAAC,OAAA,CAAA/B,CAAA,MAAA4B,EAAA,GAAAI,2BAAA,CAAAhC,CAAA,MAAA2B,cAAA,IAAA3B,CAAA,WAAAA,CAAA,CAAArC,MAAA,qBAAAiE,EAAA,EAAA5B,CAAA,GAAA4B,EAAA,MAAAnE,CAAA,UAAAwE,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,QAAA1E,CAAA,IAAAuC,CAAA,CAAArC,MAAA,WAAAyE,IAAA,mBAAAA,IAAA,SAAAnE,KAAA,EAAA+B,CAAA,CAAAvC,CAAA,UAAA+D,CAAA,WAAAA,EAAAa,EAAA,UAAAA,EAAA,KAAAC,CAAA,EAAAL,CAAA,gBAAAzD,SAAA,iJAAA+D,gBAAA,SAAAC,MAAA,UAAAC,GAAA,WAAAP,CAAA,WAAAA,EAAA,IAAAN,EAAA,GAAAA,EAAA,CAAAnF,IAAA,CAAAuD,CAAA,MAAAmC,CAAA,WAAAA,EAAA,QAAAO,IAAA,GAAAd,EAAA,CAAAe,IAAA,IAAAJ,gBAAA,GAAAG,IAAA,CAAAN,IAAA,SAAAM,IAAA,KAAAlB,CAAA,WAAAA,EAAAoB,GAAA,IAAAJ,MAAA,SAAAC,GAAA,GAAAG,GAAA,KAAAN,CAAA,WAAAA,EAAA,eAAAC,gBAAA,IAAAX,EAAA,oBAAAA,EAAA,8BAAAY,MAAA,QAAAC,GAAA;AAAA,SAAAT,4BAAAhC,CAAA,EAAA6C,MAAA,SAAA7C,CAAA,qBAAAA,CAAA,sBAAA8C,iBAAA,CAAA9C,CAAA,EAAA6C,MAAA,OAAAV,CAAA,GAAAhG,MAAA,CAAAI,SAAA,CAAAwG,QAAA,CAAAtG,IAAA,CAAAuD,CAAA,EAAAgD,KAAA,aAAAb,CAAA,iBAAAnC,CAAA,CAAAF,WAAA,EAAAqC,CAAA,GAAAnC,CAAA,CAAAF,WAAA,CAAAmD,IAAA,MAAAd,CAAA,cAAAA,CAAA,mBAAAL,KAAA,CAAAoB,IAAA,CAAAlD,CAAA,OAAAmC,CAAA,+DAAAgB,IAAA,CAAAhB,CAAA,UAAAW,iBAAA,CAAA9C,CAAA,EAAA6C,MAAA;AAAA,SAAAC,kBAAAM,GAAA,EAAAC,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAD,GAAA,CAAAzF,MAAA,EAAA0F,GAAA,GAAAD,GAAA,CAAAzF,MAAA,WAAAF,CAAA,MAAA6F,IAAA,OAAAxB,KAAA,CAAAuB,GAAA,GAAA5F,CAAA,GAAA4F,GAAA,EAAA5F,CAAA,MAAA6F,IAAA,CAAA7F,CAAA,IAAA2F,GAAA,CAAA3F,CAAA,YAAA6F,IAAA,IAG9B;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,qBAAqBA,CAC5BC,KAAgC,EACjB;EACf,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI;EAAC,IAAAC,SAAA,GAAA/B,0BAAA,CACnC8B,KAAK,CAACE,KAAK,CAAC,IAAI,CAAC;IAAAC,KAAA;EAAA;IAAnC,KAAAF,SAAA,CAAAvB,CAAA,MAAAyB,KAAA,GAAAF,SAAA,CAAAtB,CAAA,IAAAC,IAAA,GAAqC;MAAA,IAA1BwB,GAAG,GAAAD,KAAA,CAAA1F,KAAA;MACZ,IAAM4F,IAAI,GAAGD,GAAG,CAACE,IAAI,CAAC,CAAC;MACvB,IAAI,CAACD,IAAI,EAAE;MACX,IAAME,KAAK,GAAG,gCAAgC,CAACC,IAAI,CAACH,IAAI,CAAC;MACzD,IAAMZ,IAAI,GAAGc,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAG,CAAC,CAAC;MACvB;MACA,IAAId,IAAI,IAAI,QAAQ,CAACE,IAAI,CAACF,IAAI,CAAC,EAAE,OAAOA,IAAI;IAC9C;EAAC,SAAAR,GAAA;IAAAgB,SAAA,CAAAjC,CAAA,CAAAiB,GAAA;EAAA;IAAAgB,SAAA,CAAAnB,CAAA;EAAA;EACD,OAAO,IAAI;AACb;AAEA,IAAM2B,SAAS,GAAG9H,MAAM,CAAC+H,MAAM,CAAC;EAC9BC,UAAU,EAAE,kBAAkB;EAC9BC,QAAQ,EAAE,gBAAgB;EAC1BC,KAAK,EAAE,kBAAkB;EACzBC,SAAS,EAAE,YAAY;EACvB;EACA;EACAC,SAAS,EAAE;AACb,CAAC,CAAC;AAAC,IAEGC,oBAAoB,0BAAAC,gBAAA;EAAA/E,SAAA,CAAA8E,oBAAA,EAAAC,gBAAA;EAAA,IAAAC,MAAA,GAAArE,YAAA,CAAAmE,oBAAA;EAIxB,SAAAA,qBAAY9F,KAAgC,EAAE;IAAA,IAAAiG,KAAA;IAAAtG,eAAA,OAAAmG,oBAAA;IAC5CG,KAAA,GAAAD,MAAA,CAAAjI,IAAA,OAAMiC,KAAK;IACXiG,KAAA,CAAKC,KAAK,GAAG;MAAEC,KAAK,EAAE,IAAI;MAAEC,IAAI,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAE,CAAC;IACpDJ,KAAA,CAAKK,WAAW,GAAGL,KAAA,CAAKK,WAAW,CAAC7E,IAAI,CAAAe,sBAAA,CAAAyD,KAAA,CAAK,CAAC;IAAC,OAAAA,KAAA;EACjD;EAAC/F,YAAA,CAAA4F,oBAAA;IAAAlI,GAAA;IAAA2B,KAAA,EAQD,SAAAgH,kBAA2BJ,KAAY,EAAEC,IAAqB,EAAE;MAAA,IAAAI,WAAA;MAC9D,IAAMC,KAAK,GAAG,EAAAD,WAAA,OAAI,CAACxG,KAAK,cAAAwG,WAAA,uBAAVA,WAAA,CAAYC,KAAK,KAAI,SAAS;MAC5C;MACAC,OAAO,CAACP,KAAK,0BAAAQ,MAAA,CACcF,KAAK,QAC9BN,KAAK,EACL,oBAAoB,EACpBC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ,cACR,CAAC;MACD,IAAI,CAACC,QAAQ,CAAC;QAAET,IAAI,EAAJA;MAAK,CAAC,CAAC;MACvB;AACJ;MACI,IAAI;QAAA,IAAAU,mBAAA,EAAAC,YAAA;QACF,CAAAD,mBAAA,IAAAC,YAAA,OAAI,CAAC/G,KAAK,EAACgH,OAAO,cAAAF,mBAAA,uBAAlBA,mBAAA,CAAA/I,IAAA,CAAAgJ,YAAA,EAAqBZ,KAAK,EAAEC,IAAI,CAAC;MACnC,CAAC,CAAC,OAAAa,OAAA,EAAM;QACN;MAAA;IAEJ;EAAC;IAAArJ,GAAA;IAAA2B,KAAA,EAED,SAAA+G,YAAA,EAAc;MACZ,IAAI,CAACO,QAAQ,CAAC,UAACrD,CAAC;QAAA,OAAM;UAAE2C,KAAK,EAAE,IAAI;UAAEC,IAAI,EAAE,IAAI;UAAEC,OAAO,EAAE7C,CAAC,CAAC6C,OAAO,GAAG;QAAE,CAAC;MAAA,CAAC,CAAC;IAC7E;EAAC;IAAAzI,GAAA;IAAA2B,KAAA,EAED,SAAA2H,OAAA,EAAkB;MAAA,IAAAC,IAAA,EAAAC,cAAA;MAChB,IAAAC,WAAA,GAAiC,IAAI,CAACnB,KAAK;QAAnCC,KAAK,GAAAkB,WAAA,CAALlB,KAAK;QAAEC,IAAI,GAAAiB,WAAA,CAAJjB,IAAI;QAAEC,OAAO,GAAAgB,WAAA,CAAPhB,OAAO;MAC5B,IAAAiB,YAAA,GAAyD,IAAI,CAACtH,KAAK;QAA3DyG,KAAK,GAAAa,YAAA,CAALb,KAAK;QAAEc,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QAAEC,eAAe,GAAAF,YAAA,CAAfE,eAAe;QAAEC,UAAU,GAAAH,YAAA,CAAVG,UAAU;MAEpD,IAAI,CAACtB,KAAK,EAAE;QACV;AACN;AACA;QACM,oBAAO,IAAAxJ,WAAA,CAAA+K,GAAA,EAACpL,KAAK,CAACqL,QAAQ;UAAAJ,QAAA,EAAgBA;QAAQ,GAAlBlB,OAAmC,CAAC;MAClE;;MAEA;AACJ;AACA;AACA;MACI,IAAMuB,KAAK,GAAGC,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY;MACtD,IAAMC,eAAe,GAAGlD,qBAAqB,CAACuB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ,cAAc,CAAC;MACnE,IAAMoB,gBAAgB,GAAGzH,MAAM,EAAA4G,IAAA,IAAAC,cAAA,GAACjB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE8B,OAAO,cAAAb,cAAA,cAAAA,cAAA,GAAIjB,KAAK,cAAAgB,IAAA,cAAAA,IAAA,GAAI,EAAE,CAAC;MAE9D,oBACE,IAAAxK,WAAA,CAAAuL,IAAA,EAACzL,OAAA,WAAM,EAAAoC,aAAA,CAAAA,aAAA;QACLsJ,OAAO,EAAC,OAAO;QACf1B,KAAK,KAAAE,MAAA,CAAKF,KAAK,IAAI,SAAS,iCAA0B;QACtD2B,MAAM,EAAE;UAAEC,KAAK,EAAEZ,UAAU,IAAI,WAAW;UAAEa,OAAO,EAAE,IAAI,CAAChC;QAAY;MAAE,GACnEkB,eAAe,GAAG;QAAEA,eAAe,EAAfA;MAAgB,CAAC,GAAG,CAAC,CAAC;QAAAD,QAAA,gBAI/C,IAAA5K,WAAA,CAAAuL,IAAA;UAAAX,QAAA,GAAK,2DAEH,EAACE,UAAU,IAAI,WAAW,EAAC,4FAE7B;QAAA,CAAK,CAAC,EACLG,KAAK,KAAKI,gBAAgB,IAAID,eAAe,CAAC,iBAC7C,IAAApL,WAAA,CAAAuL,IAAA;UAAKK,KAAK,EAAEhD,SAAU;UAAAgC,QAAA,GACnBS,gBAAgB,EAChBD,eAAe,+BAAApB,MAAA,CAA4BoB,eAAe,IAAK,EAAE;QAAA,CAC/D,CACN;MAAA,EACK,CAAC;IAEb;EAAC;IAAAnK,GAAA;IAAA2B,KAAA,EAtED,SAAAiJ,yBACErC,KAAY,EACwB;MACpC,OAAO;QAAEA,KAAK,EAALA;MAAM,CAAC;IAClB;EAAC;EAAA,OAAAL,oBAAA;AAAA,EAdgCxJ,KAAK,CAACmM,SAAS;AAAA,IAAAC,QAAA,GAAAC,OAAA,cAmFnC7C,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"SectionErrorBoundary.js","names":["React","_interopRequireWildcard","require","_Banner","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","extractFirstComponent","stack","raw","split","line","trim","match","exec","name","test","DETAIL_SX","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","jsx","Fragment","isDev","process","env","originComponent","technicalMessage","String","message","jsxs","variant","action","label","onClick","style","_default","exports"],"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,14 +1,14 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
9
  var _jsxRuntime = require("react/jsx-runtime");
11
- var _excluded = ["level", "icon", "title", "children", "subtitle", "action", "sx"];
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
12
  /**
13
13
  * SectionHeader — Portnet UI v2
14
14
  *
@@ -49,17 +49,8 @@ var _excluded = ["level", "icon", "title", "children", "subtitle", "action", "sx
49
49
  * action — optional trailing element (Button, dropdown, etc.).
50
50
  * sx — escape hatch.
51
51
  */
52
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
54
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
- 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; }
56
- 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; }
57
- 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; }
58
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
59
- 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); }
60
- 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; }
61
- 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; }
62
- var TYPOGRAPHY_BY_LEVEL = Object.freeze({
52
+
53
+ const TYPOGRAPHY_BY_LEVEL = Object.freeze({
63
54
  h2: {
64
55
  fontSize: "var(--text-h2)",
65
56
  lineHeight: "var(--lh-tight)"
@@ -73,26 +64,27 @@ var TYPOGRAPHY_BY_LEVEL = Object.freeze({
73
64
  lineHeight: "var(--lh-snug)"
74
65
  }
75
66
  });
76
- function SectionHeader(_ref) {
77
- var _ref$level = _ref.level,
78
- level = _ref$level === void 0 ? "h3" : _ref$level,
79
- icon = _ref.icon,
80
- title = _ref.title,
81
- children = _ref.children,
82
- subtitle = _ref.subtitle,
83
- action = _ref.action,
84
- sx = _ref.sx,
85
- rest = _objectWithoutProperties(_ref, _excluded);
86
- var headingText = title !== null && title !== void 0 ? title : children;
87
- var typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;
88
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], _objectSpread(_objectSpread({
89
- sx: _objectSpread({
67
+ function SectionHeader({
68
+ level = "h3",
69
+ icon,
70
+ title,
71
+ children,
72
+ subtitle,
73
+ action,
74
+ sx,
75
+ ...rest
76
+ }) {
77
+ const headingText = title ?? children;
78
+ const typography = TYPOGRAPHY_BY_LEVEL[level] || TYPOGRAPHY_BY_LEVEL.h3;
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
80
+ sx: {
90
81
  display: "flex",
91
82
  alignItems: subtitle ? "flex-start" : "center",
92
- gap: "var(--s-2)"
93
- }, sx)
94
- }, rest), {}, {
95
- children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
83
+ gap: "var(--s-2)",
84
+ ...sx
85
+ },
86
+ ...rest,
87
+ children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
96
88
  "aria-hidden": "true",
97
89
  sx: {
98
90
  color: "var(--fg-muted)",
@@ -106,20 +98,21 @@ function SectionHeader(_ref) {
106
98
  }
107
99
  },
108
100
  children: icon
109
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
101
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
110
102
  sx: {
111
103
  flex: 1,
112
104
  minWidth: 0
113
105
  },
114
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
115
107
  component: level,
116
- sx: _objectSpread({
108
+ sx: {
117
109
  margin: 0,
118
110
  fontWeight: "var(--fw-semibold)",
119
- color: "var(--fg)"
120
- }, typography),
111
+ color: "var(--fg)",
112
+ ...typography
113
+ },
121
114
  children: headingText
122
- }), subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
115
+ }), subtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
123
116
  sx: {
124
117
  marginTop: "var(--s-1)",
125
118
  fontSize: "var(--text-sm)",
@@ -128,13 +121,13 @@ function SectionHeader(_ref) {
128
121
  },
129
122
  children: subtitle
130
123
  })]
131
- }), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
124
+ }), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
132
125
  sx: {
133
126
  flex: "0 0 auto"
134
127
  },
135
128
  children: action
136
129
  })]
137
- }));
130
+ });
138
131
  }
139
- var _default = exports["default"] = SectionHeader;
132
+ var _default = exports.default = SectionHeader;
140
133
  //# sourceMappingURL=SectionHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionHeader.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","TYPOGRAPHY_BY_LEVEL","freeze","h2","fontSize","lineHeight","h3","h4","SectionHeader","_ref","_ref$level","level","icon","title","children","subtitle","action","sx","rest","headingText","typography","jsxs","display","alignItems","gap","jsx","color","marginTop","flex","minWidth","component","margin","fontWeight","_default","exports"],"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","_interopRequireWildcard","require","_Box","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TYPOGRAPHY_BY_LEVEL","freeze","h2","fontSize","lineHeight","h3","h4","SectionHeader","level","icon","title","children","subtitle","action","sx","rest","headingText","typography","jsxs","display","alignItems","gap","jsx","color","marginTop","flex","minWidth","component","margin","fontWeight","_default","exports"],"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,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAoC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,CAAAK,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAGpC;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;;AAIA,MAAMgB,mBAAyF,GAAGH,MAAM,CAACI,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,GAAIjB,mBAAmB,CAACQ,KAAK,CAAC,IAAIR,mBAAmB,CAACK,EAAE;EAExE,oBACE,IAAAzB,WAAA,CAAAsC,IAAA,EAACxC,IAAA,CAAAK,OAAG;IACF+B,EAAE,EAAE;MACFK,OAAO,EAAM,MAAM;MACnBC,UAAU,EAAGR,QAAQ,GAAG,YAAY,GAAG,QAAQ;MAC/CS,GAAG,EAAU,YAAY;MACzB,GAAGP;IACL,CAAE;IAAA,GACEC,IAAI;IAAAJ,QAAA,GAEPF,IAAI,iBACH,IAAA7B,WAAA,CAAA0C,GAAA,EAAC5C,IAAA,CAAAK,OAAG;MACF,eAAY,MAAM;MAClB+B,EAAE,EAAE;QACFS,KAAK,EAAE,iBAAiB;QACxBJ,OAAO,EAAE,aAAa;QACtB;QACA;QACA;QACAK,SAAS,EAAEZ,QAAQ,GAAG,KAAK,GAAG,CAAC;QAC/B,OAAO,EAAE;UAAET,QAAQ,EAAE;QAAG;MAC1B,CAAE;MAAAQ,QAAA,EAEDF;IAAI,CACF,CACN,eAED,IAAA7B,WAAA,CAAAsC,IAAA,EAACxC,IAAA,CAAAK,OAAG;MAAC+B,EAAE,EAAE;QAAEW,IAAI,EAAE,CAAC;QAAEC,QAAQ,EAAE;MAAE,CAAE;MAAAf,QAAA,gBAChC,IAAA/B,WAAA,CAAA0C,GAAA,EAAC5C,IAAA,CAAAK,OAAG;QACF4C,SAAS,EAAEnB,KAAM;QACjBM,EAAE,EAAE;UACFc,MAAM,EAAM,CAAC;UACbC,UAAU,EAAE,oBAAoB;UAChCN,KAAK,EAAO,WAAW;UACvB,GAAGN;QACL,CAAE;QAAAN,QAAA,EAEDK;MAAW,CACT,CAAC,EACLJ,QAAQ,iBACP,IAAAhC,WAAA,CAAA0C,GAAA,EAAC5C,IAAA,CAAAK,OAAG;QACF+B,EAAE,EAAE;UACFU,SAAS,EAAG,YAAY;UACxBrB,QAAQ,EAAI,gBAAgB;UAC5BoB,KAAK,EAAO,iBAAiB;UAC7BnB,UAAU,EAAE;QACd,CAAE;QAAAO,QAAA,EAEDC;MAAQ,CACN,CACN;IAAA,CACE,CAAC,EAELC,MAAM,iBAAI,IAAAjC,WAAA,CAAA0C,GAAA,EAAC5C,IAAA,CAAAK,OAAG;MAAC+B,EAAE,EAAE;QAAEW,IAAI,EAAE;MAAW,CAAE;MAAAd,QAAA,EAAEE;IAAM,CAAM,CAAC;EAAA,CACrD,CAAC;AAEV;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAhD,OAAA,GAEcwB,aAAa","ignoreList":[]}