@portnet/ui 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -0,0 +1,299 @@
1
+ import "@testing-library/jest-dom";
2
+ import { render, screen } from "@testing-library/react";
3
+ import userEvent from "@testing-library/user-event";
4
+ import { Formik, Form } from "formik";
5
+ import FormikRadioGroup from "../patterns/FormikRadioGroup";
6
+
7
+ /**
8
+ * FormikRadioGroup — contract tests (gap G-C).
9
+ *
10
+ * WHY THIS FILE EXISTS
11
+ * --------------------
12
+ * §10.3 R-G.6 MUST — and every case below is a defect this bridge exists to
13
+ * stop, none of which is visible on screen:
14
+ *
15
+ * 1. THE STORED VALUE KEEPS ITS DECLARED TYPE. A native radio input only ever
16
+ * reports a string. A host with numeric options would silently start
17
+ * sending "1" where its payload declares 1 — accepted or rejected by the
18
+ * API days later, with nothing in the UI to show for it. This is the single
19
+ * most important assertion in the file.
20
+ *
21
+ * 2. THE SELECTION MATCHES ACROSS TYPES. Hosts seed these fields with booleans
22
+ * (`false`) or numbers while declaring string options ("false"). If the
23
+ * comparison were strict, the group would render EMPTY on a form that
24
+ * already holds an answer — and the user would re-answer a question that
25
+ * was already stored, or worse, leave it blank.
26
+ *
27
+ * 3. TOUCHED ON PICK, NOT ON BLUR. A radio group's first interaction IS the
28
+ * answer; there is no blur-before-change. Waiting for a blur keeps a
29
+ * required-group message hidden while the user clicks around.
30
+ *
31
+ * 4. NO INVALID ATTRIBUTE REACHES THE DOM. `Field` clones its child with
32
+ * `error` / `fullWidth`, which are not valid on `role="radiogroup"`.
33
+ * `RadioGroup` strips them — assert it, because the day it stops, React
34
+ * warns and the rendering stays pixel-identical.
35
+ *
36
+ * NOT COVERED — deliberately: the asterisk colour and the error panel are CSS
37
+ * variables, which jsdom does not resolve. Those belong to the story.
38
+ */
39
+ import { jsx as _jsx } from "react/jsx-runtime";
40
+ const OPTIONS_TEXTE = [{
41
+ value: "true",
42
+ label: "Oui"
43
+ }, {
44
+ value: "false",
45
+ label: "Non"
46
+ }];
47
+ const OPTIONS_NOMBRE = [{
48
+ value: 1,
49
+ label: "Importation"
50
+ }, {
51
+ value: 2,
52
+ label: "Exportation"
53
+ }];
54
+ function Hote({
55
+ initialValue,
56
+ options = OPTIONS_TEXTE,
57
+ required,
58
+ hint,
59
+ onValues
60
+ }) {
61
+ return /*#__PURE__*/_jsx(Formik, {
62
+ initialValues: {
63
+ reponse: initialValue
64
+ },
65
+ validate: values => required && (values.reponse === null || values.reponse === undefined || values.reponse === "") ? {
66
+ reponse: "Choisissez une réponse."
67
+ } : {},
68
+ onSubmit: () => undefined,
69
+ children: ({
70
+ values
71
+ }) => {
72
+ onValues?.(values.reponse);
73
+ return /*#__PURE__*/_jsx(Form, {
74
+ children: /*#__PURE__*/_jsx(FormikRadioGroup, {
75
+ name: "reponse",
76
+ label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
77
+ options: options,
78
+ ...(required !== undefined ? {
79
+ required
80
+ } : {}),
81
+ ...(hint !== undefined ? {
82
+ hint
83
+ } : {})
84
+ })
85
+ });
86
+ }
87
+ });
88
+ }
89
+ describe("FormikRadioGroup — the stored value keeps its declared type", () => {
90
+ test("numeric options stay NUMBERS, not the DOM's strings", async () => {
91
+ const vues = [];
92
+ render(/*#__PURE__*/_jsx(Hote, {
93
+ initialValue: null,
94
+ options: OPTIONS_NOMBRE,
95
+ onValues: v => vues.push(v)
96
+ }));
97
+ await userEvent.click(screen.getByRole("radio", {
98
+ name: "Exportation"
99
+ }));
100
+ expect(vues.at(-1)).toBe(2);
101
+ expect(typeof vues.at(-1)).toBe("number");
102
+ });
103
+ test("string options stay strings — « false » is a value, not a boolean", async () => {
104
+ /* refonte-frontend's case: the payload carries "true" / "false" as text.
105
+ * Coercing to a boolean here would change what the backend receives. */
106
+ const vues = [];
107
+ render(/*#__PURE__*/_jsx(Hote, {
108
+ initialValue: null,
109
+ onValues: v => vues.push(v)
110
+ }));
111
+ await userEvent.click(screen.getByRole("radio", {
112
+ name: "Non"
113
+ }));
114
+ expect(vues.at(-1)).toBe("false");
115
+ expect(typeof vues.at(-1)).toBe("string");
116
+ });
117
+ });
118
+ describe("FormikRadioGroup — the selection matches across types", () => {
119
+ test("a boolean `false` in state selects the option declared « false »", () => {
120
+ /* Hosts seed with booleans while declaring string options. A strict
121
+ * comparison would render the group empty on a form that already holds an
122
+ * answer. */
123
+ render(/*#__PURE__*/_jsx(Hote, {
124
+ initialValue: false
125
+ }));
126
+ expect(screen.getByRole("radio", {
127
+ name: "Non"
128
+ })).toBeChecked();
129
+ expect(screen.getByRole("radio", {
130
+ name: "Oui"
131
+ })).not.toBeChecked();
132
+ });
133
+ test("a number in state selects its numeric option", () => {
134
+ render(/*#__PURE__*/_jsx(Hote, {
135
+ initialValue: 1,
136
+ options: OPTIONS_NOMBRE
137
+ }));
138
+ expect(screen.getByRole("radio", {
139
+ name: "Importation"
140
+ })).toBeChecked();
141
+ });
142
+ test("`null` selects nothing, and does not warn about an uncontrolled group", () => {
143
+ const avertissements = [];
144
+ const spy = jest.spyOn(console, "error").mockImplementation((...args) => {
145
+ avertissements.push(args);
146
+ });
147
+ render(/*#__PURE__*/_jsx(Hote, {
148
+ initialValue: null
149
+ }));
150
+ expect(screen.getByRole("radio", {
151
+ name: "Oui"
152
+ })).not.toBeChecked();
153
+ expect(screen.getByRole("radio", {
154
+ name: "Non"
155
+ })).not.toBeChecked();
156
+ expect(avertissements.some(a => String(a[0]).includes("uncontrolled"))).toBe(false);
157
+ spy.mockRestore();
158
+ });
159
+ test("displaying does not rewrite the stored value", async () => {
160
+ /* The string comparison is for MATCHING only. A form opened and closed
161
+ * without an answer must still send exactly what it was seeded with. */
162
+ const vues = [];
163
+ render(/*#__PURE__*/_jsx(Hote, {
164
+ initialValue: false,
165
+ onValues: v => vues.push(v)
166
+ }));
167
+ expect(screen.getByRole("radio", {
168
+ name: "Non"
169
+ })).toBeChecked();
170
+ expect(vues.every(v => v === false)).toBe(true);
171
+ });
172
+ });
173
+ describe("FormikRadioGroup — the error is reachable without a blur", () => {
174
+ test("picking marks the field touched, so the message appears", async () => {
175
+ /* A validator that ALWAYS rejects : the message can then only be hidden by
176
+ * the field being untouched. Before the click it must be absent, after it
177
+ * present — that is the whole contract. */
178
+ render(/*#__PURE__*/_jsx(Formik, {
179
+ initialValues: {
180
+ reponse: null
181
+ },
182
+ validate: () => ({
183
+ reponse: "Choisissez une réponse."
184
+ }),
185
+ onSubmit: () => undefined,
186
+ children: /*#__PURE__*/_jsx(Form, {
187
+ children: /*#__PURE__*/_jsx(FormikRadioGroup, {
188
+ name: "reponse",
189
+ label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
190
+ options: OPTIONS_TEXTE,
191
+ required: true
192
+ })
193
+ })
194
+ }));
195
+ expect(screen.queryByRole("alert")).not.toBeInTheDocument();
196
+ await userEvent.click(screen.getByRole("radio", {
197
+ name: "Oui"
198
+ }));
199
+ expect(screen.getByRole("alert")).toHaveTextContent("Choisissez une réponse.");
200
+ });
201
+ test("the message becomes the group's accessible description", () => {
202
+ render(/*#__PURE__*/_jsx(Formik, {
203
+ initialValues: {
204
+ reponse: ""
205
+ },
206
+ initialTouched: {
207
+ reponse: true
208
+ },
209
+ initialErrors: {
210
+ reponse: "Choisissez une réponse."
211
+ },
212
+ onSubmit: () => undefined,
213
+ children: /*#__PURE__*/_jsx(Form, {
214
+ children: /*#__PURE__*/_jsx(FormikRadioGroup, {
215
+ name: "reponse",
216
+ label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
217
+ options: OPTIONS_TEXTE,
218
+ required: true
219
+ })
220
+ })
221
+ }));
222
+ expect(screen.getByRole("radiogroup")).toHaveAccessibleDescription("Choisissez une réponse.");
223
+ });
224
+ test("the hint shows while valid and is suppressed by the error", () => {
225
+ const {
226
+ unmount
227
+ } = render(/*#__PURE__*/_jsx(Hote, {
228
+ initialValue: null,
229
+ hint: "Une seule r\xE9ponse possible"
230
+ }));
231
+ expect(screen.getByText("Une seule réponse possible")).toBeInTheDocument();
232
+ unmount();
233
+ render(/*#__PURE__*/_jsx(Formik, {
234
+ initialValues: {
235
+ reponse: ""
236
+ },
237
+ initialTouched: {
238
+ reponse: true
239
+ },
240
+ initialErrors: {
241
+ reponse: "Choisissez une réponse."
242
+ },
243
+ onSubmit: () => undefined,
244
+ children: /*#__PURE__*/_jsx(Form, {
245
+ children: /*#__PURE__*/_jsx(FormikRadioGroup, {
246
+ name: "reponse",
247
+ label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
248
+ options: OPTIONS_TEXTE,
249
+ hint: "Une seule r\xE9ponse possible"
250
+ })
251
+ })
252
+ }));
253
+ expect(screen.queryByText("Une seule réponse possible")).not.toBeInTheDocument();
254
+ });
255
+ });
256
+ describe("FormikRadioGroup — ARIA and DOM hygiene", () => {
257
+ test("the group is named by the field label", () => {
258
+ render(/*#__PURE__*/_jsx(Hote, {
259
+ initialValue: null
260
+ }));
261
+ expect(screen.getByRole("radiogroup", {
262
+ name: /Modèle déjà approuvé/
263
+ })).toBeInTheDocument();
264
+ });
265
+ test("`required` reaches the group as aria-required", () => {
266
+ /* Unlike the single-checkbox case, aria-required IS valid on
267
+ * role="radiogroup" and RadioGroup forwards Field's injection. */
268
+ render(/*#__PURE__*/_jsx(Hote, {
269
+ initialValue: null,
270
+ required: true
271
+ }));
272
+ expect(screen.getByRole("radiogroup")).toHaveAttribute("aria-required", "true");
273
+ });
274
+ test("no `error` or `fullWidth` attribute leaks onto the group", () => {
275
+ render(/*#__PURE__*/_jsx(Formik, {
276
+ initialValues: {
277
+ reponse: ""
278
+ },
279
+ initialTouched: {
280
+ reponse: true
281
+ },
282
+ initialErrors: {
283
+ reponse: "Choisissez une réponse."
284
+ },
285
+ onSubmit: () => undefined,
286
+ children: /*#__PURE__*/_jsx(Form, {
287
+ children: /*#__PURE__*/_jsx(FormikRadioGroup, {
288
+ name: "reponse",
289
+ label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
290
+ options: OPTIONS_TEXTE
291
+ })
292
+ })
293
+ }));
294
+ const groupe = screen.getByRole("radiogroup");
295
+ expect(groupe).not.toHaveAttribute("error");
296
+ expect(groupe).not.toHaveAttribute("fullWidth");
297
+ });
298
+ });
299
+ //# sourceMappingURL=FormikRadioGroup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikRadioGroup.test.js","names":["render","screen","userEvent","Formik","Form","FormikRadioGroup","jsx","_jsx","OPTIONS_TEXTE","value","label","OPTIONS_NOMBRE","Hote","initialValue","options","required","hint","onValues","initialValues","reponse","validate","values","undefined","onSubmit","children","name","describe","test","vues","v","push","click","getByRole","expect","at","toBe","toBeChecked","not","avertissements","spy","jest","spyOn","console","mockImplementation","args","some","a","String","includes","mockRestore","every","queryByRole","toBeInTheDocument","toHaveTextContent","initialTouched","initialErrors","toHaveAccessibleDescription","unmount","getByText","queryByText","toHaveAttribute","groupe"],"sources":["../../../../src/lib/v2/__tests__/FormikRadioGroup.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport userEvent from \"@testing-library/user-event\";\r\nimport { Formik, Form } from \"formik\";\r\nimport FormikRadioGroup from \"../patterns/FormikRadioGroup\";\r\n\r\n/**\r\n * FormikRadioGroup — contract tests (gap G-C).\r\n *\r\n * WHY THIS FILE EXISTS\r\n * --------------------\r\n * §10.3 R-G.6 MUST — and every case below is a defect this bridge exists to\r\n * stop, none of which is visible on screen:\r\n *\r\n * 1. THE STORED VALUE KEEPS ITS DECLARED TYPE. A native radio input only ever\r\n * reports a string. A host with numeric options would silently start\r\n * sending \"1\" where its payload declares 1 — accepted or rejected by the\r\n * API days later, with nothing in the UI to show for it. This is the single\r\n * most important assertion in the file.\r\n *\r\n * 2. THE SELECTION MATCHES ACROSS TYPES. Hosts seed these fields with booleans\r\n * (`false`) or numbers while declaring string options (\"false\"). If the\r\n * comparison were strict, the group would render EMPTY on a form that\r\n * already holds an answer — and the user would re-answer a question that\r\n * was already stored, or worse, leave it blank.\r\n *\r\n * 3. TOUCHED ON PICK, NOT ON BLUR. A radio group's first interaction IS the\r\n * answer; there is no blur-before-change. Waiting for a blur keeps a\r\n * required-group message hidden while the user clicks around.\r\n *\r\n * 4. NO INVALID ATTRIBUTE REACHES THE DOM. `Field` clones its child with\r\n * `error` / `fullWidth`, which are not valid on `role=\"radiogroup\"`.\r\n * `RadioGroup` strips them — assert it, because the day it stops, React\r\n * warns and the rendering stays pixel-identical.\r\n *\r\n * NOT COVERED — deliberately: the asterisk colour and the error panel are CSS\r\n * variables, which jsdom does not resolve. Those belong to the story.\r\n */\r\n\r\nconst OPTIONS_TEXTE = [\r\n { value: \"true\", label: \"Oui\" },\r\n { value: \"false\", label: \"Non\" },\r\n];\r\n\r\nconst OPTIONS_NOMBRE = [\r\n { value: 1, label: \"Importation\" },\r\n { value: 2, label: \"Exportation\" },\r\n];\r\n\r\nfunction Hote({\r\n initialValue,\r\n options = OPTIONS_TEXTE,\r\n required,\r\n hint,\r\n onValues,\r\n}: {\r\n initialValue: unknown;\r\n options?: { value: string | number; label: string }[];\r\n required?: boolean;\r\n hint?: string;\r\n onValues?: (valeur: unknown) => void;\r\n}) {\r\n return (\r\n <Formik\r\n initialValues={{ reponse: initialValue }}\r\n validate={(values) =>\r\n required &&\r\n (values.reponse === null ||\r\n values.reponse === undefined ||\r\n values.reponse === \"\")\r\n ? { reponse: \"Choisissez une réponse.\" }\r\n : {}\r\n }\r\n onSubmit={() => undefined}\r\n >\r\n {({ values }) => {\r\n onValues?.(values.reponse);\r\n return (\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={options}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(hint !== undefined ? { hint } : {})}\r\n />\r\n </Form>\r\n );\r\n }}\r\n </Formik>\r\n );\r\n}\r\n\r\ndescribe(\"FormikRadioGroup — the stored value keeps its declared type\", () => {\r\n test(\"numeric options stay NUMBERS, not the DOM's strings\", async () => {\r\n const vues: unknown[] = [];\r\n render(\r\n <Hote\r\n initialValue={null}\r\n options={OPTIONS_NOMBRE}\r\n onValues={(v) => vues.push(v)}\r\n />\r\n );\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Exportation\" }));\r\n\r\n expect(vues.at(-1)).toBe(2);\r\n expect(typeof vues.at(-1)).toBe(\"number\");\r\n });\r\n\r\n test(\"string options stay strings — « false » is a value, not a boolean\", async () => {\r\n /* refonte-frontend's case: the payload carries \"true\" / \"false\" as text.\r\n * Coercing to a boolean here would change what the backend receives. */\r\n const vues: unknown[] = [];\r\n render(<Hote initialValue={null} onValues={(v) => vues.push(v)} />);\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Non\" }));\r\n\r\n expect(vues.at(-1)).toBe(\"false\");\r\n expect(typeof vues.at(-1)).toBe(\"string\");\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — the selection matches across types\", () => {\r\n test(\"a boolean `false` in state selects the option declared « false »\", () => {\r\n /* Hosts seed with booleans while declaring string options. A strict\r\n * comparison would render the group empty on a form that already holds an\r\n * answer. */\r\n render(<Hote initialValue={false} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).toBeChecked();\r\n expect(screen.getByRole(\"radio\", { name: \"Oui\" })).not.toBeChecked();\r\n });\r\n\r\n test(\"a number in state selects its numeric option\", () => {\r\n render(<Hote initialValue={1} options={OPTIONS_NOMBRE} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Importation\" })).toBeChecked();\r\n });\r\n\r\n test(\"`null` selects nothing, and does not warn about an uncontrolled group\", () => {\r\n const avertissements: unknown[][] = [];\r\n const spy = jest\r\n .spyOn(console, \"error\")\r\n .mockImplementation((...args: unknown[]) => {\r\n avertissements.push(args);\r\n });\r\n\r\n render(<Hote initialValue={null} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Oui\" })).not.toBeChecked();\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).not.toBeChecked();\r\n expect(\r\n avertissements.some((a) => String(a[0]).includes(\"uncontrolled\"))\r\n ).toBe(false);\r\n\r\n spy.mockRestore();\r\n });\r\n\r\n test(\"displaying does not rewrite the stored value\", async () => {\r\n /* The string comparison is for MATCHING only. A form opened and closed\r\n * without an answer must still send exactly what it was seeded with. */\r\n const vues: unknown[] = [];\r\n render(<Hote initialValue={false} onValues={(v) => vues.push(v)} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).toBeChecked();\r\n expect(vues.every((v) => v === false)).toBe(true);\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — the error is reachable without a blur\", () => {\r\n test(\"picking marks the field touched, so the message appears\", async () => {\r\n /* A validator that ALWAYS rejects : the message can then only be hidden by\r\n * the field being untouched. Before the click it must be absent, after it\r\n * present — that is the whole contract. */\r\n render(\r\n <Formik\r\n initialValues={{ reponse: null }}\r\n validate={() => ({ reponse: \"Choisissez une réponse.\" })}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n required\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n expect(screen.queryByRole(\"alert\")).not.toBeInTheDocument();\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Oui\" }));\r\n\r\n expect(screen.getByRole(\"alert\")).toHaveTextContent(\r\n \"Choisissez une réponse.\"\r\n );\r\n });\r\n\r\n test(\"the message becomes the group's accessible description\", () => {\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n required\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n expect(screen.getByRole(\"radiogroup\")).toHaveAccessibleDescription(\r\n \"Choisissez une réponse.\"\r\n );\r\n });\r\n\r\n test(\"the hint shows while valid and is suppressed by the error\", () => {\r\n const { unmount } = render(\r\n <Hote initialValue={null} hint=\"Une seule réponse possible\" />\r\n );\r\n expect(screen.getByText(\"Une seule réponse possible\")).toBeInTheDocument();\r\n unmount();\r\n\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n hint=\"Une seule réponse possible\"\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n expect(\r\n screen.queryByText(\"Une seule réponse possible\")\r\n ).not.toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — ARIA and DOM hygiene\", () => {\r\n test(\"the group is named by the field label\", () => {\r\n render(<Hote initialValue={null} />);\r\n expect(\r\n screen.getByRole(\"radiogroup\", { name: /Modèle déjà approuvé/ })\r\n ).toBeInTheDocument();\r\n });\r\n\r\n test(\"`required` reaches the group as aria-required\", () => {\r\n /* Unlike the single-checkbox case, aria-required IS valid on\r\n * role=\"radiogroup\" and RadioGroup forwards Field's injection. */\r\n render(<Hote initialValue={null} required />);\r\n expect(screen.getByRole(\"radiogroup\")).toHaveAttribute(\r\n \"aria-required\",\r\n \"true\"\r\n );\r\n });\r\n\r\n test(\"no `error` or `fullWidth` attribute leaks onto the group\", () => {\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n const groupe = screen.getByRole(\"radiogroup\");\r\n expect(groupe).not.toHaveAttribute(\"error\");\r\n expect(groupe).not.toHaveAttribute(\"fullWidth\");\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  import "@testing-library/jest-dom";
2
- import * as React from "react";
3
2
  import { render, screen, fireEvent } from "@testing-library/react";
