@portnet/ui 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.ToastProvider = ToastProvider;
8
- exports["default"] = void 0;
7
+ exports.default = void 0;
9
8
  exports.useToast = useToast;
10
9
  var React = _interopRequireWildcard(require("react"));
11
10
  var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
@@ -15,24 +14,9 @@ var _InfoOutlined = _interopRequireDefault(require("@mui/icons-material/InfoOutl
15
14
  var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
16
15
  var _mergeLabels = require("../utils/mergeLabels");
17
16
  var _jsxRuntime = require("react/jsx-runtime");
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
25
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
26
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
28
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
29
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
30
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
32
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
33
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
34
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
35
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ /**
36
20
  * Toast - Portnet UI v2
37
21
  *
38
22
  * Charter §03 · Component "Toast". 3 niveaux : Toast / Inline Alert / Banner.
@@ -85,51 +69,53 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
85
69
  * // Or host-managed via id:
86
70
  * const up = toast.progress("…");
87
71
  * toast.dismiss(up.id); // cancel mid-flight
88
- */
89
- var MAX_TOASTS = 3;
72
+ */const MAX_TOASTS = 3;
90
73
 
91
74
  // Auto-dismiss delay after `done()` is called on a progress handle.
92
75
  // Lets the user see the "100% + final message" state before the toast
93
76
  // disappears.
94
- var PROGRESS_DONE_DISMISS_DELAY_MS = 1000;
95
- var DEFAULT_LABELS = Object.freeze({
77
+ const PROGRESS_DONE_DISMISS_DELAY_MS = 1000;
78
+ const DEFAULT_LABELS = Object.freeze({
96
79
  undo: "Annuler",
97
80
  dismiss: "Fermer cette notification"
98
81
  });
99
- var ToastContext = /*#__PURE__*/React.createContext(null);
82
+ const ToastContext = /*#__PURE__*/React.createContext(null);
100
83
  // Separate context so ToastItem can read labels without a value-churn
101
84
  // every time the toasts array updates.
102
- var ToastLabelsContext = /*#__PURE__*/React.createContext(DEFAULT_LABELS);
85
+ const ToastLabelsContext = /*#__PURE__*/React.createContext(DEFAULT_LABELS);
103
86
  function useToast() {
104
- var ctx = React.useContext(ToastContext);
87
+ const ctx = React.useContext(ToastContext);
105
88
  if (!ctx) {
106
89
  throw new Error("[@portnet/ui v2] useToast() must be called inside <ToastProvider>");
107
90
  }
108
91
  return ctx;
109
92
  }
110
- function ToastItem(_ref) {
111
- var toast = _ref.toast,
112
- onDismiss = _ref.onDismiss;
113
- var labels = React.useContext(ToastLabelsContext);
114
- var id = toast.id,
115
- message = toast.message,
116
- variant = toast.variant,
117
- undoCfg = toast.undoCfg,
118
- action = toast.action,
119
- progress = toast.progress;
93
+ function ToastItem({
94
+ toast,
95
+ onDismiss
96
+ }) {
97
+ const labels = React.useContext(ToastLabelsContext);
98
+ const {
99
+ id,
100
+ message,
101
+ variant,
102
+ undoCfg,
103
+ action,
104
+ progress
105
+ } = toast;
120
106
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
121
107
  className: "pui-toast",
122
108
  "data-variant": variant,
123
- children: [variant === "success" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Check["default"], {
109
+ children: [variant === "success" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Check.default, {
124
110
  fontSize: "small",
125
111
  "aria-hidden": "true"
126
- }), variant === "error" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorOutlined["default"], {
112
+ }), variant === "error" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ErrorOutlined.default, {
127
113
  fontSize: "small",
128
114
  "aria-hidden": "true"
129
- }), variant === "warning" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_WarningAmberOutlined["default"], {
115
+ }), variant === "warning" && /*#__PURE__*/(0, _jsxRuntime.jsx)(_WarningAmberOutlined.default, {
130
116
  fontSize: "small",
131
117
  "aria-hidden": "true"
132
- }), (variant === "default" || variant === "info") && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoOutlined["default"], {
118
+ }), (variant === "default" || variant === "info") && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InfoOutlined.default, {
133
119
  fontSize: "small",
134
120
  "aria-hidden": "true"
135
121
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -140,29 +126,25 @@ function ToastItem(_ref) {
140
126
  }), undoCfg && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
141
127
  type: "button",
142
128
  className: "pui-toast-undo",
143
- onClick: function onClick() {
144
- var _undoCfg$onUndo;
145
- (_undoCfg$onUndo = undoCfg.onUndo) === null || _undoCfg$onUndo === void 0 ? void 0 : _undoCfg$onUndo.call(undoCfg);
129
+ onClick: () => {
130
+ undoCfg.onUndo?.();
146
131
  onDismiss(id, true);
147
132
  },
148
133
  children: undoCfg.label
149
134
  }), action && !undoCfg && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
150
135
  type: "button",
151
136
  className: "pui-toast-action",
152
- onClick: function onClick() {
153
- var _action$onClick;
154
- (_action$onClick = action.onClick) === null || _action$onClick === void 0 ? void 0 : _action$onClick.call(action);
137
+ onClick: () => {
138
+ action.onClick?.();
155
139
  onDismiss(id, true);
156
140
  },
157
141
  children: action.label
158
142
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
159
143
  type: "button",
160
144
  className: "pui-toast-dismiss",
161
- onClick: function onClick() {
162
- return onDismiss(id, true);
163
- },
145
+ onClick: () => onDismiss(id, true),
164
146
  "aria-label": labels.dismiss,
165
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {
166
148
  style: {
167
149
  width: 14,
168
150
  height: 14
@@ -171,66 +153,51 @@ function ToastItem(_ref) {
171
153
  }), progress != null && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
172
154
  className: "pui-toast-progress",
173
155
  style: {
174
- width: "".concat(progress, "%")
156
+ width: `${progress}%`
175
157
  },
176
158
  "aria-hidden": "true"
177
159
  })]
178
160
  });
179
161
  }
