@portnet/ui 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -1 +1 @@
1
- {"version":3,"file":"FormErrorSummary.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Banner","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","FormErrorSummary","_ref","errors","labelByName","onItemClick","title","length","heading","handleClick","e","name","preventDefault","jsx","variant","children","component","role","sx","margin","paddingInlineStart","fontSize","listStyle","map","err","idx","label","jsxs","marginBottom","type","onClick","background","border","padding","font","cursor","color","textDecoration","fontWeight","outline","outlineOffset","borderRadius","message","concat","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormErrorSummary.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Banner from \"../components/Banner\";\r\n\r\n/**\r\n * FormErrorSummary — Portnet UI v2\r\n *\r\n * Charter §05 / R-FV.2. Synthesis banner rendered above a form after a\r\n * failed-submit so the user sees, at-a-glance, every field that needs\r\n * attention. Each entry is a clickable jump-to-field affordance; the host\r\n * supplies the navigation behaviour via `onItemClick`.\r\n *\r\n * Composition: pure v2.Banner + a semantic <ul> of <button> jump-links.\r\n * No host-specific scroll/focus logic baked in.\r\n *\r\n * Renders nothing when `errors` is empty / nullish — host can mount\r\n * unconditionally above the form.\r\n *\r\n * Accessibility:\r\n * - <button type=\"button\"> instead of <a href=\"#…\">. The entries trigger\r\n * an action (focus/scroll) and don't navigate.\r\n * - Explicit role=\"list\" + role=\"listitem\" because some screen readers\r\n * strip list semantics when CSS list-style:none is applied.\r\n * - Banner already carries the alert/role semantics for the region.\r\n * - Explicit :focus-visible outline on each jump-button on --danger-fg,\r\n * which passes WCAG 1.4.11 ≥ 3:1 on danger-soft (finding B4-EXT-2).\r\n *\r\n * Charter R-AI.2: composition of v2.Banner only — no local primitive.\r\n */\r\n\r\nexport interface FormErrorSummaryError {\r\n name: string;\r\n message: string;\r\n}\r\n\r\nexport interface FormErrorSummaryProps {\r\n errors?: FormErrorSummaryError[] | undefined;\r\n labelByName?: Record<string, string> | undefined;\r\n onItemClick?: ((name: string) => void) | undefined;\r\n title?: string | undefined;\r\n}\r\n\r\nfunction FormErrorSummary({\r\n errors,\r\n labelByName,\r\n onItemClick,\r\n title,\r\n}: FormErrorSummaryProps) {\r\n if (!errors || errors.length === 0) return null;\r\n\r\n const heading = title || \"Veuillez corriger les erreurs ci-dessous\";\r\n\r\n const handleClick = (\r\n e: React.MouseEvent<HTMLButtonElement>,\r\n name: string\r\n ) => {\r\n e.preventDefault();\r\n if (typeof onItemClick === \"function\") {\r\n onItemClick(name);\r\n }\r\n };\r\n\r\n return (\r\n <Banner variant=\"error\" title={heading}>\r\n <Box\r\n component=\"ul\"\r\n role=\"list\"\r\n sx={{\r\n margin: 0,\r\n paddingInlineStart: \"var(--s-5)\",\r\n fontSize: \"var(--text-sm)\",\r\n listStyle: \"disc\",\r\n }}\r\n >\r\n {errors.map((err, idx) => {\r\n const label = (labelByName && labelByName[err.name]) || err.name;\r\n return (\r\n <Box\r\n component=\"li\"\r\n role=\"listitem\"\r\n key={`${err.name}-${idx}`}\r\n sx={{ marginBottom: \"var(--s-1)\" }}\r\n >\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => handleClick(e, err.name)}\r\n sx={{\r\n // Reset default <button> chrome so the link reads visually\r\n // as a hyperlink in the banner body.\r\n background: \"transparent\",\r\n border: \"none\",\r\n padding: 0,\r\n margin: 0,\r\n font: \"inherit\",\r\n cursor: \"pointer\",\r\n color: \"var(--danger-fg)\",\r\n textDecoration: \"underline\",\r\n fontWeight: \"var(--fw-medium)\",\r\n // R-F.1 — explicit focus-visible outline. Outline on\r\n // currentColor (danger-fg) passes 1.4.11 ≥ 3:1 on the soft\r\n // danger background; borderRadius aligns the ring with the DS.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--danger-fg)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n borderRadius: \"var(--r-sm)\",\r\n },\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n {\": \"}\r\n <span>{err.message}</span>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n </Banner>\r\n );\r\n}\r\n\r\nexport default FormErrorSummary;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormErrorSummary.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Banner","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormErrorSummary","errors","labelByName","onItemClick","title","length","heading","handleClick","name","preventDefault","jsx","variant","children","component","role","sx","margin","paddingInlineStart","fontSize","listStyle","map","err","idx","label","jsxs","marginBottom","type","onClick","background","border","padding","font","cursor","color","textDecoration","fontWeight","outline","outlineOffset","borderRadius","message","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormErrorSummary.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Banner from \"../components/Banner\";\r\n\r\n/**\r\n * FormErrorSummary — Portnet UI v2\r\n *\r\n * Charter §05 / R-FV.2. Synthesis banner rendered above a form after a\r\n * failed-submit so the user sees, at-a-glance, every field that needs\r\n * attention. Each entry is a clickable jump-to-field affordance; the host\r\n * supplies the navigation behaviour via `onItemClick`.\r\n *\r\n * Composition: pure v2.Banner + a semantic <ul> of <button> jump-links.\r\n * No host-specific scroll/focus logic baked in.\r\n *\r\n * Renders nothing when `errors` is empty / nullish — host can mount\r\n * unconditionally above the form.\r\n *\r\n * Accessibility:\r\n * - <button type=\"button\"> instead of <a href=\"#…\">. The entries trigger\r\n * an action (focus/scroll) and don't navigate.\r\n * - Explicit role=\"list\" + role=\"listitem\" because some screen readers\r\n * strip list semantics when CSS list-style:none is applied.\r\n * - Banner already carries the alert/role semantics for the region.\r\n * - Explicit :focus-visible outline on each jump-button on --danger-fg,\r\n * which passes WCAG 1.4.11 ≥ 3:1 on danger-soft (finding B4-EXT-2).\r\n *\r\n * Charter R-AI.2: composition of v2.Banner only — no local primitive.\r\n */\r\n\r\nexport interface FormErrorSummaryError {\r\n name: string;\r\n message: string;\r\n}\r\n\r\nexport interface FormErrorSummaryProps {\r\n errors?: FormErrorSummaryError[] | undefined;\r\n labelByName?: Record<string, string> | undefined;\r\n onItemClick?: ((name: string) => void) | undefined;\r\n title?: string | undefined;\r\n}\r\n\r\nfunction FormErrorSummary({\r\n errors,\r\n labelByName,\r\n onItemClick,\r\n title,\r\n}: FormErrorSummaryProps) {\r\n if (!errors || errors.length === 0) return null;\r\n\r\n const heading = title || \"Veuillez corriger les erreurs ci-dessous\";\r\n\r\n const handleClick = (\r\n e: React.MouseEvent<HTMLButtonElement>,\r\n name: string\r\n ) => {\r\n e.preventDefault();\r\n if (typeof onItemClick === \"function\") {\r\n onItemClick(name);\r\n }\r\n };\r\n\r\n return (\r\n <Banner variant=\"error\" title={heading}>\r\n <Box\r\n component=\"ul\"\r\n role=\"list\"\r\n sx={{\r\n margin: 0,\r\n paddingInlineStart: \"var(--s-5)\",\r\n fontSize: \"var(--text-sm)\",\r\n listStyle: \"disc\",\r\n }}\r\n >\r\n {errors.map((err, idx) => {\r\n const label = (labelByName && labelByName[err.name]) || err.name;\r\n return (\r\n <Box\r\n component=\"li\"\r\n role=\"listitem\"\r\n key={`${err.name}-${idx}`}\r\n sx={{ marginBottom: \"var(--s-1)\" }}\r\n >\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => handleClick(e, err.name)}\r\n sx={{\r\n // Reset default <button> chrome so the link reads visually\r\n // as a hyperlink in the banner body.\r\n background: \"transparent\",\r\n border: \"none\",\r\n padding: 0,\r\n margin: 0,\r\n font: \"inherit\",\r\n cursor: \"pointer\",\r\n color: \"var(--danger-fg)\",\r\n textDecoration: \"underline\",\r\n fontWeight: \"var(--fw-medium)\",\r\n // R-F.1 — explicit focus-visible outline. Outline on\r\n // currentColor (danger-fg) passes 1.4.11 ≥ 3:1 on the soft\r\n // danger background; borderRadius aligns the ring with the DS.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--danger-fg)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n borderRadius: \"var(--r-sm)\",\r\n },\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n {\": \"}\r\n <span>{err.message}</span>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n </Banner>\r\n );\r\n}\r\n\r\nexport default FormErrorSummary;\r\n"],"mappings":"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","ignoreList":[]}
@@ -3,22 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
9
  var _ActionBar = _interopRequireDefault(require("./ActionBar"));
