@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,237 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var _react = require("@testing-library/react");
5
+ var _formik = require("formik");
6
+ var _FormikDateTimePicker = _interopRequireDefault(require("../patterns/FormikDateTimePicker"));
7
+ var _FormikDatePicker = _interopRequireDefault(require("../patterns/FormikDatePicker"));
8
+ var _DateTimePicker = require("../components/DateTimePicker");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /**
12
+ * FormikDateTimePicker — contract tests (gap G-E).
13
+ *
14
+ * WHY THIS FILE EXISTS
15
+ * --------------------
16
+ * §10.3 R-G.6 MUST. Every case below pins a contract that a screenshot cannot
17
+ * see, and each corresponds to a defect this bridge exists to stop:
18
+ *
19
+ * 1. THE TIME SURVIVES. The whole reason the gap was opened: routed through
20
+ * the date-only bridge, a visit scheduled at 14:30 would have been stored
21
+ * at 00:00 — silently, with no error, and only the agent showing up at the
22
+ * wrong hour would notice. The date-only sibling is asserted side by side,
23
+ * so the reason TWO bridges exist stays legible.
24
+ *
25
+ * 2. THE ROUND-TRIP IS SYMMETRIC (S-03). A value written with a non-ISO
26
+ * format must be READ BACK with that same format. The sibling once wrote
27
+ * through moment and read through `new Date()`, which turned "31-12-2026"
28
+ * into Invalid Date and "05-03-2026" into 3 May. The write path worked, so
29
+ * the damage only appeared on RE-POPULATE — an edit flow, the path a smoke
30
+ * test never exercises. One module shipped it for seven batches under a
31
+ * clean strict typecheck.
32
+ *
33
+ * 3. A MALFORMED STORED VALUE YIELDS EMPTY, NOT A PLAUSIBLE WRONG DATE.
34
+ * Strict parsing. A missing date is recoverable; a date quietly off by two
35
+ * months is not.
36
+ *
37
+ * ── HOW THESE ASSERTIONS READ THE FIELD (and why not by role "textbox") ──
38
+ *
39
+ * MUI X v9 renders no textbox. The field is a `role="group"` containing one
40
+ * `role="spinbutton"` PER SECTION (Year, Month, Day, Hours, Minutes), each
41
+ * carrying `aria-valuenow`; the input that holds the formatted string is
42
+ * `aria-hidden`. So the assertions read the sections.
43
+ *
44
+ * That is not a workaround, it is the better probe: `aria-valuenow` is the
45
+ * PARSED value, independent of any display format. A test reading the
46
+ * formatted text would pass or fail on locale and format changes that have
47
+ * nothing to do with the contract under test. Reading the sections also makes
48
+ * the date-only comparison exact — the sibling renders no Hours section at
49
+ * all, rather than rendering one that happens to read 00.
50
+ *
51
+ * NOT COVERED — deliberately: opening the picker popup and clicking a day.
52
+ * MUI X renders its calendar in a portal with its own interaction model; the
53
+ * value plumbing is what belongs to this bridge. The visual side belongs to
54
+ * the story.
55
+ */
56
+
57
+ /** Valeur analysee d'une section du champ (Year, Month, Day, Hours, Minutes). */function sectionValeur(nom) {
58
+ return _react.screen.getByRole("spinbutton", {
59
+ name: nom
60
+ }).getAttribute("aria-valuenow");
61
+ }
62
+
63
+ /** Vrai quand la section est vide (aucune date rendue). */
64
+ function sectionVide(nom) {
65
+ return _react.screen.getByRole("spinbutton", {
66
+ name: nom
67
+ }).getAttribute("aria-valuetext") === "Empty";
68
+ }
69
+ function HoteLecture({
70
+ valeurInitiale,
71
+ outputFormat,
72
+ readOnly
73
+ }) {
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
75
+ initialValues: {
76
+ dateVisite: valeurInitiale
77
+ },
78
+ onSubmit: () => undefined,
79
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
80
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDateTimePicker.default, {
81
+ name: "dateVisite",
82
+ label: "Date de la visite",
83
+ ...(outputFormat !== undefined ? {
84
+ outputFormat
85
+ } : {}),
86
+ ...(readOnly !== undefined ? {
87
+ readOnly
88
+ } : {})
89
+ })
90
+ })
91
+ });
92
+ }
93
+ describe("FormikDateTimePicker — the time survives", () => {
94
+ test("an hour stored in Formik reaches the field's time sections", () => {
95
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
96
+ valeurInitiale: new Date(2026, 4, 31, 14, 30)
97
+ }));
98
+ expect(sectionValeur("Hours")).toBe("14");
99
+ expect(sectionValeur("Minutes")).toBe("30");
100
+ /* La date, elle, est intacte : 31 mai 2026. */
101
+ expect(sectionValeur("Day")).toBe("31");
102
+ expect(sectionValeur("Month")).toBe("5");
103
+ });
104
+ test("the date-only sibling has NO time section — which is why G-E exists", () => {
105
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
106
+ initialValues: {
107
+ dateVisite: new Date(2026, 4, 31, 14, 30)
108
+ },
109
+ onSubmit: () => undefined,
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDatePicker.default, {
112
+ name: "dateVisite",
113
+ label: "Date de la visite"
114
+ })
115
+ })
116
+ }));
117
+
118
+ /* Pas de section « Hours » du tout : l'heure n'est pas affichee a 00, elle
119
+ * est absente du champ — donc perdue des que la valeur est reserialisee. */
120
+ expect(_react.screen.queryByRole("spinbutton", {
121
+ name: "Hours"
122
+ })).not.toBeInTheDocument();
123
+ expect(_react.screen.getByRole("spinbutton", {
124
+ name: "Day"
125
+ })).toBeInTheDocument();
126
+ });
127
+ });
128
+ describe("FormikDateTimePicker — the round-trip is symmetric (S-03)", () => {
129
+ test("a value written in the charter format is read back with it", () => {
130
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
131
+ valeurInitiale: "2026-12-31 14:30",
132
+ outputFormat: _DateTimePicker.DATETIME_FORMAT_CHARTER
133
+ }));
134
+ expect(sectionValeur("Day")).toBe("31");
135
+ expect(sectionValeur("Month")).toBe("12");
136
+ expect(sectionValeur("Hours")).toBe("14");
137
+ expect(sectionValeur("Minutes")).toBe("30");
138
+ });
139
+ test("a day-first stored value is NOT misread as month-first", () => {
140
+ /* `new Date("05-03-2026 09:15")` lit MM-DD en V8 : le 3 mai au lieu du
141
+ * 5 mars. Avec le format declare, moment lit bien le 5 mars. C'est
142
+ * exactement le cas que S-03 decrit. */
143
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
144
+ valeurInitiale: "05-03-2026 09:15",
145
+ outputFormat: "DD-MM-YYYY HH:mm"
146
+ }));
147
+ expect(sectionValeur("Month")).toBe("3");
148
+ expect(sectionValeur("Day")).toBe("5");
149
+ expect(sectionValeur("Hours")).toBe("9");
150
+ expect(sectionValeur("Minutes")).toBe("15");
151
+ });
152
+ test("a malformed stored value renders EMPTY, not a guess", () => {
153
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
154
+ valeurInitiale: "pas-une-date",
155
+ outputFormat: _DateTimePicker.DATETIME_FORMAT_CHARTER
156
+ }));
157
+ expect(sectionVide("Year")).toBe(true);
158
+ expect(sectionVide("Day")).toBe(true);
159
+ expect(sectionVide("Hours")).toBe(true);
160
+ });
161
+ test("`null` renders empty and does not warn about an uncontrolled input", () => {
162
+ const avertissements = [];
163
+ const spy = jest.spyOn(console, "error").mockImplementation((...args) => {
164
+ avertissements.push(args);
165
+ });
166
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
167
+ valeurInitiale: null
168
+ }));
169
+ expect(sectionVide("Year")).toBe(true);
170
+ expect(avertissements.some(a => String(a[0]).includes("uncontrolled"))).toBe(false);
171
+ spy.mockRestore();
172
+ });
173
+ });
174
+ describe("FormikDateTimePicker — read-only mode", () => {
175
+ test("`readOnly` renders display TEXT, not a picker", () => {
176
+ /* Section Read Only Mode : « Inputs are forbidden in read-only mode. » */
177
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
178
+ valeurInitiale: new Date(2026, 11, 31, 14, 30),
179
+ readOnly: true
180
+ }));
181
+ expect(_react.screen.queryByRole("spinbutton", {
182
+ name: "Year"
183
+ })).not.toBeInTheDocument();
184
+ expect(_react.screen.getByText(/31\/12\/2026 14:30/)).toBeInTheDocument();
185
+ });
186
+ test("an empty value in read-only mode shows the dash, not a blank panel", () => {
187
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
188
+ valeurInitiale: null,
189
+ readOnly: true
190
+ }));
191
+ expect(_react.screen.getByText("—")).toBeInTheDocument();
192
+ });
193
+ });
194
+ describe("FormikDateTimePicker — labelling", () => {
195
+ test("the visible label is wired to the field id produced by Field", () => {
196
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(HoteLecture, {
197
+ valeurInitiale: null
198
+ }));
199
+
200
+ /* Une premiere version verifiait aussi, par `document.getElementById`, que
201
+ * l'element porteur de cet id existe. Deux raisons de l'avoir retiree :
202
+ * `testing-library/no-node-access` l'interdit a juste titre, et surtout
203
+ * l'assertion visait a cote. L'element existe bel et bien — c'est l'input
204
+ * porteur de valeur — mais MUI X v9 le marque `aria-hidden`, donc son
205
+ * existence ne prouve RIEN sur ce qui compte. Voir la note ci-dessous. */
206
+ expect(_react.screen.getByText("Date de la visite")).toHaveAttribute("for", "dateVisite");
207
+ });
208
+
209
+ /**
210
+ * CE QUI N'EST PAS ASSERTE ICI, ET POURQUOI — defaut ouvert (G-F, reporte)
211
+ *
212
+ * Le champ n'a PAS de nom accessible, et ce n'est pas le seul degat : les
213
+ * QUATRE attributs d'association poses par `Field` sont inertes.
214
+ *
215
+ * `DateTimePicker` intercepte bien `id`, `aria-describedby`, `aria-invalid`
216
+ * et `aria-required` et les route sur l'`<input>` porteur de valeur (c'est le
217
+ * correctif DP-1, ecrit exprès) — mais MUI X v9 marque cet input
218
+ * `aria-hidden="true"`. Le champ visible est un `role="group"` de
219
+ * `role="spinbutton"` par section. Donc : l'etiquette ne nomme rien
220
+ * (R-I.1), l'indication et le message d'erreur ne sont jamais annonces
221
+ * (R-I.3, R-4.1), et un champ requis ne se declare pas requis (R-I.2).
222
+ *
223
+ * DEUX TENTATIVES ONT ECHOUE, notees pour ne pas etre refaites :
224
+ * 1. router les attributs par `slotProps.textField.InputProps` — accepte
225
+ * par les types, n'atterrit nulle part ;
226
+ * 2. passer le pont en mode `group` de `Field` — `Field` emet bien
227
+ * `aria-labelledby`, mais rien ne le porte jusqu'au groupe, ET le mode
228
+ * `group` supprime le `<label for>` : on perd le clic-sur-libellé sans
229
+ * rien gagner.
230
+ *
231
+ * Figer l'etat actuel par une assertion « le nom est vide » en ferait un
232
+ * comportement attendu, ce qu'il n'est pas. Le correctif demande le vrai
233
+ * point d'ancrage v9 de `PickersInputBase`, et il touche `DatePicker` ET
234
+ * `DateTimePicker` — donc tous les champs de date du portefeuille. Batch 10.
235
+ */
236
+ });
237
+ //# sourceMappingURL=FormikDateTimePicker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikDateTimePicker.test.js","names":["require","_react","_formik","_FormikDateTimePicker","_interopRequireDefault","_FormikDatePicker","_DateTimePicker","_jsxRuntime","e","__esModule","default","sectionValeur","nom","screen","getByRole","name","getAttribute","sectionVide","HoteLecture","valeurInitiale","outputFormat","readOnly","jsx","Formik","initialValues","dateVisite","onSubmit","undefined","children","Form","label","describe","test","render","Date","expect","toBe","queryByRole","not","toBeInTheDocument","DATETIME_FORMAT_CHARTER","avertissements","spy","jest","spyOn","console","mockImplementation","args","push","some","a","String","includes","mockRestore","getByText","toHaveAttribute"],"sources":["../../../src/lib/v2/__tests__/FormikDateTimePicker.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport { Formik, Form } from \"formik\";\r\nimport FormikDateTimePicker from \"../patterns/FormikDateTimePicker\";\r\nimport FormikDatePicker from \"../patterns/FormikDatePicker\";\r\nimport { DATETIME_FORMAT_CHARTER } from \"../components/DateTimePicker\";\r\n\r\n/**\r\n * FormikDateTimePicker — contract tests (gap G-E).\r\n *\r\n * WHY THIS FILE EXISTS\r\n * --------------------\r\n * §10.3 R-G.6 MUST. Every case below pins a contract that a screenshot cannot\r\n * see, and each corresponds to a defect this bridge exists to stop:\r\n *\r\n * 1. THE TIME SURVIVES. The whole reason the gap was opened: routed through\r\n * the date-only bridge, a visit scheduled at 14:30 would have been stored\r\n * at 00:00 — silently, with no error, and only the agent showing up at the\r\n * wrong hour would notice. The date-only sibling is asserted side by side,\r\n * so the reason TWO bridges exist stays legible.\r\n *\r\n * 2. THE ROUND-TRIP IS SYMMETRIC (S-03). A value written with a non-ISO\r\n * format must be READ BACK with that same format. The sibling once wrote\r\n * through moment and read through `new Date()`, which turned \"31-12-2026\"\r\n * into Invalid Date and \"05-03-2026\" into 3 May. The write path worked, so\r\n * the damage only appeared on RE-POPULATE — an edit flow, the path a smoke\r\n * test never exercises. One module shipped it for seven batches under a\r\n * clean strict typecheck.\r\n *\r\n * 3. A MALFORMED STORED VALUE YIELDS EMPTY, NOT A PLAUSIBLE WRONG DATE.\r\n * Strict parsing. A missing date is recoverable; a date quietly off by two\r\n * months is not.\r\n *\r\n * ── HOW THESE ASSERTIONS READ THE FIELD (and why not by role \"textbox\") ──\r\n *\r\n * MUI X v9 renders no textbox. The field is a `role=\"group\"` containing one\r\n * `role=\"spinbutton\"` PER SECTION (Year, Month, Day, Hours, Minutes), each\r\n * carrying `aria-valuenow`; the input that holds the formatted string is\r\n * `aria-hidden`. So the assertions read the sections.\r\n *\r\n * That is not a workaround, it is the better probe: `aria-valuenow` is the\r\n * PARSED value, independent of any display format. A test reading the\r\n * formatted text would pass or fail on locale and format changes that have\r\n * nothing to do with the contract under test. Reading the sections also makes\r\n * the date-only comparison exact — the sibling renders no Hours section at\r\n * all, rather than rendering one that happens to read 00.\r\n *\r\n * NOT COVERED — deliberately: opening the picker popup and clicking a day.\r\n * MUI X renders its calendar in a portal with its own interaction model; the\r\n * value plumbing is what belongs to this bridge. The visual side belongs to\r\n * the story.\r\n */\r\n\r\n/** Valeur analysee d'une section du champ (Year, Month, Day, Hours, Minutes). */\r\nfunction sectionValeur(nom: string): string | null {\r\n return screen\r\n .getByRole(\"spinbutton\", { name: nom })\r\n .getAttribute(\"aria-valuenow\");\r\n}\r\n\r\n/** Vrai quand la section est vide (aucune date rendue). */\r\nfunction sectionVide(nom: string): boolean {\r\n return (\r\n screen.getByRole(\"spinbutton\", { name: nom }).getAttribute(\"aria-valuetext\") ===\r\n \"Empty\"\r\n );\r\n}\r\n\r\nfunction HoteLecture({\r\n valeurInitiale,\r\n outputFormat,\r\n readOnly,\r\n}: {\r\n valeurInitiale: unknown;\r\n outputFormat?: string;\r\n readOnly?: boolean;\r\n}) {\r\n return (\r\n <Formik\r\n initialValues={{ dateVisite: valeurInitiale }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikDateTimePicker\r\n name=\"dateVisite\"\r\n label=\"Date de la visite\"\r\n {...(outputFormat !== undefined ? { outputFormat } : {})}\r\n {...(readOnly !== undefined ? { readOnly } : {})}\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n}\r\n\r\ndescribe(\"FormikDateTimePicker — the time survives\", () => {\r\n test(\"an hour stored in Formik reaches the field's time sections\", () => {\r\n render(<HoteLecture valeurInitiale={new Date(2026, 4, 31, 14, 30)} />);\r\n\r\n expect(sectionValeur(\"Hours\")).toBe(\"14\");\r\n expect(sectionValeur(\"Minutes\")).toBe(\"30\");\r\n /* La date, elle, est intacte : 31 mai 2026. */\r\n expect(sectionValeur(\"Day\")).toBe(\"31\");\r\n expect(sectionValeur(\"Month\")).toBe(\"5\");\r\n });\r\n\r\n test(\"the date-only sibling has NO time section — which is why G-E exists\", () => {\r\n render(\r\n <Formik\r\n initialValues={{ dateVisite: new Date(2026, 4, 31, 14, 30) }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikDatePicker name=\"dateVisite\" label=\"Date de la visite\" />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n /* Pas de section « Hours » du tout : l'heure n'est pas affichee a 00, elle\r\n * est absente du champ — donc perdue des que la valeur est reserialisee. */\r\n expect(\r\n screen.queryByRole(\"spinbutton\", { name: \"Hours\" })\r\n ).not.toBeInTheDocument();\r\n expect(screen.getByRole(\"spinbutton\", { name: \"Day\" })).toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FormikDateTimePicker — the round-trip is symmetric (S-03)\", () => {\r\n test(\"a value written in the charter format is read back with it\", () => {\r\n render(\r\n <HoteLecture\r\n valeurInitiale=\"2026-12-31 14:30\"\r\n outputFormat={DATETIME_FORMAT_CHARTER}\r\n />\r\n );\r\n\r\n expect(sectionValeur(\"Day\")).toBe(\"31\");\r\n expect(sectionValeur(\"Month\")).toBe(\"12\");\r\n expect(sectionValeur(\"Hours\")).toBe(\"14\");\r\n expect(sectionValeur(\"Minutes\")).toBe(\"30\");\r\n });\r\n\r\n test(\"a day-first stored value is NOT misread as month-first\", () => {\r\n /* `new Date(\"05-03-2026 09:15\")` lit MM-DD en V8 : le 3 mai au lieu du\r\n * 5 mars. Avec le format declare, moment lit bien le 5 mars. C'est\r\n * exactement le cas que S-03 decrit. */\r\n render(\r\n <HoteLecture\r\n valeurInitiale=\"05-03-2026 09:15\"\r\n outputFormat=\"DD-MM-YYYY HH:mm\"\r\n />\r\n );\r\n\r\n expect(sectionValeur(\"Month\")).toBe(\"3\");\r\n expect(sectionValeur(\"Day\")).toBe(\"5\");\r\n expect(sectionValeur(\"Hours\")).toBe(\"9\");\r\n expect(sectionValeur(\"Minutes\")).toBe(\"15\");\r\n });\r\n\r\n test(\"a malformed stored value renders EMPTY, not a guess\", () => {\r\n render(\r\n <HoteLecture\r\n valeurInitiale=\"pas-une-date\"\r\n outputFormat={DATETIME_FORMAT_CHARTER}\r\n />\r\n );\r\n\r\n expect(sectionVide(\"Year\")).toBe(true);\r\n expect(sectionVide(\"Day\")).toBe(true);\r\n expect(sectionVide(\"Hours\")).toBe(true);\r\n });\r\n\r\n test(\"`null` renders empty and does not warn about an uncontrolled input\", () => {\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(<HoteLecture valeurInitiale={null} />);\r\n\r\n expect(sectionVide(\"Year\")).toBe(true);\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\r\ndescribe(\"FormikDateTimePicker — read-only mode\", () => {\r\n test(\"`readOnly` renders display TEXT, not a picker\", () => {\r\n /* Section Read Only Mode : « Inputs are forbidden in read-only mode. » */\r\n render(\r\n <HoteLecture valeurInitiale={new Date(2026, 11, 31, 14, 30)} readOnly />\r\n );\r\n\r\n expect(\r\n screen.queryByRole(\"spinbutton\", { name: \"Year\" })\r\n ).not.toBeInTheDocument();\r\n expect(screen.getByText(/31\\/12\\/2026 14:30/)).toBeInTheDocument();\r\n });\r\n\r\n test(\"an empty value in read-only mode shows the dash, not a blank panel\", () => {\r\n render(<HoteLecture valeurInitiale={null} readOnly />);\r\n expect(screen.getByText(\"—\")).toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FormikDateTimePicker — labelling\", () => {\r\n test(\"the visible label is wired to the field id produced by Field\", () => {\r\n render(<HoteLecture valeurInitiale={null} />);\r\n\r\n /* Une premiere version verifiait aussi, par `document.getElementById`, que\r\n * l'element porteur de cet id existe. Deux raisons de l'avoir retiree :\r\n * `testing-library/no-node-access` l'interdit a juste titre, et surtout\r\n * l'assertion visait a cote. L'element existe bel et bien — c'est l'input\r\n * porteur de valeur — mais MUI X v9 le marque `aria-hidden`, donc son\r\n * existence ne prouve RIEN sur ce qui compte. Voir la note ci-dessous. */\r\n expect(screen.getByText(\"Date de la visite\")).toHaveAttribute(\r\n \"for\",\r\n \"dateVisite\"\r\n );\r\n });\r\n\r\n /**\r\n * CE QUI N'EST PAS ASSERTE ICI, ET POURQUOI — defaut ouvert (G-F, reporte)\r\n *\r\n * Le champ n'a PAS de nom accessible, et ce n'est pas le seul degat : les\r\n * QUATRE attributs d'association poses par `Field` sont inertes.\r\n *\r\n * `DateTimePicker` intercepte bien `id`, `aria-describedby`, `aria-invalid`\r\n * et `aria-required` et les route sur l'`<input>` porteur de valeur (c'est le\r\n * correctif DP-1, ecrit exprès) — mais MUI X v9 marque cet input\r\n * `aria-hidden=\"true\"`. Le champ visible est un `role=\"group\"` de\r\n * `role=\"spinbutton\"` par section. Donc : l'etiquette ne nomme rien\r\n * (R-I.1), l'indication et le message d'erreur ne sont jamais annonces\r\n * (R-I.3, R-4.1), et un champ requis ne se declare pas requis (R-I.2).\r\n *\r\n * DEUX TENTATIVES ONT ECHOUE, notees pour ne pas etre refaites :\r\n * 1. router les attributs par `slotProps.textField.InputProps` — accepte\r\n * par les types, n'atterrit nulle part ;\r\n * 2. passer le pont en mode `group` de `Field` — `Field` emet bien\r\n * `aria-labelledby`, mais rien ne le porte jusqu'au groupe, ET le mode\r\n * `group` supprime le `<label for>` : on perd le clic-sur-libellé sans\r\n * rien gagner.\r\n *\r\n * Figer l'etat actuel par une assertion « le nom est vide » en ferait un\r\n * comportement attendu, ce qu'il n'est pas. Le correctif demande le vrai\r\n * point d'ancrage v9 de `PickersInputBase`, et il touche `DatePicker` ET\r\n * `DateTimePicker` — donc tous les champs de date du portefeuille. Batch 10.\r\n */\r\n});\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var _react = require("@testing-library/react");
5
+ var _formik = require("formik");
6
+ var _Field = require("../components/Field");
7
+ var _FormikDisplay = _interopRequireDefault(require("../components/FormikDisplay"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /**
11
+ * FormikDisplay — largeur semantique (gap G-H, suite) : tests de contrat.
12
+ *
13
+ * MEME LIMITE QUE `FieldWidth.test.tsx`, ET POUR LA MEME RAISON. Le plafond
14
+ * n'est pose qu'a partir du palier `sm`, donc derriere une requete media
15
+ * qu'`emotion` injecte dans la feuille de style et que jsdom ne resout pas :
16
+ * `getComputedStyle` ne rendra jamais la largeur effective. Asserter la
17
+ * largeur ici donnerait un test qui passe sans rien verifier. Le comportement
18
+ * responsive s'observe dans la story, en redimensionnant la fenetre.
19
+ *
20
+ * Ce fichier epingle donc ce qui compte et qui est verifiable :
21
+ *
22
+ * 1. QUE LA TABLE DE LARGEURS EST CELLE DE `Field`, ET NON UNE COPIE. C'est
23
+ * le risque propre a cet ajout : `FormikDisplay` ne passe pas par `Field`,
24
+ * il aurait donc pu redeclarer ses cinq valeurs. Deux tables finiraient
25
+ * par diverger, et un formulaire melant saisie et affichage retomberait
26
+ * dans le « jagged alignment » que le standard interdit — exactement le
27
+ * defaut que cet ajout corrige.
28
+ *
29
+ * 2. QUE `width` NE TOUCHE PAS AU RENDU NI AU NOM ACCESSIBLE. Une contrainte
30
+ * de mise en page passee par `sx` ne doit rien changer a la valeur
31
+ * affichee ni a ce qu'annonce une technologie d'assistance : c'est la
32
+ * regression la plus probable du changement.
33
+ *
34
+ * 3. QUE L'OMISSION RESTE NEUTRE. Sans `width`, les appelants d'avant ne
35
+ * doivent pas bouger.
36
+ */const withFormik = (children, values) => (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
37
+ initialValues: values,
38
+ onSubmit: () => undefined,
39
+ children: () => children
40
+ }));
41
+ describe("FormikDisplay — la table de largeurs est partagee avec Field", () => {
42
+ test("les cinq gabarits sont ceux de `Field`, importes et non recopies", () => {
43
+ /* Ce test echouerait si quelqu'un redeclarait une table locale dans
44
+ * `FormikDisplay` : les valeurs sont epinglees UNE fois, dans
45
+ * `FieldWidth.test.tsx`, et ce fichier verifie que c'est bien la meme
46
+ * source qui est exposee aux deux composants. */
47
+ expect(Object.keys(_Field.FIELD_MAX_WIDTH).sort()).toEqual(["l", "m", "s", "xl", "xs"]);
48
+ });
49
+ });
50
+ describe("FormikDisplay — `width` ne touche ni au rendu ni au nom accessible", () => {
51
+ test("la valeur Formik reste affichee", () => {
52
+ withFormik(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay.default, {
53
+ name: "ice",
54
+ label: "ICE",
55
+ width: "s"
56
+ }), {
57
+ ice: "001234567000089"
58
+ });
59
+ expect(_react.screen.getByText("001234567000089")).toBeInTheDocument();
60
+ });
61
+ test("le libelle et la valeur restent annonces ensemble", () => {
62
+ /* `FormikDisplay` expose sa boite en `role="status"` avec un
63
+ * `aria-label` « libelle : valeur » — c'est ce couple qu'une technologie
64
+ * d'assistance lit, et il ne doit pas dependre du gabarit. */
65
+ withFormik(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay.default, {
66
+ name: "raisonSociale",
67
+ label: "Raison sociale",
68
+ width: "l"
69
+ }), {
70
+ raisonSociale: "SOFRANE SA"
71
+ });
72
+ expect(_react.screen.getByRole("status", {
73
+ name: "Raison sociale : SOFRANE SA"
74
+ })).toBeInTheDocument();
75
+ });
76
+ test("le placeholder de valeur vide est inchange", () => {
77
+ withFormik(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay.default, {
78
+ name: "ice",
79
+ label: "ICE",
80
+ width: "s"
81
+ }), {
82
+ ice: ""
83
+ });
84
+ expect(_react.screen.getByRole("status", {
85
+ name: "ICE : \u2014"
86
+ })).toBeInTheDocument();
87
+ });
88
+ });
89
+ describe("FormikDisplay — l'omission reste neutre", () => {
90
+ test("sans `width`, la valeur et son nom accessible sont identiques", () => {
91
+ withFormik(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay.default, {
92
+ name: "email",
93
+ label: "Email"
94
+ }), {
95
+ email: "operateur@example.ma"
96
+ });
97
+ expect(_react.screen.getByRole("status", {
98
+ name: "Email : operateur@example.ma"
99
+ })).toBeInTheDocument();
100
+ });
101
+ });
102
+ //# sourceMappingURL=FormikDisplayWidth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikDisplayWidth.test.js","names":["require","_react","_formik","_Field","_FormikDisplay","_interopRequireDefault","_jsxRuntime","e","__esModule","default","withFormik","children","values","render","jsx","Formik","initialValues","onSubmit","undefined","describe","test","expect","Object","keys","FIELD_MAX_WIDTH","sort","toEqual","name","label","width","ice","screen","getByText","toBeInTheDocument","raisonSociale","getByRole","email"],"sources":["../../../src/lib/v2/__tests__/FormikDisplayWidth.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport { Formik } from \"formik\";\r\nimport type { ReactNode } from \"react\";\r\nimport { FIELD_MAX_WIDTH } from \"../components/Field\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\n\r\n/**\r\n * FormikDisplay — largeur semantique (gap G-H, suite) : tests de contrat.\r\n *\r\n * MEME LIMITE QUE `FieldWidth.test.tsx`, ET POUR LA MEME RAISON. Le plafond\r\n * n'est pose qu'a partir du palier `sm`, donc derriere une requete media\r\n * qu'`emotion` injecte dans la feuille de style et que jsdom ne resout pas :\r\n * `getComputedStyle` ne rendra jamais la largeur effective. Asserter la\r\n * largeur ici donnerait un test qui passe sans rien verifier. Le comportement\r\n * responsive s'observe dans la story, en redimensionnant la fenetre.\r\n *\r\n * Ce fichier epingle donc ce qui compte et qui est verifiable :\r\n *\r\n * 1. QUE LA TABLE DE LARGEURS EST CELLE DE `Field`, ET NON UNE COPIE. C'est\r\n * le risque propre a cet ajout : `FormikDisplay` ne passe pas par `Field`,\r\n * il aurait donc pu redeclarer ses cinq valeurs. Deux tables finiraient\r\n * par diverger, et un formulaire melant saisie et affichage retomberait\r\n * dans le « jagged alignment » que le standard interdit — exactement le\r\n * defaut que cet ajout corrige.\r\n *\r\n * 2. QUE `width` NE TOUCHE PAS AU RENDU NI AU NOM ACCESSIBLE. Une contrainte\r\n * de mise en page passee par `sx` ne doit rien changer a la valeur\r\n * affichee ni a ce qu'annonce une technologie d'assistance : c'est la\r\n * regression la plus probable du changement.\r\n *\r\n * 3. QUE L'OMISSION RESTE NEUTRE. Sans `width`, les appelants d'avant ne\r\n * doivent pas bouger.\r\n */\r\n\r\nconst withFormik = (children: ReactNode, values: Record<string, unknown>) =>\r\n render(\r\n <Formik initialValues={values} onSubmit={() => undefined}>\r\n {() => children}\r\n </Formik>\r\n );\r\n\r\ndescribe(\"FormikDisplay — la table de largeurs est partagee avec Field\", () => {\r\n test(\"les cinq gabarits sont ceux de `Field`, importes et non recopies\", () => {\r\n /* Ce test echouerait si quelqu'un redeclarait une table locale dans\r\n * `FormikDisplay` : les valeurs sont epinglees UNE fois, dans\r\n * `FieldWidth.test.tsx`, et ce fichier verifie que c'est bien la meme\r\n * source qui est exposee aux deux composants. */\r\n expect(Object.keys(FIELD_MAX_WIDTH).sort()).toEqual([\r\n \"l\",\r\n \"m\",\r\n \"s\",\r\n \"xl\",\r\n \"xs\",\r\n ]);\r\n });\r\n});\r\n\r\ndescribe(\"FormikDisplay — `width` ne touche ni au rendu ni au nom accessible\", () => {\r\n test(\"la valeur Formik reste affichee\", () => {\r\n withFormik(\r\n <FormikDisplay name=\"ice\" label=\"ICE\" width=\"s\" />,\r\n { ice: \"001234567000089\" }\r\n );\r\n\r\n expect(screen.getByText(\"001234567000089\")).toBeInTheDocument();\r\n });\r\n\r\n test(\"le libelle et la valeur restent annonces ensemble\", () => {\r\n /* `FormikDisplay` expose sa boite en `role=\"status\"` avec un\r\n * `aria-label` « libelle : valeur » — c'est ce couple qu'une technologie\r\n * d'assistance lit, et il ne doit pas dependre du gabarit. */\r\n withFormik(\r\n <FormikDisplay name=\"raisonSociale\" label=\"Raison sociale\" width=\"l\" />,\r\n { raisonSociale: \"SOFRANE SA\" }\r\n );\r\n\r\n expect(\r\n screen.getByRole(\"status\", { name: \"Raison sociale : SOFRANE SA\" })\r\n ).toBeInTheDocument();\r\n });\r\n\r\n test(\"le placeholder de valeur vide est inchange\", () => {\r\n withFormik(<FormikDisplay name=\"ice\" label=\"ICE\" width=\"s\" />, { ice: \"\" });\r\n\r\n expect(\r\n screen.getByRole(\"status\", { name: \"ICE : \\u2014\" })\r\n ).toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FormikDisplay — l'omission reste neutre\", () => {\r\n test(\"sans `width`, la valeur et son nom accessible sont identiques\", () => {\r\n withFormik(<FormikDisplay name=\"email\" label=\"Email\" />, {\r\n email: \"operateur@example.ma\",\r\n });\r\n\r\n expect(\r\n screen.getByRole(\"status\", { name: \"Email : operateur@example.ma\" })\r\n ).toBeInTheDocument();\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}