180
- function ToastProvider(_ref2) {
181
- var children = _ref2.children,
182
- labels = _ref2.labels;
183
- var mergedLabels = React.useMemo(function () {
184
- return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
185
- }, [labels]);
186
- var _React$useState = React.useState([]),
187
- _React$useState2 = _slicedToArray(_React$useState, 2),
188
- toasts = _React$useState2[0],
189
- setToasts = _React$useState2[1];
190
- var timers = React.useRef({});
191
- var triggersRef = React.useRef({});
192
- var idSeq = React.useRef(0);
193
- var nextId = React.useCallback(function () {
194
- return "t".concat(++idSeq.current);
195
- }, []);
196
- var dismiss = React.useCallback(function (id) {
197
- var fromInteraction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
162
+ function ToastProvider({
163
+ children,
164
+ labels
165
+ }) {
166
+ const mergedLabels = React.useMemo(() => (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels), [labels]);
167
+ const [toasts, setToasts] = React.useState([]);
168
+ const timers = React.useRef({});
169
+ const triggersRef = React.useRef({});
170
+ const idSeq = React.useRef(0);
171
+ const nextId = React.useCallback(() => `t${++idSeq.current}`, []);
172
+ const dismiss = React.useCallback((id, fromInteraction = false) => {
198
173
  clearTimeout(timers.current[id]);
199
174
  delete timers.current[id];
200
- var trigger = triggersRef.current[id];
175
+ const trigger = triggersRef.current[id];
201
176
  delete triggersRef.current[id];
202
- setToasts(function (arr) {
203
- return arr.filter(function (t) {
204
- return t.id !== id;
205
- });
206
- });
177
+ setToasts(arr => arr.filter(t => t.id !== id));
207
178
  if (fromInteraction && trigger) {
208
- setTimeout(function () {
209
- var el = trigger;
179
+ setTimeout(() => {
180
+ const el = trigger;
210
181
  if (el !== document.body && typeof el.focus === "function" && document.body.contains(el) && !el.disabled) {
211
182
  el.focus();
212
183
  }
213
184
  }, 0);
214
185
  }
215
186
  }, []);
216
- var push = React.useCallback(function (message) {
217
- var variant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "default";
218
- var undoCfg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
219
- var action = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
220
- var progress = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
221
- var id = nextId();
187
+ const push = React.useCallback((message, variant = "default", undoCfg = null, action = null, progress = null) => {
188
+ const id = nextId();
222
189
  triggersRef.current[id] = typeof document !== "undefined" ? document.activeElement : null;
223
- setToasts(function (arr) {
224
- var next = [].concat(_toConsumableArray(arr), [{
225
- id: id,
226
- message: message,
227
- variant: variant,
228
- undoCfg: undoCfg,
229
- action: action,
230
- progress: progress
231
- }]);
190
+ setToasts(arr => {
191
+ const next = [...arr, {
192
+ id,
193
+ message,
194
+ variant,
195
+ undoCfg,
196
+ action,
197
+ progress
198
+ }];
232
199
  if (next.length > MAX_TOASTS) {
233
- var dropped = next.shift();
200
+ const dropped = next.shift();
234
201
  if (dropped) {
235
202
  clearTimeout(timers.current[dropped.id]);
236
203
  delete timers.current[dropped.id];
@@ -243,10 +210,8 @@ function ToastProvider(_ref2) {
243
210
  // H5 — progress toasts have NO auto-dismiss timer. They are long-
244
211
  // running by definition; the host calls done() or dismiss(id).
245
212
  if (progress == null) {
246
- var duration = undoCfg ? 5000 : variant === "error" ? 5000 : 3500;
247
- timers.current[id] = setTimeout(function () {
248
- return dismiss(id, false);
249
- }, duration);
213
+ const duration = undoCfg ? 5000 : variant === "error" ? 5000 : 3500;
214
+ timers.current[id] = setTimeout(() => dismiss(id, false), duration);
250
215
  }
251
216
  return id;
252
217
  }, [dismiss, nextId]);
@@ -254,98 +219,82 @@ function ToastProvider(_ref2) {
254
219
  // H5 — Internal helper: patch a single toast's fields by id.
255
220
  // setState updater form so concurrent updates don't trample each
256
221
  // other if a host fires update() in tight succession.
257
- var patch = React.useCallback(function (id, fields) {
258
- setToasts(function (arr) {
259
- return arr.map(function (t) {
260
- return t.id === id ? _objectSpread(_objectSpread({}, t), fields) : t;
261
- });
262
- });
222
+ const patch = React.useCallback((id, fields) => {
223
+ setToasts(arr => arr.map(t => t.id === id ? {
224
+ ...t,
225
+ ...fields
226
+ } : t));
263
227
  }, []);
264
- var api = React.useMemo(function () {
265
- var base = function base(message) {
266
- var variant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "default";
267
- return push(message, variant, null, null, null);
268
- };
269
- var undo = function undo(message, onUndo, opts) {
270
- var o = typeof opts === "string" ? {
228
+ const api = React.useMemo(() => {
229
+ const base = (message, variant = "default") => push(message, variant, null, null, null);
230
+ const undo = (message, onUndo, opts) => {
231
+ const o = typeof opts === "string" ? {
271
232
  variant: opts
272
233
  } : opts || {};
273
- var variant = o.variant || "default";
274
- var label = o.label != null ? o.label : mergedLabels.undo;
275
- return push(message, variant, _objectSpread(_objectSpread({}, onUndo !== undefined ? {
276
- onUndo: onUndo
277
- } : {}), {}, {
278
- label: label
279
- }), null, null);
280
- };
281
- var action = function action(message, label, onClick) {
282
- var variant = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "default";
283
- return push(message, variant, null, _objectSpread({
284
- label: label
285
- }, onClick !== undefined ? {
286
- onClick: onClick
287
- } : {}), null);
288
- };
289
- var dismissApi = function dismissApi(id) {
290
- return dismiss(id, false);
234
+ const variant = o.variant || "default";
235
+ const label = o.label != null ? o.label : mergedLabels.undo;
236
+ return push(message, variant, {
237
+ ...(onUndo !== undefined ? {
238
+ onUndo
239
+ } : {}),
240
+ label
241
+ }, null, null);
291
242
  };
243
+ const action = (message, label, onClick, variant = "default") => push(message, variant, null, {
244
+ label,
245
+ ...(onClick !== undefined ? {
246
+ onClick
247
+ } : {})
248
+ }, null);
249
+ const dismissApi = id => dismiss(id, false);
292
250
 
293
251
  // H5 — fluent progress API. Returns { id, update, done } so the
294
252
  // host can drive the toast over its lifetime without juggling
295
253
  // the id manually (though id is also available for explicit
296
254
  // toast.dismiss(id) cancellation).
297
- var progress = function progress(message) {
298
- var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
299
- var variant = opts.variant || "default";
300
- var id = push(message, variant, null, null, 0);
255
+ const progress = (message, opts = {}) => {
256
+ const variant = opts.variant || "default";
257
+ const id = push(message, variant, null, null, 0);
301
258
  return {
302
- id: id,
303
- update: function update(p) {
259
+ id,
260
+ update: p => {
304
261
  // Clamp defensively so a host passing 137 doesn't blow the bar.
305
- var clamped = Math.max(0, Math.min(100, Number(p) || 0));
262
+ const clamped = Math.max(0, Math.min(100, Number(p) || 0));
306
263
  patch(id, {
307
264
  progress: clamped
308
265
  });
309
266
  },
310
- done: function done(finalMessage) {
311
- patch(id, _objectSpread(_objectSpread({
312
- progress: 100
313
- }, finalMessage != null && {
314
- message: finalMessage
315
- }), {}, {
267
+ done: finalMessage => {
268
+ patch(id, {
269
+ progress: 100,
270
+ ...(finalMessage != null && {
271
+ message: finalMessage
272
+ }),
316
273
  variant: "success"
317
- }));
274
+ });
318
275
  // Schedule auto-dismiss after a brief pause so the user sees
319
276
  // the filled bar + final message before the toast disappears.
320
277
  clearTimeout(timers.current[id]);
321
- timers.current[id] = setTimeout(function () {
322
- return dismiss(id, false);
323
- }, PROGRESS_DONE_DISMISS_DELAY_MS);
278
+ timers.current[id] = setTimeout(() => dismiss(id, false), PROGRESS_DONE_DISMISS_DELAY_MS);
324
279
  }
325
280
  };
326
281
  };
327
282
  return Object.assign(base, {
328
- undo: undo,
329
- action: action,
283
+ undo,
284
+ action,
330
285
  dismiss: dismissApi,
331
- progress: progress
286
+ progress
332
287
  });
333
288
  }, [push, dismiss, patch, mergedLabels]);
334
289
 
335
290
  // D6 (Batch 14) — Symmetric ref cleanup on unmount.
336
- React.useEffect(function () {
337
- return function () {
338
- Object.values(timers.current).forEach(clearTimeout);
339
- timers.current = {};
340
- triggersRef.current = {};
341
- };
291
+ React.useEffect(() => () => {
292
+ Object.values(timers.current).forEach(clearTimeout);
293
+ timers.current = {};
294
+ triggersRef.current = {};
342
295
  }, []);
343
- var polite = toasts.filter(function (t) {
344
- return t.variant !== "error";
345
- });
346
- var assertive = toasts.filter(function (t) {
347
- return t.variant === "error";
348
- });
296
+ const polite = toasts.filter(t => t.variant !== "error");
297
+ const assertive = toasts.filter(t => t.variant === "error");
349
298
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastContext.Provider, {
350
299
  value: api,
351
300
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(ToastLabelsContext.Provider, {
@@ -359,27 +308,23 @@ function ToastProvider(_ref2) {
359
308
  "aria-live": "polite",
360
309
  "aria-relevant": "additions text",
361
310
  "aria-atomic": "false",
362
- children: polite.map(function (t) {
363
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastItem, {
364
- toast: t,
365
- onDismiss: dismiss
366
- }, t.id);
367
- })
311
+ children: polite.map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastItem, {
312
+ toast: t,
313
+ onDismiss: dismiss
314
+ }, t.id))
368
315
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
369
316
  role: "alert",
370
317
  "aria-live": "assertive",
371
318
  "aria-relevant": "additions text",
372
319
  "aria-atomic": "false",
373
- children: assertive.map(function (t) {
374
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastItem, {
375
- toast: t,
376
- onDismiss: dismiss
377
- }, t.id);
378
- })
320
+ children: assertive.map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(ToastItem, {
321
+ toast: t,
322
+ onDismiss: dismiss
323
+ }, t.id))
379
324
  })]
380
325
  })]
381
326
  })
382
327
  });
383
328
  }
384
- var _default = exports["default"] = ToastProvider;
329
+ var _default = exports.default = ToastProvider;
385
330
  //# sourceMappingURL=Toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","names":["React","_interopRequireWildcard","require","_Check","_interopRequireDefault","_ErrorOutlined","_WarningAmberOutlined","_InfoOutlined","_Close","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","MAX_TOASTS","PROGRESS_DONE_DISMISS_DELAY_MS","DEFAULT_LABELS","freeze","undo","dismiss","ToastContext","createContext","ToastLabelsContext","useToast","ctx","useContext","Error","ToastItem","_ref","toast","onDismiss","labels","id","message","variant","undoCfg","action","progress","jsxs","className","children","jsx","fontSize","style","flex","type","onClick","_undoCfg$onUndo","onUndo","label","_action$onClick","width","height","concat","ToastProvider","_ref2","mergedLabels","useMemo","mergeLabels","_React$useState","useState","_React$useState2","toasts","setToasts","timers","useRef","triggersRef","idSeq","nextId","useCallback","current","fromInteraction","clearTimeout","trigger","t","setTimeout","el","document","body","focus","contains","disabled","activeElement","dropped","shift","duration","patch","fields","map","api","base","opts","dismissApi","update","p","clamped","Math","max","min","finalMessage","assign","useEffect","values","polite","assertive","Provider","role","_default","exports"],"sources":["../../../src/lib/v2/components/Toast.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport ErrorIcon from \"@mui/icons-material/ErrorOutlined\";\r\nimport WarningIcon from \"@mui/icons-material/WarningAmberOutlined\";\r\nimport InfoIcon from \"@mui/icons-material/InfoOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Toast - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Toast\". 3 niveaux : Toast / Inline Alert / Banner.\r\n *\r\n * R-A.1 - Toast = role=\"status\" aria-live=\"polite\".\r\n * R-A.2 - Erreur bloquante = role=\"alert\" aria-live=\"assertive\".\r\n * R-A.3 - Max 3 toasts simultanés ; pile en bas-centre.\r\n * R-A.4 - Pas de toast pour valider une action utilisateur (succès uniquement).\r\n *\r\n * Implementation note (R-A.1 / R-A.2):\r\n * We render TWO live regions, not one. A single region with\r\n * aria-live=\"polite\" whose children override to aria-live=\"assertive\"\r\n * is unreliable across screen readers - most SRs honour the OUTER\r\n * region's live setting. To ensure assertive errors interrupt as\r\n * required, error toasts go into a dedicated role=\"alert\"\r\n * aria-live=\"assertive\" region, while every other variant goes into\r\n * a role=\"status\" aria-live=\"polite\" region. Both stacks render\r\n * visually at the same anchor.\r\n *\r\n * Landmark wrapping (a11y, axe-core 4.11):\r\n * The outer .pui-toast-host wrapper carries role=\"region\" so the\r\n * aria-label=\"Notifications\" is valid (aria-label is prohibited on\r\n * bare generic <div>s per ARIA 1.2) AND the portal joins the page's\r\n * landmark structure (AT users running landmark-only navigation\r\n * now reach it). The two inner live regions keep their own\r\n * status/alert semantics unchanged.\r\n *\r\n * Focus restoration (R-F.2 spirit):\r\n * When the user dismisses a toast by clicking Undo / Action /\r\n * Close, focus returns to whichever element was focused when\r\n * the toast first appeared. Auto-dismiss (timeout) and host-\r\n * initiated dismissal (api.dismiss(id)) deliberately do NOT\r\n * restore.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <ToastProvider labels={{ undo: \"Undo\", dismiss: \"Dismiss\" }}>\r\n *\r\n * API:\r\n * const toast = useToast();\r\n * toast(\"Sauvegardé.\", \"success\");\r\n * toast.undo(\"Titre supprimé.\", () => restore());\r\n * toast.action(\"Mise à jour disponible.\", \"Recharger\", () => location.reload());\r\n *\r\n * // Long-running progress (Batch 16 / H5):\r\n * const up = toast.progress(\"Téléversement en cours…\");\r\n * up.update(45);\r\n * up.update(90);\r\n * up.done(\"Téléversement terminé.\");\r\n *\r\n * // Or host-managed via id:\r\n * const up = toast.progress(\"…\");\r\n * toast.dismiss(up.id); // cancel mid-flight\r\n */\r\n\r\nconst MAX_TOASTS = 3;\r\n\r\n// Auto-dismiss delay after `done()` is called on a progress handle.\r\n// Lets the user see the \"100% + final message\" state before the toast\r\n// disappears.\r\nconst PROGRESS_DONE_DISMISS_DELAY_MS = 1000;\r\n\r\nexport type ToastVariant = \"success\" | \"error\" | \"warning\" | \"info\" | \"default\";\r\n\r\ninterface UndoCfg {\r\n onUndo?: () => void;\r\n label?: React.ReactNode;\r\n}\r\n\r\ninterface ToastAction {\r\n onClick?: () => void;\r\n label?: React.ReactNode;\r\n}\r\n\r\ninterface ToastData {\r\n id: string;\r\n message?: React.ReactNode;\r\n variant?: ToastVariant;\r\n undoCfg?: UndoCfg | null;\r\n action?: ToastAction | null;\r\n progress?: number | null;\r\n}\r\n\r\ninterface ToastLabels {\r\n undo: string;\r\n dismiss: string;\r\n}\r\n\r\nexport interface ToastProviderLabels {\r\n undo?: string | undefined;\r\n dismiss?: string | undefined;\r\n}\r\n\r\nexport interface ToastUndoOptions {\r\n variant?: ToastVariant | undefined;\r\n label?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface ToastProgressHandle {\r\n id: string;\r\n update: (p: number) => void;\r\n done: (finalMessage?: React.ReactNode) => void;\r\n}\r\n\r\nexport interface ToastApi {\r\n (message: React.ReactNode, variant?: ToastVariant): string;\r\n undo: (message: React.ReactNode, onUndo?: () => void, opts?: ToastUndoOptions | ToastVariant) => string;\r\n action: (message: React.ReactNode, label: React.ReactNode, onClick?: () => void, variant?: ToastVariant) => string;\r\n dismiss: (id: string) => void;\r\n progress: (message: React.ReactNode, opts?: { variant?: ToastVariant }) => ToastProgressHandle;\r\n}\r\n\r\nconst DEFAULT_LABELS: ToastLabels = Object.freeze({\r\n undo: \"Annuler\",\r\n dismiss: \"Fermer cette notification\",\r\n});\r\n\r\nconst ToastContext = React.createContext<ToastApi | null>(null);\r\n// Separate context so ToastItem can read labels without a value-churn\r\n// every time the toasts array updates.\r\nconst ToastLabelsContext = React.createContext<ToastLabels>(DEFAULT_LABELS);\r\n\r\nexport function useToast(): ToastApi {\r\n const ctx = React.useContext(ToastContext);\r\n if (!ctx) {\r\n throw new Error(\"[@portnet/ui v2] useToast() must be called inside <ToastProvider>\");\r\n }\r\n return ctx;\r\n}\r\n\r\ninterface ToastItemProps {\r\n toast: ToastData;\r\n onDismiss: (id: string, fromInteraction?: boolean) => void;\r\n}\r\n\r\nfunction ToastItem({ toast, onDismiss }: ToastItemProps) {\r\n const labels = React.useContext(ToastLabelsContext);\r\n const { id, message, variant, undoCfg, action, progress } = toast;\r\n return (\r\n <div className=\"pui-toast\" data-variant={variant}>\r\n {variant === \"success\" && <CheckIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {variant === \"error\" && <ErrorIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {variant === \"warning\" && <WarningIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {(variant === \"default\" || variant === \"info\") && <InfoIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n <span style={{ flex: 1 }}>{message}</span>\r\n {undoCfg && (\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-undo\"\r\n onClick={() => { undoCfg.onUndo?.(); onDismiss(id, true); }}\r\n >\r\n {undoCfg.label}\r\n </button>\r\n )}\r\n {action && !undoCfg && (\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-action\"\r\n onClick={() => { action.onClick?.(); onDismiss(id, true); }}\r\n >\r\n {action.label}\r\n </button>\r\n )}\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-dismiss\"\r\n onClick={() => onDismiss(id, true)}\r\n aria-label={labels.dismiss}\r\n >\r\n <CloseIcon style={{ width: 14, height: 14 }} />\r\n </button>\r\n {/* H5 — Progress bar at the bottom of the toast. Renders only\r\n for progress toasts (progress != null). The class is\r\n declared in base.css; uses currentColor so it adapts to\r\n every variant background (white-ish on the dark variants). */}\r\n {progress != null && (\r\n <div\r\n className=\"pui-toast-progress\"\r\n style={{ width: `${progress}%` }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport interface ToastProviderProps {\r\n children?: React.ReactNode | undefined;\r\n labels?: ToastProviderLabels | undefined;\r\n}\r\n\r\nexport function ToastProvider({ children, labels }: ToastProviderProps) {\r\n const mergedLabels = React.useMemo<ToastLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n const [toasts, setToasts] = React.useState<ToastData[]>([]);\r\n const timers = React.useRef<Record<string, ReturnType<typeof setTimeout>>>({});\r\n const triggersRef = React.useRef<Record<string, Element | null>>({});\r\n\r\n const idSeq = React.useRef(0);\r\n const nextId = React.useCallback(() => `t${++idSeq.current}`, []);\r\n\r\n const dismiss = React.useCallback((id: string, fromInteraction = false) => {\r\n clearTimeout(timers.current[id]);\r\n delete timers.current[id];\r\n\r\n const trigger = triggersRef.current[id];\r\n delete triggersRef.current[id];\r\n\r\n setToasts((arr) => arr.filter((t) => t.id !== id));\r\n\r\n if (fromInteraction && trigger) {\r\n setTimeout(() => {\r\n const el = trigger as HTMLElement & { disabled?: boolean };\r\n if (\r\n el !== document.body &&\r\n typeof el.focus === \"function\" &&\r\n document.body.contains(el) &&\r\n !el.disabled\r\n ) {\r\n el.focus();\r\n }\r\n }, 0);\r\n }\r\n }, []);\r\n\r\n const push = React.useCallback((\r\n message: React.ReactNode,\r\n variant: ToastVariant = \"default\",\r\n undoCfg: UndoCfg | null = null,\r\n action: ToastAction | null = null,\r\n progress: number | null = null\r\n ): string => {\r\n const id = nextId();\r\n\r\n triggersRef.current[id] = (typeof document !== \"undefined\")\r\n ? document.activeElement\r\n : null;\r\n\r\n setToasts((arr) => {\r\n const next = [...arr, { id, message, variant, undoCfg, action, progress }];\r\n if (next.length > MAX_TOASTS) {\r\n const dropped = next.shift();\r\n if (dropped) {\r\n clearTimeout(timers.current[dropped.id]);\r\n delete timers.current[dropped.id];\r\n delete triggersRef.current[dropped.id];\r\n }\r\n }\r\n return next;\r\n });\r\n\r\n // H5 — progress toasts have NO auto-dismiss timer. They are long-\r\n // running by definition; the host calls done() or dismiss(id).\r\n if (progress == null) {\r\n const duration = undoCfg ? 5000 : variant === \"error\" ? 5000 : 3500;\r\n timers.current[id] = setTimeout(() => dismiss(id, false), duration);\r\n }\r\n return id;\r\n }, [dismiss, nextId]);\r\n\r\n // H5 — Internal helper: patch a single toast's fields by id.\r\n // setState updater form so concurrent updates don't trample each\r\n // other if a host fires update() in tight succession.\r\n const patch = React.useCallback((id: string, fields: Partial<ToastData>) => {\r\n setToasts((arr) => arr.map((t) => (t.id === id ? { ...t, ...fields } : t)));\r\n }, []);\r\n\r\n const api = React.useMemo<ToastApi>(() => {\r\n const base = (message: React.ReactNode, variant: ToastVariant = \"default\"): string =>\r\n push(message, variant, null, null, null);\r\n\r\n const undo: ToastApi[\"undo\"] = (message, onUndo, opts) => {\r\n const o: ToastUndoOptions = typeof opts === \"string\" ? { variant: opts } : (opts || {});\r\n const variant = o.variant || \"default\";\r\n const label = o.label != null ? o.label : mergedLabels.undo;\r\n return push(message, variant, { ...(onUndo !== undefined ? { onUndo } : {}), label }, null, null);\r\n };\r\n\r\n const action: ToastApi[\"action\"] = (message, label, onClick, variant = \"default\") =>\r\n push(message, variant, null, { label, ...(onClick !== undefined ? { onClick } : {}) }, null);\r\n\r\n const dismissApi: ToastApi[\"dismiss\"] = (id) => dismiss(id, false);\r\n\r\n // H5 — fluent progress API. Returns { id, update, done } so the\r\n // host can drive the toast over its lifetime without juggling\r\n // the id manually (though id is also available for explicit\r\n // toast.dismiss(id) cancellation).\r\n const progress: ToastApi[\"progress\"] = (message, opts = {}) => {\r\n const variant = opts.variant || \"default\";\r\n const id = push(message, variant, null, null, 0);\r\n return {\r\n id,\r\n update: (p) => {\r\n // Clamp defensively so a host passing 137 doesn't blow the bar.\r\n const clamped = Math.max(0, Math.min(100, Number(p) || 0));\r\n patch(id, { progress: clamped });\r\n },\r\n done: (finalMessage) => {\r\n patch(id, {\r\n progress: 100,\r\n ...(finalMessage != null && { message: finalMessage }),\r\n variant: \"success\",\r\n });\r\n // Schedule auto-dismiss after a brief pause so the user sees\r\n // the filled bar + final message before the toast disappears.\r\n clearTimeout(timers.current[id]);\r\n timers.current[id] = setTimeout(\r\n () => dismiss(id, false),\r\n PROGRESS_DONE_DISMISS_DELAY_MS\r\n );\r\n },\r\n };\r\n };\r\n\r\n return Object.assign(base, { undo, action, dismiss: dismissApi, progress });\r\n }, [push, dismiss, patch, mergedLabels]);\r\n\r\n // D6 (Batch 14) — Symmetric ref cleanup on unmount.\r\n React.useEffect(() => () => {\r\n Object.values(timers.current).forEach(clearTimeout);\r\n timers.current = {};\r\n triggersRef.current = {};\r\n }, []);\r\n\r\n const polite = toasts.filter((t) => t.variant !== \"error\");\r\n const assertive = toasts.filter((t) => t.variant === \"error\");\r\n\r\n return (\r\n <ToastContext.Provider value={api}>\r\n <ToastLabelsContext.Provider value={mergedLabels}>\r\n {children}\r\n {/* role=\"region\" promotes the wrapper from generic to a\r\n landmark so:\r\n (a) the aria-label is valid (ARIA 1.2 prohibits\r\n aria-label on generic elements — axe-core 4.11\r\n rule `aria-prohibited-attr`);\r\n (b) the portal joins the page's landmark structure\r\n and is reachable via SR landmark-only navigation\r\n (axe-core rule `region`).\r\n The inner status/alert regions keep their own\r\n live-region semantics. */}\r\n <div className=\"pui-toast-host\" role=\"region\" aria-label=\"Notifications\">\r\n <div role=\"status\" aria-live=\"polite\" aria-relevant=\"additions text\" aria-atomic=\"false\">\r\n {polite.map((t) => <ToastItem key={t.id} toast={t} onDismiss={dismiss} />)}\r\n </div>\r\n <div role=\"alert\" aria-live=\"assertive\" aria-relevant=\"additions text\" aria-atomic=\"false\">\r\n {assertive.map((t) => <ToastItem key={t.id} toast={t} onDismiss={dismiss} />)}\r\n </div>\r\n </div>\r\n </ToastLabelsContext.Provider>\r\n </ToastContext.Provider>\r\n );\r\n}\r\n\r\nexport default ToastProvider;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Toast.js","names":["React","_interopRequireWildcard","require","_Check","_interopRequireDefault","_ErrorOutlined","_WarningAmberOutlined","_InfoOutlined","_Close","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MAX_TOASTS","PROGRESS_DONE_DISMISS_DELAY_MS","DEFAULT_LABELS","freeze","undo","dismiss","ToastContext","createContext","ToastLabelsContext","useToast","ctx","useContext","Error","ToastItem","toast","onDismiss","labels","id","message","variant","undoCfg","action","progress","jsxs","className","children","jsx","fontSize","style","flex","type","onClick","onUndo","label","width","height","ToastProvider","mergedLabels","useMemo","mergeLabels","toasts","setToasts","useState","timers","useRef","triggersRef","idSeq","nextId","useCallback","current","fromInteraction","clearTimeout","trigger","arr","filter","setTimeout","el","document","body","focus","contains","disabled","push","activeElement","next","length","dropped","shift","duration","patch","fields","map","api","base","opts","undefined","dismissApi","update","p","clamped","Math","max","min","Number","done","finalMessage","assign","useEffect","values","forEach","polite","assertive","Provider","value","role","_default","exports"],"sources":["../../../src/lib/v2/components/Toast.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport ErrorIcon from \"@mui/icons-material/ErrorOutlined\";\r\nimport WarningIcon from \"@mui/icons-material/WarningAmberOutlined\";\r\nimport InfoIcon from \"@mui/icons-material/InfoOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Toast - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Toast\". 3 niveaux : Toast / Inline Alert / Banner.\r\n *\r\n * R-A.1 - Toast = role=\"status\" aria-live=\"polite\".\r\n * R-A.2 - Erreur bloquante = role=\"alert\" aria-live=\"assertive\".\r\n * R-A.3 - Max 3 toasts simultanés ; pile en bas-centre.\r\n * R-A.4 - Pas de toast pour valider une action utilisateur (succès uniquement).\r\n *\r\n * Implementation note (R-A.1 / R-A.2):\r\n * We render TWO live regions, not one. A single region with\r\n * aria-live=\"polite\" whose children override to aria-live=\"assertive\"\r\n * is unreliable across screen readers - most SRs honour the OUTER\r\n * region's live setting. To ensure assertive errors interrupt as\r\n * required, error toasts go into a dedicated role=\"alert\"\r\n * aria-live=\"assertive\" region, while every other variant goes into\r\n * a role=\"status\" aria-live=\"polite\" region. Both stacks render\r\n * visually at the same anchor.\r\n *\r\n * Landmark wrapping (a11y, axe-core 4.11):\r\n * The outer .pui-toast-host wrapper carries role=\"region\" so the\r\n * aria-label=\"Notifications\" is valid (aria-label is prohibited on\r\n * bare generic <div>s per ARIA 1.2) AND the portal joins the page's\r\n * landmark structure (AT users running landmark-only navigation\r\n * now reach it). The two inner live regions keep their own\r\n * status/alert semantics unchanged.\r\n *\r\n * Focus restoration (R-F.2 spirit):\r\n * When the user dismisses a toast by clicking Undo / Action /\r\n * Close, focus returns to whichever element was focused when\r\n * the toast first appeared. Auto-dismiss (timeout) and host-\r\n * initiated dismissal (api.dismiss(id)) deliberately do NOT\r\n * restore.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <ToastProvider labels={{ undo: \"Undo\", dismiss: \"Dismiss\" }}>\r\n *\r\n * API:\r\n * const toast = useToast();\r\n * toast(\"Sauvegardé.\", \"success\");\r\n * toast.undo(\"Titre supprimé.\", () => restore());\r\n * toast.action(\"Mise à jour disponible.\", \"Recharger\", () => location.reload());\r\n *\r\n * // Long-running progress (Batch 16 / H5):\r\n * const up = toast.progress(\"Téléversement en cours…\");\r\n * up.update(45);\r\n * up.update(90);\r\n * up.done(\"Téléversement terminé.\");\r\n *\r\n * // Or host-managed via id:\r\n * const up = toast.progress(\"…\");\r\n * toast.dismiss(up.id); // cancel mid-flight\r\n */\r\n\r\nconst MAX_TOASTS = 3;\r\n\r\n// Auto-dismiss delay after `done()` is called on a progress handle.\r\n// Lets the user see the \"100% + final message\" state before the toast\r\n// disappears.\r\nconst PROGRESS_DONE_DISMISS_DELAY_MS = 1000;\r\n\r\nexport type ToastVariant = \"success\" | \"error\" | \"warning\" | \"info\" | \"default\";\r\n\r\ninterface UndoCfg {\r\n onUndo?: () => void;\r\n label?: React.ReactNode;\r\n}\r\n\r\ninterface ToastAction {\r\n onClick?: () => void;\r\n label?: React.ReactNode;\r\n}\r\n\r\ninterface ToastData {\r\n id: string;\r\n message?: React.ReactNode;\r\n variant?: ToastVariant;\r\n undoCfg?: UndoCfg | null;\r\n action?: ToastAction | null;\r\n progress?: number | null;\r\n}\r\n\r\ninterface ToastLabels {\r\n undo: string;\r\n dismiss: string;\r\n}\r\n\r\nexport interface ToastProviderLabels {\r\n undo?: string | undefined;\r\n dismiss?: string | undefined;\r\n}\r\n\r\nexport interface ToastUndoOptions {\r\n variant?: ToastVariant | undefined;\r\n label?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface ToastProgressHandle {\r\n id: string;\r\n update: (p: number) => void;\r\n done: (finalMessage?: React.ReactNode) => void;\r\n}\r\n\r\nexport interface ToastApi {\r\n (message: React.ReactNode, variant?: ToastVariant): string;\r\n undo: (message: React.ReactNode, onUndo?: () => void, opts?: ToastUndoOptions | ToastVariant) => string;\r\n action: (message: React.ReactNode, label: React.ReactNode, onClick?: () => void, variant?: ToastVariant) => string;\r\n dismiss: (id: string) => void;\r\n progress: (message: React.ReactNode, opts?: { variant?: ToastVariant }) => ToastProgressHandle;\r\n}\r\n\r\nconst DEFAULT_LABELS: ToastLabels = Object.freeze({\r\n undo: \"Annuler\",\r\n dismiss: \"Fermer cette notification\",\r\n});\r\n\r\nconst ToastContext = React.createContext<ToastApi | null>(null);\r\n// Separate context so ToastItem can read labels without a value-churn\r\n// every time the toasts array updates.\r\nconst ToastLabelsContext = React.createContext<ToastLabels>(DEFAULT_LABELS);\r\n\r\nexport function useToast(): ToastApi {\r\n const ctx = React.useContext(ToastContext);\r\n if (!ctx) {\r\n throw new Error(\"[@portnet/ui v2] useToast() must be called inside <ToastProvider>\");\r\n }\r\n return ctx;\r\n}\r\n\r\ninterface ToastItemProps {\r\n toast: ToastData;\r\n onDismiss: (id: string, fromInteraction?: boolean) => void;\r\n}\r\n\r\nfunction ToastItem({ toast, onDismiss }: ToastItemProps) {\r\n const labels = React.useContext(ToastLabelsContext);\r\n const { id, message, variant, undoCfg, action, progress } = toast;\r\n return (\r\n <div className=\"pui-toast\" data-variant={variant}>\r\n {variant === \"success\" && <CheckIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {variant === \"error\" && <ErrorIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {variant === \"warning\" && <WarningIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n {(variant === \"default\" || variant === \"info\") && <InfoIcon fontSize=\"small\" aria-hidden=\"true\" />}\r\n <span style={{ flex: 1 }}>{message}</span>\r\n {undoCfg && (\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-undo\"\r\n onClick={() => { undoCfg.onUndo?.(); onDismiss(id, true); }}\r\n >\r\n {undoCfg.label}\r\n </button>\r\n )}\r\n {action && !undoCfg && (\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-action\"\r\n onClick={() => { action.onClick?.(); onDismiss(id, true); }}\r\n >\r\n {action.label}\r\n </button>\r\n )}\r\n <button\r\n type=\"button\"\r\n className=\"pui-toast-dismiss\"\r\n onClick={() => onDismiss(id, true)}\r\n aria-label={labels.dismiss}\r\n >\r\n <CloseIcon style={{ width: 14, height: 14 }} />\r\n </button>\r\n {/* H5 — Progress bar at the bottom of the toast. Renders only\r\n for progress toasts (progress != null). The class is\r\n declared in base.css; uses currentColor so it adapts to\r\n every variant background (white-ish on the dark variants). */}\r\n {progress != null && (\r\n <div\r\n className=\"pui-toast-progress\"\r\n style={{ width: `${progress}%` }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport interface ToastProviderProps {\r\n children?: React.ReactNode | undefined;\r\n labels?: ToastProviderLabels | undefined;\r\n}\r\n\r\nexport function ToastProvider({ children, labels }: ToastProviderProps) {\r\n const mergedLabels = React.useMemo<ToastLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n const [toasts, setToasts] = React.useState<ToastData[]>([]);\r\n const timers = React.useRef<Record<string, ReturnType<typeof setTimeout>>>({});\r\n const triggersRef = React.useRef<Record<string, Element | null>>({});\r\n\r\n const idSeq = React.useRef(0);\r\n const nextId = React.useCallback(() => `t${++idSeq.current}`, []);\r\n\r\n const dismiss = React.useCallback((id: string, fromInteraction = false) => {\r\n clearTimeout(timers.current[id]);\r\n delete timers.current[id];\r\n\r\n const trigger = triggersRef.current[id];\r\n delete triggersRef.current[id];\r\n\r\n setToasts((arr) => arr.filter((t) => t.id !== id));\r\n\r\n if (fromInteraction && trigger) {\r\n setTimeout(() => {\r\n const el = trigger as HTMLElement & { disabled?: boolean };\r\n if (\r\n el !== document.body &&\r\n typeof el.focus === \"function\" &&\r\n document.body.contains(el) &&\r\n !el.disabled\r\n ) {\r\n el.focus();\r\n }\r\n }, 0);\r\n }\r\n }, []);\r\n\r\n const push = React.useCallback((\r\n message: React.ReactNode,\r\n variant: ToastVariant = \"default\",\r\n undoCfg: UndoCfg | null = null,\r\n action: ToastAction | null = null,\r\n progress: number | null = null\r\n ): string => {\r\n const id = nextId();\r\n\r\n triggersRef.current[id] = (typeof document !== \"undefined\")\r\n ? document.activeElement\r\n : null;\r\n\r\n setToasts((arr) => {\r\n const next = [...arr, { id, message, variant, undoCfg, action, progress }];\r\n if (next.length > MAX_TOASTS) {\r\n const dropped = next.shift();\r\n if (dropped) {\r\n clearTimeout(timers.current[dropped.id]);\r\n delete timers.current[dropped.id];\r\n delete triggersRef.current[dropped.id];\r\n }\r\n }\r\n return next;\r\n });\r\n\r\n // H5 — progress toasts have NO auto-dismiss timer. They are long-\r\n // running by definition; the host calls done() or dismiss(id).\r\n if (progress == null) {\r\n const duration = undoCfg ? 5000 : variant === \"error\" ? 5000 : 3500;\r\n timers.current[id] = setTimeout(() => dismiss(id, false), duration);\r\n }\r\n return id;\r\n }, [dismiss, nextId]);\r\n\r\n // H5 — Internal helper: patch a single toast's fields by id.\r\n // setState updater form so concurrent updates don't trample each\r\n // other if a host fires update() in tight succession.\r\n const patch = React.useCallback((id: string, fields: Partial<ToastData>) => {\r\n setToasts((arr) => arr.map((t) => (t.id === id ? { ...t, ...fields } : t)));\r\n }, []);\r\n\r\n const api = React.useMemo<ToastApi>(() => {\r\n const base = (message: React.ReactNode, variant: ToastVariant = \"default\"): string =>\r\n push(message, variant, null, null, null);\r\n\r\n const undo: ToastApi[\"undo\"] = (message, onUndo, opts) => {\r\n const o: ToastUndoOptions = typeof opts === \"string\" ? { variant: opts } : (opts || {});\r\n const variant = o.variant || \"default\";\r\n const label = o.label != null ? o.label : mergedLabels.undo;\r\n return push(message, variant, { ...(onUndo !== undefined ? { onUndo } : {}), label }, null, null);\r\n };\r\n\r\n const action: ToastApi[\"action\"] = (message, label, onClick, variant = \"default\") =>\r\n push(message, variant, null, { label, ...(onClick !== undefined ? { onClick } : {}) }, null);\r\n\r\n const dismissApi: ToastApi[\"dismiss\"] = (id) => dismiss(id, false);\r\n\r\n // H5 — fluent progress API. Returns { id, update, done } so the\r\n // host can drive the toast over its lifetime without juggling\r\n // the id manually (though id is also available for explicit\r\n // toast.dismiss(id) cancellation).\r\n const progress: ToastApi[\"progress\"] = (message, opts = {}) => {\r\n const variant = opts.variant || \"default\";\r\n const id = push(message, variant, null, null, 0);\r\n return {\r\n id,\r\n update: (p) => {\r\n // Clamp defensively so a host passing 137 doesn't blow the bar.\r\n const clamped = Math.max(0, Math.min(100, Number(p) || 0));\r\n patch(id, { progress: clamped });\r\n },\r\n done: (finalMessage) => {\r\n patch(id, {\r\n progress: 100,\r\n ...(finalMessage != null && { message: finalMessage }),\r\n variant: \"success\",\r\n });\r\n // Schedule auto-dismiss after a brief pause so the user sees\r\n // the filled bar + final message before the toast disappears.\r\n clearTimeout(timers.current[id]);\r\n timers.current[id] = setTimeout(\r\n () => dismiss(id, false),\r\n PROGRESS_DONE_DISMISS_DELAY_MS\r\n );\r\n },\r\n };\r\n };\r\n\r\n return Object.assign(base, { undo, action, dismiss: dismissApi, progress });\r\n }, [push, dismiss, patch, mergedLabels]);\r\n\r\n // D6 (Batch 14) — Symmetric ref cleanup on unmount.\r\n React.useEffect(() => () => {\r\n Object.values(timers.current).forEach(clearTimeout);\r\n timers.current = {};\r\n triggersRef.current = {};\r\n }, []);\r\n\r\n const polite = toasts.filter((t) => t.variant !== \"error\");\r\n const assertive = toasts.filter((t) => t.variant === \"error\");\r\n\r\n return (\r\n <ToastContext.Provider value={api}>\r\n <ToastLabelsContext.Provider value={mergedLabels}>\r\n {children}\r\n {/* role=\"region\" promotes the wrapper from generic to a\r\n landmark so:\r\n (a) the aria-label is valid (ARIA 1.2 prohibits\r\n aria-label on generic elements — axe-core 4.11\r\n rule `aria-prohibited-attr`);\r\n (b) the portal joins the page's landmark structure\r\n and is reachable via SR landmark-only navigation\r\n (axe-core rule `region`).\r\n The inner status/alert regions keep their own\r\n live-region semantics. */}\r\n <div className=\"pui-toast-host\" role=\"region\" aria-label=\"Notifications\">\r\n <div role=\"status\" aria-live=\"polite\" aria-relevant=\"additions text\" aria-atomic=\"false\">\r\n {polite.map((t) => <ToastItem key={t.id} toast={t} onDismiss={dismiss} />)}\r\n </div>\r\n <div role=\"alert\" aria-live=\"assertive\" aria-relevant=\"additions text\" aria-atomic=\"false\">\r\n {assertive.map((t) => <ToastItem key={t.id} toast={t} onDismiss={dismiss} />)}\r\n </div>\r\n </div>\r\n </ToastLabelsContext.Provider>\r\n </ToastContext.Provider>\r\n );\r\n}\r\n\r\nexport default ToastProvider;\r\n"],"mappings":"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","ignoreList":[]}