@portnet/ui 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -1 +1 @@
1
- {"version":3,"file":"FormGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_jsxRuntime","_excluded","_excluded2","_excluded3","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormGrid","_ref","children","columns","minColumnWidth","gap","sx","rest","gridTemplateColumns","useMemo","xs","sm","concat","cols","md","jsx","display","alignItems","FormGridFull","_ref2","gridColumn","minWidth","FormGridItem","_ref3","_ref3$span","span","FormGridWithStatics","assign","Item","Full","_default","exports"],"sources":["../../../src/lib/v2/components/FormGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * FormGrid — Portnet UI v2\r\n *\r\n * Charter §03 R-3.2 — canonical RESPONSIVE form grid.\r\n *\r\n * ── Breakpoint strategy (aligné addpe-fe) ───────────────────────────\r\n *\r\n * Les clés xs/sm/md ci-dessous résolvent contre l'échelle de tokens\r\n * Portnet câblée dans le thème MUI (Batch 1), PAS les défauts MUI :\r\n *\r\n * xs (<481px) : 1 colonne — mobile, chaque champ pleine largeur\r\n * sm (481-767px) : 2 colonnes — tablette / grand mobile (transition douce)\r\n * md (≥768px) : N colonnes — desktop (layout cible)\r\n *\r\n * Source: addpe-fe/AutorisationForm.js\r\n * gridTemplateColumns: { xs: \"1fr\", sm: \"1fr 1fr\", md: \"repeat(3, 1fr)\" }\r\n *\r\n * ── Presets ─────────────────────────────────────────────────────────\r\n *\r\n * columns={1} → toujours 1 col (textarea, notes, upload)\r\n * columns={2} → 1col xs / 2col sm+ (formulaires courts)\r\n * columns={3} → 1col xs / 2col sm / 3col md (DEFAULT FormSection)\r\n * columns={4} → 1col xs / 2col sm / 4col md (champs courts : codes, dates)\r\n * minColumnWidth={N} → auto-fill adaptatif, 1col xs\r\n *\r\n * ── Sous-composants ─────────────────────────────────────────────────\r\n *\r\n * <FormGrid.Full> → span toutes colonnes (textarea, tables)\r\n * <FormGrid.Item span> → span explicite (sm+), full-width xs\r\n *\r\n * ── Exemple ─────────────────────────────────────────────────────────\r\n *\r\n * <FormGrid columns={3}>\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * <FormGrid.Full>\r\n * <FormikTextarea name=\"obs\" label=\"Observations\" />\r\n * </FormGrid.Full>\r\n * </FormGrid>\r\n */\r\nexport interface FormGridProps extends Omit<BoxProps, \"gap\"> {\r\n /**\r\n * Nombre de colonnes égales.\r\n * 1 → pleine largeur (notes, textarea)\r\n * 2 → 2 cols sm+\r\n * 3 → DEFAULT FormSection : 1col xs / 2col sm / 3col md\r\n * 4 → 1col xs / 2col sm / 4col md (champs courts)\r\n * Mutually exclusive avec minColumnWidth.\r\n */\r\n columns?: number | undefined;\r\n /** Auto-fill adaptatif — tracks d'au moins N px de large. */\r\n minColumnWidth?: number | undefined;\r\n /**\r\n * Gap de la grille. Défaut `var(--s-4)` — la charte §2.3 assigne\r\n * explicitement `-s-4` (16px) à « Gap formulaire (default) », `-s-3` (12px)\r\n * étant réservé au « Padding cards compact ». Gap G-13.\r\n */\r\n gap?: string | number | undefined;\r\n}\r\n\r\nfunction FormGrid({\r\n children,\r\n columns,\r\n minColumnWidth,\r\n gap,\r\n sx,\r\n ...rest\r\n}: FormGridProps) {\r\n const gridTemplateColumns = React.useMemo(() => {\r\n /* Auto-fill adaptatif — minColumnWidth prime sur columns.\r\n * min(${minColumnWidth}px, 100%) borne la largeur mini de chaque\r\n * piste à celle du conteneur : au-dessus de sm, une piste ne peut\r\n * jamais dépasser le conteneur (pas de débordement / Reflow 1.4.10). */\r\n if (minColumnWidth) {\r\n return {\r\n xs: \"1fr\",\r\n sm: `repeat(auto-fill, minmax(min(${minColumnWidth}px, 100%), 1fr))`,\r\n };\r\n }\r\n\r\n const cols = typeof columns === \"number\" && columns > 0 ? columns : 3;\r\n\r\n /* Colonne unique — textarea, notes, upload : toujours pleine largeur */\r\n if (cols === 1) return \"1fr\";\r\n\r\n /* 2 colonnes — dès tablette (sm), pas d'échelon md nécessaire */\r\n if (cols === 2) {\r\n return { xs: \"1fr\", sm: \"repeat(2, minmax(0, 1fr))\" };\r\n }\r\n\r\n /*\r\n * 3+ colonnes — 3 échelons :\r\n * xs : 1 col (mobile)\r\n * sm : 2 cols (tablette — transition douce, évite les champs trop étroits)\r\n * md : N cols (desktop — layout cible)\r\n *\r\n * Identique au pattern addpe-fe :\r\n * { xs:\"1fr\", sm:\"1fr 1fr\", md:\"repeat(3, 1fr)\" }\r\n */\r\n return {\r\n xs: \"1fr\",\r\n sm: \"repeat(2, minmax(0, 1fr))\",\r\n md: `repeat(${cols}, minmax(0, 1fr))`,\r\n };\r\n }, [columns, minColumnWidth]);\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns,\r\n /* Charter §2.3 — `-s-4` (16px) EST le « Gap formulaire (default) » ; le\r\n * défaut précédent était `-s-3` (12px), que la même table réserve au\r\n * « Padding cards compact ». Le composant canonique de grille de\r\n * formulaire contredisait donc la valeur par défaut de la charte, et\r\n * chaque module compensait en passant `gap` à la main. Changement\r\n * VISUEL fleet-wide 12→16px sur toute grille sans `gap` explicite —\r\n * même classe de correction que le 15→16px des titres FormSection.\r\n *\r\n * `??` et non `||` : `gap={0}` est une valeur légitime que `||`\r\n * écrasait silencieusement par le défaut. */\r\n gap: gap ?? \"var(--s-4)\",\r\n alignItems: \"start\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Full ────────────────────────────────────────────────────\r\n * Span toutes les colonnes à tous les breakpoints.\r\n * Usage : textareas, file uploads, sub-tables, notes.\r\n */\r\nexport type FormGridFullProps = BoxProps;\r\n\r\nfunction FormGridFull({ children, sx, ...rest }: FormGridFullProps) {\r\n return (\r\n <Box sx={{ gridColumn: \"1 / -1\", minWidth: 0, ...sx }} {...rest}>\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Item ────────────────────────────────────────────────────\r\n * Span explicite par breakpoint.\r\n * xs → toujours pleine largeur (1 / -1)\r\n * sm → span 1 (une cellule dans la grille 2-col tablette)\r\n * md → span explicite (grille N-col desktop)\r\n *\r\n * Usage : Description (span=2 sur desktop, full-width mobile/tablette)\r\n */\r\nexport interface FormGridItemProps extends BoxProps {\r\n /**\r\n * Colonnes à couvrir sur md+ (desktop).\r\n * xs → toujours 1/-1 (pleine largeur).\r\n * sm → toujours span 1 (grille 2-col tablette).\r\n * Default : 1.\r\n */\r\n span?: number | undefined;\r\n}\r\n\r\nfunction FormGridItem({ span = 1, children, sx, ...rest }: FormGridItemProps) {\r\n return (\r\n <Box\r\n sx={{\r\n gridColumn: {\r\n xs: \"1 / -1\", /* mobile : toujours pleine largeur */\r\n sm: \"span 1\", /* tablette (2-col) : 1 cellule */\r\n md: `span ${span}`, /* desktop (N-col) : span explicite */\r\n },\r\n minWidth: 0,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\nconst FormGridWithStatics = Object.assign(FormGrid, {\r\n Item: FormGridItem,\r\n Full: FormGridFull,\r\n});\r\n\r\nexport default FormGridWithStatics;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormGrid","children","columns","minColumnWidth","gap","sx","rest","gridTemplateColumns","useMemo","xs","sm","cols","md","jsx","display","alignItems","FormGridFull","gridColumn","minWidth","FormGridItem","span","FormGridWithStatics","assign","Item","Full","_default","exports"],"sources":["../../../src/lib/v2/components/FormGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * FormGrid — Portnet UI v2\r\n *\r\n * Charter §03 R-3.2 — canonical RESPONSIVE form grid.\r\n *\r\n * ── Breakpoint strategy (aligné addpe-fe) ───────────────────────────\r\n *\r\n * Les clés xs/sm/md ci-dessous résolvent contre l'échelle de tokens\r\n * Portnet câblée dans le thème MUI (Batch 1), PAS les défauts MUI :\r\n *\r\n * xs (<481px) : 1 colonne — mobile, chaque champ pleine largeur\r\n * sm (481-767px) : 2 colonnes — tablette / grand mobile (transition douce)\r\n * md (≥768px) : N colonnes — desktop (layout cible)\r\n *\r\n * Source: addpe-fe/AutorisationForm.js\r\n * gridTemplateColumns: { xs: \"1fr\", sm: \"1fr 1fr\", md: \"repeat(3, 1fr)\" }\r\n *\r\n * ── Presets ─────────────────────────────────────────────────────────\r\n *\r\n * columns={1} → toujours 1 col (textarea, notes, upload)\r\n * columns={2} → 1col xs / 2col sm+ (formulaires courts)\r\n * columns={3} → 1col xs / 2col sm / 3col md (DEFAULT FormSection)\r\n * columns={4} → 1col xs / 2col sm / 4col md (champs courts : codes, dates)\r\n * minColumnWidth={N} → auto-fill adaptatif, 1col xs\r\n *\r\n * ── Sous-composants ─────────────────────────────────────────────────\r\n *\r\n * <FormGrid.Full> → span toutes colonnes (textarea, tables)\r\n * <FormGrid.Item span> → span explicite (sm+), full-width xs\r\n *\r\n * ── Exemple ─────────────────────────────────────────────────────────\r\n *\r\n * <FormGrid columns={3}>\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * <FormGrid.Full>\r\n * <FormikTextarea name=\"obs\" label=\"Observations\" />\r\n * </FormGrid.Full>\r\n * </FormGrid>\r\n */\r\nexport interface FormGridProps extends Omit<BoxProps, \"gap\"> {\r\n /**\r\n * Nombre de colonnes égales.\r\n * 1 → pleine largeur (notes, textarea)\r\n * 2 → 2 cols sm+\r\n * 3 → DEFAULT FormSection : 1col xs / 2col sm / 3col md\r\n * 4 → 1col xs / 2col sm / 4col md (champs courts)\r\n * Mutually exclusive avec minColumnWidth.\r\n */\r\n columns?: number | undefined;\r\n /** Auto-fill adaptatif — tracks d'au moins N px de large. */\r\n minColumnWidth?: number | undefined;\r\n /**\r\n * Gap de la grille. Défaut `var(--s-4)` — la charte §2.3 assigne\r\n * explicitement `-s-4` (16px) à « Gap formulaire (default) », `-s-3` (12px)\r\n * étant réservé au « Padding cards compact ». Gap G-13.\r\n */\r\n gap?: string | number | undefined;\r\n}\r\n\r\nfunction FormGrid({\r\n children,\r\n columns,\r\n minColumnWidth,\r\n gap,\r\n sx,\r\n ...rest\r\n}: FormGridProps) {\r\n const gridTemplateColumns = React.useMemo(() => {\r\n /* Auto-fill adaptatif — minColumnWidth prime sur columns.\r\n * min(${minColumnWidth}px, 100%) borne la largeur mini de chaque\r\n * piste à celle du conteneur : au-dessus de sm, une piste ne peut\r\n * jamais dépasser le conteneur (pas de débordement / Reflow 1.4.10). */\r\n if (minColumnWidth) {\r\n return {\r\n xs: \"1fr\",\r\n sm: `repeat(auto-fill, minmax(min(${minColumnWidth}px, 100%), 1fr))`,\r\n };\r\n }\r\n\r\n const cols = typeof columns === \"number\" && columns > 0 ? columns : 3;\r\n\r\n /* Colonne unique — textarea, notes, upload : toujours pleine largeur */\r\n if (cols === 1) return \"1fr\";\r\n\r\n /* 2 colonnes — dès tablette (sm), pas d'échelon md nécessaire */\r\n if (cols === 2) {\r\n return { xs: \"1fr\", sm: \"repeat(2, minmax(0, 1fr))\" };\r\n }\r\n\r\n /*\r\n * 3+ colonnes — 3 échelons :\r\n * xs : 1 col (mobile)\r\n * sm : 2 cols (tablette — transition douce, évite les champs trop étroits)\r\n * md : N cols (desktop — layout cible)\r\n *\r\n * Identique au pattern addpe-fe :\r\n * { xs:\"1fr\", sm:\"1fr 1fr\", md:\"repeat(3, 1fr)\" }\r\n */\r\n return {\r\n xs: \"1fr\",\r\n sm: \"repeat(2, minmax(0, 1fr))\",\r\n md: `repeat(${cols}, minmax(0, 1fr))`,\r\n };\r\n }, [columns, minColumnWidth]);\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns,\r\n /* Charter §2.3 — `-s-4` (16px) EST le « Gap formulaire (default) » ; le\r\n * défaut précédent était `-s-3` (12px), que la même table réserve au\r\n * « Padding cards compact ». Le composant canonique de grille de\r\n * formulaire contredisait donc la valeur par défaut de la charte, et\r\n * chaque module compensait en passant `gap` à la main. Changement\r\n * VISUEL fleet-wide 12→16px sur toute grille sans `gap` explicite —\r\n * même classe de correction que le 15→16px des titres FormSection.\r\n *\r\n * `??` et non `||` : `gap={0}` est une valeur légitime que `||`\r\n * écrasait silencieusement par le défaut. */\r\n gap: gap ?? \"var(--s-4)\",\r\n alignItems: \"start\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Full ────────────────────────────────────────────────────\r\n * Span toutes les colonnes à tous les breakpoints.\r\n * Usage : textareas, file uploads, sub-tables, notes.\r\n */\r\nexport type FormGridFullProps = BoxProps;\r\n\r\nfunction FormGridFull({ children, sx, ...rest }: FormGridFullProps) {\r\n return (\r\n <Box sx={{ gridColumn: \"1 / -1\", minWidth: 0, ...sx }} {...rest}>\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Item ────────────────────────────────────────────────────\r\n * Span explicite par breakpoint.\r\n * xs → toujours pleine largeur (1 / -1)\r\n * sm → span 1 (une cellule dans la grille 2-col tablette)\r\n * md → span explicite (grille N-col desktop)\r\n *\r\n * Usage : Description (span=2 sur desktop, full-width mobile/tablette)\r\n */\r\nexport interface FormGridItemProps extends BoxProps {\r\n /**\r\n * Colonnes à couvrir sur md+ (desktop).\r\n * xs → toujours 1/-1 (pleine largeur).\r\n * sm → toujours span 1 (grille 2-col tablette).\r\n * Default : 1.\r\n */\r\n span?: number | undefined;\r\n}\r\n\r\nfunction FormGridItem({ span = 1, children, sx, ...rest }: FormGridItemProps) {\r\n return (\r\n <Box\r\n sx={{\r\n gridColumn: {\r\n xs: \"1 / -1\", /* mobile : toujours pleine largeur */\r\n sm: \"span 1\", /* tablette (2-col) : 1 cellule */\r\n md: `span ${span}`, /* desktop (N-col) : span explicite */\r\n },\r\n minWidth: 0,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\nconst FormGridWithStatics = Object.assign(FormGrid, {\r\n Item: FormGridItem,\r\n Full: FormGridFull,\r\n});\r\n\r\nexport default FormGridWithStatics;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
2
  import type { SxProps, Theme } from "@mui/material/styles";
3
+ import type { FieldWidth } from "./Field";
3
4
  /**
4
5
  * FormikDisplay — Portnet UI v2
5
6
  *
@@ -14,15 +15,50 @@ import type { SxProps, Theme } from "@mui/material/styles";
14
15
  * --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)
15
16
  * (--fg-subtle est calibré "on white only" dans colors.js)
16
17
  *
18
+ * NB : ces ratios sont calculés sur les valeurs du thème CLAIR. Le
19
+ * mode sombre redéfinit --bg-subtle et --fg-muted ; l'appairage n'a
20
+ * pas été re-vérifié là.
21
+ *
17
22
  * ── Fond ────────────────────────────────────────────────────────────
18
23
  * --bg-subtle (#F1F2F5) est clairement visible sur les sections
19
24
  * (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).
20
25
  *
26
+ * ── Sémantique (D-3) ────────────────────────────────────────────────
27
+ * Le couple label/valeur est lié par `aria-labelledby`, comme dans
28
+ * KV — donc annoncé comme une seule unité quand l'utilisateur
29
+ * l'atteint. Ce bloc portait auparavant `role="status"`, ce qui en
30
+ * faisait une région live : sur un écran de consultation à vingt
31
+ * champs, vingt régions live polies. C'est précisément ce que le
32
+ * composant Status refuse de faire, et pour la même raison.
33
+ *
34
+ * ── LARGEUR SEMANTIQUE (G-H) ───────────────────────────────────────
35
+ *
36
+ * `width` rattache le champ a l'un des cinq gabarits de la section « Form
37
+ * Field Width & Layout Standards », avec LE MEME plafond et LE MEME palier
38
+ * que `Field` : `FIELD_MAX_WIDTH` est importe de `Field`, pas recopie. Deux
39
+ * tables de largeurs finiraient par diverger, et le standard interdit
40
+ * justement les largeurs arbitraires.
41
+ *
42
+ * POURQUOI CE COMPOSANT EN AVAIT BESOIN. Il ne passe PAS par `Field` — il
43
+ * rend sa propre boite, parce qu'un champ en lecture seule n'a ni controle
44
+ * a nommer par `htmlFor` ni erreur a decrire. Il etait donc le seul champ
45
+ * de la library a ne pas pouvoir porter de gabarit, et un formulaire
46
+ * melant `FormikInput` borne et `FormikDisplay` non borne produit
47
+ * exactement le « jagged right-side layout edge » que le standard
48
+ * proscrit : les champs saisissables s'arretent a 400px, les champs
49
+ * affiches remplissent toute la cellule.
50
+ *
51
+ * Retrocompatible : sans `width`, aucun plafond n'est pose.
52
+ *
21
53
  * ── Usage ────────────────────────────────────────────────────────────
22
54
  * <FormikDisplay name="donneesTI.etat" label="État"
23
55
  * hint="Géré par le workflow" />
24
56
  *
25
57
  * <FormikDisplay name="importateur.codePIN" label="Code PIN" mono />
58
+ *
59
+ * <FormikDisplay name="observation" label="Observations" wrap />
60
+ *
61
+ * <FormikDisplay name="raisonSociale" label="Raison sociale" width="l" />
26
62
  */
27
63
  export interface FormikDisplayProps {
28
64
  name: string;
@@ -31,8 +67,21 @@ export interface FormikDisplayProps {
31
67
  format?: ((raw: unknown) => React.ReactNode) | undefined;
32
68
  mono?: boolean | undefined;
33
69
  empty?: string | undefined;
70
+ /**
71
+ * Laisse la valeur passer à la ligne (jusqu'à 3 lignes) au lieu de
72
+ * la tronquer (D-4). Par défaut la valeur reste sur une ligne avec
73
+ * une ellipse — et un `title` natif porte le texte complet.
74
+ */
75
+ wrap?: boolean | undefined;
76
+ /**
77
+ * Gabarit de largeur semantique (G-H) : `xs` | `s` | `m` | `l` | `xl`,
78
+ * choisi d'apres la contrainte de CARACTERES du champ affiche. Meme table
79
+ * et meme palier que `Field.width`. Omis = aucun plafond, la cellule de
80
+ * grille decide seule.
81
+ */
82
+ width?: FieldWidth | undefined;
34
83
  sx?: SxProps<Theme> | undefined;
35
84
  }
36
- declare function FormikDisplay({ name, label, hint, format, mono, empty, sx, }: FormikDisplayProps): React.JSX.Element;
85
+ declare function FormikDisplay({ name, label, hint, format, mono, empty, wrap, width, sx, }: FormikDisplayProps): React.JSX.Element;
37
86
  export default FormikDisplay;
38
87
  //# sourceMappingURL=FormikDisplay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikDisplay.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/FormikDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACzD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAED,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAa,EACb,KAAgB,EAChB,EAAE,GACH,EAAE,kBAAkB,qBA2FpB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"FormikDisplay.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/FormikDisplay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACzD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAED,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,IAAa,EACb,KAAgB,EAChB,IAAa,EACb,KAAK,EACL,EAAE,GACH,EAAE,kBAAkB,qBA6HpB;AAED,eAAe,aAAa,CAAC"}
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
9
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
10
10
  var _formik = require("formik");
11
+ var _Field = require("./Field");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
- 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); }
14
- 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; }
15
- 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); } /**
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
16
  * FormikDisplay — Portnet UI v2
17
17
  *
18
18
  * Affiche une valeur Formik en lecture seule avec un fond grisé
@@ -26,44 +26,100 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
26
26
  * --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)
27
27
  * (--fg-subtle est calibré "on white only" dans colors.js)
28
28
  *
29
+ * NB : ces ratios sont calculés sur les valeurs du thème CLAIR. Le
30
+ * mode sombre redéfinit --bg-subtle et --fg-muted ; l'appairage n'a
31
+ * pas été re-vérifié là.
32
+ *
29
33
  * ── Fond ────────────────────────────────────────────────────────────
30
34
  * --bg-subtle (#F1F2F5) est clairement visible sur les sections
31
35
  * (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).
32
36
  *
37
+ * ── Sémantique (D-3) ────────────────────────────────────────────────
38
+ * Le couple label/valeur est lié par `aria-labelledby`, comme dans
39
+ * KV — donc annoncé comme une seule unité quand l'utilisateur
40
+ * l'atteint. Ce bloc portait auparavant `role="status"`, ce qui en
41
+ * faisait une région live : sur un écran de consultation à vingt
42
+ * champs, vingt régions live polies. C'est précisément ce que le
43
+ * composant Status refuse de faire, et pour la même raison.
44
+ *
45
+ * ── LARGEUR SEMANTIQUE (G-H) ───────────────────────────────────────
46
+ *
47
+ * `width` rattache le champ a l'un des cinq gabarits de la section « Form
48
+ * Field Width & Layout Standards », avec LE MEME plafond et LE MEME palier
49
+ * que `Field` : `FIELD_MAX_WIDTH` est importe de `Field`, pas recopie. Deux
50
+ * tables de largeurs finiraient par diverger, et le standard interdit
51
+ * justement les largeurs arbitraires.
52
+ *
53
+ * POURQUOI CE COMPOSANT EN AVAIT BESOIN. Il ne passe PAS par `Field` — il
54
+ * rend sa propre boite, parce qu'un champ en lecture seule n'a ni controle
55
+ * a nommer par `htmlFor` ni erreur a decrire. Il etait donc le seul champ
56
+ * de la library a ne pas pouvoir porter de gabarit, et un formulaire
57
+ * melant `FormikInput` borne et `FormikDisplay` non borne produit
58
+ * exactement le « jagged right-side layout edge » que le standard
59
+ * proscrit : les champs saisissables s'arretent a 400px, les champs
60
+ * affiches remplissent toute la cellule.
61
+ *
62
+ * Retrocompatible : sans `width`, aucun plafond n'est pose.
63
+ *
33
64
  * ── Usage ────────────────────────────────────────────────────────────
34
65
  * <FormikDisplay name="donneesTI.etat" label="État"
35
66
  * hint="Géré par le workflow" />
36
67
  *
37
68
  * <FormikDisplay name="importateur.codePIN" label="Code PIN" mono />
69
+ *
70
+ * <FormikDisplay name="observation" label="Observations" wrap />
71
+ *
72
+ * <FormikDisplay name="raisonSociale" label="Raison sociale" width="l" />
38
73
  */
