@portnet/ui 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1,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":[]}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * FormikCheckbox — bridge between Formik state and v2.Field + v2.Checkbox,
3
+ * for a SINGLE BOOLEAN field.
4
+ *
5
+ * ── WHY THIS EXISTS ALONGSIDE FormikCheckboxGroup (gap G-A) ──────────
6
+ *
7
+ * `FormikCheckboxGroup` holds an ARRAY of selected values. That is the right
8
+ * model for "pick several from a list", and the wrong one for a lone flag:
9
+ *
10
+ * autreInfo.fabrication -> boolean
11
+ * objectDeclaration.premiereDeclaration -> boolean
12
+ *
13
+ * A host with boolean-shaped state cannot adopt the group bridge without
14
+ * changing what its payload sends, so every module ended up re-wiring
15
+ * `Checkbox` + `useField` by hand — the exact duplication R-2.1 forbids, and
16
+ * the one place where it hurts most: hand-rolled bridges lose the error
17
+ * rendering. Reported from refonte-frontend (lot 5), whose local masked/checked
18
+ * inputs displayed no validation message at all, so a required-field error was
19
+ * invisible to the user (R-4.1 MUST).
20
+ *
21
+ * Usage:
22
+ *
23
+ * import { FormikCheckbox } from "@portnet/ui/lib/v2";
24
+ *
25
+ * <FormikCheckbox
26
+ * name="autreInfo.fabrication"
27
+ * label="Fabrication"
28
+ * />
29
+ *
30
+ * <FormikCheckbox
31
+ * name="conditions"
32
+ * label="J'accepte les conditions"
33
+ * required
34
+ * hint="Obligatoire pour soumettre la demande"
35
+ * />
36
+ *
37
+ * ── WHY THE CHECKBOX IS WRAPPED IN A CheckboxGroup ──────────────────
38
+ *
39
+ * `Field` clones its child with `error` and `disabled` props, because several
40
+ * v2 inputs read them directly. `MuiCheckbox` spreads unknown props down to
41
+ * the native `<input>`, so a bare `Checkbox` inside `Field` would emit
42
+ * `error="false"` onto the DOM (React warning, invalid attribute).
43
+ * `CheckboxGroup` destructures its props explicitly and drops the rest, and it
44
+ * forwards the ARIA grouping attributes `Field` injects. Same composition as
45
+ * `FormikCheckboxGroup`, for the same reason.
46
+ *
47
+ * ── LABEL AND REQUIRED ──────────────────────────────────────────────
48
+ *
49
+ * The label belongs to the CHECKBOX (rendered by `FormControlLabel`, which
50
+ * names the input implicitly), not above the field: a lone checkbox with a
51
+ * field label AND a control label reads as two questions. `Field` therefore
52
+ * receives no label, and `required` is expressed twice where it counts —
53
+ * visually by the asterisk appended to the control label, and to assistive
54
+ * technology by `aria-required` on the input itself (`Field`'s own injection
55
+ * lands on the group, which does not forward it).
56
+ *
57
+ * Errors surface only once the field is touched, and toggling marks it touched
58
+ * — same semantics as `FormikCheckboxGroup`. A checkbox has no meaningful
59
+ * blur-before-change, so waiting for a blur would keep the message hidden.
60
+ *
61
+ * Charter §03 · R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.
62
+ */
63
+ import * as React from "react";
64
+ export interface FormikCheckboxProps {
65
+ name: string;
66
+ /** Label rendered next to the checkbox — it names the control. */
67
+ label?: React.ReactNode | undefined;
68
+ /** Adds the asterisk on the label and `aria-required` on the input. */
69
+ required?: boolean | undefined;
70
+ disabled?: boolean | undefined;
71
+ hint?: React.ReactNode | undefined;
72
+ /** Native `<input>` attributes, routed to the checkbox input (v9 slot). */
73
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
74
+ }
75
+ declare const FormikCheckbox: ({ name, label, required, disabled, hint, inputProps, }: FormikCheckboxProps) => React.JSX.Element;
76
+ export default FormikCheckbox;
77
+ //# sourceMappingURL=FormikCheckbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikCheckbox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikCheckbox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,2EAA2E;IAC3E,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,QAAA,MAAM,cAAc,GAAI,wDAOrB,mBAAmB,sBAwDrB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
+ var _formik = require("formik");
10
+ var _Field = _interopRequireDefault(require("../components/Field"));
11
+ var _Checkbox = require("../components/Checkbox");
12
+ var _jsxRuntime = require("react/jsx-runtime");
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
+ /**
16
+ * FormikCheckbox — bridge between Formik state and v2.Field + v2.Checkbox,
17
+ * for a SINGLE BOOLEAN field.
18
+ *
19
+ * ── WHY THIS EXISTS ALONGSIDE FormikCheckboxGroup (gap G-A) ──────────
20
+ *
21
+ * `FormikCheckboxGroup` holds an ARRAY of selected values. That is the right
22
+ * model for "pick several from a list", and the wrong one for a lone flag:
23
+ *
24
+ * autreInfo.fabrication -> boolean
25
+ * objectDeclaration.premiereDeclaration -> boolean
26
+ *
27
+ * A host with boolean-shaped state cannot adopt the group bridge without
28
+ * changing what its payload sends, so every module ended up re-wiring
29
+ * `Checkbox` + `useField` by hand — the exact duplication R-2.1 forbids, and
30
+ * the one place where it hurts most: hand-rolled bridges lose the error
31
+ * rendering. Reported from refonte-frontend (lot 5), whose local masked/checked
32
+ * inputs displayed no validation message at all, so a required-field error was
33
+ * invisible to the user (R-4.1 MUST).
34
+ *
35
+ * Usage:
36
+ *
37
+ * import { FormikCheckbox } from "@portnet/ui/lib/v2";
38
+ *
39
+ * <FormikCheckbox
40
+ * name="autreInfo.fabrication"
41
+ * label="Fabrication"
42
+ * />
43
+ *
44
+ * <FormikCheckbox
45
+ * name="conditions"
46
+ * label="J'accepte les conditions"
47
+ * required
48
+ * hint="Obligatoire pour soumettre la demande"
49
+ * />
50
+ *
51
+ * ── WHY THE CHECKBOX IS WRAPPED IN A CheckboxGroup ──────────────────
52
+ *
53
+ * `Field` clones its child with `error` and `disabled` props, because several
54
+ * v2 inputs read them directly. `MuiCheckbox` spreads unknown props down to
55
+ * the native `<input>`, so a bare `Checkbox` inside `Field` would emit
56
+ * `error="false"` onto the DOM (React warning, invalid attribute).
57
+ * `CheckboxGroup` destructures its props explicitly and drops the rest, and it
58
+ * forwards the ARIA grouping attributes `Field` injects. Same composition as
59
+ * `FormikCheckboxGroup`, for the same reason.
60
+ *
61
+ * ── LABEL AND REQUIRED ──────────────────────────────────────────────
62
+ *
63
+ * The label belongs to the CHECKBOX (rendered by `FormControlLabel`, which
64
+ * names the input implicitly), not above the field: a lone checkbox with a
65
+ * field label AND a control label reads as two questions. `Field` therefore
66
+ * receives no label, and `required` is expressed twice where it counts —
67
+ * visually by the asterisk appended to the control label, and to assistive
68
+ * technology by `aria-required` on the input itself (`Field`'s own injection
69
+ * lands on the group, which does not forward it).
70
+ *
71
+ * Errors surface only once the field is touched, and toggling marks it touched
72
+ * — same semantics as `FormikCheckboxGroup`. A checkbox has no meaningful
73
+ * blur-before-change, so waiting for a blur would keep the message hidden.
74
+ *
75
+ * Charter §03 · R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.
76
+ */
77
+
78
+ const FormikCheckbox = ({
79
+ name,
80
+ label,
81
+ required,
82
+ disabled,
83
+ hint,
84
+ inputProps
85
+ }) => {
86
+ const [field, meta] = (0, _formik.useField)(name);
87
+ const {
88
+ setFieldValue,
89
+ setFieldTouched
90
+ } = (0, _formik.useFormikContext)();
91
+ const hasError = Boolean(meta.touched && meta.error);
92
+ const handleChange = event => {
93
+ setFieldValue(name, event.target.checked);
94
+ setFieldTouched(name, true, false);
95
+ };
96
+
97
+ /* `=== true` and not a truthy test: hosts seed these fields with `null`
98
+ * (a not-yet-answered flag), and `checked={null}` makes the input
99
+ * uncontrolled for one render. */
100
+ const checked = field.value === true;
101
+ const controlLabel = required ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
102
+ children: [label, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
103
+ component: "span",
104
+ "aria-hidden": "true",
105
+ sx: {
106
+ color: "var(--danger)",
107
+ fontWeight: "var(--fw-bold, 700)",
108
+ marginInlineStart: "var(--s-1)"
109
+ },
110
+ children: "*"
111
+ })]
112
+ }) : label;
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
114
+ error: hasError ? meta.error : null,
115
+ hint: !hasError ? hint : undefined,
116
+ group: true,
117
+ ...(disabled !== undefined ? {
118
+ disabled
119
+ } : {}),
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxGroup, {
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
122
+ name: name,
123
+ label: controlLabel,
124
+ checked: checked,
125
+ onChange: handleChange,
126
+ disabled: disabled,
127
+ inputProps: {
128
+ ...(required ? {
129
+ "aria-required": "true"
130
+ } : {}),
131
+ ...inputProps
132
+ }
133
+ })
134
+ })
135
+ });
136
+ };
137
+ var _default = exports.default = FormikCheckbox;
138
+ //# sourceMappingURL=FormikCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikCheckbox.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_formik","_Field","_Checkbox","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormikCheckbox","name","label","required","disabled","hint","inputProps","field","meta","useField","setFieldValue","setFieldTouched","useFormikContext","hasError","Boolean","touched","error","handleChange","event","target","checked","value","controlLabel","jsxs","Fragment","children","jsx","component","sx","color","fontWeight","marginInlineStart","undefined","group","CheckboxGroup","Checkbox","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikCheckbox.tsx"],"sourcesContent":["/**\r\n * FormikCheckbox — bridge between Formik state and v2.Field + v2.Checkbox,\r\n * for a SINGLE BOOLEAN field.\r\n *\r\n * ── WHY THIS EXISTS ALONGSIDE FormikCheckboxGroup (gap G-A) ──────────\r\n *\r\n * `FormikCheckboxGroup` holds an ARRAY of selected values. That is the right\r\n * model for \"pick several from a list\", and the wrong one for a lone flag:\r\n *\r\n * autreInfo.fabrication -> boolean\r\n * objectDeclaration.premiereDeclaration -> boolean\r\n *\r\n * A host with boolean-shaped state cannot adopt the group bridge without\r\n * changing what its payload sends, so every module ended up re-wiring\r\n * `Checkbox` + `useField` by hand — the exact duplication R-2.1 forbids, and\r\n * the one place where it hurts most: hand-rolled bridges lose the error\r\n * rendering. Reported from refonte-frontend (lot 5), whose local masked/checked\r\n * inputs displayed no validation message at all, so a required-field error was\r\n * invisible to the user (R-4.1 MUST).\r\n *\r\n * Usage:\r\n *\r\n * import { FormikCheckbox } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikCheckbox\r\n * name=\"autreInfo.fabrication\"\r\n * label=\"Fabrication\"\r\n * />\r\n *\r\n * <FormikCheckbox\r\n * name=\"conditions\"\r\n * label=\"J'accepte les conditions\"\r\n * required\r\n * hint=\"Obligatoire pour soumettre la demande\"\r\n * />\r\n *\r\n * ── WHY THE CHECKBOX IS WRAPPED IN A CheckboxGroup ──────────────────\r\n *\r\n * `Field` clones its child with `error` and `disabled` props, because several\r\n * v2 inputs read them directly. `MuiCheckbox` spreads unknown props down to\r\n * the native `<input>`, so a bare `Checkbox` inside `Field` would emit\r\n * `error=\"false\"` onto the DOM (React warning, invalid attribute).\r\n * `CheckboxGroup` destructures its props explicitly and drops the rest, and it\r\n * forwards the ARIA grouping attributes `Field` injects. Same composition as\r\n * `FormikCheckboxGroup`, for the same reason.\r\n *\r\n * ── LABEL AND REQUIRED ──────────────────────────────────────────────\r\n *\r\n * The label belongs to the CHECKBOX (rendered by `FormControlLabel`, which\r\n * names the input implicitly), not above the field: a lone checkbox with a\r\n * field label AND a control label reads as two questions. `Field` therefore\r\n * receives no label, and `required` is expressed twice where it counts —\r\n * visually by the asterisk appended to the control label, and to assistive\r\n * technology by `aria-required` on the input itself (`Field`'s own injection\r\n * lands on the group, which does not forward it).\r\n *\r\n * Errors surface only once the field is touched, and toggling marks it touched\r\n * — same semantics as `FormikCheckboxGroup`. A checkbox has no meaningful\r\n * blur-before-change, so waiting for a blur would keep the message hidden.\r\n *\r\n * Charter §03 · R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport { Checkbox, CheckboxGroup } from \"../components/Checkbox\";\r\n\r\nexport interface FormikCheckboxProps {\r\n name: string;\r\n /** Label rendered next to the checkbox — it names the control. */\r\n label?: React.ReactNode | undefined;\r\n /** Adds the asterisk on the label and `aria-required` on the input. */\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /** Native `<input>` attributes, routed to the checkbox input (v9 slot). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nconst FormikCheckbox = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n hint,\r\n inputProps,\r\n}: FormikCheckboxProps) => {\r\n const [field, meta] = useField<boolean>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setFieldValue(name, event.target.checked);\r\n setFieldTouched(name, true, false);\r\n };\r\n\r\n /* `=== true` and not a truthy test: hosts seed these fields with `null`\r\n * (a not-yet-answered flag), and `checked={null}` makes the input\r\n * uncontrolled for one render. */\r\n const checked = field.value === true;\r\n\r\n const controlLabel = required ? (\r\n <>\r\n {label}\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: \"var(--danger)\",\r\n fontWeight: \"var(--fw-bold, 700)\",\r\n marginInlineStart: \"var(--s-1)\",\r\n }}\r\n >\r\n *\r\n </Box>\r\n </>\r\n ) : (\r\n label\r\n );\r\n\r\n return (\r\n <Field\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n group\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <CheckboxGroup>\r\n <Checkbox\r\n name={name}\r\n label={controlLabel}\r\n checked={checked}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n inputProps={{\r\n ...(required ? { \"aria-required\": \"true\" } : {}),\r\n ...inputProps,\r\n }}\r\n />\r\n </CheckboxGroup>\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikCheckbox;\r\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,14 @@
30
30
  * ARIA group). CheckboxGroup renders role="group" and forwards the injected
