@portnet/ui 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1 +1 @@
1
- {"version":3,"file":"savedFilters.js","names":["React","v4","uuidv4","registerCapability","usePersonalizationStore","useStoreSelector","SAVED_FILTERS_CAPABILITY_ID","SCHEMA_VERSION","EMPTY_LIST","Object","freeze","EMPTY_MAP","id","schemaVersion","defaultState","migrate","migrateSavedFilters","_fromVersion","payload","_typeof","listFor","map","resourceKey","list","undefined","Array","isArray","appendFilter","filter","updatedAt","base","isDefault","demote","f","_objectSpread","next","concat","patchFilter","patch","some","nextList","applyPatch","merged","demoteOthers","deleteFilter","keep","length","markDefault","changed","setFlag","shouldBe","unmarkDefault","clearFlag","useSavedFilters","store","useEffect","ensure","ensureCapability","selectList","useCallback","snapshot","slice","filters","defaultFilter","useMemo","findDefault","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","err","e","save","input","now","Date","toISOString","scope","getScope","criteria","ownerId","userId","name","shared","createdAt","write","prev","update","rename","remove","setDefault","clearDefault","getById","_iterator2","_step2","count"],"sources":["../../../../../src/lib/v2/personalization/capabilities/savedFilters.ts"],"sourcesContent":["/**\r\n * savedFilters — Portnet UI v2 · personalization capability\r\n *\r\n * The Saved Filters framework (Odoo-inspired \"saved searches\"). Lets a\r\n * user name and persist the current state of any list's filters, recall\r\n * them later, and optionally mark one as the default applied on open.\r\n *\r\n * Self-registers the \"savedFilters\" capability with the schema registry\r\n * at import time, so the capability-agnostic foundation discovers it\r\n * without hardcoding.\r\n *\r\n * State model (the capability payload):\r\n * { [resourceKey]: SavedFilter[] }\r\n * SavedFilter = {\r\n * id, name, resourceKey,\r\n * criteria, // OPAQUE — the host's own filter payload\r\n * ownerId,\r\n * isDefault, shared,\r\n * createdAt, updatedAt,\r\n * }\r\n *\r\n * `criteria` is never interpreted here — it is stored and re-emitted\r\n * verbatim, which is what keeps the framework reusable across every list\r\n * regardless of its filter schema (the host owns apply()). `shared` is\r\n * modelled but NOT enforced in Phase 1 (local persistence): it round-trips\r\n * for a future backend adapter and lets the UI show a shared indicator.\r\n *\r\n * Performance: the pure helpers rebuild only the touched resourceKey's\r\n * array and shallow-copy the map, so the store's structural sharing keeps\r\n * every OTHER resource's list referentially stable.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { registerCapability } from \"../schema\";\r\nimport {\r\n usePersonalizationStore,\r\n useStoreSelector,\r\n} from \"../personalizationContext\";\r\nimport type { PersonalizationSnapshot } from \"../createPersonalizationStore\";\r\nimport type { SavedFilter } from \"../types\";\r\n\r\n/** The saved-filters capability payload: SavedFilter arrays keyed by resourceKey. */\r\ntype SavedFiltersState = Record<string, SavedFilter[]>;\r\n\r\nexport const SAVED_FILTERS_CAPABILITY_ID = \"savedFilters\";\r\nconst SCHEMA_VERSION = 1;\r\n\r\nconst EMPTY_LIST: readonly SavedFilter[] = Object.freeze([]);\r\nconst EMPTY_MAP: SavedFiltersState = Object.freeze({});\r\n\r\n/* Register at import time — the foundation reads this at hydration. */\r\nregisterCapability({\r\n id: SAVED_FILTERS_CAPABILITY_ID,\r\n schemaVersion: SCHEMA_VERSION,\r\n defaultState: EMPTY_MAP, // { [resourceKey]: SavedFilter[] }\r\n migrate: function migrateSavedFilters(\r\n _fromVersion: number,\r\n payload: unknown\r\n ): unknown {\r\n // v1 is the initial schema. Defensive normalisation only.\r\n return payload && typeof payload === \"object\" ? payload : {};\r\n },\r\n});\r\n\r\n/* ── pure, resourceKey-scoped state helpers (structural sharing) ────── */\r\n\r\nfunction listFor(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string\r\n): readonly SavedFilter[] {\r\n const list = map ? map[resourceKey] : undefined;\r\n return Array.isArray(list) ? list : EMPTY_LIST;\r\n}\r\n\r\n// Append a fully-formed filter. Enforces a single default per resource:\r\n// when the new filter is default, demote any previous default.\r\nfunction appendFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n filter: SavedFilter,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n let list = listFor(base, resourceKey);\r\n if (filter.isDefault) {\r\n list = list.map(function demote(f) {\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = list.concat([filter]);\r\n return next;\r\n}\r\n\r\n// Merge a patch into one filter (id/resourceKey are immutable). When the\r\n// patch promotes it to default, demote the others.\r\nfunction patchFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n patch: Partial<SavedFilter>,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n let nextList = list.map(function applyPatch(f) {\r\n if (f.id !== id) return f;\r\n const merged: SavedFilter = {\r\n ...f,\r\n ...patch,\r\n id: f.id,\r\n updatedAt: updatedAt,\r\n ...(f.resourceKey !== undefined ? { resourceKey: f.resourceKey } : {}),\r\n };\r\n return merged;\r\n });\r\n if (patch && patch.isDefault === true) {\r\n nextList = nextList.map(function demoteOthers(f) {\r\n if (f.id === id) return f;\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction deleteFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n const nextList = list.filter(function keep(f) {\r\n return f.id !== id;\r\n });\r\n const next: SavedFiltersState = { ...base };\r\n if (nextList.length === 0) delete next[resourceKey]; // keep the map tidy\r\n else next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction markDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function setFlag(f) {\r\n const shouldBe = f.id === id;\r\n if (!!f.isDefault === shouldBe) return f;\r\n changed = true;\r\n return { ...f, isDefault: shouldBe, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction unmarkDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function clearFlag(f) {\r\n if (!f.isDefault) return f;\r\n changed = true;\r\n return { ...f, isDefault: false, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\n/* ── hook ───────────────────────────────────────────────────────────── */\r\n\r\nexport interface SaveFilterInput {\r\n name: string;\r\n /** Opaque host filter payload — stored and re-emitted verbatim. */\r\n criteria?: Record<string, unknown> | undefined;\r\n isDefault?: boolean | undefined;\r\n shared?: boolean | undefined;\r\n}\r\n\r\nexport interface UseSavedFiltersResult {\r\n filters: readonly SavedFilter[];\r\n defaultFilter: SavedFilter | null;\r\n count: number;\r\n save: (input: SaveFilterInput) => SavedFilter;\r\n update: (id: string, patch: Partial<SavedFilter>) => void;\r\n rename: (id: string, name: string) => void;\r\n remove: (id: string) => void;\r\n setDefault: (id: string) => void;\r\n clearDefault: () => void;\r\n getById: (id: string) => SavedFilter | null;\r\n}\r\n\r\n/**\r\n * useSavedFilters(resourceKey) — list, default, and CRUD for one resource.\r\n *\r\n * Applying a filter is the host's concern (it owns the criteria\r\n * semantics): read `getById(id).criteria` / a filter's `criteria` and set\r\n * your own filter state. SavedFiltersMenu wires this for you.\r\n */\r\nexport function useSavedFilters(resourceKey: string): UseSavedFiltersResult {\r\n const store = usePersonalizationStore();\r\n\r\n React.useEffect(\r\n function ensure() {\r\n store.ensureCapability(SAVED_FILTERS_CAPABILITY_ID);\r\n },\r\n [store]\r\n );\r\n\r\n const selectList = React.useCallback(\r\n function selectList(snapshot: PersonalizationSnapshot): readonly SavedFilter[] {\r\n const slice = snapshot[SAVED_FILTERS_CAPABILITY_ID] as\r\n | SavedFiltersState\r\n | undefined;\r\n return slice ? listFor(slice, resourceKey) : EMPTY_LIST;\r\n },\r\n [resourceKey]\r\n );\r\n const filters = useStoreSelector(selectList);\r\n\r\n const defaultFilter = React.useMemo(\r\n function findDefault(): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.isDefault) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n const save = React.useCallback(\r\n function save(input: SaveFilterInput): SavedFilter {\r\n const now = new Date().toISOString();\r\n const scope = store.getScope ? store.getScope() : null;\r\n const criteria = input ? input.criteria : undefined;\r\n const ownerId = scope ? scope.userId : undefined;\r\n const filter: SavedFilter = {\r\n id: uuidv4(),\r\n name: input && input.name ? input.name : \"\",\r\n resourceKey: resourceKey,\r\n isDefault: !!(input && input.isDefault),\r\n shared: !!(input && input.shared),\r\n createdAt: now,\r\n updatedAt: now,\r\n ...(criteria !== undefined ? { criteria } : {}),\r\n ...(ownerId !== undefined ? { ownerId } : {}),\r\n };\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return appendFilter(prev, resourceKey, filter, now);\r\n }\r\n );\r\n return filter;\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const update = React.useCallback(\r\n function update(id: string, patch: Partial<SavedFilter>): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return patchFilter(prev, resourceKey, id, patch || {}, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const rename = React.useCallback(\r\n function rename(id: string, name: string): void {\r\n update(id, { name: name });\r\n },\r\n [update]\r\n );\r\n\r\n const remove = React.useCallback(\r\n function remove(id: string): void {\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return deleteFilter(prev, resourceKey, id);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const setDefault = React.useCallback(\r\n function setDefault(id: string): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return markDefault(prev, resourceKey, id, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const clearDefault = React.useCallback(\r\n function clearDefault(): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return unmarkDefault(prev, resourceKey, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const getById = React.useCallback(\r\n function getById(id: string): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.id === id) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n return React.useMemo(\r\n function value(): UseSavedFiltersResult {\r\n return {\r\n filters: filters,\r\n defaultFilter: defaultFilter,\r\n count: filters.length,\r\n save: save,\r\n update: update,\r\n rename: rename,\r\n remove: remove,\r\n setDefault: setDefault,\r\n clearDefault: clearDefault,\r\n getById: getById,\r\n };\r\n },\r\n [\r\n filters,\r\n defaultFilter,\r\n save,\r\n update,\r\n rename,\r\n remove,\r\n setDefault,\r\n clearDefault,\r\n getById,\r\n ]\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"savedFilters.js","names":["React","v4","uuidv4","registerCapability","usePersonalizationStore","useStoreSelector","SAVED_FILTERS_CAPABILITY_ID","SCHEMA_VERSION","EMPTY_LIST","Object","freeze","EMPTY_MAP","id","schemaVersion","defaultState","migrate","migrateSavedFilters","_fromVersion","payload","listFor","map","resourceKey","list","undefined","Array","isArray","appendFilter","filter","updatedAt","base","isDefault","demote","f","next","concat","patchFilter","patch","some","nextList","applyPatch","merged","demoteOthers","deleteFilter","keep","length","markDefault","changed","setFlag","shouldBe","unmarkDefault","clearFlag","useSavedFilters","store","useEffect","ensure","ensureCapability","selectList","useCallback","snapshot","slice","filters","defaultFilter","useMemo","findDefault","save","input","now","Date","toISOString","scope","getScope","criteria","ownerId","userId","name","shared","createdAt","write","prev","update","rename","remove","setDefault","clearDefault","getById","value","count"],"sources":["../../../../../src/lib/v2/personalization/capabilities/savedFilters.ts"],"sourcesContent":["/**\r\n * savedFilters — Portnet UI v2 · personalization capability\r\n *\r\n * The Saved Filters framework (Odoo-inspired \"saved searches\"). Lets a\r\n * user name and persist the current state of any list's filters, recall\r\n * them later, and optionally mark one as the default applied on open.\r\n *\r\n * Self-registers the \"savedFilters\" capability with the schema registry\r\n * at import time, so the capability-agnostic foundation discovers it\r\n * without hardcoding.\r\n *\r\n * State model (the capability payload):\r\n * { [resourceKey]: SavedFilter[] }\r\n * SavedFilter = {\r\n * id, name, resourceKey,\r\n * criteria, // OPAQUE — the host's own filter payload\r\n * ownerId,\r\n * isDefault, shared,\r\n * createdAt, updatedAt,\r\n * }\r\n *\r\n * `criteria` is never interpreted here — it is stored and re-emitted\r\n * verbatim, which is what keeps the framework reusable across every list\r\n * regardless of its filter schema (the host owns apply()). `shared` is\r\n * modelled but NOT enforced in Phase 1 (local persistence): it round-trips\r\n * for a future backend adapter and lets the UI show a shared indicator.\r\n *\r\n * Performance: the pure helpers rebuild only the touched resourceKey's\r\n * array and shallow-copy the map, so the store's structural sharing keeps\r\n * every OTHER resource's list referentially stable.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { registerCapability } from \"../schema\";\r\nimport {\r\n usePersonalizationStore,\r\n useStoreSelector,\r\n} from \"../personalizationContext\";\r\nimport type { PersonalizationSnapshot } from \"../createPersonalizationStore\";\r\nimport type { SavedFilter } from \"../types\";\r\n\r\n/** The saved-filters capability payload: SavedFilter arrays keyed by resourceKey. */\r\ntype SavedFiltersState = Record<string, SavedFilter[]>;\r\n\r\nexport const SAVED_FILTERS_CAPABILITY_ID = \"savedFilters\";\r\nconst SCHEMA_VERSION = 1;\r\n\r\nconst EMPTY_LIST: readonly SavedFilter[] = Object.freeze([]);\r\nconst EMPTY_MAP: SavedFiltersState = Object.freeze({});\r\n\r\n/* Register at import time — the foundation reads this at hydration. */\r\nregisterCapability({\r\n id: SAVED_FILTERS_CAPABILITY_ID,\r\n schemaVersion: SCHEMA_VERSION,\r\n defaultState: EMPTY_MAP, // { [resourceKey]: SavedFilter[] }\r\n migrate: function migrateSavedFilters(\r\n _fromVersion: number,\r\n payload: unknown\r\n ): unknown {\r\n // v1 is the initial schema. Defensive normalisation only.\r\n return payload && typeof payload === \"object\" ? payload : {};\r\n },\r\n});\r\n\r\n/* ── pure, resourceKey-scoped state helpers (structural sharing) ────── */\r\n\r\nfunction listFor(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string\r\n): readonly SavedFilter[] {\r\n const list = map ? map[resourceKey] : undefined;\r\n return Array.isArray(list) ? list : EMPTY_LIST;\r\n}\r\n\r\n// Append a fully-formed filter. Enforces a single default per resource:\r\n// when the new filter is default, demote any previous default.\r\nfunction appendFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n filter: SavedFilter,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n let list = listFor(base, resourceKey);\r\n if (filter.isDefault) {\r\n list = list.map(function demote(f) {\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = list.concat([filter]);\r\n return next;\r\n}\r\n\r\n// Merge a patch into one filter (id/resourceKey are immutable). When the\r\n// patch promotes it to default, demote the others.\r\nfunction patchFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n patch: Partial<SavedFilter>,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n let nextList = list.map(function applyPatch(f) {\r\n if (f.id !== id) return f;\r\n const merged: SavedFilter = {\r\n ...f,\r\n ...patch,\r\n id: f.id,\r\n updatedAt: updatedAt,\r\n ...(f.resourceKey !== undefined ? { resourceKey: f.resourceKey } : {}),\r\n };\r\n return merged;\r\n });\r\n if (patch && patch.isDefault === true) {\r\n nextList = nextList.map(function demoteOthers(f) {\r\n if (f.id === id) return f;\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction deleteFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n const nextList = list.filter(function keep(f) {\r\n return f.id !== id;\r\n });\r\n const next: SavedFiltersState = { ...base };\r\n if (nextList.length === 0) delete next[resourceKey]; // keep the map tidy\r\n else next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction markDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function setFlag(f) {\r\n const shouldBe = f.id === id;\r\n if (!!f.isDefault === shouldBe) return f;\r\n changed = true;\r\n return { ...f, isDefault: shouldBe, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction unmarkDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function clearFlag(f) {\r\n if (!f.isDefault) return f;\r\n changed = true;\r\n return { ...f, isDefault: false, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\n/* ── hook ───────────────────────────────────────────────────────────── */\r\n\r\nexport interface SaveFilterInput {\r\n name: string;\r\n /** Opaque host filter payload — stored and re-emitted verbatim. */\r\n criteria?: Record<string, unknown> | undefined;\r\n isDefault?: boolean | undefined;\r\n shared?: boolean | undefined;\r\n}\r\n\r\nexport interface UseSavedFiltersResult {\r\n filters: readonly SavedFilter[];\r\n defaultFilter: SavedFilter | null;\r\n count: number;\r\n save: (input: SaveFilterInput) => SavedFilter;\r\n update: (id: string, patch: Partial<SavedFilter>) => void;\r\n rename: (id: string, name: string) => void;\r\n remove: (id: string) => void;\r\n setDefault: (id: string) => void;\r\n clearDefault: () => void;\r\n getById: (id: string) => SavedFilter | null;\r\n}\r\n\r\n/**\r\n * useSavedFilters(resourceKey) — list, default, and CRUD for one resource.\r\n *\r\n * Applying a filter is the host's concern (it owns the criteria\r\n * semantics): read `getById(id).criteria` / a filter's `criteria` and set\r\n * your own filter state. SavedFiltersMenu wires this for you.\r\n */\r\nexport function useSavedFilters(resourceKey: string): UseSavedFiltersResult {\r\n const store = usePersonalizationStore();\r\n\r\n React.useEffect(\r\n function ensure() {\r\n store.ensureCapability(SAVED_FILTERS_CAPABILITY_ID);\r\n },\r\n [store]\r\n );\r\n\r\n const selectList = React.useCallback(\r\n function selectList(snapshot: PersonalizationSnapshot): readonly SavedFilter[] {\r\n const slice = snapshot[SAVED_FILTERS_CAPABILITY_ID] as\r\n | SavedFiltersState\r\n | undefined;\r\n return slice ? listFor(slice, resourceKey) : EMPTY_LIST;\r\n },\r\n [resourceKey]\r\n );\r\n const filters = useStoreSelector(selectList);\r\n\r\n const defaultFilter = React.useMemo(\r\n function findDefault(): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.isDefault) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n const save = React.useCallback(\r\n function save(input: SaveFilterInput): SavedFilter {\r\n const now = new Date().toISOString();\r\n const scope = store.getScope ? store.getScope() : null;\r\n const criteria = input ? input.criteria : undefined;\r\n const ownerId = scope ? scope.userId : undefined;\r\n const filter: SavedFilter = {\r\n id: uuidv4(),\r\n name: input && input.name ? input.name : \"\",\r\n resourceKey: resourceKey,\r\n isDefault: !!(input && input.isDefault),\r\n shared: !!(input && input.shared),\r\n createdAt: now,\r\n updatedAt: now,\r\n ...(criteria !== undefined ? { criteria } : {}),\r\n ...(ownerId !== undefined ? { ownerId } : {}),\r\n };\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return appendFilter(prev, resourceKey, filter, now);\r\n }\r\n );\r\n return filter;\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const update = React.useCallback(\r\n function update(id: string, patch: Partial<SavedFilter>): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return patchFilter(prev, resourceKey, id, patch || {}, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const rename = React.useCallback(\r\n function rename(id: string, name: string): void {\r\n update(id, { name: name });\r\n },\r\n [update]\r\n );\r\n\r\n const remove = React.useCallback(\r\n function remove(id: string): void {\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return deleteFilter(prev, resourceKey, id);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const setDefault = React.useCallback(\r\n function setDefault(id: string): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return markDefault(prev, resourceKey, id, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const clearDefault = React.useCallback(\r\n function clearDefault(): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return unmarkDefault(prev, resourceKey, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const getById = React.useCallback(\r\n function getById(id: string): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.id === id) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n return React.useMemo(\r\n function value(): UseSavedFiltersResult {\r\n return {\r\n filters: filters,\r\n defaultFilter: defaultFilter,\r\n count: filters.length,\r\n save: save,\r\n update: update,\r\n rename: rename,\r\n remove: remove,\r\n setDefault: setDefault,\r\n clearDefault: clearDefault,\r\n getById: getById,\r\n };\r\n },\r\n [\r\n filters,\r\n defaultFilter,\r\n save,\r\n update,\r\n rename,\r\n remove,\r\n setDefault,\r\n clearDefault,\r\n getById,\r\n ]\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,3 @@
1
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
2
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
3
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
- 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); }
5
1
  /**
6
2
  * createPersonalizationStore — Portnet UI v2 · personalization
7
3
  *
@@ -37,48 +33,45 @@ import { getCapability, getRegisteredCapabilities, makeEnvelope } from "./schema
37
33
 
38
34
  /** The store handle returned by createPersonalizationStore. */