10
10
  var _PageContent = _interopRequireDefault(require("./PageContent"));
11
11
  var _ProgressBar = _interopRequireDefault(require("../components/ProgressBar"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- 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); }
15
- 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; }
16
- 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); }
17
- 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; }
18
- 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; }
19
- 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; }
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); } /**
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ 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); }
15
+ /**
22
16
  * FormPageShell — Portnet UI v2 (pattern)
23
17
  *
24
18
  * Charter §07 R-L.2 — canonical shell for create/edit form pages.
@@ -53,17 +47,18 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
53
47
  * <FormSection number={1} title="Informations">…</FormSection>
54
48
  * </FormPageShell>
55
49
  */
56
- var PROGRESS_ROW_SX = Object.freeze({
50
+
51
+ const PROGRESS_ROW_SX = Object.freeze({
57
52
  display: "flex",
58
53
  alignItems: "center",
59
54
  gap: "var(--s-3)",
60
55
  marginBottom: "var(--s-5)"
61
56
  });
62
- var PROGRESS_BAR_WRAPPER_SX = Object.freeze({
57
+ const PROGRESS_BAR_WRAPPER_SX = Object.freeze({
63
58
  flex: 1,
64
59
  minWidth: 0
65
60
  });
66
- var PROGRESS_LABEL_SX = Object.freeze({
61
+ const PROGRESS_LABEL_SX = Object.freeze({
67
62
  fontSize: "var(--text-xs)",
68
63
  color: "var(--fg-muted)",
69
64
  whiteSpace: "nowrap",
@@ -76,58 +71,66 @@ var PROGRESS_LABEL_SX = Object.freeze({
76
71
  * React 18.3+ supprime le support de defaultProps pour les function
77
72
  * components. Aligné sur le pattern DataGridToolbar (B14).
78
73
  */
79
- function FormPageShell(_ref) {
80
- var home = _ref.home,
81
- back = _ref.back,
82
- breadcrumb = _ref.breadcrumb,
83
- title = _ref.title,
84
- subtitle = _ref.subtitle,
85
- icon = _ref.icon,
86
- _ref$secondary = _ref.secondary,
87
- secondary = _ref$secondary === void 0 ? [] : _ref$secondary,
88
- primary = _ref.primary,
89
- _ref$overflow = _ref.overflow,
90
- overflow = _ref$overflow === void 0 ? [] : _ref$overflow,
91
- progress = _ref.progress,
92
- progressLabel = _ref.progressLabel,
93
- children = _ref.children,
94
- contentSx = _ref.contentSx;
74
+ function FormPageShell({
75
+ /* ActionBar props */
76
+ home,
77
+ back,
78
+ breadcrumb,
79
+ title,
80
+ subtitle,
81
+ icon,
82
+ secondary = [],
83
+ primary,
84
+ overflow = [],
85
+ /* Progress slot */
86
+ progress,
87
+ progressLabel,
88
+ /* Content */
89
+ children,
90
+ contentSx
91
+ }) {
95
92
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
96
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionBar["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
93
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ActionBar.default, {
97
94
  surface: false,
98
95
  title: title,
99
96
  subtitle: subtitle,
100
97
  secondary: secondary,
101
- overflow: overflow
102
- }, home !== undefined ? {
103
- home: home
104
- } : {}), back !== undefined ? {
105
- back: back
106
- } : {}), breadcrumb !== undefined ? {
107
- breadcrumb: breadcrumb
108
- } : {}), icon !== undefined ? {
109
- icon: icon
110
- } : {}), primary !== undefined ? {
111
- primary: primary
112
- } : {})), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PageContent["default"], _objectSpread(_objectSpread({}, contentSx !== undefined ? {
113
- sx: contentSx
114
- } : {}), {}, {
115
- children: [typeof progress === "number" && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
98
+ overflow: overflow,
99
+ ...(home !== undefined ? {
100
+ home
101
+ } : {}),
102
+ ...(back !== undefined ? {
103
+ back
104
+ } : {}),
105
+ ...(breadcrumb !== undefined ? {
106
+ breadcrumb
107
+ } : {}),
108
+ ...(icon !== undefined ? {
109
+ icon
110
+ } : {}),
111
+ ...(primary !== undefined ? {
112
+ primary
113
+ } : {})
114
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PageContent.default, {
115
+ ...(contentSx !== undefined ? {
116
+ sx: contentSx
117
+ } : {}),
118
+ children: [typeof progress === "number" && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
116
119
  sx: PROGRESS_ROW_SX,
117
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
120
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
118
121
  sx: PROGRESS_BAR_WRAPPER_SX,
119
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressBar["default"], {
122
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProgressBar.default, {
120
123
  value: progress,
121
124
  "aria-label": "Avancement de la saisie"
122
125
  })
123
- }), progressLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
126
+ }), progressLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
124
127
  component: "span",
125
128
  sx: PROGRESS_LABEL_SX,
126
129
  children: progressLabel
127
130
  })]
128
131
  }), children]
129
- }))]
132
+ })]
130
133
  });
131
134
  }