31
31
  * aria-labelledby / aria-describedby / aria-invalid onto that element.
32
32
  *
33
+ * Error focus (P-2): each Checkbox carries the field `name` on its native
34
+ * <input>, so `focusFieldByName` — and therefore `FormikErrorFocus` after a
35
+ * failed submit (R-F.3) — can resolve [name=…] and focus the first checkbox
36
+ * of the group. Note this is NOT the `htmlFor` route the other bridges use:
37
+ * in group mode there is no labelable element for htmlFor to target, so the
38
+ * name attribute is the only handle. Without it the field had neither an id
39
+ * nor a name and was silently skipped.
40
+ *
33
41
  * Charter R-Sel.4. Peer dependency: formik >= 2.x.
34
42
  */
35
43
  import * as React from "react";
@@ -45,7 +53,15 @@ export interface FormikCheckboxGroupProps {
45
53
  hint?: React.ReactNode | undefined;
46
54
  disabled?: boolean | undefined;
47
55
  row?: boolean | undefined;
56
+ /**
57
+ * Native <input> attributes applied to every checkbox in the group.
58
+ *
59
+ * The field `name` is added automatically (P-2) and takes precedence, since
60
+ * it is what makes the group reachable by focusFieldByName. Anything passed
61
+ * here is merged ahead of it.
62
+ */
63
+ inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
48
64
  }
49
- declare const FormikCheckboxGroup: ({ name, label, required, options, hint, disabled, row, }: FormikCheckboxGroupProps) => React.JSX.Element;
65
+ declare const FormikCheckboxGroup: ({ name, label, required, options, hint, disabled, row, inputProps, }: FormikCheckboxGroupProps) => React.JSX.Element;
50
66
  export default FormikCheckboxGroup;
51
67
  //# sourceMappingURL=FormikCheckboxGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikCheckboxGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AAED,QAAA,MAAM,mBAAmB,GAAI,0DAQ1B,wBAAwB,sBAwC1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"FormikCheckboxGroup.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikCheckboxGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,QAAA,MAAM,mBAAmB,GAAI,sEAS1B,wBAAwB,sBAmD1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}