39
- function FormikDisplay(_ref) {
40
- var name = _ref.name,
41
- label = _ref.label,
42
- hint = _ref.hint,
43
- format = _ref.format,
44
- _ref$mono = _ref.mono,
45
- mono = _ref$mono === void 0 ? false : _ref$mono,
46
- _ref$empty = _ref.empty,
47
- empty = _ref$empty === void 0 ? "\u2014" : _ref$empty,
48
- sx = _ref.sx;
49
- var _useFormikContext = (0, _formik.useFormikContext)(),
50
- values = _useFormikContext.values;
51
- var raw = name ? (0, _formik.getIn)(values, name) : undefined;
52
- var display;
74
+
75
+ function FormikDisplay({
76
+ name,
77
+ label,
78
+ hint,
79
+ format,
80
+ mono = false,
81
+ empty = "\u2014",
82
+ wrap = false,
83
+ width,
84
+ sx
85
+ }) {
86
+ const {
87
+ values
88
+ } = (0, _formik.useFormikContext)();
89
+ const raw = name ? (0, _formik.getIn)(values, name) : undefined;
90
+ const labelId = React.useId();
91
+ let display;
53
92
  if (format) {
54
93
  display = format(raw);
55
94
  } else if (raw === null || raw === undefined || String(raw).trim() === "") {
56
95
  display = empty;
57
- } else if (_typeof(raw) === "object") {
58
- var obj = raw;
96
+ } else if (typeof raw === "object") {
97
+ const obj = raw;
59
98
  display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);
60
99
  } else {
61
100
  display = String(raw);
62
101
  }
63
- var isEmpty = display === empty;
64
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
65
- sx: sx,
66
- children: [label && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
102
+ const isEmpty = display === empty;
103
+
104
+ /* D-4 — the full text as a native tooltip, so a truncated value stays
105
+ recoverable. Only when the resolved display is a string: a `format`
106
+ returning a node has no meaningful title, and "[object Object]" would
107
+ be worse than nothing. */
108
+ const titleAttr = typeof display === "string" ? display : undefined;
109
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
110
+ sx: {
111
+ /* G-H — plafond a partir de `sm` seulement : sur mobile le standard
112
+ * impose 100% de la largeur de grille. Identique a `Field`. */
113
+ ...(width ? {
114
+ maxWidth: {
115
+ xs: "100%",
116
+ sm: _Field.FIELD_MAX_WIDTH[width]
117
+ }
118
+ } : {}),
119
+ ...sx
120
+ },
121
+ children: [label && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
122
+ id: labelId,
67
123
  component: "span",
68
124
  sx: {
69
125
  display: "block",
@@ -75,9 +131,18 @@ function FormikDisplay(_ref) {
75
131
  userSelect: "none"
76
132
  },
77
133
  children: label
78
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
79
- role: "status",
80
- "aria-label": label ? "".concat(label, " : ").concat(display) : "".concat(display),
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default
135
+ /* D-3 — plus de role="status". Le couple est lié par
136
+ aria-labelledby (motif KV) ; sans label, on retombe sur un
137
+ aria-label pour ne pas laisser la valeur anonyme. */, {
138
+ ...(label ? {
139
+ "aria-labelledby": labelId
140
+ } : {
141
+ "aria-label": typeof display === "string" ? display : undefined
142
+ }),
143
+ ...(titleAttr !== undefined ? {
144
+ title: titleAttr
145
+ } : {}),
81
146
  sx: {
82
147
  minHeight: 40,
83
148
  display: "flex",
@@ -90,7 +155,7 @@ function FormikDisplay(_ref) {
90
155
  userSelect: "text",
91
156
  overflow: "hidden"
92
157
  },
93
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
158
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
94
159
  component: "span",
95
160
  sx: {
96
161
  fontSize: "var(--text-sm, 14px)",
@@ -104,12 +169,22 @@ function FormikDisplay(_ref) {
104
169
  color: "var(--fg-muted)",
105
170
  fontStyle: isEmpty ? "italic" : "normal",
106
171
  overflow: "hidden",
107
- textOverflow: "ellipsis",
108
- whiteSpace: "nowrap"
172
+ /* D-4 — `wrap` autorise jusqu'à 3 lignes (comportement KV) ;
173
+ sinon une seule ligne tronquée, récupérable via `title`. */
174
+ ...(wrap ? {
175
+ whiteSpace: "normal",
176
+ wordBreak: "break-word",
177
+ display: "-webkit-box",
178
+ WebkitBoxOrient: "vertical",
179
+ WebkitLineClamp: 3
180
+ } : {
181
+ whiteSpace: "nowrap",
182
+ textOverflow: "ellipsis"
183
+ })
109
184
  },
110
185
  children: display
111
186
  })
112
- }), hint && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography["default"], {
187
+ }), hint && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
113
188
  component: "span",
114
189
  sx: {
115
190
  display: "block",
@@ -121,5 +196,5 @@ function FormikDisplay(_ref) {
121
196
  })]
122
197
  });