4
3
  import MobileRowCard from "../components/MobileRowCard";
5
4
 
@@ -29,8 +28,8 @@ import MobileRowCard from "../components/MobileRowCard";
29
28
  * open for all three props.
30
29
  */
31
30
  import { jsx as _jsx } from "react/jsx-runtime";
32
- describe("MobileRowCard — slot rendering", function () {
33
- test("renders title, subtitle and meta, omitting lines with no content", function () {
31
+ describe("MobileRowCard — slot rendering", () => {
32
+ test("renders title, subtitle and meta, omitting lines with no content", () => {
34
33
  render(/*#__PURE__*/_jsx(MobileRowCard, {
35
34
  title: "2025-IM-0042",
36
35
  subtitle: "SOFRANE SA",
@@ -41,7 +40,7 @@ describe("MobileRowCard — slot rendering", function () {
41
40
  // meta joins with " · " into a single node
42
41
  expect(screen.getByText("12/05/2026 · 3 pièces")).toBeInTheDocument();
43
42
  });
44
- test("meta drops null / empty entries rather than rendering stray separators", function () {
43
+ test("meta drops null / empty entries rather than rendering stray separators", () => {
45
44
  render(/*#__PURE__*/_jsx(MobileRowCard, {
46
45
  title: "X",
47
46
  meta: ["Émise 01/01/2026", null, "", undefined]
@@ -49,11 +48,12 @@ describe("MobileRowCard — slot rendering", function () {
49
48
  expect(screen.getByText("Émise 01/01/2026")).toBeInTheDocument();
50
49
  expect(screen.queryByText(/·/)).not.toBeInTheDocument();
51
50
  });
52
- test("a string title gets a native tooltip; a node title does not stringify", function () {
53
- var _render = render(/*#__PURE__*/_jsx(MobileRowCard, {
54
- title: "Long reference"
55
- })),
56
- rerender = _render.rerender;
51
+ test("a string title gets a native tooltip; a node title does not stringify", () => {
52
+ const {
53
+ rerender
54
+ } = render(/*#__PURE__*/_jsx(MobileRowCard, {
55
+ title: "Long reference"
56
+ }));
57
57
  expect(screen.getByText("Long reference")).toHaveAttribute("title", "Long reference");
58
58
  rerender(/*#__PURE__*/_jsx(MobileRowCard, {
59
59
  title: /*#__PURE__*/_jsx("span", {
@@ -72,8 +72,8 @@ describe("MobileRowCard — slot rendering", function () {
72
72
  expect(screen.queryByTitle(/./)).not.toBeInTheDocument();
73
73
  });
74
74
  });
75
- describe("MobileRowCard — kv slot", function () {
76
- test("renders each pair as a KV label/value unit", function () {
75
+ describe("MobileRowCard — kv slot", () => {
76
+ test("renders each pair as a KV label/value unit", () => {
77
77
  render(/*#__PURE__*/_jsx(MobileRowCard, {
78
78
  title: "ref",
79
79
  kv: [{
@@ -89,7 +89,7 @@ describe("MobileRowCard — kv slot", function () {
89
89
  expect(screen.getByText("Importateur")).toBeInTheDocument();
90
90
  expect(screen.getByText("SOFRANE SA")).toBeInTheDocument();
91
91
  });
92
- test("an empty value KEEPS the pair and shows KV's own em-dash placeholder", function () {
92
+ test("an empty value KEEPS the pair and shows KV's own em-dash placeholder", () => {
93
93
  // This is why every consuming site could drop its `?? \"-\"`: KV owns the
94
94
  // placeholder. Losing this behaviour would silently reintroduce ten local
95
95
  // fallbacks across the fleet.
@@ -111,7 +111,7 @@ describe("MobileRowCard — kv slot", function () {
111
111
  expect(screen.getByText("Devise")).toBeInTheDocument();
112
112
  expect(screen.getAllByText("—")).toHaveLength(3);
113
113
  });
114
- test("a custom fallback overrides the em dash", function () {
114
+ test("a custom fallback overrides the em dash", () => {
115
115
  render(/*#__PURE__*/_jsx(MobileRowCard, {
116
116
  title: "ref",
117
117
  kv: [{
@@ -121,7 +121,7 @@ describe("MobileRowCard — kv slot", function () {
121
121
  }));
122
122
  expect(screen.getByText("Non assignée")).toBeInTheDocument();
123
123
  });
124
- test("pairs with no label are DROPPED (KV would emit a dangling aria-labelledby)", function () {
124
+ test("pairs with no label are DROPPED (KV would emit a dangling aria-labelledby)", () => {
125
125
  render(/*#__PURE__*/_jsx(MobileRowCard, {
126
126
  title: "ref",
127
127
  kv: [{
@@ -143,8 +143,8 @@ describe("MobileRowCard — kv slot", function () {
143
143
  expect(screen.getByText("kept-value")).toBeInTheDocument();
144
144
  });
145
145
  });
146
- describe("MobileRowCard — chips slot", function () {
147
- test("renders chip nodes and filters falsy entries", function () {
146
+ describe("MobileRowCard — chips slot", () => {
147
+ test("renders chip nodes and filters falsy entries", () => {
148
148
  render(/*#__PURE__*/_jsx(MobileRowCard, {
149
149
  title: "ref",
150
150
  chips: [/*#__PURE__*/_jsx("span", {
@@ -157,13 +157,14 @@ describe("MobileRowCard — chips slot", function () {
157
157
  expect(screen.getByText("CO")).toBeInTheDocument();
158
158
  });
159
159
  });
160
- describe("MobileRowCard — actions (kebab)", function () {
161
- test("kebab renders only when at least one non-divider action exists", function () {
162
- var _render2 = render(/*#__PURE__*/_jsx(MobileRowCard, {
163
- title: "ref",
164
- actions: []
165
- })),
166
- rerender = _render2.rerender;
160
+ describe("MobileRowCard — actions (kebab)", () => {
161
+ test("kebab renders only when at least one non-divider action exists", () => {
162
+ const {
163
+ rerender
164
+ } = render(/*#__PURE__*/_jsx(MobileRowCard, {
165
+ title: "ref",
166
+ actions: []
167
+ }));
167
168
  expect(screen.queryByRole("button")).not.toBeInTheDocument();
168
169
  rerender(/*#__PURE__*/_jsx(MobileRowCard, {
169
170
  title: "ref",
@@ -176,7 +177,7 @@ describe("MobileRowCard — actions (kebab)", function () {
176
177
  title: "ref",
177
178
  actions: [{
178
179
  label: "Détail",
179
- onClick: function onClick() {}
180
+ onClick: () => {}
180
181
  }],
181
182
  actionsAriaLabel: "Actions pour 2025-IM-0042"
182
183
  }));
@@ -206,9 +207,9 @@ describe("MobileRowCard — actions (kebab)", function () {
206
207
  * Making these two consistent — in either direction — is a breaking change for
207
208
  * the ten sites that depend on them.
208
209
  */
209
- describe("MobileRowCard — propagation asymmetry (deliberate)", function () {
210
- test("leading does NOT stop click propagation to the card", function () {
211
- var onCardClick = jest.fn();
210
+ describe("MobileRowCard — propagation asymmetry (deliberate)", () => {
211
+ test("leading does NOT stop click propagation to the card", () => {
212
+ const onCardClick = jest.fn();
212
213
  render(/*#__PURE__*/_jsx("div", {
213
214
  onClick: onCardClick,
214
215
  children: /*#__PURE__*/_jsx(MobileRowCard, {
@@ -221,9 +222,9 @@ describe("MobileRowCard — propagation asymmetry (deliberate)", function () {
221
222
  fireEvent.click(screen.getByText("star"));
222
223
  expect(onCardClick).toHaveBeenCalledTimes(1);
223
224
  });
224
- test("trailing DOES stop click propagation to the card", function () {
225
- var onCardClick = jest.fn();
226
- var onAction = jest.fn();
225
+ test("trailing DOES stop click propagation to the card", () => {
226
+ const onCardClick = jest.fn();
227
+ const onAction = jest.fn();
227
228
  render(/*#__PURE__*/_jsx("div", {
228
229
  onClick: onCardClick,
229
230
  children: /*#__PURE__*/_jsx(MobileRowCard, {
@@ -240,8 +241,8 @@ describe("MobileRowCard — propagation asymmetry (deliberate)", function () {
240
241
  expect(onAction).toHaveBeenCalledTimes(1);
241
242
  expect(onCardClick).not.toHaveBeenCalled();
242
243
  });
243
- test("trailing stops keydown propagation too (keyboard parity)", function () {
244
- var onCardKeyDown = jest.fn();
244
+ test("trailing stops keydown propagation too (keyboard parity)", () => {
245
+ const onCardKeyDown = jest.fn();
245
246
  render(/*#__PURE__*/_jsx("div", {
246
247
  onKeyDown: onCardKeyDown,
247
248
  children: /*#__PURE__*/_jsx(MobileRowCard, {
@@ -258,15 +259,15 @@ describe("MobileRowCard — propagation asymmetry (deliberate)", function () {
258
259
  });
259
260
  expect(onCardKeyDown).not.toHaveBeenCalled();
260
261
  });
261
- test("opening the kebab does not fire the card click", function () {
262
- var onCardClick = jest.fn();
262
+ test("opening the kebab does not fire the card click", () => {
263
+ const onCardClick = jest.fn();
263
264
  render(/*#__PURE__*/_jsx("div", {
264
265
  onClick: onCardClick,
265
266
  children: /*#__PURE__*/_jsx(MobileRowCard, {
266
267
  title: "ref",
267
268
  actions: [{
268
269
  label: "Détail",
269
- onClick: function onClick() {}
270
+ onClick: () => {}
270
271
  }]
271
272
  })
272
273
  }));
@@ -276,8 +277,8 @@ describe("MobileRowCard — propagation asymmetry (deliberate)", function () {
276
277
  expect(onCardClick).not.toHaveBeenCalled();
277
278
  });
278
279
  });
279
- describe("MobileRowCard — header composition", function () {
280
- test("trailing and the kebab coexist, trailing first", function () {
280
+ describe("MobileRowCard — header composition", () => {
281
+ test("trailing and the kebab coexist, trailing first", () => {
281
282
  render(/*#__PURE__*/_jsx(MobileRowCard, {
282
283
  title: "ref",
283
284
  trailing: /*#__PURE__*/_jsx("button", {
@@ -285,14 +286,14 @@ describe("MobileRowCard — header composition", function () {
285
286
  }),
286
287
  actions: [{
287
288
  label: "Supprimer",
288
- onClick: function onClick() {}
289
+ onClick: () => {}
289
290
  }],
290
291
  actionsAriaLabel: "Autres actions"
291
292
  }));
292
- var visualiser = screen.getByRole("button", {
293
+ const visualiser = screen.getByRole("button", {
293
294
  name: "Visualiser"
294
295
  });
295
- var kebab = screen.getByRole("button", {
296
+ const kebab = screen.getByRole("button", {
296
297
  name: "Autres actions"
297
298
  });
298
299
  expect(visualiser).toBeInTheDocument();
@@ -301,7 +302,7 @@ describe("MobileRowCard — header composition", function () {
301
302
  // Document order: trailing precedes the kebab in the header end cluster.
302
303
  expect(visualiser.compareDocumentPosition(kebab) & Node.DOCUMENT_POSITION_FOLLOWING).toBeTruthy();
303
304
  });
304
- test("a card with ONLY trailing still renders its header", function () {
305
+ test("a card with ONLY trailing still renders its header", () => {
305
306
  // Regression guard: hasHeader must include hasTrailing, otherwise a
306
307
  // title-less picker card would drop its action entirely.
307
308
  render(/*#__PURE__*/_jsx(MobileRowCard, {
@@ -313,7 +314,7 @@ describe("MobileRowCard — header composition", function () {
313
314
  name: "Choisir"
314
315
  })).toBeInTheDocument();
315
316
  });
316
- test("a card with ONLY leading still renders its header", function () {
317
+ test("a card with ONLY leading still renders its header", () => {
317
318
  render(/*#__PURE__*/_jsx(MobileRowCard, {
318
319
  leading: /*#__PURE__*/_jsx("span", {
319
320
  children: "star"
@@ -321,7 +322,7 @@ describe("MobileRowCard — header composition", function () {
321
322
  }));
322
323
  expect(screen.getByText("star")).toBeInTheDocument();
323
324
  });
324
- test("no props renders no header and does not throw", function () {
325
+ test("no props renders no header and does not throw", () => {
325
326
  /* `render` not throwing IS the second half of this assertion. The button
326
327
  * check uses screen.queryByRole rather than container.querySelector
327
328
  * (testing-library/no-container + no-node-access), matching the idiom the