39
35
 
40
- var EMPTY_OBJECT = Object.freeze({});
41
- var isDev = typeof process !== "undefined" && process.env && process.env["NODE_ENV"] !== "production";
36
+ const EMPTY_OBJECT = Object.freeze({});
37
+ const isDev = typeof process !== "undefined" && process.env && process.env["NODE_ENV"] !== "production";
42
38
  export default function createPersonalizationStore(config) {
43
- var cfg = config || {};
44
- var scope = cfg.scope || {
39
+ const cfg = config || {};
40
+ const scope = cfg.scope || {
45
41
  userId: "anonymous"
46
42
  };
47
- var adapter = cfg.adapter || null;
48
- var defaults = cfg.defaults || null;
43
+ const adapter = cfg.adapter || null;
44
+ const defaults = cfg.defaults || null;
49
45
 
50
46
  /** Live snapshot: { [capabilityId]: payload }. New top-level ref on every change. */
51
- var state = {};
47
+ let state = {};
52
48
  /** Raw persisted envelopes from the adapter: { [capabilityId]: envelope }. */
53
- var rawEnvelopes = {};
54
- var hydrated = false;
55
- var disposed = false;
56
- var disconnect = null;
57
- var runtime = {
49
+ let rawEnvelopes = {};
50
+ let hydrated = false;
51
+ let disposed = false;
52
+ let disconnect = null;
53
+ let runtime = {
58
54
  onError: typeof cfg.onError === "function" ? cfg.onError : null,
59
55
  hydrateStrategy: cfg.hydrateStrategy || "remote-wins"
60
56
  };
61
- var listeners = new Set();
62
- var statuses = {};
63
- var errors = {};
57
+ const listeners = new Set();
58
+ const statuses = {};
59
+ const errors = {};
64
60
  /** Capabilities written before hydration finished — protected from the initial load. */
65
- var preHydrationWrites = new Set();
61
+ const preHydrationWrites = new Set();
66
62
 
67
63
  /* ── subscription / snapshot (useSyncExternalStore contract) ─────── */
68
64
 
69
65
  function notify() {
70
66
  // Iterate a snapshot so a listener unmounting during notify doesn't
71
67
  // mutate the Set under iteration (same guard as useDensity).
72
- var current = Array.from(listeners);
73
- for (var _i = 0, _current = current; _i < _current.length; _i++) {
74
- var listener = _current[_i];
75
- listener();
76
- }
68
+ const current = Array.from(listeners);
69
+ for (const listener of current) listener();
77
70
  }
78
71
  function subscribe(listener) {
79
72
  listeners.add(listener);
80
73
  return function unsubscribe() {
81
- listeners["delete"](listener);
74
+ listeners.delete(listener);
82
75
  };
83
76
  }
84
77
  function getSnapshot() {
@@ -94,12 +87,12 @@ export default function createPersonalizationStore(config) {
94
87
  if (defaults && Object.prototype.hasOwnProperty.call(defaults, capId)) {
95
88
  return defaults[capId];
96
89
  }
97
- var desc = getCapability(capId);
90
+ const desc = getCapability(capId);
98
91
  if (desc && desc.defaultState !== undefined) return desc.defaultState;
99
92
  return EMPTY_OBJECT;
100
93
  }
101
94
  function reportError(capId, e) {
102
- var err = e instanceof Error ? e : new Error(String(e || "personalization error"));
95
+ const err = e instanceof Error ? e : new Error(String(e || "personalization error"));
103
96
  errors[capId] = err;
104
97
  statuses[capId] = "error";
105
98
  if (runtime.onError) {
@@ -108,10 +101,11 @@ export default function createPersonalizationStore(config) {
108
101
  scope: scope,
109
102
  capabilityId: capId
110
103
  });
111
- } catch (_unused) {
104
+ } catch {
112
105
  /* host onError must not break the store */
113
106
  }
114
107
  }
108
+ // eslint-disable-next-line no-console
115
109
  if (isDev && typeof console !== "undefined" && console.error) {
116
110
  // eslint-disable-next-line no-console
117
111
  console.error('[@portnet/ui v2] personalization "' + capId + '":', err);
@@ -120,9 +114,9 @@ export default function createPersonalizationStore(config) {
120
114
 
121
115
  /** Pure: derive a capability payload from raw envelope (+migrate) or seed. */
122
116
  function computePayload(capId) {
123
- var raw = rawEnvelopes[capId];
124
- if (raw && _typeof(raw) === "object" && Object.prototype.hasOwnProperty.call(raw, "payload")) {
125
- var desc = getCapability(capId);
117
+ const raw = rawEnvelopes[capId];
118
+ if (raw && typeof raw === "object" && Object.prototype.hasOwnProperty.call(raw, "payload")) {
119
+ const desc = getCapability(capId);
126
120
  if (desc && typeof desc.migrate === "function") {
127
121
  try {
128
122
  return desc.migrate(typeof raw.schemaVersion === "number" ? raw.schemaVersion : 0, raw.payload);
@@ -138,11 +132,8 @@ export default function createPersonalizationStore(config) {
138
132
 
139
133
  /** Replace one slice immutably (structural sharing; new top-level ref). */
140
134
  function setSlice(capId, payload) {
141
- var next = {};
142
- for (var _i2 = 0, _Object$keys = Object.keys(state); _i2 < _Object$keys.length; _i2++) {
143
- var key = _Object$keys[_i2];
144
- next[key] = state[key];
145
- }
135
+ const next = {};
136
+ for (const key of Object.keys(state)) next[key] = state[key];
146
137
  next[capId] = payload;
147
138
  state = next;
148
139
  }
@@ -178,10 +169,10 @@ export default function createPersonalizationStore(config) {
178
169
 
179
170
  function write(capId, updater, options) {
180
171
  if (disposed) return undefined;
181
- var persist = !options || options.persist !== false;
172
+ const persist = !options || options.persist !== false;
182
173
  materialiseIfMissing(capId);
183
- var prev = state[capId];
184
- var next = typeof updater === "function" ? updater(prev) : updater;
174
+ const prev = state[capId];
175
+ const next = typeof updater === "function" ? updater(prev) : updater;
185
176
  if (Object.is(next, prev)) return prev; // no-op short-circuit
186
177
 
187
178
  setSlice(capId, next);
@@ -190,9 +181,9 @@ export default function createPersonalizationStore(config) {
190
181
  if (persist && adapter && typeof adapter.save === "function") {
191
182
  // Capture the narrowed adapter: the `if` narrowing does not reach into
192
183
  // the async closures below, and `save` is required on Adapter.
193
- var activeAdapter = adapter;
194
- var desc = getCapability(capId);
195
- var envelope = makeEnvelope(desc ? desc.schemaVersion : 1, next);
184
+ const activeAdapter = adapter;
185
+ const desc = getCapability(capId);
186
+ const envelope = makeEnvelope(desc ? desc.schemaVersion : 1, next);
196
187
  statuses[capId] = "saving";
197
188
  Promise.resolve().then(function persistSlice() {
198
189
  return activeAdapter.save(scope, capId, envelope);
@@ -200,7 +191,7 @@ export default function createPersonalizationStore(config) {
200
191
  if (disposed) return;
201
192
  statuses[capId] = "idle";
202
193
  errors[capId] = null;
203
- })["catch"](function onSaveFailed(e) {
194
+ }).catch(function onSaveFailed(e) {
204
195
  if (disposed) return;
205
196
  // Keep the optimistic value for the session; surface the error.
206
197
  reportError(capId, e);
@@ -215,10 +206,10 @@ export default function createPersonalizationStore(config) {
215
206
  setSlice(capId, seedFor(capId));
216
207
  notify();
217
208
  if (adapter && typeof adapter.remove === "function") {
218
- var activeAdapter = adapter;
209
+ const activeAdapter = adapter;
219
210
  Promise.resolve().then(function removeSlice() {
220
211
  return activeAdapter.remove ? activeAdapter.remove(scope, capId) : undefined;
221
- })["catch"](function onRemoveFailed(e) {
212
+ }).catch(function onRemoveFailed(e) {
222
213
  reportError(capId, e);
223
214
  });
224
215
  }
@@ -227,18 +218,15 @@ export default function createPersonalizationStore(config) {
227
218
  /* ── hydration ───────────────────────────────────────────────────── */
228
219
 
229
220
  function rematerialiseAfterLoad() {
230
- var ids = new Set();
221
+ const ids = new Set();
231
222
  Object.keys(rawEnvelopes).forEach(function addRawId(id) {
232
223
  ids.add(id);
233
224
  });
234
225
  getRegisteredCapabilities().forEach(function addRegisteredId(d) {
235
226
  ids.add(d.id);
236
227
  });
237
- var next = {};
238
- for (var _i3 = 0, _Object$keys2 = Object.keys(state); _i3 < _Object$keys2.length; _i3++) {
239
- var key = _Object$keys2[_i3];
240
- next[key] = state[key];
241
- }
228
+ const next = {};
229
+ for (const key of Object.keys(state)) next[key] = state[key];
242
230
  ids.forEach(function materialise(capId) {
243
231
  // Persisted truth wins over a pre-hydration seed, but never clobbers
244
232
  // an optimistic write the user made during the hydrating window.
@@ -253,149 +241,58 @@ export default function createPersonalizationStore(config) {
253
241
  if (typeof window === "undefined") return;
254
242
  if (!adapter || typeof adapter.loadSync !== "function") return;
255
243
  try {
256
- var loaded = adapter.loadSync(scope);
257
- if (loaded && _typeof(loaded) === "object") {
244
+ const loaded = adapter.loadSync(scope);
245
+ if (loaded && typeof loaded === "object") {
258
246
  rawEnvelopes = loaded;
259
247
  rematerialiseAfterLoad();
260
248
  hydrated = true;
261
249
  }
262
250
  } catch (e) {
263
251
  // Fall back to async hydrate().
252
+ // eslint-disable-next-line no-console
264
253
  if (isDev && typeof console !== "undefined" && console.warn) {
265
254
  // eslint-disable-next-line no-console
266
255
  console.warn("[@portnet/ui v2] personalization loadSync failed; deferring to async hydrate.", e);
267
256
  }
268
257
  }
269
258
  }
270
- function hydrate() {
271
- return _hydrate.apply(this, arguments);
272
- }
273
- function _hydrate() {
274
- _hydrate = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
275
- var loaded;
276
- return _regeneratorRuntime().wrap(function _callee$(_context) {
277
- while (1) {
278
- switch (_context.prev = _context.next) {
279
- case 0:
280
- if (!disposed) {
281
- _context.next = 2;
282
- break;
283
- }
284
- return _context.abrupt("return");
285
- case 2:
286
- if (!(typeof window === "undefined")) {
287
- _context.next = 4;
288
- break;
289
- }
290
- return _context.abrupt("return");
291
- case 4:
292
- if (!(hydrated && adapter && adapter.capabilities && adapter.capabilities.remote === false)) {
293
- _context.next = 6;
294
- break;
295
- }
296
- return _context.abrupt("return");
297
- case 6:
298
- _context.prev = 6;
299
- if (!(adapter && typeof adapter.load === "function")) {
300
- _context.next = 13;
301
- break;
302
- }
303
- _context.next = 10;
304
- return adapter.load(scope);
305
- case 10:
306
- _context.t0 = _context.sent;
307
- _context.next = 14;
308
- break;
309
- case 13:
310
- _context.t0 = {};
311
- case 14:
312
- loaded = _context.t0;
313
- if (!disposed) {
314
- _context.next = 17;
315
- break;
316
- }
317
- return _context.abrupt("return");
318
- case 17:
319
- rawEnvelopes = loaded && _typeof(loaded) === "object" ? loaded : {};
320
- _context.next = 24;
321
- break;
322
- case 20:
323
- _context.prev = 20;
324
- _context.t1 = _context["catch"](6);
325
- rawEnvelopes = {};
326
- reportError("*", _context.t1);
327
- case 24:
328
- rematerialiseAfterLoad();
329
- hydrated = true;
330
- preHydrationWrites.clear();
331
- notify();
332
- case 28:
333
- case "end":
334
- return _context.stop();
335
- }
336
- }
337
- }, _callee, null, [[6, 20]]);
338
- }));
339
- return _hydrate.apply(this, arguments);
259
+ async function hydrate() {
260
+ if (disposed) return;
261
+ if (typeof window === "undefined") return; // SSR: no hydration
262
+ // Already seeded synchronously and the adapter has no remote source to
263
+ // reconcile against skip the redundant reload.
264
+ if (hydrated && adapter && adapter.capabilities && adapter.capabilities.remote === false) {
265
+ return;
266
+ }
267
+ try {
268
+ const loaded = adapter && typeof adapter.load === "function" ? await adapter.load(scope) : {};
269
+ if (disposed) return;
270
+ rawEnvelopes = loaded && typeof loaded === "object" ? loaded : {};
271
+ } catch (e) {
272
+ rawEnvelopes = {};
273
+ reportError("*", e);
274
+ }
275
+ rematerialiseAfterLoad();
276
+ hydrated = true;
277
+ preHydrationWrites.clear();
278
+ notify();
340
279
  }
341
- function reloadCapability(_x) {
342
- return _reloadCapability.apply(this, arguments);
280
+ async function reloadCapability(capId) {
281
+ if (disposed) return;
282
+ try {
283
+ const loaded = adapter && typeof adapter.load === "function" ? await adapter.load(scope) : {};
284
+ if (disposed) return;
285
+ rawEnvelopes = loaded && typeof loaded === "object" ? loaded : {};
286
+ } catch (e) {
287
+ reportError(capId, e);
288
+ return;
289
+ }
290
+ setSlice(capId, computePayload(capId));
291
+ notify();
343
292
  }
293
+
344
294
  /* ── cross-tab / external changes ────────────────────────────────── */
345
- function _reloadCapability() {
346
- _reloadCapability = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(capId) {
347
- var loaded;
348
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
349
- while (1) {
350
- switch (_context2.prev = _context2.next) {
351
- case 0:
352
- if (!disposed) {
353
- _context2.next = 2;
354
- break;
355
- }
356
- return _context2.abrupt("return");
357
- case 2:
358
- _context2.prev = 2;
359
- if (!(adapter && typeof adapter.load === "function")) {
360
- _context2.next = 9;
361
- break;
362
- }
363
- _context2.next = 6;
364
- return adapter.load(scope);
365
- case 6:
366
- _context2.t0 = _context2.sent;
367
- _context2.next = 10;
368
- break;
369
- case 9:
370
- _context2.t0 = {};
371
- case 10:
372
- loaded = _context2.t0;
373
- if (!disposed) {
374
- _context2.next = 13;
375
- break;
376
- }
377
- return _context2.abrupt("return");
378
- case 13:
379
- rawEnvelopes = loaded && _typeof(loaded) === "object" ? loaded : {};
380
- _context2.next = 20;
381
- break;
382
- case 16:
383
- _context2.prev = 16;
384
- _context2.t1 = _context2["catch"](2);
385
- reportError(capId, _context2.t1);
386
- return _context2.abrupt("return");
387
- case 20:
388
- setSlice(capId, computePayload(capId));
389
- notify();
390
- case 22:
391
- case "end":
392
- return _context2.stop();
393
- }
394
- }
395
- }, _callee2, null, [[2, 16]]);
396
- }));
397
- return _reloadCapability.apply(this, arguments);
398
- }
295
+
399
296
  function connect() {
400
297
  if (disposed) return function noop() {};
401
298
  if (!adapter || typeof adapter.subscribe !== "function") {
@@ -416,7 +313,7 @@ export default function createPersonalizationStore(config) {
416
313
  if (typeof disconnect === "function") {
417
314
  try {
418
315
  disconnect();
419
- } catch (_unused2) {
316
+ } catch {
420
317
  /* ignore */
421
318
  }
422
319
  disconnect = null;