123
198
  }
124
- var _default = exports["default"] = FormikDisplay;
199
+ var _default = exports.default = FormikDisplay;
125
200
  //# sourceMappingURL=FormikDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikDisplay.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_formik","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","FormikDisplay","_ref","name","label","hint","format","_ref$mono","mono","_ref$empty","empty","sx","_useFormikContext","useFormikContext","values","raw","getIn","undefined","display","String","trim","description","libelle","code","JSON","stringify","isEmpty","jsxs","children","jsx","component","fontSize","fontWeight","color","marginBottom","userSelect","role","concat","minHeight","alignItems","padding","background","border","borderRadius","cursor","overflow","fontFamily","fontStyle","textOverflow","whiteSpace","marginTop","_default","exports"],"sources":["../../../src/lib/v2/components/FormikDisplay.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { getIn, useFormikContext } from \"formik\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * FormikDisplay — Portnet UI v2\r\n *\r\n * Affiche une valeur Formik en lecture seule avec un fond grisé\r\n * clairement distinct des champs saisissables (fond blanc).\r\n *\r\n * ── Audit contraste WCAG 2.1 SC 1.4.3 ──────────────────────────────\r\n * Fond : --bg-subtle = #F1F2F5\r\n *\r\n * Valeur/hint : --fg-muted (#474C5A) → 7.52:1 ✅ AAA (> 7:1)\r\n * À NE PAS utiliser sur ce fond :\r\n * --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)\r\n * (--fg-subtle est calibré \"on white only\" dans colors.js)\r\n *\r\n * ── Fond ────────────────────────────────────────────────────────────\r\n * --bg-subtle (#F1F2F5) est clairement visible sur les sections\r\n * (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).\r\n *\r\n * ── Usage ────────────────────────────────────────────────────────────\r\n * <FormikDisplay name=\"donneesTI.etat\" label=\"État\"\r\n * hint=\"Géré par le workflow\" />\r\n *\r\n * <FormikDisplay name=\"importateur.codePIN\" label=\"Code PIN\" mono />\r\n */\r\n\r\nexport interface FormikDisplayProps {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n format?: ((raw: unknown) => React.ReactNode) | undefined;\r\n mono?: boolean | undefined;\r\n empty?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction FormikDisplay({\r\n name,\r\n label,\r\n hint,\r\n format,\r\n mono = false,\r\n empty = \"\\u2014\",\r\n sx,\r\n}: FormikDisplayProps) {\r\n const { values } = useFormikContext();\r\n const raw: unknown = name ? getIn(values, name) : undefined;\r\n\r\n let display: React.ReactNode;\r\n if (format) {\r\n display = format(raw);\r\n } else if (raw === null || raw === undefined || String(raw).trim() === \"\") {\r\n display = empty;\r\n } else if (typeof raw === \"object\") {\r\n const obj = raw as { description?: React.ReactNode; libelle?: React.ReactNode; code?: React.ReactNode };\r\n display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);\r\n } else {\r\n display = String(raw);\r\n }\r\n\r\n const isEmpty = display === empty;\r\n\r\n return (\r\n <Box sx={sx}>\r\n {/* Label — même style que Field.js */}\r\n {label && (\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n fontWeight: \"var(--fw-semibold, 600)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ AAA */\r\n marginBottom: \"var(--s-2)\",\r\n userSelect: \"none\",\r\n }}\r\n >\r\n {label}\r\n </Typography>\r\n )}\r\n\r\n <Box\r\n role=\"status\"\r\n aria-label={label ? `${label} : ${display}` : `${display}`}\r\n sx={{\r\n minHeight: 40,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n background: \"var(--bg-subtle, #f1f2f5)\",\r\n border: \"1px solid var(--border, #e4e6eb)\",\r\n borderRadius: \"var(--r-md, 6px)\",\r\n cursor: \"default\",\r\n userSelect: \"text\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-sm, 14px)\",\r\n fontFamily: mono ? \"var(--font-mono, monospace)\" : \"inherit\",\r\n /*\r\n * --fg-muted (#474C5A) = 7.52:1 sur --bg-subtle ✅ AAA\r\n * Utilisé pour valeur présente ET placeholder vide.\r\n * NE PAS substituer --fg-subtle (#6B7280) qui tombe à 4.30:1\r\n * sur ce fond (sous WCAG AA).\r\n */\r\n color: \"var(--fg-muted)\",\r\n fontStyle: isEmpty ? \"italic\" : \"normal\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {display}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Hint — --fg-muted (7.52:1) car --fg-subtle (4.30:1) échoue AA sur bg-subtle */}\r\n {hint && (\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n marginTop: \"var(--s-1)\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ */\r\n }}\r\n >\r\n {hint}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default FormikDisplay;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAiD,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAO,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAJ,QAAAP,GAAA,sCAAAO,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAvB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAsB,MAAA,IAAAtB,GAAA,CAAAwB,WAAA,KAAAF,MAAA,IAAAtB,GAAA,KAAAsB,MAAA,CAAAL,SAAA,qBAAAjB,GAAA,KAAAO,OAAA,CAAAP,GAAA,KAGjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA,SAASyB,aAAaA,CAAAC,IAAA,EAQC;EAAA,IAPrBC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IACJC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IAAAC,SAAA,GAAAL,IAAA,CACNM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAI,KAAK,GAAAA,SAAA;IAAAE,UAAA,GAAAP,IAAA,CACbQ,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,QAAQ,GAAAA,UAAA;IAChBE,EAAE,GAAAT,IAAA,CAAFS,EAAE;EAEF,IAAAC,iBAAA,GAAmB,IAAAC,wBAAgB,EAAC,CAAC;IAA7BC,MAAM,GAAAF,iBAAA,CAANE,MAAM;EACd,IAAMC,GAAY,GAAGZ,IAAI,GAAG,IAAAa,aAAK,EAACF,MAAM,EAAEX,IAAI,CAAC,GAAGc,SAAS;EAE3D,IAAIC,OAAwB;EAC5B,IAAIZ,MAAM,EAAE;IACVY,OAAO,GAAGZ,MAAM,CAACS,GAAG,CAAC;EACvB,CAAC,MAAM,IAAIA,GAAG,KAAK,IAAI,IAAIA,GAAG,KAAKE,SAAS,IAAIE,MAAM,CAACJ,GAAG,CAAC,CAACK,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACzEF,OAAO,GAAGR,KAAK;EACjB,CAAC,MAAM,IAAI3B,OAAA,CAAOgC,GAAG,MAAK,QAAQ,EAAE;IAClC,IAAMvC,GAAG,GAAGuC,GAA2F;IACvGG,OAAO,GAAG1C,GAAG,CAAC6C,WAAW,IAAI7C,GAAG,CAAC8C,OAAO,IAAI9C,GAAG,CAAC+C,IAAI,IAAIC,IAAI,CAACC,SAAS,CAACV,GAAG,CAAC;EAC7E,CAAC,MAAM;IACLG,OAAO,GAAGC,MAAM,CAACJ,GAAG,CAAC;EACvB;EAEA,IAAMW,OAAO,GAAGR,OAAO,KAAKR,KAAK;EAEjC,oBACE,IAAAnC,WAAA,CAAAoD,IAAA,EAACxD,IAAA,WAAG;IAACwC,EAAE,EAAEA,EAAG;IAAAiB,QAAA,GAETxB,KAAK,iBACJ,IAAA7B,WAAA,CAAAsD,GAAA,EAACxD,WAAA,WAAU;MACTyD,SAAS,EAAC,MAAM;MAChBnB,EAAE,EAAE;QACFO,OAAO,EAAE,OAAO;QAChBa,QAAQ,EAAE,sBAAsB;QAChCC,UAAU,EAAE,yBAAyB;QACrCC,KAAK,EAAE,iBAAiB;QAAI;QAC5BC,YAAY,EAAE,YAAY;QAC1BC,UAAU,EAAE;MACd,CAAE;MAAAP,QAAA,EAEDxB;IAAK,CACI,CACb,eAED,IAAA7B,WAAA,CAAAsD,GAAA,EAAC1D,IAAA,WAAG;MACFiE,IAAI,EAAC,QAAQ;MACb,cAAYhC,KAAK,MAAAiC,MAAA,CAAMjC,KAAK,SAAAiC,MAAA,CAAMnB,OAAO,OAAAmB,MAAA,CAAQnB,OAAO,CAAG;MAC3DP,EAAE,EAAE;QACF2B,SAAS,EAAE,EAAE;QACbpB,OAAO,EAAE,MAAM;QACfqB,UAAU,EAAE,QAAQ;QACpBC,OAAO,EAAE,uBAAuB;QAChCC,UAAU,EAAE,2BAA2B;QACvCC,MAAM,EAAE,kCAAkC;QAC1CC,YAAY,EAAE,kBAAkB;QAChCC,MAAM,EAAE,SAAS;QACjBT,UAAU,EAAE,MAAM;QAClBU,QAAQ,EAAE;MACZ,CAAE;MAAAjB,QAAA,eAEF,IAAArD,WAAA,CAAAsD,GAAA,EAACxD,WAAA,WAAU;QACTyD,SAAS,EAAC,MAAM;QAChBnB,EAAE,EAAE;UACFoB,QAAQ,EAAE,sBAAsB;UAChCe,UAAU,EAAEtC,IAAI,GAAG,6BAA6B,GAAG,SAAS;UAC5D;AACZ;AACA;AACA;AACA;AACA;UACYyB,KAAK,EAAE,iBAAiB;UACxBc,SAAS,EAAErB,OAAO,GAAG,QAAQ,GAAG,QAAQ;UACxCmB,QAAQ,EAAE,QAAQ;UAClBG,YAAY,EAAE,UAAU;UACxBC,UAAU,EAAE;QACd,CAAE;QAAArB,QAAA,EAEDV;MAAO,CACE;IAAC,CACV,CAAC,EAGLb,IAAI,iBACH,IAAA9B,WAAA,CAAAsD,GAAA,EAACxD,WAAA,WAAU;MACTyD,SAAS,EAAC,MAAM;MAChBnB,EAAE,EAAE;QACFO,OAAO,EAAE,OAAO;QAChBgC,SAAS,EAAE,YAAY;QACvBnB,QAAQ,EAAE,sBAAsB;QAChCE,KAAK,EAAE,iBAAiB,CAAI;MAC9B,CAAE;MAAAL,QAAA,EAEDvB;IAAI,CACK,CACb;EAAA,CACE,CAAC;AAEV;AAAC,IAAA8C,QAAA,GAAAC,OAAA,cAEcnD,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"FormikDisplay.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_formik","_Field","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormikDisplay","name","label","hint","format","mono","empty","wrap","width","sx","values","useFormikContext","raw","getIn","undefined","labelId","useId","display","String","trim","obj","description","libelle","code","JSON","stringify","isEmpty","titleAttr","jsxs","maxWidth","xs","sm","FIELD_MAX_WIDTH","children","jsx","id","component","fontSize","fontWeight","color","marginBottom","userSelect","title","minHeight","alignItems","padding","background","border","borderRadius","cursor","overflow","fontFamily","fontStyle","whiteSpace","wordBreak","WebkitBoxOrient","WebkitLineClamp","textOverflow","marginTop","_default","exports"],"sources":["../../../src/lib/v2/components/FormikDisplay.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { getIn, useFormikContext } from \"formik\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { FIELD_MAX_WIDTH } from \"./Field\";\r\nimport type { FieldWidth } from \"./Field\";\r\n\r\n/**\r\n * FormikDisplay — Portnet UI v2\r\n *\r\n * Affiche une valeur Formik en lecture seule avec un fond grisé\r\n * clairement distinct des champs saisissables (fond blanc).\r\n *\r\n * ── Audit contraste WCAG 2.1 SC 1.4.3 ──────────────────────────────\r\n * Fond : --bg-subtle = #F1F2F5\r\n *\r\n * Valeur/hint : --fg-muted (#474C5A) → 7.52:1 ✅ AAA (> 7:1)\r\n * À NE PAS utiliser sur ce fond :\r\n * --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)\r\n * (--fg-subtle est calibré \"on white only\" dans colors.js)\r\n *\r\n * NB : ces ratios sont calculés sur les valeurs du thème CLAIR. Le\r\n * mode sombre redéfinit --bg-subtle et --fg-muted ; l'appairage n'a\r\n * pas été re-vérifié là.\r\n *\r\n * ── Fond ────────────────────────────────────────────────────────────\r\n * --bg-subtle (#F1F2F5) est clairement visible sur les sections\r\n * (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).\r\n *\r\n * ── Sémantique (D-3) ────────────────────────────────────────────────\r\n * Le couple label/valeur est lié par `aria-labelledby`, comme dans\r\n * KV — donc annoncé comme une seule unité quand l'utilisateur\r\n * l'atteint. Ce bloc portait auparavant `role=\"status\"`, ce qui en\r\n * faisait une région live : sur un écran de consultation à vingt\r\n * champs, vingt régions live polies. C'est précisément ce que le\r\n * composant Status refuse de faire, et pour la même raison.\r\n *\r\n * ── LARGEUR SEMANTIQUE (G-H) ───────────────────────────────────────\r\n *\r\n * `width` rattache le champ a l'un des cinq gabarits de la section « Form\r\n * Field Width & Layout Standards », avec LE MEME plafond et LE MEME palier\r\n * que `Field` : `FIELD_MAX_WIDTH` est importe de `Field`, pas recopie. Deux\r\n * tables de largeurs finiraient par diverger, et le standard interdit\r\n * justement les largeurs arbitraires.\r\n *\r\n * POURQUOI CE COMPOSANT EN AVAIT BESOIN. Il ne passe PAS par `Field` — il\r\n * rend sa propre boite, parce qu'un champ en lecture seule n'a ni controle\r\n * a nommer par `htmlFor` ni erreur a decrire. Il etait donc le seul champ\r\n * de la library a ne pas pouvoir porter de gabarit, et un formulaire\r\n * melant `FormikInput` borne et `FormikDisplay` non borne produit\r\n * exactement le « jagged right-side layout edge » que le standard\r\n * proscrit : les champs saisissables s'arretent a 400px, les champs\r\n * affiches remplissent toute la cellule.\r\n *\r\n * Retrocompatible : sans `width`, aucun plafond n'est pose.\r\n *\r\n * ── Usage ────────────────────────────────────────────────────────────\r\n * <FormikDisplay name=\"donneesTI.etat\" label=\"État\"\r\n * hint=\"Géré par le workflow\" />\r\n *\r\n * <FormikDisplay name=\"importateur.codePIN\" label=\"Code PIN\" mono />\r\n *\r\n * <FormikDisplay name=\"observation\" label=\"Observations\" wrap />\r\n *\r\n * <FormikDisplay name=\"raisonSociale\" label=\"Raison sociale\" width=\"l\" />\r\n */\r\n\r\nexport interface FormikDisplayProps {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n format?: ((raw: unknown) => React.ReactNode) | undefined;\r\n mono?: boolean | undefined;\r\n empty?: string | undefined;\r\n /**\r\n * Laisse la valeur passer à la ligne (jusqu'à 3 lignes) au lieu de\r\n * la tronquer (D-4). Par défaut la valeur reste sur une ligne avec\r\n * une ellipse — et un `title` natif porte le texte complet.\r\n */\r\n wrap?: boolean | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H) : `xs` | `s` | `m` | `l` | `xl`,\r\n * choisi d'apres la contrainte de CARACTERES du champ affiche. Meme table\r\n * et meme palier que `Field.width`. Omis = aucun plafond, la cellule de\r\n * grille decide seule.\r\n */\r\n width?: FieldWidth | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction FormikDisplay({\r\n name,\r\n label,\r\n hint,\r\n format,\r\n mono = false,\r\n empty = \"\\u2014\",\r\n wrap = false,\r\n width,\r\n sx,\r\n}: FormikDisplayProps) {\r\n const { values } = useFormikContext();\r\n const raw: unknown = name ? getIn(values, name) : undefined;\r\n const labelId = React.useId();\r\n\r\n let display: React.ReactNode;\r\n if (format) {\r\n display = format(raw);\r\n } else if (raw === null || raw === undefined || String(raw).trim() === \"\") {\r\n display = empty;\r\n } else if (typeof raw === \"object\") {\r\n const obj = raw as { description?: React.ReactNode; libelle?: React.ReactNode; code?: React.ReactNode };\r\n display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);\r\n } else {\r\n display = String(raw);\r\n }\r\n\r\n const isEmpty = display === empty;\r\n\r\n /* D-4 — the full text as a native tooltip, so a truncated value stays\r\n recoverable. Only when the resolved display is a string: a `format`\r\n returning a node has no meaningful title, and \"[object Object]\" would\r\n be worse than nothing. */\r\n const titleAttr = typeof display === \"string\" ? display : undefined;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n /* G-H — plafond a partir de `sm` seulement : sur mobile le standard\r\n * impose 100% de la largeur de grille. Identique a `Field`. */\r\n ...(width\r\n ? { maxWidth: { xs: \"100%\", sm: FIELD_MAX_WIDTH[width] } }\r\n : {}),\r\n ...sx,\r\n }}\r\n >\r\n {/* Label — même style que Field.js */}\r\n {label && (\r\n <Typography\r\n id={labelId}\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n fontWeight: \"var(--fw-semibold, 600)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ AAA */\r\n marginBottom: \"var(--s-2)\",\r\n userSelect: \"none\",\r\n }}\r\n >\r\n {label}\r\n </Typography>\r\n )}\r\n\r\n <Box\r\n /* D-3 — plus de role=\"status\". Le couple est lié par\r\n aria-labelledby (motif KV) ; sans label, on retombe sur un\r\n aria-label pour ne pas laisser la valeur anonyme. */\r\n {...(label\r\n ? { \"aria-labelledby\": labelId }\r\n : { \"aria-label\": typeof display === \"string\" ? display : undefined })}\r\n {...(titleAttr !== undefined ? { title: titleAttr } : {})}\r\n sx={{\r\n minHeight: 40,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n background: \"var(--bg-subtle, #f1f2f5)\",\r\n border: \"1px solid var(--border, #e4e6eb)\",\r\n borderRadius: \"var(--r-md, 6px)\",\r\n cursor: \"default\",\r\n userSelect: \"text\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-sm, 14px)\",\r\n fontFamily: mono ? \"var(--font-mono, monospace)\" : \"inherit\",\r\n /*\r\n * --fg-muted (#474C5A) = 7.52:1 sur --bg-subtle ✅ AAA\r\n * Utilisé pour valeur présente ET placeholder vide.\r\n * NE PAS substituer --fg-subtle (#6B7280) qui tombe à 4.30:1\r\n * sur ce fond (sous WCAG AA).\r\n */\r\n color: \"var(--fg-muted)\",\r\n fontStyle: isEmpty ? \"italic\" : \"normal\",\r\n overflow: \"hidden\",\r\n /* D-4 — `wrap` autorise jusqu'à 3 lignes (comportement KV) ;\r\n sinon une seule ligne tronquée, récupérable via `title`. */\r\n ...(wrap\r\n ? {\r\n whiteSpace: \"normal\",\r\n wordBreak: \"break-word\",\r\n display: \"-webkit-box\",\r\n WebkitBoxOrient: \"vertical\",\r\n WebkitLineClamp: 3,\r\n }\r\n : {\r\n whiteSpace: \"nowrap\",\r\n textOverflow: \"ellipsis\",\r\n }),\r\n }}\r\n >\r\n {display}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Hint — --fg-muted (7.52:1) car --fg-subtle (4.30:1) échoue AA sur bg-subtle */}\r\n {hint && (\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n marginTop: \"var(--s-1)\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ */\r\n }}\r\n >\r\n {hint}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default FormikDisplay;"],"mappings":"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","ignoreList":[]}