132
- var _default = exports["default"] = FormPageShell;
135
+ var _default = exports.default = FormPageShell;
133
136
  //# sourceMappingURL=FormPageShell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormPageShell.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_ActionBar","_PageContent","_ProgressBar","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","PROGRESS_ROW_SX","freeze","display","alignItems","gap","marginBottom","PROGRESS_BAR_WRAPPER_SX","flex","minWidth","PROGRESS_LABEL_SX","fontSize","color","whiteSpace","fontVariantNumeric","flexShrink","FormPageShell","_ref","home","back","breadcrumb","title","subtitle","icon","_ref$secondary","secondary","primary","_ref$overflow","overflow","progress","progressLabel","children","contentSx","jsxs","Fragment","jsx","surface","sx","component","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormPageShell.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport ActionBar, { type ActionBarProps } from \"./ActionBar\";\r\nimport PageContent from \"./PageContent\";\r\nimport ProgressBar from \"../components/ProgressBar\";\r\n\r\n/**\r\n * FormPageShell — Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 R-L.2 — canonical shell for create/edit form pages.\r\n *\r\n * Combines a sticky ActionBar (surface=false, accent title) with a\r\n * responsive PageContent wrapper so every module's form page has the\r\n * same structure without reimplementing it.\r\n *\r\n * ┌───────────────────────────────────────────────────────────────┐\r\n * │ 🏠 > Breadcrumb │ sticky\r\n * │ Title [secondary] [primary] [overflow…] │\r\n * │ Subtitle │\r\n * └───────────────────────────────────────────────────────────────┘\r\n * ┌───────────────────────────────────────────────────────────────┐\r\n * │ [ProgressBar ── progressLabel] ← if progress prop given │\r\n * │ children │\r\n * └───────────────────────────────────────────────────────────────┘\r\n *\r\n * @example\r\n * <FormPageShell\r\n * home={() => navigate(\"/\")}\r\n * back={() => navigate(\"/list\")}\r\n * breadcrumb={[\"Autorisations\", \"Nouvelle autorisation\"]}\r\n * title=\"Nouvelle autorisation\"\r\n * subtitle=\"Saisissez les informations…\"\r\n * secondary={[{ label: \"Enregistrer\", icon: <SaveIcon />, onClick: handleSave }]}\r\n * primary={{ label: \"Déposer\", iconRight: <ArrowIcon />, onClick: handleDeposit }}\r\n * overflow={[{ label: \"Retour à la liste\", onClick: goBack }]}\r\n * progress={requiredPct}\r\n * progressLabel={isComplete ? \"Prêt à déposer ✓\" : `${filled}/${total} requis`}\r\n * >\r\n * <FormSection number={1} title=\"Informations\">…</FormSection>\r\n * </FormPageShell>\r\n */\r\n\r\nexport interface FormPageShellProps\r\n extends Pick<\r\n ActionBarProps,\r\n | \"home\"\r\n | \"back\"\r\n | \"breadcrumb\"\r\n | \"title\"\r\n | \"subtitle\"\r\n | \"icon\"\r\n | \"secondary\"\r\n | \"primary\"\r\n | \"overflow\"\r\n > {\r\n /** 0-100; renders a ProgressBar when provided. */\r\n progress?: number | undefined;\r\n /** Companion text beside the progress bar. */\r\n progressLabel?: React.ReactNode | undefined;\r\n children?: React.ReactNode | undefined;\r\n /** MUI sx override for PageContent. */\r\n contentSx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst PROGRESS_ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-3)\",\r\n marginBottom: \"var(--s-5)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PROGRESS_BAR_WRAPPER_SX = Object.freeze({ flex: 1, minWidth: 0 });\r\n\r\nconst PROGRESS_LABEL_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-muted)\",\r\n whiteSpace: \"nowrap\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/**\r\n * Valeurs par défaut inline — plus de defaultProps.\r\n * React 18.3+ supprime le support de defaultProps pour les function\r\n * components. Aligné sur le pattern DataGridToolbar (B14).\r\n */\r\nfunction FormPageShell({\r\n /* ActionBar props */\r\n home,\r\n back,\r\n breadcrumb,\r\n title,\r\n subtitle,\r\n icon,\r\n secondary = [],\r\n primary,\r\n overflow = [],\r\n /* Progress slot */\r\n progress,\r\n progressLabel,\r\n /* Content */\r\n children,\r\n contentSx,\r\n}: FormPageShellProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n surface={false}\r\n title={title}\r\n subtitle={subtitle}\r\n secondary={secondary}\r\n overflow={overflow}\r\n {...(home !== undefined ? { home } : {})}\r\n {...(back !== undefined ? { back } : {})}\r\n {...(breadcrumb !== undefined ? { breadcrumb } : {})}\r\n {...(icon !== undefined ? { icon } : {})}\r\n {...(primary !== undefined ? { primary } : {})}\r\n />\r\n\r\n <PageContent {...(contentSx !== undefined ? { sx: contentSx } : {})}>\r\n {typeof progress === \"number\" && (\r\n <Box sx={PROGRESS_ROW_SX}>\r\n <Box sx={PROGRESS_BAR_WRAPPER_SX}>\r\n <ProgressBar\r\n value={progress}\r\n aria-label=\"Avancement de la saisie\"\r\n />\r\n </Box>\r\n {progressLabel && (\r\n <Box component=\"span\" sx={PROGRESS_LABEL_SX}>\r\n {progressLabel}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {children}\r\n </PageContent>\r\n </>\r\n );\r\n}\r\n\r\nexport default FormPageShell;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,YAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,YAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAoD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAE,uBAAAK,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,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAJ,QAAAP,GAAA,sCAAAO,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAvB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAsB,MAAA,IAAAtB,GAAA,CAAAwB,WAAA,KAAAF,MAAA,IAAAtB,GAAA,KAAAsB,MAAA,CAAAL,SAAA,qBAAAjB,GAAA,KAAAO,OAAA,CAAAP,GAAA;AAAA,SAAAyB,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAf,MAAA,CAAAe,IAAA,CAAAF,MAAA,OAAAb,MAAA,CAAAgB,qBAAA,QAAAC,OAAA,GAAAjB,MAAA,CAAAgB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAnB,MAAA,CAAAE,wBAAA,CAAAW,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,OAAAC,OAAA,WAAA1B,GAAA,IAAA2B,eAAA,CAAAN,MAAA,EAAArB,GAAA,EAAAyB,MAAA,CAAAzB,GAAA,SAAAH,MAAA,CAAA+B,yBAAA,GAAA/B,MAAA,CAAAgC,gBAAA,CAAAR,MAAA,EAAAxB,MAAA,CAAA+B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAZ,MAAA,CAAA4B,MAAA,GAAAC,OAAA,WAAA1B,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAuB,MAAA,EAAArB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA0B,MAAA,EAAAzB,GAAA,iBAAAqB,MAAA;AAAA,SAAAM,gBAAA3C,GAAA,EAAAgB,GAAA,EAAA8B,KAAA,IAAA9B,GAAA,GAAA+B,cAAA,CAAA/B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA8B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAjD,GAAA,CAAAgB,GAAA,IAAA8B,KAAA,WAAA9C,GAAA;AAAA,SAAA+C,eAAAG,GAAA,QAAAlC,GAAA,GAAAmC,YAAA,CAAAD,GAAA,oBAAA3C,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAoC,MAAA,CAAApC,GAAA;AAAA,SAAAmC,aAAAE,KAAA,EAAAC,IAAA,QAAA/C,OAAA,CAAA8C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA/B,MAAA,CAAAkC,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAApC,IAAA,CAAAkC,KAAA,EAAAC,IAAA,oBAAA/C,OAAA,CAAAmD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAL,IAAA,gBAAAF,MAAA,GAAAQ,MAAA,EAAAP,KAAA,KAEpD;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;AAwBA,IAAMQ,eAAe,GAAGhD,MAAM,CAACiD,MAAM,CAAC;EACpCC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,GAAG,EAAE,YAAY;EACjBC,YAAY,EAAE;AAChB,CAA0B,CAAC;AAE3B,IAAMC,uBAAuB,GAAGtD,MAAM,CAACiD,MAAM,CAAC;EAAEM,IAAI,EAAE,CAAC;EAAEC,QAAQ,EAAE;AAAE,CAAC,CAAC;AAEvE,IAAMC,iBAAiB,GAAGzD,MAAM,CAACiD,MAAM,CAAC;EACtCS,QAAQ,EAAE,gBAAgB;EAC1BC,KAAK,EAAE,iBAAiB;EACxBC,UAAU,EAAE,QAAQ;EACpBC,kBAAkB,EAAE,cAAc;EAClCC,UAAU,EAAE;AACd,CAA0B,CAAC;;AAE3B;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAAC,IAAA,EAiBC;EAAA,IAfrBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,KAAK,GAAAJ,IAAA,CAALI,KAAK;IACLC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,IAAI,GAAAN,IAAA,CAAJM,IAAI;IAAAC,cAAA,GAAAP,IAAA,CACJQ,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IACdE,OAAO,GAAAT,IAAA,CAAPS,OAAO;IAAAC,aAAA,GAAAV,IAAA,CACPW,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;IAEbE,QAAQ,GAAAZ,IAAA,CAARY,QAAQ;IACRC,aAAa,GAAAb,IAAA,CAAba,aAAa;IAEbC,QAAQ,GAAAd,IAAA,CAARc,QAAQ;IACRC,SAAS,GAAAf,IAAA,CAATe,SAAS;EAET,oBACE,IAAA7F,WAAA,CAAA8F,IAAA,EAAA9F,WAAA,CAAA+F,QAAA;IAAAH,QAAA,gBACE,IAAA5F,WAAA,CAAAgG,GAAA,EAACnG,UAAA,WAAS,EAAAwC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA;MACR4D,OAAO,EAAE,KAAM;MACff,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBG,SAAS,EAAEA,SAAU;MACrBG,QAAQ,EAAEA;IAAS,GACdV,IAAI,KAAKrB,SAAS,GAAG;MAAEqB,IAAI,EAAJA;IAAK,CAAC,GAAG,CAAC,CAAC,GAClCC,IAAI,KAAKtB,SAAS,GAAG;MAAEsB,IAAI,EAAJA;IAAK,CAAC,GAAG,CAAC,CAAC,GAClCC,UAAU,KAAKvB,SAAS,GAAG;MAAEuB,UAAU,EAAVA;IAAW,CAAC,GAAG,CAAC,CAAC,GAC9CG,IAAI,KAAK1B,SAAS,GAAG;MAAE0B,IAAI,EAAJA;IAAK,CAAC,GAAG,CAAC,CAAC,GAClCG,OAAO,KAAK7B,SAAS,GAAG;MAAE6B,OAAO,EAAPA;IAAQ,CAAC,GAAG,CAAC,CAAC,CAC9C,CAAC,eAEF,IAAAvF,WAAA,CAAA8F,IAAA,EAAChG,YAAA,WAAW,EAAAuC,aAAA,CAAAA,aAAA,KAAMwD,SAAS,KAAKnC,SAAS,GAAG;MAAEwC,EAAE,EAAEL;IAAU,CAAC,GAAG,CAAC,CAAC;MAAAD,QAAA,GAC/D,OAAOF,QAAQ,KAAK,QAAQ,iBAC3B,IAAA1F,WAAA,CAAA8F,IAAA,EAACnG,IAAA,WAAG;QAACuG,EAAE,EAAEpC,eAAgB;QAAA8B,QAAA,gBACvB,IAAA5F,WAAA,CAAAgG,GAAA,EAACrG,IAAA,WAAG;UAACuG,EAAE,EAAE9B,uBAAwB;UAAAwB,QAAA,eAC/B,IAAA5F,WAAA,CAAAgG,GAAA,EAACjG,YAAA,WAAW;YACVgD,KAAK,EAAE2C,QAAS;YAChB,cAAW;UAAyB,CACrC;QAAC,CACC,CAAC,EACLC,aAAa,iBACZ,IAAA3F,WAAA,CAAAgG,GAAA,EAACrG,IAAA,WAAG;UAACwG,SAAS,EAAC,MAAM;UAACD,EAAE,EAAE3B,iBAAkB;UAAAqB,QAAA,EACzCD;QAAa,CACX,CACN;MAAA,CACE,CACN,EACAC,QAAQ;IAAA,EACE,CAAC;EAAA,CACd,CAAC;AAEP;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEcxB,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"FormPageShell.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_ActionBar","_PageContent","_ProgressBar","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PROGRESS_ROW_SX","freeze","display","alignItems","gap","marginBottom","PROGRESS_BAR_WRAPPER_SX","flex","minWidth","PROGRESS_LABEL_SX","fontSize","color","whiteSpace","fontVariantNumeric","flexShrink","FormPageShell","home","back","breadcrumb","title","subtitle","icon","secondary","primary","overflow","progress","progressLabel","children","contentSx","jsxs","Fragment","jsx","surface","undefined","sx","value","component","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormPageShell.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport ActionBar, { type ActionBarProps } from \"./ActionBar\";\r\nimport PageContent from \"./PageContent\";\r\nimport ProgressBar from \"../components/ProgressBar\";\r\n\r\n/**\r\n * FormPageShell — Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 R-L.2 — canonical shell for create/edit form pages.\r\n *\r\n * Combines a sticky ActionBar (surface=false, accent title) with a\r\n * responsive PageContent wrapper so every module's form page has the\r\n * same structure without reimplementing it.\r\n *\r\n * ┌───────────────────────────────────────────────────────────────┐\r\n * │ 🏠 > Breadcrumb │ sticky\r\n * │ Title [secondary] [primary] [overflow…] │\r\n * │ Subtitle │\r\n * └───────────────────────────────────────────────────────────────┘\r\n * ┌───────────────────────────────────────────────────────────────┐\r\n * │ [ProgressBar ── progressLabel] ← if progress prop given │\r\n * │ children │\r\n * └───────────────────────────────────────────────────────────────┘\r\n *\r\n * @example\r\n * <FormPageShell\r\n * home={() => navigate(\"/\")}\r\n * back={() => navigate(\"/list\")}\r\n * breadcrumb={[\"Autorisations\", \"Nouvelle autorisation\"]}\r\n * title=\"Nouvelle autorisation\"\r\n * subtitle=\"Saisissez les informations…\"\r\n * secondary={[{ label: \"Enregistrer\", icon: <SaveIcon />, onClick: handleSave }]}\r\n * primary={{ label: \"Déposer\", iconRight: <ArrowIcon />, onClick: handleDeposit }}\r\n * overflow={[{ label: \"Retour à la liste\", onClick: goBack }]}\r\n * progress={requiredPct}\r\n * progressLabel={isComplete ? \"Prêt à déposer ✓\" : `${filled}/${total} requis`}\r\n * >\r\n * <FormSection number={1} title=\"Informations\">…</FormSection>\r\n * </FormPageShell>\r\n */\r\n\r\nexport interface FormPageShellProps\r\n extends Pick<\r\n ActionBarProps,\r\n | \"home\"\r\n | \"back\"\r\n | \"breadcrumb\"\r\n | \"title\"\r\n | \"subtitle\"\r\n | \"icon\"\r\n | \"secondary\"\r\n | \"primary\"\r\n | \"overflow\"\r\n > {\r\n /** 0-100; renders a ProgressBar when provided. */\r\n progress?: number | undefined;\r\n /** Companion text beside the progress bar. */\r\n progressLabel?: React.ReactNode | undefined;\r\n children?: React.ReactNode | undefined;\r\n /** MUI sx override for PageContent. */\r\n contentSx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst PROGRESS_ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-3)\",\r\n marginBottom: \"var(--s-5)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PROGRESS_BAR_WRAPPER_SX = Object.freeze({ flex: 1, minWidth: 0 });\r\n\r\nconst PROGRESS_LABEL_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-muted)\",\r\n whiteSpace: \"nowrap\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/**\r\n * Valeurs par défaut inline — plus de defaultProps.\r\n * React 18.3+ supprime le support de defaultProps pour les function\r\n * components. Aligné sur le pattern DataGridToolbar (B14).\r\n */\r\nfunction FormPageShell({\r\n /* ActionBar props */\r\n home,\r\n back,\r\n breadcrumb,\r\n title,\r\n subtitle,\r\n icon,\r\n secondary = [],\r\n primary,\r\n overflow = [],\r\n /* Progress slot */\r\n progress,\r\n progressLabel,\r\n /* Content */\r\n children,\r\n contentSx,\r\n}: FormPageShellProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n surface={false}\r\n title={title}\r\n subtitle={subtitle}\r\n secondary={secondary}\r\n overflow={overflow}\r\n {...(home !== undefined ? { home } : {})}\r\n {...(back !== undefined ? { back } : {})}\r\n {...(breadcrumb !== undefined ? { breadcrumb } : {})}\r\n {...(icon !== undefined ? { icon } : {})}\r\n {...(primary !== undefined ? { primary } : {})}\r\n />\r\n\r\n <PageContent {...(contentSx !== undefined ? { sx: contentSx } : {})}>\r\n {typeof progress === \"number\" && (\r\n <Box sx={PROGRESS_ROW_SX}>\r\n <Box sx={PROGRESS_BAR_WRAPPER_SX}>\r\n <ProgressBar\r\n value={progress}\r\n aria-label=\"Avancement de la saisie\"\r\n />\r\n </Box>\r\n {progressLabel && (\r\n <Box component=\"span\" sx={PROGRESS_LABEL_SX}>\r\n {progressLabel}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {children}\r\n </PageContent>\r\n </>\r\n );\r\n}\r\n\r\nexport default FormPageShell;\r\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,8 @@ import type { SxProps, Theme } from "@mui/material/styles";
