@portnet/ui 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
9
  var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
@@ -19,20 +18,9 @@ var _SaveFilterDialog = _interopRequireDefault(require("./SaveFilterDialog"));
19
18
  var _savedFilters = require("../personalization/capabilities/savedFilters");
20
19
  var _mergeLabels = require("../utils/mergeLabels");
21
20
  var _jsxRuntime = require("react/jsx-runtime");
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
- 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); }
24
- 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; }
25
- 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; }
26
- 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; }
27
- 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; }
28
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
29
- 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); }
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; } /**
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ 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); }
23
+ /**
36
24
  * SavedFiltersMenu - Portnet UI v2 (pattern)
37
25
  *
38
26
  * Turn-key dropdown for the Saved Filters framework. Connected to the
@@ -62,7 +50,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
62
50
  * @mui/icons-material@9 republish used by the consuming apps; the control's
63
51
  * aria-label and --danger hover colour keep the delete semantics intact.
64
52
  */
65
- var DEFAULT_LABELS = Object.freeze({
53
+
54
+ const DEFAULT_LABELS = Object.freeze({
66
55
  button: "Filtres enregistrés",
67
56
  title: "Filtres enregistrés",
68
57
  noSavedFilters: "Aucun filtre enregistré",
@@ -70,9 +59,9 @@ var DEFAULT_LABELS = Object.freeze({
70
59
  apply: "Appliquer le filtre",
71
60
  setDefault: "Définir par défaut",
72
61
  unsetDefault: "Retirer le filtre par défaut",
73
- "delete": "Supprimer le filtre",
62
+ delete: "Supprimer le filtre",
74
63
  defaultBadge: "Par défaut",
75
- countSuffix: function countSuffix(n) {
64
+ countSuffix: function (n) {
76
65
  return n + " enregistré" + (n > 1 ? "s" : "");
77
66
  },
78
67
  // Forwarded to SaveFilterDialog:
@@ -90,19 +79,19 @@ var DEFAULT_LABELS = Object.freeze({
90
79
 
91
80
  /* ── Hoisted sx (D5) ──────────────────────────────────────────────── */
92
81
 
93
- var POPOVER_PAPER_SX = Object.freeze({
82
+ const POPOVER_PAPER_SX = Object.freeze({
94
83
  borderRadius: "var(--r-lg)",
95
84
  boxShadow: "var(--shadow-md)",
96
85
  border: "1px solid var(--border)"
97
86
  });
98
- var POPOVER_BODY_SX = Object.freeze({
87
+ const POPOVER_BODY_SX = Object.freeze({
99
88
  padding: "var(--s-3) var(--s-4)",
100
89
  minWidth: 280,
101
90
  display: "flex",
102
91
  flexDirection: "column",
103
92
  gap: "var(--s-1)"
104
93
  });
105
- var POPOVER_TITLE_SX = Object.freeze({
94
+ const POPOVER_TITLE_SX = Object.freeze({
106
95
  fontSize: "var(--text-xs)",
107
96
  fontWeight: "var(--fw-semibold)",
108
97
  color: "var(--fg-muted)",
@@ -112,19 +101,19 @@ var POPOVER_TITLE_SX = Object.freeze({
112
101
  borderBottom: "1px solid var(--border)",
113
102
  marginBottom: "var(--s-2)"
114
103
  });
115
- var LIST_SX = Object.freeze({
104
+ const LIST_SX = Object.freeze({
116
105
  display: "flex",
117
106
  flexDirection: "column",
118
107
  gap: "var(--s-1)",
119
108
  maxHeight: 320,
120
109
  overflowY: "auto"
121
110
  });
122
- var ROW_SX = Object.freeze({
111
+ const ROW_SX = Object.freeze({
123
112
  display: "flex",
124
113
  alignItems: "center",
125
114
  gap: "var(--s-1)"
126
115
  });
127
- var APPLY_BTN_SX = Object.freeze({
116
+ const APPLY_BTN_SX = Object.freeze({
128
117
  display: "flex",
129
118
  alignItems: "center",
130
119
  gap: "var(--s-2)",
@@ -147,14 +136,14 @@ var APPLY_BTN_SX = Object.freeze({
147
136
  boxShadow: "var(--shadow-focus)"
148
137
  }
149
138
  });
150
- var APPLY_NAME_SX = Object.freeze({
139
+ const APPLY_NAME_SX = Object.freeze({
151
140
  flex: 1,
152
141
  minWidth: 0,
153
142
  overflow: "hidden",
154
143
  textOverflow: "ellipsis",
155
144
  whiteSpace: "nowrap"
156
145
  });
157
- var DEFAULT_BADGE_SX = Object.freeze({
146
+ const DEFAULT_BADGE_SX = Object.freeze({
158
147
  flexShrink: 0,
159
148
  background: "var(--accent)",
160
149
  color: "var(--accent-fg)",
@@ -164,7 +153,7 @@ var DEFAULT_BADGE_SX = Object.freeze({
164
153
  fontWeight: "var(--fw-semibold)",
165
154
  lineHeight: 1.4
166
155
  });
167
- var BADGE_SX = Object.freeze({
156
+ const BADGE_SX = Object.freeze({
168
157
  marginInlineStart: "var(--s-1)",
169
158
  background: "var(--accent)",
170
159
  color: "var(--accent-fg)",
@@ -174,25 +163,25 @@ var BADGE_SX = Object.freeze({
174
163
  fontWeight: "var(--fw-semibold)",
175
164
  lineHeight: 1.4
176
165
  });
177
- var EMPTY_SX = Object.freeze({
166
+ const EMPTY_SX = Object.freeze({
178
167
  fontSize: "var(--text-sm)",
179
168
  color: "var(--fg-subtle)",
180
169
  padding: "var(--s-3) var(--s-2)",
181
170
  textAlign: "center"
182
171
  });
183
- var POPOVER_FOOTER_SX = Object.freeze({
172
+ const POPOVER_FOOTER_SX = Object.freeze({
184
173
  display: "flex",
185
174
  paddingTop: "var(--s-2)",
186
175
  marginTop: "var(--s-2)",
187
176
  borderTop: "1px solid var(--border)"
188
177
  });
189
- var ACTION_BTN_SX = Object.freeze({
178
+ const ACTION_BTN_SX = Object.freeze({
190
179
  color: "var(--fg-subtle)",
191
180
  "&.Mui-focusVisible": {
192
181
  boxShadow: "var(--shadow-focus)"
193
182
  }
194
183
  });
195
- var DELETE_BTN_SX = Object.freeze({
184
+ const DELETE_BTN_SX = Object.freeze({
196
185
  color: "var(--fg-subtle)",
197
186
  "&:hover": {
198
187
  color: "var(--danger)"
@@ -202,66 +191,58 @@ var DELETE_BTN_SX = Object.freeze({
202
191
  }
203
192
  });
204
193
  function SavedFiltersMenu(props) {
205
- var resourceKey = props.resourceKey,
206
- currentCriteria = props.currentCriteria,
207
- onApply = props.onApply,
208
- _props$canSave = props.canSave,
209
- canSave = _props$canSave === void 0 ? true : _props$canSave,
210
- _props$allowDefault = props.allowDefault,
211
- allowDefault = _props$allowDefault === void 0 ? true : _props$allowDefault,
212
- _props$allowShared = props.allowShared,
213
- allowShared = _props$allowShared === void 0 ? false : _props$allowShared,
214
- _props$align = props.align,
215
- align = _props$align === void 0 ? "right" : _props$align,
216
- labels = props.labels;
217
- var L = React.useMemo(function () {
218
- return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
219
- }, [labels]);
220
- var _useSavedFilters = (0, _savedFilters.useSavedFilters)(resourceKey),
221
- filters = _useSavedFilters.filters,
222
- save = _useSavedFilters.save,
223
- remove = _useSavedFilters.remove,
224
- setDefault = _useSavedFilters.setDefault,
225
- clearDefault = _useSavedFilters.clearDefault;
226
- var _React$useState = React.useState(null),
227
- _React$useState2 = _slicedToArray(_React$useState, 2),
228
- anchor = _React$useState2[0],
229
- setAnchor = _React$useState2[1];
230
- var _React$useState3 = React.useState(false),
231
- _React$useState4 = _slicedToArray(_React$useState3, 2),
232
- dialogOpen = _React$useState4[0],
233
- setDialogOpen = _React$useState4[1];
234
- var open = Boolean(anchor);
235
- var count = filters.length;
236
- var canSaveCurrent = canSave !== false && currentCriteria != null;
237
- var handleOpen = function handleOpen(e) {
194
+ const {
195
+ resourceKey,
196
+ currentCriteria,
197
+ onApply,
198
+ canSave = true,
199
+ allowDefault = true,
200
+ allowShared = false,
201
+ align = "right",
202
+ labels
203
+ } = props;
204
+ const L = React.useMemo(() => (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels), [labels]);
205
+ const {
206
+ filters,
207
+ save,
208
+ remove,
209
+ setDefault,
210
+ clearDefault
211
+ } = (0, _savedFilters.useSavedFilters)(resourceKey);
212
+ const [anchor, setAnchor] = React.useState(null);
213
+ const [dialogOpen, setDialogOpen] = React.useState(false);
214
+ const open = Boolean(anchor);
215
+ const count = filters.length;
216
+ const canSaveCurrent = canSave !== false && currentCriteria != null;
217
+ const handleOpen = function handleOpen(e) {
238
218
  setAnchor(e.currentTarget);
239
219
  };
240
- var handleClose = function handleClose() {
220
+ const handleClose = function handleClose() {
241
221
  setAnchor(null);
242
222
  };
243
- var applyAndClose = function applyAndClose(filter) {
223
+ const applyAndClose = function applyAndClose(filter) {
244
224
  if (typeof onApply === "function") onApply(filter.criteria, filter);
245
225
  setAnchor(null);
246
226
  };
247
227
 
248
228
  // Opening the dialog closes the popover so the two overlays don't stack.
249
- var openSaveDialog = function openSaveDialog() {
229
+ const openSaveDialog = function openSaveDialog() {
250
230
  setAnchor(null);
251
231
  setDialogOpen(true);
252
232
  };
253
- var handleSubmit = function handleSubmit(input) {
254
- save(_objectSpread({
233
+ const handleSubmit = function handleSubmit(input) {
234
+ save({
255
235
  name: input.name,
256
236
  isDefault: input.isDefault,
257
- shared: input.shared
258
- }, currentCriteria !== undefined ? {
259
- criteria: currentCriteria
260
- } : {}));
237
+ shared: input.shared,
238
+ ...(currentCriteria !== undefined ? {
239
+ criteria: currentCriteria
240
+ } : {})
241
+ });
261
242
  setDialogOpen(false);
262
243
  };
263
- var triggerAria = count > 0 ? L.button + ", " + L.countSuffix(count) : L.button;
264
- var dialogLabels = React.useMemo(function buildDialogLabels() {
244
+ const triggerAria = count > 0 ? L.button + ", " + L.countSuffix(count) : L.button;
245
+ const dialogLabels = React.useMemo(function buildDialogLabels() {
265
246
  return {
266
247
  title: L.dialogTitle,
267
248
  nameLabel: L.nameLabel,
@@ -275,7 +256,7 @@ function SavedFiltersMenu(props) {
275
256
  save: L.save
276
257
  };
277
258
  }, [L]);
278
- var popoverSlotProps = React.useMemo(function buildSlotProps() {
259
+ const popoverSlotProps = React.useMemo(function buildSlotProps() {
279
260
  return {
280
261
  paper: {
281
262
  sx: POPOVER_PAPER_SX,
@@ -284,7 +265,7 @@ function SavedFiltersMenu(props) {
284
265
  }
285
266
  };
286
267
  }, [L.title]);
287
- var existingNames = React.useMemo(function buildExistingNames() {
268
+ const existingNames = React.useMemo(function buildExistingNames() {
288
269
  return filters.map(function (f) {
289
270
  return f.name;
290
271
  }).filter(function isName(n) {
@@ -292,24 +273,24 @@ function SavedFiltersMenu(props) {
292
273
  });
293
274
  }, [filters]);
294
275
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
295
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button["default"], {
276
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
296
277
  variant: "ghost",
297
278
  size: "sm",
298
279
  type: "button",
299
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BookmarkBorder["default"], {
280
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BookmarkBorder.default, {
300
281
  fontSize: "small"
301
282
  }),
302
283
  onClick: handleOpen,
303
284
  "aria-label": triggerAria,
304
285
  "aria-haspopup": "dialog",
305
286
  "aria-expanded": open,
306
- children: [L.button, count > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
287
+ children: [L.button, count > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
307
288
  component: "span",
308
289
  sx: BADGE_SX,
309
290
  "aria-hidden": "true",
310
291
  children: count
311
292
  })]
312
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover["default"], {
293
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {
313
294
  open: open,
314
295
  anchorEl: anchor,
315
296
  onClose: handleClose,
@@ -322,72 +303,73 @@ function SavedFiltersMenu(props) {
322
303
  horizontal: align === "right" ? "right" : "left"
323
304
  },
324
305
  slotProps: popoverSlotProps,
325
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
306
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
326
307
  sx: POPOVER_BODY_SX,
327
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
308
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
328
309
  sx: POPOVER_TITLE_SX,
329
310
  children: L.title
330
- }), count === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
311
+ }), count === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
331
312
  sx: EMPTY_SX,
332
313
  children: L.noSavedFilters
333
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
314
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
334
315
  role: "list",
335
316
  sx: LIST_SX,
336
317
  children: filters.map(function (f) {
337
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
318
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
338
319
  role: "listitem",
339
320
  sx: ROW_SX,
340
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
321
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
341
322
  component: "button",
342
323
  type: "button",
343
- onClick: function onClick() {
324
+ onClick: function () {
344
325
  applyAndClose(f);
345
326
  },
346
327
  "aria-label": L.apply + " : " + f.name + (f.isDefault ? " (" + L.defaultBadge + ")" : ""),
347
328
  sx: APPLY_BTN_SX,
348
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
329
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
349
330
  component: "span",
350
331
  sx: APPLY_NAME_SX,
351
332
  children: f.name
352
- }), f.isDefault && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
333
+ }), f.isDefault && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
353
334
  component: "span",
354
335
  sx: DEFAULT_BADGE_SX,
355
336
  children: L.defaultBadge
356
337
  })]
357
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
338
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
358
339
  size: "small",
359
340
  "aria-label": (f.isDefault ? L.unsetDefault : L.setDefault) + " : " + f.name,
360
- onClick: function onClick() {
341
+ onClick: function () {
361
342
  if (f.isDefault) clearDefault();else setDefault(f.id);
362
343
  },
363
- sx: f.isDefault ? _objectSpread(_objectSpread({}, ACTION_BTN_SX), {}, {
344
+ sx: f.isDefault ? {
345
+ ...ACTION_BTN_SX,
364
346
  color: "var(--accent)"
365
- }) : ACTION_BTN_SX,
366
- children: f.isDefault ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPin["default"], {
347
+ } : ACTION_BTN_SX,
348
+ children: f.isDefault ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPin.default, {
367
349
  fontSize: "small"
368
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPinOutlined["default"], {
350
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPinOutlined.default, {
369
351
  fontSize: "small"
370
352
  })
371
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
353
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
372
354
  size: "small",
373
- "aria-label": L["delete"] + " : " + f.name,
374
- onClick: function onClick() {
355
+ "aria-label": L.delete + " : " + f.name,
356
+ onClick: function () {
375
357
  remove(f.id);
376
358
  },
377
359
  sx: DELETE_BTN_SX,
378
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
360
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {
379
361
  fontSize: "small"
380
362
  })
381
363
  })]
382
364
  }, f.id);
383
365
  })
384
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
366
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
385
367
  sx: POPOVER_FOOTER_SX,
386
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
368
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
387
369
  variant: "ghost",
388
370
  size: "sm",
389
371
  type: "button",
390
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add["default"], {
372
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
391
373
  fontSize: "small"
392
374
  }),
393
375
  onClick: openSaveDialog,
@@ -396,9 +378,9 @@ function SavedFiltersMenu(props) {
396
378
  })
397
379
  })]
398
380
  })
399
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SaveFilterDialog["default"], {
381
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SaveFilterDialog.default, {
400
382
  open: dialogOpen,
401
- onClose: function onClose() {
383
+ onClose: function () {
402
384
  setDialogOpen(false);
403
385
  },
404
386
  onSubmit: handleSubmit,
@@ -409,5 +391,5 @@ function SavedFiltersMenu(props) {
409
391
  })]
410
392
  });
411
393
  }
412
- var _default = exports["default"] = SavedFiltersMenu;
394
+ var _default = exports.default = SavedFiltersMenu;
413
395
  //# sourceMappingURL=SavedFiltersMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SavedFiltersMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_IconButton","_BookmarkBorder","_Add","_PushPin","_PushPinOutlined","_Close","_Button","_SaveFilterDialog","_savedFilters","_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","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","DEFAULT_LABELS","freeze","button","title","noSavedFilters","saveCurrentFilter","setDefault","unsetDefault","defaultBadge","countSuffix","dialogTitle","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","LIST_SX","maxHeight","overflowY","ROW_SX","alignItems","APPLY_BTN_SX","flex","textAlign","background","cursor","font","outline","APPLY_NAME_SX","overflow","textOverflow","whiteSpace","DEFAULT_BADGE_SX","flexShrink","lineHeight","BADGE_SX","marginInlineStart","EMPTY_SX","POPOVER_FOOTER_SX","paddingTop","marginTop","borderTop","ACTION_BTN_SX","DELETE_BTN_SX","SavedFiltersMenu","props","resourceKey","currentCriteria","onApply","_props$canSave","canSave","_props$allowDefault","allowDefault","_props$allowShared","allowShared","_props$align","align","labels","L","useMemo","mergeLabels","_useSavedFilters","useSavedFilters","filters","remove","clearDefault","_React$useState","useState","_React$useState2","anchor","setAnchor","_React$useState3","_React$useState4","dialogOpen","setDialogOpen","open","Boolean","count","canSaveCurrent","handleOpen","e","currentTarget","handleClose","applyAndClose","criteria","openSaveDialog","handleSubmit","isDefault","shared","triggerAria","dialogLabels","buildDialogLabels","popoverSlotProps","buildSlotProps","paper","sx","role","existingNames","buildExistingNames","map","f","isName","jsxs","Fragment","children","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","id","disabled","onSubmit","_default","exports"],"sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport BookmarkBorderIcon from \"@mui/icons-material/BookmarkBorder\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport PushPinIcon from \"@mui/icons-material/PushPin\";\r\nimport PushPinOutlinedIcon from \"@mui/icons-material/PushPinOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Button from \"../components/Button\";\r\nimport SaveFilterDialog from \"./SaveFilterDialog\";\r\nimport type {\r\n SaveFilterDialogLabels,\r\n SaveFilterDialogSubmit,\r\n} from \"./SaveFilterDialog\";\r\nimport { useSavedFilters } from \"../personalization/capabilities/savedFilters\";\r\nimport type { SavedFilter } from \"../personalization/types\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SavedFiltersMenu - Portnet UI v2 (pattern)\r\n *\r\n * Turn-key dropdown for the Saved Filters framework. Connected to the\r\n * savedFilters capability via useSavedFilters(resourceKey); the host only\r\n * supplies the live `currentCriteria` (to save) and an `onApply` callback\r\n * (to apply a recalled filter to its own state).\r\n *\r\n * <SavedFiltersMenu\r\n * resourceKey=\"ti:list\"\r\n * currentCriteria={filters}\r\n * onApply={(criteria) => setFilters(criteria)}\r\n * allowDefault\r\n * />\r\n *\r\n * The component owns the criteria neither in shape nor semantics — it\r\n * stores whatever the host passes and hands it back on apply, which is\r\n * what makes it reusable across every list.\r\n *\r\n * a11y: the Popover carries role=\"dialog\" + aria-label (like\r\n * ColumnsToggle); each filter row is a real <button> (apply), with a pin\r\n * toggle (default) and a delete control, all aria-labelled per filter.\r\n * For a default filter the apply button's accessible name appends the\r\n * visible \"Par défaut\" badge text (WCAG 2.5.3 Label in Name).\r\n *\r\n * Note (icons): the delete control uses CloseIcon (@mui/icons-material/Close)\r\n * rather than a trash glyph because DeleteOutline is absent from the internal\r\n * @mui/icons-material@9 republish used by the consuming apps; the control's\r\n * aria-label and --danger hover colour keep the delete semantics intact.\r\n */\r\n\r\nexport interface SavedFiltersMenuLabels {\r\n button: string;\r\n title: string;\r\n noSavedFilters: string;\r\n saveCurrentFilter: string;\r\n apply: string;\r\n setDefault: string;\r\n unsetDefault: string;\r\n delete: string;\r\n defaultBadge: string;\r\n countSuffix: (n: number) => string;\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Filtres enregistrés\",\r\n title: \"Filtres enregistrés\",\r\n noSavedFilters: \"Aucun filtre enregistré\",\r\n saveCurrentFilter: \"Enregistrer le filtre actuel…\",\r\n apply: \"Appliquer le filtre\",\r\n setDefault: \"Définir par défaut\",\r\n unsetDefault: \"Retirer le filtre par défaut\",\r\n delete: \"Supprimer le filtre\",\r\n defaultBadge: \"Par défaut\",\r\n countSuffix: function (n) {\r\n return n + \" enregistré\" + (n > 1 ? \"s\" : \"\");\r\n },\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SavedFiltersMenuLabels);\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LIST_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n maxHeight: 320,\r\n overflowY: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_BTN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n minWidth: 0,\r\n textAlign: \"start\",\r\n background: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n font: \"inherit\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-2)\",\r\n borderRadius: \"var(--r-sm)\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\" },\r\n \"&:focus-visible\": { outline: \"none\", boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_NAME_SX = Object.freeze({\r\n flex: 1,\r\n minWidth: 0,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DEFAULT_BADGE_SX = Object.freeze({\r\n flexShrink: 0,\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 8px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst EMPTY_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-subtle)\",\r\n padding: \"var(--s-3) var(--s-2)\",\r\n textAlign: \"center\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ACTION_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DELETE_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n});\r\n\r\nexport interface SavedFiltersMenuProps {\r\n /** Namespaces saved filters per list/entity type. */\r\n resourceKey: string;\r\n /** The host's live filter payload — stored verbatim when saving. */\r\n currentCriteria?: Record<string, unknown> | undefined;\r\n /** Applied when a saved filter is recalled: (criteria, filter) => void. */\r\n onApply?: ((\r\n criteria: Record<string, unknown> | undefined,\r\n filter: SavedFilter\r\n ) => void) | undefined;\r\n /** Allow saving the current filter (also requires currentCriteria != null). */\r\n canSave?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"share with team\" switch. */\r\n allowShared?: boolean | undefined;\r\n align?: \"left\" | \"right\" | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SavedFiltersMenuLabels> | undefined;\r\n}\r\n\r\nfunction SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element {\r\n const {\r\n resourceKey,\r\n currentCriteria,\r\n onApply,\r\n canSave = true,\r\n allowDefault = true,\r\n allowShared = false,\r\n align = \"right\",\r\n labels,\r\n } = props;\r\n const L = React.useMemo<SavedFiltersMenuLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n const { filters, save, remove, setDefault, clearDefault } =\r\n useSavedFilters(resourceKey);\r\n\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n const [dialogOpen, setDialogOpen] = React.useState(false);\r\n const open = Boolean(anchor);\r\n const count = filters.length;\r\n\r\n const canSaveCurrent = canSave !== false && currentCriteria != null;\r\n\r\n const handleOpen = function handleOpen(\r\n e: React.MouseEvent<HTMLElement>\r\n ): void {\r\n setAnchor(e.currentTarget);\r\n };\r\n const handleClose = function handleClose(): void {\r\n setAnchor(null);\r\n };\r\n\r\n const applyAndClose = function applyAndClose(filter: SavedFilter): void {\r\n if (typeof onApply === \"function\") onApply(filter.criteria, filter);\r\n setAnchor(null);\r\n };\r\n\r\n // Opening the dialog closes the popover so the two overlays don't stack.\r\n const openSaveDialog = function openSaveDialog(): void {\r\n setAnchor(null);\r\n setDialogOpen(true);\r\n };\r\n\r\n const handleSubmit = function handleSubmit(\r\n input: SaveFilterDialogSubmit\r\n ): void {\r\n save({\r\n name: input.name,\r\n isDefault: input.isDefault,\r\n shared: input.shared,\r\n ...(currentCriteria !== undefined ? { criteria: currentCriteria } : {}),\r\n });\r\n setDialogOpen(false);\r\n };\r\n\r\n const triggerAria =\r\n count > 0 ? L.button + \", \" + L.countSuffix(count) : L.button;\r\n\r\n const dialogLabels = React.useMemo<SaveFilterDialogLabels>(\r\n function buildDialogLabels() {\r\n return {\r\n title: L.dialogTitle,\r\n nameLabel: L.nameLabel,\r\n namePlaceholder: L.namePlaceholder,\r\n nameRequired: L.nameRequired,\r\n duplicateHint: L.duplicateHint,\r\n setAsDefault: L.setAsDefault,\r\n shareLabel: L.shareLabel,\r\n shareHint: L.shareHint,\r\n cancel: L.cancel,\r\n save: L.save,\r\n };\r\n },\r\n [L]\r\n );\r\n\r\n const popoverSlotProps = React.useMemo<\r\n React.ComponentProps<typeof Popover>[\"slotProps\"]\r\n >(\r\n function buildSlotProps() {\r\n return {\r\n paper: { sx: POPOVER_PAPER_SX, role: \"dialog\", \"aria-label\": L.title },\r\n };\r\n },\r\n [L.title]\r\n );\r\n\r\n const existingNames = React.useMemo<string[]>(\r\n function buildExistingNames() {\r\n return filters\r\n .map(function (f) {\r\n return f.name;\r\n })\r\n .filter(function isName(n): n is string {\r\n return typeof n === \"string\";\r\n });\r\n },\r\n [filters]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<BookmarkBorderIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAria}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {count > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {count}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box sx={POPOVER_TITLE_SX}>{L.title}</Box>\r\n\r\n {count === 0 ? (\r\n <Box sx={EMPTY_SX}>{L.noSavedFilters}</Box>\r\n ) : (\r\n <Box role=\"list\" sx={LIST_SX}>\r\n {filters.map(function (f) {\r\n return (\r\n <Box key={f.id} role=\"listitem\" sx={ROW_SX}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={function () {\r\n applyAndClose(f);\r\n }}\r\n aria-label={\r\n L.apply +\r\n \" : \" +\r\n f.name +\r\n (f.isDefault ? \" (\" + L.defaultBadge + \")\" : \"\")\r\n }\r\n sx={APPLY_BTN_SX}\r\n >\r\n <Box component=\"span\" sx={APPLY_NAME_SX}>\r\n {f.name}\r\n </Box>\r\n {f.isDefault && (\r\n <Box component=\"span\" sx={DEFAULT_BADGE_SX}>\r\n {L.defaultBadge}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={\r\n (f.isDefault ? L.unsetDefault : L.setDefault) +\r\n \" : \" +\r\n f.name\r\n }\r\n onClick={function () {\r\n if (f.isDefault) clearDefault();\r\n else setDefault(f.id);\r\n }}\r\n sx={\r\n f.isDefault\r\n ? { ...ACTION_BTN_SX, color: \"var(--accent)\" }\r\n : ACTION_BTN_SX\r\n }\r\n >\r\n {f.isDefault ? (\r\n <PushPinIcon fontSize=\"small\" />\r\n ) : (\r\n <PushPinOutlinedIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={L.delete + \" : \" + f.name}\r\n onClick={function () {\r\n remove(f.id);\r\n }}\r\n sx={DELETE_BTN_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<AddIcon fontSize=\"small\" />}\r\n onClick={openSaveDialog}\r\n disabled={!canSaveCurrent}\r\n >\r\n {L.saveCurrentFilter}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n\r\n <SaveFilterDialog\r\n open={dialogOpen}\r\n onClose={function () {\r\n setDialogOpen(false);\r\n }}\r\n onSubmit={handleSubmit}\r\n allowDefault={allowDefault}\r\n allowShared={allowShared}\r\n existingNames={existingNames}\r\n labels={dialogLabels}\r\n />\r\n </>\r\n );\r\n}\r\n\r\nexport default SavedFiltersMenu;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SavedFiltersMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_IconButton","_BookmarkBorder","_Add","_PushPin","_PushPinOutlined","_Close","_Button","_SaveFilterDialog","_savedFilters","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","freeze","button","title","noSavedFilters","saveCurrentFilter","apply","setDefault","unsetDefault","delete","defaultBadge","countSuffix","dialogTitle","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","LIST_SX","maxHeight","overflowY","ROW_SX","alignItems","APPLY_BTN_SX","flex","textAlign","background","cursor","font","outline","APPLY_NAME_SX","overflow","textOverflow","whiteSpace","DEFAULT_BADGE_SX","flexShrink","lineHeight","BADGE_SX","marginInlineStart","EMPTY_SX","POPOVER_FOOTER_SX","paddingTop","marginTop","borderTop","ACTION_BTN_SX","DELETE_BTN_SX","SavedFiltersMenu","props","resourceKey","currentCriteria","onApply","canSave","allowDefault","allowShared","align","labels","L","useMemo","mergeLabels","filters","remove","clearDefault","useSavedFilters","anchor","setAnchor","useState","dialogOpen","setDialogOpen","open","Boolean","count","length","canSaveCurrent","handleOpen","currentTarget","handleClose","applyAndClose","filter","criteria","openSaveDialog","handleSubmit","input","name","isDefault","shared","undefined","triggerAria","dialogLabels","buildDialogLabels","popoverSlotProps","buildSlotProps","paper","sx","role","existingNames","buildExistingNames","map","isName","jsxs","Fragment","children","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","id","disabled","onSubmit","_default","exports"],"sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport BookmarkBorderIcon from \"@mui/icons-material/BookmarkBorder\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport PushPinIcon from \"@mui/icons-material/PushPin\";\r\nimport PushPinOutlinedIcon from \"@mui/icons-material/PushPinOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Button from \"../components/Button\";\r\nimport SaveFilterDialog from \"./SaveFilterDialog\";\r\nimport type {\r\n SaveFilterDialogLabels,\r\n SaveFilterDialogSubmit,\r\n} from \"./SaveFilterDialog\";\r\nimport { useSavedFilters } from \"../personalization/capabilities/savedFilters\";\r\nimport type { SavedFilter } from \"../personalization/types\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SavedFiltersMenu - Portnet UI v2 (pattern)\r\n *\r\n * Turn-key dropdown for the Saved Filters framework. Connected to the\r\n * savedFilters capability via useSavedFilters(resourceKey); the host only\r\n * supplies the live `currentCriteria` (to save) and an `onApply` callback\r\n * (to apply a recalled filter to its own state).\r\n *\r\n * <SavedFiltersMenu\r\n * resourceKey=\"ti:list\"\r\n * currentCriteria={filters}\r\n * onApply={(criteria) => setFilters(criteria)}\r\n * allowDefault\r\n * />\r\n *\r\n * The component owns the criteria neither in shape nor semantics — it\r\n * stores whatever the host passes and hands it back on apply, which is\r\n * what makes it reusable across every list.\r\n *\r\n * a11y: the Popover carries role=\"dialog\" + aria-label (like\r\n * ColumnsToggle); each filter row is a real <button> (apply), with a pin\r\n * toggle (default) and a delete control, all aria-labelled per filter.\r\n * For a default filter the apply button's accessible name appends the\r\n * visible \"Par défaut\" badge text (WCAG 2.5.3 Label in Name).\r\n *\r\n * Note (icons): the delete control uses CloseIcon (@mui/icons-material/Close)\r\n * rather than a trash glyph because DeleteOutline is absent from the internal\r\n * @mui/icons-material@9 republish used by the consuming apps; the control's\r\n * aria-label and --danger hover colour keep the delete semantics intact.\r\n */\r\n\r\nexport interface SavedFiltersMenuLabels {\r\n button: string;\r\n title: string;\r\n noSavedFilters: string;\r\n saveCurrentFilter: string;\r\n apply: string;\r\n setDefault: string;\r\n unsetDefault: string;\r\n delete: string;\r\n defaultBadge: string;\r\n countSuffix: (n: number) => string;\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Filtres enregistrés\",\r\n title: \"Filtres enregistrés\",\r\n noSavedFilters: \"Aucun filtre enregistré\",\r\n saveCurrentFilter: \"Enregistrer le filtre actuel…\",\r\n apply: \"Appliquer le filtre\",\r\n setDefault: \"Définir par défaut\",\r\n unsetDefault: \"Retirer le filtre par défaut\",\r\n delete: \"Supprimer le filtre\",\r\n defaultBadge: \"Par défaut\",\r\n countSuffix: function (n) {\r\n return n + \" enregistré\" + (n > 1 ? \"s\" : \"\");\r\n },\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SavedFiltersMenuLabels);\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LIST_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n maxHeight: 320,\r\n overflowY: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_BTN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n minWidth: 0,\r\n textAlign: \"start\",\r\n background: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n font: \"inherit\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-2)\",\r\n borderRadius: \"var(--r-sm)\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\" },\r\n \"&:focus-visible\": { outline: \"none\", boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_NAME_SX = Object.freeze({\r\n flex: 1,\r\n minWidth: 0,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DEFAULT_BADGE_SX = Object.freeze({\r\n flexShrink: 0,\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 8px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst EMPTY_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-subtle)\",\r\n padding: \"var(--s-3) var(--s-2)\",\r\n textAlign: \"center\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ACTION_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DELETE_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n});\r\n\r\nexport interface SavedFiltersMenuProps {\r\n /** Namespaces saved filters per list/entity type. */\r\n resourceKey: string;\r\n /** The host's live filter payload — stored verbatim when saving. */\r\n currentCriteria?: Record<string, unknown> | undefined;\r\n /** Applied when a saved filter is recalled: (criteria, filter) => void. */\r\n onApply?: ((\r\n criteria: Record<string, unknown> | undefined,\r\n filter: SavedFilter\r\n ) => void) | undefined;\r\n /** Allow saving the current filter (also requires currentCriteria != null). */\r\n canSave?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"share with team\" switch. */\r\n allowShared?: boolean | undefined;\r\n align?: \"left\" | \"right\" | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SavedFiltersMenuLabels> | undefined;\r\n}\r\n\r\nfunction SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element {\r\n const {\r\n resourceKey,\r\n currentCriteria,\r\n onApply,\r\n canSave = true,\r\n allowDefault = true,\r\n allowShared = false,\r\n align = \"right\",\r\n labels,\r\n } = props;\r\n const L = React.useMemo<SavedFiltersMenuLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n const { filters, save, remove, setDefault, clearDefault } =\r\n useSavedFilters(resourceKey);\r\n\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n const [dialogOpen, setDialogOpen] = React.useState(false);\r\n const open = Boolean(anchor);\r\n const count = filters.length;\r\n\r\n const canSaveCurrent = canSave !== false && currentCriteria != null;\r\n\r\n const handleOpen = function handleOpen(\r\n e: React.MouseEvent<HTMLElement>\r\n ): void {\r\n setAnchor(e.currentTarget);\r\n };\r\n const handleClose = function handleClose(): void {\r\n setAnchor(null);\r\n };\r\n\r\n const applyAndClose = function applyAndClose(filter: SavedFilter): void {\r\n if (typeof onApply === \"function\") onApply(filter.criteria, filter);\r\n setAnchor(null);\r\n };\r\n\r\n // Opening the dialog closes the popover so the two overlays don't stack.\r\n const openSaveDialog = function openSaveDialog(): void {\r\n setAnchor(null);\r\n setDialogOpen(true);\r\n };\r\n\r\n const handleSubmit = function handleSubmit(\r\n input: SaveFilterDialogSubmit\r\n ): void {\r\n save({\r\n name: input.name,\r\n isDefault: input.isDefault,\r\n shared: input.shared,\r\n ...(currentCriteria !== undefined ? { criteria: currentCriteria } : {}),\r\n });\r\n setDialogOpen(false);\r\n };\r\n\r\n const triggerAria =\r\n count > 0 ? L.button + \", \" + L.countSuffix(count) : L.button;\r\n\r\n const dialogLabels = React.useMemo<SaveFilterDialogLabels>(\r\n function buildDialogLabels() {\r\n return {\r\n title: L.dialogTitle,\r\n nameLabel: L.nameLabel,\r\n namePlaceholder: L.namePlaceholder,\r\n nameRequired: L.nameRequired,\r\n duplicateHint: L.duplicateHint,\r\n setAsDefault: L.setAsDefault,\r\n shareLabel: L.shareLabel,\r\n shareHint: L.shareHint,\r\n cancel: L.cancel,\r\n save: L.save,\r\n };\r\n },\r\n [L]\r\n );\r\n\r\n const popoverSlotProps = React.useMemo<\r\n React.ComponentProps<typeof Popover>[\"slotProps\"]\r\n >(\r\n function buildSlotProps() {\r\n return {\r\n paper: { sx: POPOVER_PAPER_SX, role: \"dialog\", \"aria-label\": L.title },\r\n };\r\n },\r\n [L.title]\r\n );\r\n\r\n const existingNames = React.useMemo<string[]>(\r\n function buildExistingNames() {\r\n return filters\r\n .map(function (f) {\r\n return f.name;\r\n })\r\n .filter(function isName(n): n is string {\r\n return typeof n === \"string\";\r\n });\r\n },\r\n [filters]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<BookmarkBorderIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAria}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {count > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {count}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box sx={POPOVER_TITLE_SX}>{L.title}</Box>\r\n\r\n {count === 0 ? (\r\n <Box sx={EMPTY_SX}>{L.noSavedFilters}</Box>\r\n ) : (\r\n <Box role=\"list\" sx={LIST_SX}>\r\n {filters.map(function (f) {\r\n return (\r\n <Box key={f.id} role=\"listitem\" sx={ROW_SX}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={function () {\r\n applyAndClose(f);\r\n }}\r\n aria-label={\r\n L.apply +\r\n \" : \" +\r\n f.name +\r\n (f.isDefault ? \" (\" + L.defaultBadge + \")\" : \"\")\r\n }\r\n sx={APPLY_BTN_SX}\r\n >\r\n <Box component=\"span\" sx={APPLY_NAME_SX}>\r\n {f.name}\r\n </Box>\r\n {f.isDefault && (\r\n <Box component=\"span\" sx={DEFAULT_BADGE_SX}>\r\n {L.defaultBadge}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={\r\n (f.isDefault ? L.unsetDefault : L.setDefault) +\r\n \" : \" +\r\n f.name\r\n }\r\n onClick={function () {\r\n if (f.isDefault) clearDefault();\r\n else setDefault(f.id);\r\n }}\r\n sx={\r\n f.isDefault\r\n ? { ...ACTION_BTN_SX, color: \"var(--accent)\" }\r\n : ACTION_BTN_SX\r\n }\r\n >\r\n {f.isDefault ? (\r\n <PushPinIcon fontSize=\"small\" />\r\n ) : (\r\n <PushPinOutlinedIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={L.delete + \" : \" + f.name}\r\n onClick={function () {\r\n remove(f.id);\r\n }}\r\n sx={DELETE_BTN_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<AddIcon fontSize=\"small\" />}\r\n onClick={openSaveDialog}\r\n disabled={!canSaveCurrent}\r\n >\r\n {L.saveCurrentFilter}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n\r\n <SaveFilterDialog\r\n open={dialogOpen}\r\n onClose={function () {\r\n setDialogOpen(false);\r\n }}\r\n onSubmit={handleSubmit}\r\n allowDefault={allowDefault}\r\n allowShared={allowShared}\r\n existingNames={existingNames}\r\n labels={dialogLabels}\r\n />\r\n </>\r\n );\r\n}\r\n\r\nexport default SavedFiltersMenu;\r\n"],"mappings":"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","ignoreList":[]}