@@ -58,5 +58,45 @@ export interface InputProps extends Omit<OutlinedInputProps, "type" | "value" |
58
58
  suffix?: React.ReactNode | undefined;
59
59
  }
60
60
  declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<unknown>>;
61
+ /**
62
+ * ── A11Y-1 — WHY `aria-required` IS EXTRACTED ───────────────────────────
63
+ *
64
+ * `Field` injects `aria-required` into its child to satisfy R-I.2 MUST
65
+ * (« Champ requis : astérisque rouge dans le label + aria-required »). Left in
66
+ * `...rest`, that attribute reached `OutlinedInput`, and MUI spreads unknown
67
+ * props onto its ROOT WRAPPER — so it landed on
68
+ * `div.MuiInputBase-root` and NEVER on the native `<input>`.
69
+ *
70
+ * Two consequences, the second worse than the first:
71
+ *
72
+ * 1. `aria-required` on a plain `div` with no role is invalid ARIA. axe
73
+ * reports `aria-allowed-attr`; WCAG 4.1.2.
74
+ * 2. The input itself was never marked required, so a screen reader did not
75
+ * announce it. R-I.2 LOOKED satisfied — the asterisk was there, the
76
+ * attribute was in the DOM — while the thing the rule exists to produce
77
+ * never happened. Every required field, in every module.
78
+ *
79
+ * This is the same failure this file's sibling documents for naming: « MUI
80
+ * spreads unknown props onto its ROOT wrapper, so the attribute landed on
81
+ * div.MuiInputBase-root — never on the inner control » (`Field`, R-I.1), and
82
+ * the same one `Combobox` fixed as COMBO-1 by threading the aria attributes
83
+ * onto its input slot. `Input` was simply never given the same treatment.
84
+ *
85
+ * `slotProps.input` and NOT `slotProps.htmlInput`, which is the opposite of
86
+ * `Combobox`: this component renders `OutlinedInput` DIRECTLY, and on an
87
+ * InputBase the `input` slot IS the native element. `htmlInput` is the
88
+ * `TextField` spelling, where `input` means the InputBase itself. Getting this
89
+ * backwards puts the attribute one level up again and reintroduces the bug in
90
+ * a form that still passes review.
91
+ *
92
+ * NOT extracted here: `aria-describedby`, which MUI's `InputBase` destructures
93
+ * itself and applies to the native input, and `aria-invalid`, which MUI derives
94
+ * from the `error` prop `Field` already forwards. Both were verified before
95
+ * being left alone — extracting them would have duplicated behaviour rather
96
+ * than fixed it.
97
+ *
98
+ * Found by the axe suite of `produit-artisanat-fe` (Area 10), failing
99
+ * `aria-allowed-attr` on the first `<Field required>` rendered.
100
+ */
61
101
  export default Input;
62
102
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,EAIlB,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CACjD;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,uCAAuC;IACvC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACtC;AAED,QAAA,MAAM,KAAK,yFAuDT,CAAC;AAEH,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;AAErF,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,EAIlB,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CACjD;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,+BAA+B;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC,uCAAuC;IACvC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,wCAAwC;IACxC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACtC;AAED,QAAA,MAAM,KAAK,yFAqET,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,eAAe,KAAK,CAAC"}