11
11
  * 2 — two equal columns (narrow forms, few fields, wide labels)
12
12
  * 1 — single column (textareas, file uploads, notes)
13
13
  * "auto" — auto-fill tracks min 220px
14
- * "none" — no grid wrapper — children manage their own layout.
14
+ * "none" — no grid wrapper — children manage their own layout, stacked in
15
+ * a flex column with `gap` (default --s-4).
15
16
  * Use for: KVGrid, DataGrid, nested FormGrid.
16
17
  *
17
18
  * Full-width items within a 3-col section:
@@ -46,14 +47,18 @@ export interface FormSectionProps {
46
47
  */
47
48
  cols?: number | "auto" | "none" | undefined;
48
49
  /**
49
- * Gap forwarded to the inner `FormGrid`. Omit to inherit the charter default
50
- * (`--s-4`). Ignored when `cols="none"`, where the child owns its layout.
50
+ * Gap between the section's children. Forwarded to the inner `FormGrid`
51
+ * when `cols` is a grid preset; applied to the body's own flex column when
52
+ * `cols="none"`. Omit to inherit the charter default (`--s-4`).
51
53
  *
52
54
  * Added for gap G-13: `FormSection` wrapped its children in a `FormGrid` but
53
55
  * exposed no way to set that grid's gap, so a section needing a non-default
54
56
  * spacing had to abandon `cols` entirely and nest its own `FormGrid` — or,
55
57
  * as every audited module actually did, hand-roll a raw `Box` grid and
56
58
  * reimplement the breakpoint ladder.
59
+ *
60
+ * Extended for gap G-47: it used to be IGNORED under `cols="none"`, where
61
+ * the body was a bare padded box. See the body note below.
57
62
  */
58
63
  gap?: string | number | undefined;
59
64
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"FormSection.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAaD,iBAAS,WAAW,CAAC,EACnB,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAA0B,EAC1B,YAAgB,EAChB,IAAQ,EACR,GAAG,EACH,QAAQ,EACR,EAAE,GACH,EAAE,gBAAgB,qBAyHlB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"FormSection.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC7C;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAaD,iBAAS,WAAW,CAAC,EACnB,MAAM,EACN,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAA0B,EAC1B,YAAgB,EAChB,IAAQ,EACR,GAAG,EACH,QAAQ,EACR,EAAE,GACH,EAAE,gBAAgB,qBAkJlB;AAED,eAAe,WAAW,CAAC"}
@@ -1,30 +1,18 @@
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 _Typography = _interopRequireDefault(require("@mui/material/Typography"));
11
10
  var _FormGrid = _interopRequireDefault(require("../components/FormGrid"));
12
11
  var _Surface = _interopRequireDefault(require("../components/Surface"));
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
- 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); }
16
- 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; }
17
- 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; }
18
- 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; }
19
- 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; }
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
23
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
- 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); }
25
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
26
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
- 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; } /**
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ 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); }
15
+ /**
28
16
  * FormSection - Portnet UI v2 (pattern)
29
17
  *
30
18
  * Charter R-3.1 — groups form fields into named, numbered sections.
@@ -35,7 +23,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
35
23
  * 2 — two equal columns (narrow forms, few fields, wide labels)
36
24
  * 1 — single column (textareas, file uploads, notes)
37
25
  * "auto" — auto-fill tracks min 220px
38
- * "none" — no grid wrapper — children manage their own layout.
26
+ * "none" — no grid wrapper — children manage their own layout, stacked in
27
+ * a flex column with `gap` (default --s-4).
39
28
  * Use for: KVGrid, DataGrid, nested FormGrid.
40
29
  *
41
30
  * Full-width items within a 3-col section:
@@ -54,9 +43,8 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
54
43
  * <KVGrid minColumnWidth={180}>...</KVGrid>
55
44
  * </FormSection>
56
45
  */
57
- var DEFAULT_SR_LABEL = function DEFAULT_SR_LABEL(n) {
58
- return "Section ".concat(n, " : ");
59
- };
46
+
47
+ const DEFAULT_SR_LABEL = n => `Section ${n} : `;
60
48
  function resolveGridProps(cols) {
61
49
  if (!cols || cols === "none") return null;
62
50
  if (cols === "auto") return {
@@ -67,22 +55,20 @@ function resolveGridProps(cols) {
67
55
  };
68
56
  return null;
69
57
  }
70
- function FormSection(_ref) {
71
- var number = _ref.number,
72
- title = _ref.title,
73
- description = _ref.description,
74
- actions = _ref.actions,
75
- _ref$srLabel = _ref.srLabel,
76
- srLabel = _ref$srLabel === void 0 ? DEFAULT_SR_LABEL : _ref$srLabel,
77
- _ref$headingLevel = _ref.headingLevel,
78
- headingLevel = _ref$headingLevel === void 0 ? 2 : _ref$headingLevel,
79
- _ref$cols = _ref.cols,
80
- cols = _ref$cols === void 0 ? 3 : _ref$cols,
81
- gap = _ref.gap,
82
- children = _ref.children,
83
- sx = _ref.sx;
84
- var HeadingTag = "h".concat(headingLevel);
85
- var gridProps = resolveGridProps(cols);
58
+ function FormSection({
59
+ number,
60
+ title,
61
+ description,
62
+ actions,
63
+ srLabel = DEFAULT_SR_LABEL,
64
+ headingLevel = 2,
65
+ cols = 3,
66
+ gap,
67
+ children,
68
+ sx
69
+ }) {
70
+ const HeadingTag = `h${headingLevel}`;
71
+ const gridProps = resolveGridProps(cols);
86
72
  return (
87
73
  /*#__PURE__*/
88
74
  /*
@@ -97,7 +83,7 @@ function FormSection(_ref) {
97
83
  * byte for byte: FormSection pads its header and body separately, and never
98
84
  * carried a shadow.
99
85
  */
100
- (0, _jsxRuntime.jsxs)(_Surface["default"], {
86
+ (0, _jsxRuntime.jsxs)(_Surface.default, {
101
87
  padding: "none",
102
88
  elevation: "none",
103
89
  radius: "lg"
@@ -107,8 +93,8 @@ function FormSection(_ref) {
107
93
  * everything. Surface forwards the array through to its own composition. */,
108
94
  sx: [{
109
95
  marginBottom: 3
110
- }].concat(_toConsumableArray(Array.isArray(sx) ? sx : sx ? [sx] : [])),
111
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
96
+ }, ...(Array.isArray(sx) ? sx : sx ? [sx] : [])],
97
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
112
98
  sx: {
113
99
  padding: "var(--s-4) var(--s-5)",
114
100
  borderBottom: "1px solid var(--border)",
@@ -117,7 +103,7 @@ function FormSection(_ref) {
117
103
  justifyContent: "space-between",
118
104
  gap: 2
119
105
  },
120
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
121
107
  sx: {
122
108
  display: "flex",
123
109
  gap: 2,
@@ -125,7 +111,7 @@ function FormSection(_ref) {
125
111
  flex: 1,
126
112
  minWidth: 0
127
113
  },
128
- children: [number != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
114
+ children: [number != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
129
115
  "aria-hidden": "true",
130
116
  sx: {
131
117
  flexShrink: 0,
@@ -140,11 +126,11 @@ function FormSection(_ref) {
140
126
  fontWeight: "var(--fw-bold)"
141
127
  },
142
128
  children: number
143
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
144
130
  sx: {
145
131
  minWidth: 0
146
132
  },
147
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography["default"], {
133
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Typography.default, {
148
134
  component: HeadingTag,
149
135
  sx: {
150
136
  /* R-2.3 / R-AI.1 MUST — was a bare `15`, a magic font-size no
@@ -164,7 +150,7 @@ function FormSection(_ref) {
164
150
  className: "pui-sr-only",
165
151
  children: srLabel(number)
166
152
  }), title]
167
- }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
153
+ }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
168
154
  sx: {
169
155
  fontSize: "var(--text-xs)",
170
156
  color: "var(--fg-muted)",
@@ -174,9 +160,14 @@ function FormSection(_ref) {
174
160
  })]
175
161
  })]
176
162
  }), actions]
177
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
163
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
178
164
  sx: {
179
- padding: "var(--s-5)"
165
+ padding: "var(--s-5)",
166
+ ...(gridProps ? null : {
167
+ display: "flex",
168
+ flexDirection: "column",
169
+ gap: gap ?? "var(--s-4)"
170
+ })
180
171
  },
181
172
  children: gridProps ?
182
173
  /*#__PURE__*/
@@ -184,14 +175,16 @@ function FormSection(_ref) {
184
175
  * declares it optional, and forwarding an explicit `undefined` is
185
176
  * what breaks under exactOptionalPropertyTypes. Omitting the key is
186
177
  * what "inherit the charter default" means. */
187
- (0, _jsxRuntime.jsx)(_FormGrid["default"], _objectSpread(_objectSpread(_objectSpread({}, gridProps), gap !== undefined ? {
188
- gap: gap
189
- } : {}), {}, {
178
+ (0, _jsxRuntime.jsx)(_FormGrid.default, {
179
+ ...gridProps,
180
+ ...(gap !== undefined ? {
181
+ gap
182
+ } : {}),
190
183
  children: children
191
- })) : children
184
+ }) : children
192
185
  })]
193
186
  })
194
187
  );
195
188
  }
196
- var _default = exports["default"] = FormSection;
189
+ var _default = exports.default = FormSection;
197
190
  //# sourceMappingURL=FormSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSection.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_FormGrid","_Surface","_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","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","iterator","isArray","len","arr2","DEFAULT_SR_LABEL","concat","resolveGridProps","cols","minColumnWidth","columns","FormSection","_ref","number","title","description","actions","_ref$srLabel","srLabel","_ref$headingLevel","headingLevel","_ref$cols","gap","children","sx","HeadingTag","gridProps","jsxs","padding","elevation","radius","marginBottom","borderBottom","display","alignItems","justifyContent","flex","minWidth","jsx","flexShrink","width","height","borderRadius","background","color","placeItems","fontSize","fontWeight","component","lineHeight","margin","className","marginTop","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormSection.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport FormGrid from \"../components/FormGrid\";\r\nimport Surface from \"../components/Surface\";\r\n\r\n/**\r\n * FormSection - Portnet UI v2 (pattern)\r\n *\r\n * Charter R-3.1 — groups form fields into named, numbered sections.\r\n * Charter R-3.2 — 3-column grid is the standard for form sections.\r\n *\r\n * cols (default 3):\r\n * 3 — three equal columns (DEFAULT — standard form layout)\r\n * 2 — two equal columns (narrow forms, few fields, wide labels)\r\n * 1 — single column (textareas, file uploads, notes)\r\n * \"auto\" — auto-fill tracks min 220px\r\n * \"none\" — no grid wrapper — children manage their own layout.\r\n * Use for: KVGrid, DataGrid, nested FormGrid.\r\n *\r\n * Full-width items within a 3-col section:\r\n * <FormGrid.Full><FormikTextarea name=\"obs\" /></FormGrid.Full>\r\n *\r\n * Usage:\r\n * // Standard form section — 3 cols (no need to specify)\r\n * <FormSection number={1} title=\"Identification\">\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * </FormSection>\r\n *\r\n * // Read-only section — self-managed layout\r\n * <FormSection title=\"Importateur\" cols=\"none\">\r\n * <KVGrid minColumnWidth={180}>...</KVGrid>\r\n * </FormSection>\r\n */\r\n\r\nexport interface FormSectionProps {\r\n number?: number | string | undefined;\r\n title: React.ReactNode;\r\n description?: React.ReactNode | undefined;\r\n actions?: React.ReactNode | undefined;\r\n srLabel?: ((n: number | string) => React.ReactNode) | undefined;\r\n headingLevel?: 2 | 3 | 4 | 5 | 6 | undefined;\r\n /**\r\n * cols — Charter R-3.2 field layout.\r\n * 3 (DEFAULT) : 3 equal columns — standard form layout.\r\n * 2 | 1 : fewer columns for narrow/simple forms.\r\n * \"auto\" : auto-fill tracks min 220px.\r\n * \"none\" : no grid wrapper — children manage own layout.\r\n */\r\n cols?: number | \"auto\" | \"none\" | undefined;\r\n /**\r\n * Gap forwarded to the inner `FormGrid`. Omit to inherit the charter default\r\n * (`--s-4`). Ignored when `cols=\"none\"`, where the child owns its layout.\r\n *\r\n * Added for gap G-13: `FormSection` wrapped its children in a `FormGrid` but\r\n * exposed no way to set that grid's gap, so a section needing a non-default\r\n * spacing had to abandon `cols` entirely and nest its own `FormGrid` — or,\r\n * as every audited module actually did, hand-roll a raw `Box` grid and\r\n * reimplement the breakpoint ladder.\r\n */\r\n gap?: string | number | undefined;\r\n children: React.ReactNode;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DEFAULT_SR_LABEL = (n: number | string): string => `Section ${n} : `;\r\n\r\nfunction resolveGridProps(\r\n cols: number | \"auto\" | \"none\" | undefined\r\n): { minColumnWidth: number } | { columns: number } | null {\r\n if (!cols || cols === \"none\") return null;\r\n if (cols === \"auto\") return { minColumnWidth: 220 };\r\n if (typeof cols === \"number\") return { columns: cols };\r\n return null;\r\n}\r\n\r\nfunction FormSection({\r\n number,\r\n title,\r\n description,\r\n actions,\r\n srLabel = DEFAULT_SR_LABEL,\r\n headingLevel = 2,\r\n cols = 3,\r\n gap,\r\n children,\r\n sx,\r\n}: FormSectionProps) {\r\n const HeadingTag = `h${headingLevel}` as const;\r\n const gridProps = resolveGridProps(cols);\r\n\r\n return (\r\n /*\r\n * The card container is the shared `Surface` primitive (gap G-10), not an\r\n * inline recipe. This component USED to hold the only copy of\r\n * --surface + --border + -r-lg in the library, which is precisely why every\r\n * consuming module rewrote it: the recipe was reachable only by also taking\r\n * a numbered heading and an inner FormGrid. Dogfooding it here means a\r\n * charter change to the card radius or elevation lands in ONE file.\r\n *\r\n * `padding=\"none\"` / `elevation=\"none\"` reproduce the previous rendering\r\n * byte for byte: FormSection pads its header and body separately, and never\r\n * carried a shadow.\r\n */\r\n <Surface\r\n padding=\"none\"\r\n elevation=\"none\"\r\n radius=\"lg\"\r\n /* ARRAY form (gap G-23). This line previously spread `sx` into an object,\r\n * which silently destroys the array and function shapes `SxProps<Theme>`\r\n * allows — so a host writing MUI's own `sx={[base, cond && override]}` lost\r\n * everything. Surface forwards the array through to its own composition. */\r\n sx={[{ marginBottom: 3 }, ...(Array.isArray(sx) ? sx : sx ? [sx] : [])]}\r\n >\r\n {/* Section header */}\r\n <Box\r\n sx={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n justifyContent: \"space-between\",\r\n gap: 2,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: 2,\r\n alignItems: \"flex-start\",\r\n flex: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n flexShrink: 0,\r\n width: 28,\r\n height: 28,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent-soft)\",\r\n color: \"var(--accent)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n }}\r\n >\r\n {number}\r\n </Box>\r\n )}\r\n <Box sx={{ minWidth: 0 }}>\r\n <Typography\r\n component={HeadingTag}\r\n sx={{\r\n /* R-2.3 / R-AI.1 MUST — was a bare `15`, a magic font-size no\r\n * token can express (the type scale is 12/13/14/16/20/26).\r\n * The Charter's own typography table assigns --text-h3 (16px)\r\n * to \"Card / form group\" titles, which is exactly what a\r\n * FormSection header is. Fleet-wide 15→16px on section\r\n * headers — needs visual confirmation, but 15 could not\r\n * remain: it is unrepresentable in the token system. */\r\n fontSize: \"var(--text-h3)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n margin: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <span className=\"pui-sr-only\">{srLabel(number)}</span>\r\n )}\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-muted)\",\r\n marginTop: 0.25,\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n </Box>\r\n </Box>\r\n {actions}\r\n </Box>\r\n\r\n {/* Section body */}\r\n <Box sx={{ padding: \"var(--s-5)\" }}>\r\n {gridProps ? (\r\n /* `gap` applied by CONDITIONAL SPREAD, not `gap={gap}`: FormGridProps\r\n * declares it optional, and forwarding an explicit `undefined` is\r\n * what breaks under exactOptionalPropertyTypes. Omitting the key is\r\n * what \"inherit the charter default\" means. */\r\n <FormGrid {...gridProps} {...(gap !== undefined ? { gap } : {})}>\r\n {children}\r\n </FormGrid>\r\n ) : (\r\n children\r\n )}\r\n </Box>\r\n </Surface>\r\n );\r\n}\r\n\r\nexport default FormSection;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormSection.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_FormGrid","_Surface","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_SR_LABEL","resolveGridProps","cols","minColumnWidth","columns","FormSection","number","title","description","actions","srLabel","headingLevel","gap","children","sx","HeadingTag","gridProps","jsxs","padding","elevation","radius","marginBottom","Array","isArray","borderBottom","display","alignItems","justifyContent","flex","minWidth","jsx","flexShrink","width","height","borderRadius","background","color","placeItems","fontSize","fontWeight","component","lineHeight","margin","className","marginTop","flexDirection","undefined","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormSection.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport FormGrid from \"../components/FormGrid\";\r\nimport Surface from \"../components/Surface\";\r\n\r\n/**\r\n * FormSection - Portnet UI v2 (pattern)\r\n *\r\n * Charter R-3.1 — groups form fields into named, numbered sections.\r\n * Charter R-3.2 — 3-column grid is the standard for form sections.\r\n *\r\n * cols (default 3):\r\n * 3 — three equal columns (DEFAULT — standard form layout)\r\n * 2 — two equal columns (narrow forms, few fields, wide labels)\r\n * 1 — single column (textareas, file uploads, notes)\r\n * \"auto\" — auto-fill tracks min 220px\r\n * \"none\" — no grid wrapper — children manage their own layout, stacked in\r\n * a flex column with `gap` (default --s-4).\r\n * Use for: KVGrid, DataGrid, nested FormGrid.\r\n *\r\n * Full-width items within a 3-col section:\r\n * <FormGrid.Full><FormikTextarea name=\"obs\" /></FormGrid.Full>\r\n *\r\n * Usage:\r\n * // Standard form section — 3 cols (no need to specify)\r\n * <FormSection number={1} title=\"Identification\">\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * </FormSection>\r\n *\r\n * // Read-only section — self-managed layout\r\n * <FormSection title=\"Importateur\" cols=\"none\">\r\n * <KVGrid minColumnWidth={180}>...</KVGrid>\r\n * </FormSection>\r\n */\r\n\r\nexport interface FormSectionProps {\r\n number?: number | string | undefined;\r\n title: React.ReactNode;\r\n description?: React.ReactNode | undefined;\r\n actions?: React.ReactNode | undefined;\r\n srLabel?: ((n: number | string) => React.ReactNode) | undefined;\r\n headingLevel?: 2 | 3 | 4 | 5 | 6 | undefined;\r\n /**\r\n * cols — Charter R-3.2 field layout.\r\n * 3 (DEFAULT) : 3 equal columns — standard form layout.\r\n * 2 | 1 : fewer columns for narrow/simple forms.\r\n * \"auto\" : auto-fill tracks min 220px.\r\n * \"none\" : no grid wrapper — children manage own layout.\r\n */\r\n cols?: number | \"auto\" | \"none\" | undefined;\r\n /**\r\n * Gap between the section's children. Forwarded to the inner `FormGrid`\r\n * when `cols` is a grid preset; applied to the body's own flex column when\r\n * `cols=\"none\"`. Omit to inherit the charter default (`--s-4`).\r\n *\r\n * Added for gap G-13: `FormSection` wrapped its children in a `FormGrid` but\r\n * exposed no way to set that grid's gap, so a section needing a non-default\r\n * spacing had to abandon `cols` entirely and nest its own `FormGrid` — or,\r\n * as every audited module actually did, hand-roll a raw `Box` grid and\r\n * reimplement the breakpoint ladder.\r\n *\r\n * Extended for gap G-47: it used to be IGNORED under `cols=\"none\"`, where\r\n * the body was a bare padded box. See the body note below.\r\n */\r\n gap?: string | number | undefined;\r\n children: React.ReactNode;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DEFAULT_SR_LABEL = (n: number | string): string => `Section ${n} : `;\r\n\r\nfunction resolveGridProps(\r\n cols: number | \"auto\" | \"none\" | undefined\r\n): { minColumnWidth: number } | { columns: number } | null {\r\n if (!cols || cols === \"none\") return null;\r\n if (cols === \"auto\") return { minColumnWidth: 220 };\r\n if (typeof cols === \"number\") return { columns: cols };\r\n return null;\r\n}\r\n\r\nfunction FormSection({\r\n number,\r\n title,\r\n description,\r\n actions,\r\n srLabel = DEFAULT_SR_LABEL,\r\n headingLevel = 2,\r\n cols = 3,\r\n gap,\r\n children,\r\n sx,\r\n}: FormSectionProps) {\r\n const HeadingTag = `h${headingLevel}` as const;\r\n const gridProps = resolveGridProps(cols);\r\n\r\n return (\r\n /*\r\n * The card container is the shared `Surface` primitive (gap G-10), not an\r\n * inline recipe. This component USED to hold the only copy of\r\n * --surface + --border + -r-lg in the library, which is precisely why every\r\n * consuming module rewrote it: the recipe was reachable only by also taking\r\n * a numbered heading and an inner FormGrid. Dogfooding it here means a\r\n * charter change to the card radius or elevation lands in ONE file.\r\n *\r\n * `padding=\"none\"` / `elevation=\"none\"` reproduce the previous rendering\r\n * byte for byte: FormSection pads its header and body separately, and never\r\n * carried a shadow.\r\n */\r\n <Surface\r\n padding=\"none\"\r\n elevation=\"none\"\r\n radius=\"lg\"\r\n /* ARRAY form (gap G-23). This line previously spread `sx` into an object,\r\n * which silently destroys the array and function shapes `SxProps<Theme>`\r\n * allows — so a host writing MUI's own `sx={[base, cond && override]}` lost\r\n * everything. Surface forwards the array through to its own composition. */\r\n sx={[{ marginBottom: 3 }, ...(Array.isArray(sx) ? sx : sx ? [sx] : [])]}\r\n >\r\n {/* Section header */}\r\n <Box\r\n sx={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n justifyContent: \"space-between\",\r\n gap: 2,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: 2,\r\n alignItems: \"flex-start\",\r\n flex: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n flexShrink: 0,\r\n width: 28,\r\n height: 28,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent-soft)\",\r\n color: \"var(--accent)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n }}\r\n >\r\n {number}\r\n </Box>\r\n )}\r\n <Box sx={{ minWidth: 0 }}>\r\n <Typography\r\n component={HeadingTag}\r\n sx={{\r\n /* R-2.3 / R-AI.1 MUST — was a bare `15`, a magic font-size no\r\n * token can express (the type scale is 12/13/14/16/20/26).\r\n * The Charter's own typography table assigns --text-h3 (16px)\r\n * to \"Card / form group\" titles, which is exactly what a\r\n * FormSection header is. Fleet-wide 15→16px on section\r\n * headers — needs visual confirmation, but 15 could not\r\n * remain: it is unrepresentable in the token system. */\r\n fontSize: \"var(--text-h3)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n margin: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <span className=\"pui-sr-only\">{srLabel(number)}</span>\r\n )}\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-muted)\",\r\n marginTop: 0.25,\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n </Box>\r\n </Box>\r\n {actions}\r\n </Box>\r\n\r\n {/* Section body\r\n *\r\n * GAP UNDER `cols=\"none\"` (gap G-47). This was a bare padded box, so a\r\n * section whose children manage their own layout had NO spacing between\r\n * them — and the only tool left to the host was a margin on the second\r\n * child, which R-S.2 (MUST) forbids: \"Utiliser flex/grid + gap ; jamais\r\n * d'espacement par margin sur sibling adjacent\". The library was\r\n * therefore forcing every read-only or mixed section in the fleet into a\r\n * charter violation; `refonte-frontend`'s Area 7 audit counted 3 uses of\r\n * `gap` against ~30 sibling margins, most of them here.\r\n *\r\n * A flex column is a no-op for the single-child case (one KVGrid, one\r\n * DataGrid — the majority), and supplies the missing rhythm as soon as\r\n * there are two. `gap` is now honoured here too, which is what its own\r\n * doc above promised and did not deliver. */}\r\n <Box\r\n sx={{\r\n padding: \"var(--s-5)\",\r\n ...(gridProps\r\n ? null\r\n : {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: gap ?? \"var(--s-4)\",\r\n }),\r\n }}\r\n >\r\n {gridProps ? (\r\n /* `gap` applied by CONDITIONAL SPREAD, not `gap={gap}`: FormGridProps\r\n * declares it optional, and forwarding an explicit `undefined` is\r\n * what breaks under exactOptionalPropertyTypes. Omitting the key is\r\n * what \"inherit the charter default\" means. */\r\n <FormGrid {...gridProps} {...(gap !== undefined ? { gap } : {})}>\r\n {children}\r\n </FormGrid>\r\n ) : (\r\n children\r\n )}\r\n </Box>\r\n </Surface>\r\n );\r\n}\r\n\r\nexport default FormSection;\r\n"],"mappings":"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","ignoreList":[]}