@portnet/ui 5.0.27 → 6.0.0

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 (736) hide show
  1. package/CHANGELOG.md +524 -0
  2. package/README.md +101 -38
  3. package/dist/index.d.ts +59 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +174 -203
  6. package/dist/index.js.map +1 -0
  7. package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
  8. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
  9. package/dist/v2/__tests__/apiError.test.js +182 -0
  10. package/dist/v2/__tests__/apiError.test.js.map +1 -0
  11. package/dist/v2/__tests__/banned-patterns.test.js +272 -0
  12. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
  13. package/dist/v2/__tests__/contrast-palette.test.js +225 -0
  14. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
  15. package/dist/v2/__tests__/cssVariables.test.js +158 -0
  16. package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
  17. package/dist/v2/__tests__/labels-merge.test.js +153 -0
  18. package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
  19. package/dist/v2/__tests__/locale-fallback.test.js +111 -0
  20. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
  21. package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
  22. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
  23. package/dist/v2/components/Accordion.d.ts +56 -0
  24. package/dist/v2/components/Accordion.d.ts.map +1 -0
  25. package/dist/v2/components/Accordion.js +238 -0
  26. package/dist/v2/components/Accordion.js.map +1 -0
  27. package/dist/v2/components/ActionStrip.d.ts +67 -0
  28. package/dist/v2/components/ActionStrip.d.ts.map +1 -0
  29. package/dist/v2/components/ActionStrip.js +154 -0
  30. package/dist/v2/components/ActionStrip.js.map +1 -0
  31. package/dist/v2/components/Banner.d.ts +49 -0
  32. package/dist/v2/components/Banner.d.ts.map +1 -0
  33. package/dist/v2/components/Banner.js +183 -0
  34. package/dist/v2/components/Banner.js.map +1 -0
  35. package/dist/v2/components/Busy.d.ts +18 -0
  36. package/dist/v2/components/Busy.d.ts.map +1 -0
  37. package/dist/v2/components/Busy.js +104 -0
  38. package/dist/v2/components/Busy.js.map +1 -0
  39. package/dist/v2/components/Button.d.ts +36 -0
  40. package/dist/v2/components/Button.d.ts.map +1 -0
  41. package/dist/v2/components/Button.js +122 -0
  42. package/dist/v2/components/Button.js.map +1 -0
  43. package/dist/v2/components/CategoryTag.d.ts +45 -0
  44. package/dist/v2/components/CategoryTag.d.ts.map +1 -0
  45. package/dist/v2/components/CategoryTag.js +89 -0
  46. package/dist/v2/components/CategoryTag.js.map +1 -0
  47. package/dist/v2/components/Checkbox.d.ts +59 -0
  48. package/dist/v2/components/Checkbox.d.ts.map +1 -0
  49. package/dist/v2/components/Checkbox.js +134 -0
  50. package/dist/v2/components/Checkbox.js.map +1 -0
  51. package/dist/v2/components/Chip.d.ts +48 -0
  52. package/dist/v2/components/Chip.d.ts.map +1 -0
  53. package/dist/v2/components/Chip.js +131 -0
  54. package/dist/v2/components/Chip.js.map +1 -0
  55. package/dist/v2/components/Combobox.d.ts +134 -0
  56. package/dist/v2/components/Combobox.d.ts.map +1 -0
  57. package/dist/v2/components/Combobox.js +399 -0
  58. package/dist/v2/components/Combobox.js.map +1 -0
  59. package/dist/v2/components/CommandPalette.d.ts +36 -0
  60. package/dist/v2/components/CommandPalette.d.ts.map +1 -0
  61. package/dist/v2/components/CommandPalette.js +672 -0
  62. package/dist/v2/components/CommandPalette.js.map +1 -0
  63. package/dist/v2/components/ConfirmDialog.d.ts +23 -0
  64. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
  65. package/dist/v2/components/ConfirmDialog.js +150 -0
  66. package/dist/v2/components/ConfirmDialog.js.map +1 -0
  67. package/dist/v2/components/DatePicker.d.ts +21 -0
  68. package/dist/v2/components/DatePicker.d.ts.map +1 -0
  69. package/dist/v2/components/DatePicker.js +207 -0
  70. package/dist/v2/components/DatePicker.js.map +1 -0
  71. package/dist/v2/components/DateRangePicker.d.ts +81 -0
  72. package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
  73. package/dist/v2/components/DateRangePicker.js +295 -0
  74. package/dist/v2/components/DateRangePicker.js.map +1 -0
  75. package/dist/v2/components/DateTimePicker.d.ts +21 -0
  76. package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
  77. package/dist/v2/components/DateTimePicker.js +189 -0
  78. package/dist/v2/components/DateTimePicker.js.map +1 -0
  79. package/dist/v2/components/Drawer.d.ts +34 -0
  80. package/dist/v2/components/Drawer.d.ts.map +1 -0
  81. package/dist/v2/components/Drawer.js +339 -0
  82. package/dist/v2/components/Drawer.js.map +1 -0
  83. package/dist/v2/components/Dropzone.d.ts +150 -0
  84. package/dist/v2/components/Dropzone.d.ts.map +1 -0
  85. package/dist/v2/components/Dropzone.js +539 -0
  86. package/dist/v2/components/Dropzone.js.map +1 -0
  87. package/dist/v2/components/EmptyState.d.ts +36 -0
  88. package/dist/v2/components/EmptyState.d.ts.map +1 -0
  89. package/dist/v2/components/EmptyState.js +112 -0
  90. package/dist/v2/components/EmptyState.js.map +1 -0
  91. package/dist/v2/components/FavoriteToggle.d.ts +22 -0
  92. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
  93. package/dist/v2/components/FavoriteToggle.js +134 -0
  94. package/dist/v2/components/FavoriteToggle.js.map +1 -0
  95. package/dist/v2/components/Field.d.ts +58 -0
  96. package/dist/v2/components/Field.d.ts.map +1 -0
  97. package/dist/v2/components/Field.js +186 -0
  98. package/dist/v2/components/Field.js.map +1 -0
  99. package/dist/v2/components/FieldHelp.d.ts +54 -0
  100. package/dist/v2/components/FieldHelp.d.ts.map +1 -0
  101. package/dist/v2/components/FieldHelp.js +209 -0
  102. package/dist/v2/components/FieldHelp.js.map +1 -0
  103. package/dist/v2/components/FilterTab.d.ts +35 -0
  104. package/dist/v2/components/FilterTab.d.ts.map +1 -0
  105. package/dist/v2/components/FilterTab.js +144 -0
  106. package/dist/v2/components/FilterTab.js.map +1 -0
  107. package/dist/v2/components/ForbiddenPage.d.ts +40 -0
  108. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
  109. package/dist/v2/components/ForbiddenPage.js +81 -0
  110. package/dist/v2/components/ForbiddenPage.js.map +1 -0
  111. package/dist/v2/components/FormGrid.d.ts +76 -0
  112. package/dist/v2/components/FormGrid.d.ts.map +1 -0
  113. package/dist/v2/components/FormGrid.js +177 -0
  114. package/dist/v2/components/FormGrid.js.map +1 -0
  115. package/dist/v2/components/FormikDisplay.d.ts +38 -0
  116. package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
  117. package/dist/v2/components/FormikDisplay.js +125 -0
  118. package/dist/v2/components/FormikDisplay.js.map +1 -0
  119. package/dist/v2/components/Input.d.ts +62 -0
  120. package/dist/v2/components/Input.d.ts.map +1 -0
  121. package/dist/v2/components/Input.js +115 -0
  122. package/dist/v2/components/Input.js.map +1 -0
  123. package/dist/v2/components/KPICard.d.ts +22 -0
  124. package/dist/v2/components/KPICard.d.ts.map +1 -0
  125. package/dist/v2/components/KPICard.js +205 -0
  126. package/dist/v2/components/KPICard.js.map +1 -0
  127. package/dist/v2/components/KV.d.ts +25 -0
  128. package/dist/v2/components/KV.d.ts.map +1 -0
  129. package/dist/v2/components/KV.js +82 -0
  130. package/dist/v2/components/KV.js.map +1 -0
  131. package/dist/v2/components/KVGrid.d.ts +44 -0
  132. package/dist/v2/components/KVGrid.d.ts.map +1 -0
  133. package/dist/v2/components/KVGrid.js +73 -0
  134. package/dist/v2/components/KVGrid.js.map +1 -0
  135. package/dist/v2/components/Layout.d.ts +78 -0
  136. package/dist/v2/components/Layout.d.ts.map +1 -0
  137. package/dist/v2/components/Layout.js +284 -0
  138. package/dist/v2/components/Layout.js.map +1 -0
  139. package/dist/v2/components/MobileRowCard.d.ts +63 -0
  140. package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
  141. package/dist/v2/components/MobileRowCard.js +321 -0
  142. package/dist/v2/components/MobileRowCard.js.map +1 -0
  143. package/dist/v2/components/Modal.d.ts +21 -0
  144. package/dist/v2/components/Modal.d.ts.map +1 -0
  145. package/dist/v2/components/Modal.js +281 -0
  146. package/dist/v2/components/Modal.js.map +1 -0
  147. package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
  148. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
  149. package/dist/v2/components/NetworkErrorPage.js +86 -0
  150. package/dist/v2/components/NetworkErrorPage.js.map +1 -0
  151. package/dist/v2/components/NotFoundPage.d.ts +9 -0
  152. package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
  153. package/dist/v2/components/NotFoundPage.js +66 -0
  154. package/dist/v2/components/NotFoundPage.js.map +1 -0
  155. package/dist/v2/components/NumberInput.d.ts +83 -0
  156. package/dist/v2/components/NumberInput.d.ts.map +1 -0
  157. package/dist/v2/components/NumberInput.js +316 -0
  158. package/dist/v2/components/NumberInput.js.map +1 -0
  159. package/dist/v2/components/OverflowMenu.d.ts +55 -0
  160. package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
  161. package/dist/v2/components/OverflowMenu.js +196 -0
  162. package/dist/v2/components/OverflowMenu.js.map +1 -0
  163. package/dist/v2/components/PdfViewer.d.ts +56 -0
  164. package/dist/v2/components/PdfViewer.d.ts.map +1 -0
  165. package/dist/v2/components/PdfViewer.js +132 -0
  166. package/dist/v2/components/PdfViewer.js.map +1 -0
  167. package/dist/v2/components/ProgressBar.d.ts +53 -0
  168. package/dist/v2/components/ProgressBar.d.ts.map +1 -0
  169. package/dist/v2/components/ProgressBar.js +209 -0
  170. package/dist/v2/components/ProgressBar.js.map +1 -0
  171. package/dist/v2/components/Radio.d.ts +78 -0
  172. package/dist/v2/components/Radio.d.ts.map +1 -0
  173. package/dist/v2/components/Radio.js +238 -0
  174. package/dist/v2/components/Radio.js.map +1 -0
  175. package/dist/v2/components/SectionHeader.d.ts +53 -0
  176. package/dist/v2/components/SectionHeader.d.ts.map +1 -0
  177. package/dist/v2/components/SectionHeader.js +140 -0
  178. package/dist/v2/components/SectionHeader.js.map +1 -0
  179. package/dist/v2/components/Segmented.d.ts +61 -0
  180. package/dist/v2/components/Segmented.d.ts.map +1 -0
  181. package/dist/v2/components/Segmented.js +261 -0
  182. package/dist/v2/components/Segmented.js.map +1 -0
  183. package/dist/v2/components/Select.d.ts +72 -0
  184. package/dist/v2/components/Select.d.ts.map +1 -0
  185. package/dist/v2/components/Select.js +382 -0
  186. package/dist/v2/components/Select.js.map +1 -0
  187. package/dist/v2/components/ServerErrorPage.d.ts +11 -0
  188. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
  189. package/dist/v2/components/ServerErrorPage.js +82 -0
  190. package/dist/v2/components/ServerErrorPage.js.map +1 -0
  191. package/dist/v2/components/Skeleton.d.ts +56 -0
  192. package/dist/v2/components/Skeleton.d.ts.map +1 -0
  193. package/dist/v2/components/Skeleton.js +281 -0
  194. package/dist/v2/components/Skeleton.js.map +1 -0
  195. package/dist/v2/components/SkipLink.d.ts +30 -0
  196. package/dist/v2/components/SkipLink.d.ts.map +1 -0
  197. package/dist/v2/components/SkipLink.js +58 -0
  198. package/dist/v2/components/SkipLink.js.map +1 -0
  199. package/dist/v2/components/Spinner.d.ts +40 -0
  200. package/dist/v2/components/Spinner.d.ts.map +1 -0
  201. package/dist/v2/components/Spinner.js +76 -0
  202. package/dist/v2/components/Spinner.js.map +1 -0
  203. package/dist/v2/components/Status.d.ts +42 -0
  204. package/dist/v2/components/Status.d.ts.map +1 -0
  205. package/dist/v2/components/Status.js +71 -0
  206. package/dist/v2/components/Status.js.map +1 -0
  207. package/dist/v2/components/Stepper.d.ts +136 -0
  208. package/dist/v2/components/Stepper.d.ts.map +1 -0
  209. package/dist/v2/components/Stepper.js +415 -0
  210. package/dist/v2/components/Stepper.js.map +1 -0
  211. package/dist/v2/components/Switch.d.ts +30 -0
  212. package/dist/v2/components/Switch.d.ts.map +1 -0
  213. package/dist/v2/components/Switch.js +136 -0
  214. package/dist/v2/components/Switch.js.map +1 -0
  215. package/dist/v2/components/Tabs.d.ts +49 -0
  216. package/dist/v2/components/Tabs.d.ts.map +1 -0
  217. package/dist/v2/components/Tabs.js +160 -0
  218. package/dist/v2/components/Tabs.js.map +1 -0
  219. package/dist/v2/components/TelInput.d.ts +33 -0
  220. package/dist/v2/components/TelInput.d.ts.map +1 -0
  221. package/dist/v2/components/TelInput.js +282 -0
  222. package/dist/v2/components/TelInput.js.map +1 -0
  223. package/dist/v2/components/Textarea.d.ts +23 -0
  224. package/dist/v2/components/Textarea.d.ts.map +1 -0
  225. package/dist/v2/components/Textarea.js +80 -0
  226. package/dist/v2/components/Textarea.js.map +1 -0
  227. package/dist/v2/components/TimePicker.d.ts +21 -0
  228. package/dist/v2/components/TimePicker.d.ts.map +1 -0
  229. package/dist/v2/components/TimePicker.js +141 -0
  230. package/dist/v2/components/TimePicker.js.map +1 -0
  231. package/dist/v2/components/Toast.d.ts +32 -0
  232. package/dist/v2/components/Toast.d.ts.map +1 -0
  233. package/dist/v2/components/Toast.js +384 -0
  234. package/dist/v2/components/Toast.js.map +1 -0
  235. package/dist/v2/components/Tooltip.d.ts +9 -0
  236. package/dist/v2/components/Tooltip.d.ts.map +1 -0
  237. package/dist/v2/components/Tooltip.js +169 -0
  238. package/dist/v2/components/Tooltip.js.map +1 -0
  239. package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
  240. package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
  241. package/dist/v2/components/_ErrorPageBody.js +96 -0
  242. package/dist/v2/components/_ErrorPageBody.js.map +1 -0
  243. package/dist/v2/components/_pickerShared.d.ts +47 -0
  244. package/dist/v2/components/_pickerShared.d.ts.map +1 -0
  245. package/dist/v2/components/_pickerShared.js +68 -0
  246. package/dist/v2/components/_pickerShared.js.map +1 -0
  247. package/dist/v2/components/index.d.ts +83 -0
  248. package/dist/v2/components/index.d.ts.map +1 -0
  249. package/dist/v2/components/index.js +477 -0
  250. package/dist/v2/components/index.js.map +1 -0
  251. package/dist/v2/hooks/index.d.ts +11 -0
  252. package/dist/v2/hooks/index.d.ts.map +1 -0
  253. package/dist/v2/hooks/index.js +85 -0
  254. package/dist/v2/hooks/index.js.map +1 -0
  255. package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
  256. package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
  257. package/dist/v2/hooks/useDelayedFlag.js +60 -0
  258. package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
  259. package/dist/v2/hooks/useDensity.d.ts +23 -0
  260. package/dist/v2/hooks/useDensity.d.ts.map +1 -0
  261. package/dist/v2/hooks/useDensity.js +124 -0
  262. package/dist/v2/hooks/useDensity.js.map +1 -0
  263. package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
  264. package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
  265. package/dist/v2/hooks/useFocusFirstError.js +203 -0
  266. package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
  267. package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
  268. package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
  269. package/dist/v2/hooks/useFocusTrap.js +207 -0
  270. package/dist/v2/hooks/useFocusTrap.js.map +1 -0
  271. package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
  272. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
  273. package/dist/v2/hooks/useFormAutoSave.js +186 -0
  274. package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
  275. package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
  276. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
  277. package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
  278. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
  279. package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
  280. package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
  281. package/dist/v2/hooks/useResolvedDensity.js +50 -0
  282. package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
  283. package/dist/v2/hooks/useSortedRows.d.ts +25 -0
  284. package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
  285. package/dist/v2/hooks/useSortedRows.js +38 -0
  286. package/dist/v2/hooks/useSortedRows.js.map +1 -0
  287. package/dist/v2/hooks/useTabLoading.d.ts +39 -0
  288. package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
  289. package/dist/v2/hooks/useTabLoading.js +85 -0
  290. package/dist/v2/hooks/useTabLoading.js.map +1 -0
  291. package/dist/v2/index.d.ts +115 -0
  292. package/dist/v2/index.d.ts.map +1 -0
  293. package/dist/v2/index.js +1127 -0
  294. package/dist/v2/index.js.map +1 -0
  295. package/dist/v2/modalContext.d.ts +96 -0
  296. package/dist/v2/modalContext.d.ts.map +1 -0
  297. package/dist/v2/modalContext.js +113 -0
  298. package/dist/v2/modalContext.js.map +1 -0
  299. package/dist/v2/models/favorite.d.ts +14 -0
  300. package/dist/v2/models/favorite.d.ts.map +1 -0
  301. package/dist/v2/models/favorite.js +6 -0
  302. package/dist/v2/models/favorite.js.map +1 -0
  303. package/dist/v2/models/index.d.ts +11 -0
  304. package/dist/v2/models/index.d.ts.map +1 -0
  305. package/dist/v2/models/index.js +50 -0
  306. package/dist/v2/models/index.js.map +1 -0
  307. package/dist/v2/models/personalization.d.ts +65 -0
  308. package/dist/v2/models/personalization.d.ts.map +1 -0
  309. package/dist/v2/models/personalization.js +6 -0
  310. package/dist/v2/models/personalization.js.map +1 -0
  311. package/dist/v2/models/referentiel.d.ts +67 -0
  312. package/dist/v2/models/referentiel.d.ts.map +1 -0
  313. package/dist/v2/models/referentiel.js +6 -0
  314. package/dist/v2/models/referentiel.js.map +1 -0
  315. package/dist/v2/models/savedFilter.d.ts +22 -0
  316. package/dist/v2/models/savedFilter.d.ts.map +1 -0
  317. package/dist/v2/models/savedFilter.js +6 -0
  318. package/dist/v2/models/savedFilter.js.map +1 -0
  319. package/dist/v2/patterns/ActionBar.d.ts +137 -0
  320. package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
  321. package/dist/v2/patterns/ActionBar.js +601 -0
  322. package/dist/v2/patterns/ActionBar.js.map +1 -0
  323. package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
  324. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
  325. package/dist/v2/patterns/BulkActionBar.js +153 -0
  326. package/dist/v2/patterns/BulkActionBar.js.map +1 -0
  327. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
  328. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
  329. package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
  330. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  331. package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
  332. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
  333. package/dist/v2/patterns/ColumnsToggle.js +314 -0
  334. package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
  335. package/dist/v2/patterns/DataGrid.d.ts +7 -0
  336. package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
  337. package/dist/v2/patterns/DataGrid.js +834 -0
  338. package/dist/v2/patterns/DataGrid.js.map +1 -0
  339. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
  340. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
  341. package/dist/v2/patterns/DataGridSettingsMenu.js +381 -0
  342. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  343. package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
  344. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
  345. package/dist/v2/patterns/DataGridToolbar.js +255 -0
  346. package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
  347. package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
  348. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
  349. package/dist/v2/patterns/DataGridVirtualized.js +528 -0
  350. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
  351. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
  352. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
  353. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
  354. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  355. package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
  356. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
  357. package/dist/v2/patterns/FavoriteColumn.js +171 -0
  358. package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
  359. package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
  360. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
  361. package/dist/v2/patterns/FavoritesFilter.js +97 -0
  362. package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
  363. package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
  364. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
  365. package/dist/v2/patterns/FormErrorSummary.js +111 -0
  366. package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
  367. package/dist/v2/patterns/FormPageShell.d.ts +55 -0
  368. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
  369. package/dist/v2/patterns/FormPageShell.js +133 -0
  370. package/dist/v2/patterns/FormPageShell.js.map +1 -0
  371. package/dist/v2/patterns/FormSection.d.ts +53 -0
  372. package/dist/v2/patterns/FormSection.d.ts.map +1 -0
  373. package/dist/v2/patterns/FormSection.js +162 -0
  374. package/dist/v2/patterns/FormSection.js.map +1 -0
  375. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
  376. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
  377. package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
  378. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  379. package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
  380. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
  381. package/dist/v2/patterns/FormikCombobox.js +121 -0
  382. package/dist/v2/patterns/FormikCombobox.js.map +1 -0
  383. package/dist/v2/patterns/FormikDatePicker.d.ts +87 -0
  384. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
  385. package/dist/v2/patterns/FormikDatePicker.js +177 -0
  386. package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
  387. package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
  388. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
  389. package/dist/v2/patterns/FormikErrorFocus.js +83 -0
  390. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
  391. package/dist/v2/patterns/FormikFile.d.ts +43 -0
  392. package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
  393. package/dist/v2/patterns/FormikFile.js +156 -0
  394. package/dist/v2/patterns/FormikFile.js.map +1 -0
  395. package/dist/v2/patterns/FormikInput.d.ts +37 -0
  396. package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
  397. package/dist/v2/patterns/FormikInput.js +87 -0
  398. package/dist/v2/patterns/FormikInput.js.map +1 -0
  399. package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
  400. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
  401. package/dist/v2/patterns/FormikReferentielField.js +124 -0
  402. package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
  403. package/dist/v2/patterns/FormikSelect.d.ts +40 -0
  404. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
  405. package/dist/v2/patterns/FormikSelect.js +139 -0
  406. package/dist/v2/patterns/FormikSelect.js.map +1 -0
  407. package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
  408. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
  409. package/dist/v2/patterns/FormikTextarea.js +84 -0
  410. package/dist/v2/patterns/FormikTextarea.js.map +1 -0
  411. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
  412. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
  413. package/dist/v2/patterns/KeyboardShortcutsHelp.js +207 -0
  414. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  415. package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
  416. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
  417. package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
  418. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
  419. package/dist/v2/patterns/PageContent.d.ts +40 -0
  420. package/dist/v2/patterns/PageContent.d.ts.map +1 -0
  421. package/dist/v2/patterns/PageContent.js +69 -0
  422. package/dist/v2/patterns/PageContent.js.map +1 -0
  423. package/dist/v2/patterns/ReferentielField.d.ts +118 -0
  424. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
  425. package/dist/v2/patterns/ReferentielField.js +617 -0
  426. package/dist/v2/patterns/ReferentielField.js.map +1 -0
  427. package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
  428. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
  429. package/dist/v2/patterns/SaveFilterDialog.js +203 -0
  430. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
  431. package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
  432. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
  433. package/dist/v2/patterns/SavedFiltersMenu.js +412 -0
  434. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
  435. package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
  436. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
  437. package/dist/v2/patterns/SkeletonPageShell.js +347 -0
  438. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
  439. package/dist/v2/patterns/SortableHeader.d.ts +47 -0
  440. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
  441. package/dist/v2/patterns/SortableHeader.js +193 -0
  442. package/dist/v2/patterns/SortableHeader.js.map +1 -0
  443. package/dist/v2/patterns/Tour.d.ts +55 -0
  444. package/dist/v2/patterns/Tour.d.ts.map +1 -0
  445. package/dist/v2/patterns/Tour.js +473 -0
  446. package/dist/v2/patterns/Tour.js.map +1 -0
  447. package/dist/v2/patterns/_dataGridShared.d.ts +125 -0
  448. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
  449. package/dist/v2/patterns/_dataGridShared.js +406 -0
  450. package/dist/v2/patterns/_dataGridShared.js.map +1 -0
  451. package/dist/v2/patterns/_sort.d.ts +22 -0
  452. package/dist/v2/patterns/_sort.d.ts.map +1 -0
  453. package/dist/v2/patterns/_sort.js +118 -0
  454. package/dist/v2/patterns/_sort.js.map +1 -0
  455. package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
  456. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
  457. package/dist/v2/patterns/_useColumnReorder.js +264 -0
  458. package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
  459. package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
  460. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
  461. package/dist/v2/patterns/_useColumnResize.js +198 -0
  462. package/dist/v2/patterns/_useColumnResize.js.map +1 -0
  463. package/dist/v2/patterns/index.d.ts +62 -0
  464. package/dist/v2/patterns/index.d.ts.map +1 -0
  465. package/dist/v2/patterns/index.js +246 -0
  466. package/dist/v2/patterns/index.js.map +1 -0
  467. package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
  468. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
  469. package/dist/v2/personalization/PersonalizationProvider.js +177 -0
  470. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
  471. package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
  472. package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
  473. package/dist/v2/personalization/adapters/_storageKey.js +69 -0
  474. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
  475. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
  476. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
  477. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
  478. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  479. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
  480. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
  481. package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
  482. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  483. package/dist/v2/personalization/adapters/index.d.ts +10 -0
  484. package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
  485. package/dist/v2/personalization/adapters/index.js +21 -0
  486. package/dist/v2/personalization/adapters/index.js.map +1 -0
  487. package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
  488. package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
  489. package/dist/v2/personalization/capabilities/favorites.js +223 -0
  490. package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
  491. package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
  492. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
  493. package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
  494. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
  495. package/dist/v2/personalization/capabilities/index.d.ts +16 -0
  496. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
  497. package/dist/v2/personalization/capabilities/index.js +69 -0
  498. package/dist/v2/personalization/capabilities/index.js.map +1 -0
  499. package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
  500. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
  501. package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
  502. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
  503. package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
  504. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
  505. package/dist/v2/personalization/createPersonalizationStore.js +475 -0
  506. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
  507. package/dist/v2/personalization/index.d.ts +33 -0
  508. package/dist/v2/personalization/index.d.ts.map +1 -0
  509. package/dist/v2/personalization/index.js +111 -0
  510. package/dist/v2/personalization/index.js.map +1 -0
  511. package/dist/v2/personalization/personalizationContext.d.ts +78 -0
  512. package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
  513. package/dist/v2/personalization/personalizationContext.js +121 -0
  514. package/dist/v2/personalization/personalizationContext.js.map +1 -0
  515. package/dist/v2/personalization/schema.d.ts +60 -0
  516. package/dist/v2/personalization/schema.d.ts.map +1 -0
  517. package/dist/v2/personalization/schema.js +102 -0
  518. package/dist/v2/personalization/schema.js.map +1 -0
  519. package/dist/v2/personalization/types.d.ts +81 -0
  520. package/dist/v2/personalization/types.d.ts.map +1 -0
  521. package/dist/v2/personalization/types.js +6 -0
  522. package/dist/v2/personalization/types.js.map +1 -0
  523. package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
  524. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
  525. package/dist/v2/referentiel/ReferentielProvider.js +94 -0
  526. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
  527. package/dist/v2/referentiel/index.d.ts +18 -0
  528. package/dist/v2/referentiel/index.d.ts.map +1 -0
  529. package/dist/v2/referentiel/index.js +44 -0
  530. package/dist/v2/referentiel/index.js.map +1 -0
  531. package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
  532. package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
  533. package/dist/v2/referentiel/useReferentielClient.js +46 -0
  534. package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
  535. package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
  536. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
  537. package/dist/v2/referentiel/useReferentielOptions.js +177 -0
  538. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
  539. package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
  540. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
  541. package/dist/v2/referentiel/useReferentielSearch.js +140 -0
  542. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
  543. package/dist/v2/styles/base.css +425 -0
  544. package/dist/v2/styles/css.d.ts +10 -0
  545. package/dist/v2/styles/index.d.ts +12 -0
  546. package/dist/v2/styles/index.d.ts.map +1 -0
  547. package/dist/v2/styles/index.js +4 -0
  548. package/dist/v2/styles/index.js.map +1 -0
  549. package/dist/v2/theme/_brand.d.ts +29 -0
  550. package/dist/v2/theme/_brand.d.ts.map +1 -0
  551. package/dist/v2/theme/_brand.js +69 -0
  552. package/dist/v2/theme/_brand.js.map +1 -0
  553. package/dist/v2/theme/_brandSecondary.d.ts +26 -0
  554. package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
  555. package/dist/v2/theme/_brandSecondary.js +65 -0
  556. package/dist/v2/theme/_brandSecondary.js.map +1 -0
  557. package/dist/v2/theme/createPortnetTheme.d.ts +50 -0
  558. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
  559. package/dist/v2/theme/createPortnetTheme.js +529 -0
  560. package/dist/v2/theme/createPortnetTheme.js.map +1 -0
  561. package/dist/v2/theme/cssVariables.d.ts +41 -0
  562. package/dist/v2/theme/cssVariables.d.ts.map +1 -0
  563. package/dist/v2/theme/cssVariables.js +205 -0
  564. package/dist/v2/theme/cssVariables.js.map +1 -0
  565. package/dist/v2/theme/index.d.ts +33 -0
  566. package/dist/v2/theme/index.d.ts.map +1 -0
  567. package/dist/v2/theme/index.js +60 -0
  568. package/dist/v2/theme/index.js.map +1 -0
  569. package/dist/v2/tokens/breakpoints.d.ts +74 -0
  570. package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
  571. package/dist/v2/tokens/breakpoints.js +114 -0
  572. package/dist/v2/tokens/breakpoints.js.map +1 -0
  573. package/dist/v2/tokens/colors.d.ts +228 -0
  574. package/dist/v2/tokens/colors.d.ts.map +1 -0
  575. package/dist/v2/tokens/colors.js +225 -0
  576. package/dist/v2/tokens/colors.js.map +1 -0
  577. package/dist/v2/tokens/density.d.ts +142 -0
  578. package/dist/v2/tokens/density.d.ts.map +1 -0
  579. package/dist/v2/tokens/density.js +111 -0
  580. package/dist/v2/tokens/density.js.map +1 -0
  581. package/dist/v2/tokens/index.d.ts +556 -0
  582. package/dist/v2/tokens/index.d.ts.map +1 -0
  583. package/dist/v2/tokens/index.js +313 -0
  584. package/dist/v2/tokens/index.js.map +1 -0
  585. package/dist/v2/tokens/motion.d.ts +85 -0
  586. package/dist/v2/tokens/motion.d.ts.map +1 -0
  587. package/dist/v2/tokens/motion.js +94 -0
  588. package/dist/v2/tokens/motion.js.map +1 -0
  589. package/dist/v2/tokens/radius.d.ts +18 -0
  590. package/dist/v2/tokens/radius.d.ts.map +1 -0
  591. package/dist/v2/tokens/radius.js +28 -0
  592. package/dist/v2/tokens/radius.js.map +1 -0
  593. package/dist/v2/tokens/shadows.d.ts +25 -0
  594. package/dist/v2/tokens/shadows.d.ts.map +1 -0
  595. package/dist/v2/tokens/shadows.js +46 -0
  596. package/dist/v2/tokens/shadows.js.map +1 -0
  597. package/dist/v2/tokens/spacing.d.ts +38 -0
  598. package/dist/v2/tokens/spacing.d.ts.map +1 -0
  599. package/dist/v2/tokens/spacing.js +57 -0
  600. package/dist/v2/tokens/spacing.js.map +1 -0
  601. package/dist/v2/tokens/state.d.ts +40 -0
  602. package/dist/v2/tokens/state.d.ts.map +1 -0
  603. package/dist/v2/tokens/state.js +47 -0
  604. package/dist/v2/tokens/state.js.map +1 -0
  605. package/dist/v2/tokens/statusPalette.d.ts +54 -0
  606. package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
  607. package/dist/v2/tokens/statusPalette.js +72 -0
  608. package/dist/v2/tokens/statusPalette.js.map +1 -0
  609. package/dist/v2/tokens/tokens.json +153 -0
  610. package/dist/v2/tokens/typography.d.ts +206 -0
  611. package/dist/v2/tokens/typography.d.ts.map +1 -0
  612. package/dist/v2/tokens/typography.js +155 -0
  613. package/dist/v2/tokens/typography.js.map +1 -0
  614. package/dist/v2/tokens/zIndex.d.ts +33 -0
  615. package/dist/v2/tokens/zIndex.d.ts.map +1 -0
  616. package/dist/v2/tokens/zIndex.js +50 -0
  617. package/dist/v2/tokens/zIndex.js.map +1 -0
  618. package/dist/v2/types/common.d.ts +24 -0
  619. package/dist/v2/types/common.d.ts.map +1 -0
  620. package/dist/v2/types/common.js +6 -0
  621. package/dist/v2/types/common.js.map +1 -0
  622. package/dist/v2/types/datagrid.d.ts +131 -0
  623. package/dist/v2/types/datagrid.d.ts.map +1 -0
  624. package/dist/v2/types/datagrid.js +6 -0
  625. package/dist/v2/types/datagrid.js.map +1 -0
  626. package/dist/v2/types/index.d.ts +11 -0
  627. package/dist/v2/types/index.d.ts.map +1 -0
  628. package/dist/v2/types/index.js +28 -0
  629. package/dist/v2/types/index.js.map +1 -0
  630. package/dist/v2/utils/apiError.d.ts +90 -0
  631. package/dist/v2/utils/apiError.d.ts.map +1 -0
  632. package/dist/v2/utils/apiError.js +227 -0
  633. package/dist/v2/utils/apiError.js.map +1 -0
  634. package/dist/v2/utils/contrast.d.ts +68 -0
  635. package/dist/v2/utils/contrast.d.ts.map +1 -0
  636. package/dist/v2/utils/contrast.js +167 -0
  637. package/dist/v2/utils/contrast.js.map +1 -0
  638. package/dist/v2/utils/cx.d.ts +9 -0
  639. package/dist/v2/utils/cx.d.ts.map +1 -0
  640. package/dist/v2/utils/cx.js +45 -0
  641. package/dist/v2/utils/cx.js.map +1 -0
  642. package/dist/v2/utils/fileDownload.d.ts +94 -0
  643. package/dist/v2/utils/fileDownload.d.ts.map +1 -0
  644. package/dist/v2/utils/fileDownload.js +236 -0
  645. package/dist/v2/utils/fileDownload.js.map +1 -0
  646. package/dist/v2/utils/fmtMoney.d.ts +28 -0
  647. package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
  648. package/dist/v2/utils/fmtMoney.js +84 -0
  649. package/dist/v2/utils/fmtMoney.js.map +1 -0
  650. package/dist/v2/utils/index.d.ts +8 -0
  651. package/dist/v2/utils/index.d.ts.map +1 -0
  652. package/dist/v2/utils/index.js +90 -0
  653. package/dist/v2/utils/index.js.map +1 -0
  654. package/dist/v2/utils/networkStatus.d.ts +88 -0
  655. package/dist/v2/utils/networkStatus.d.ts.map +1 -0
  656. package/dist/v2/utils/networkStatus.js +121 -0
  657. package/dist/v2/utils/networkStatus.js.map +1 -0
  658. package/package.json +191 -73
  659. package/dist/api/guideApi.js +0 -12
  660. package/dist/api/guideImageService.js +0 -119
  661. package/dist/api/reclamationApi.js +0 -102
  662. package/dist/assets/guides/FAQ.json +0 -118
  663. package/dist/assets/guides/index.js +0 -11
  664. package/dist/assets/images/tijariaLogo.ico +0 -0
  665. package/dist/components/buttons/PuiButton.js +0 -217
  666. package/dist/components/buttons/PuiIconButton.js +0 -98
  667. package/dist/components/common/PuiAlertContext.js +0 -12
  668. package/dist/components/common/PuiHelpWidgetContext.js +0 -17
  669. package/dist/components/common/StyledMuiButton.js +0 -48
  670. package/dist/components/common/StyledMuiTextField.js +0 -180
  671. package/dist/components/inputs/PuiAutocomplete.js +0 -352
  672. package/dist/components/inputs/PuiCheckbox.js +0 -308
  673. package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
  674. package/dist/components/inputs/PuiCheckboxItem.js +0 -162
  675. package/dist/components/inputs/PuiDateField.js +0 -280
  676. package/dist/components/inputs/PuiDateTimeField.js +0 -276
  677. package/dist/components/inputs/PuiFileField.js +0 -265
  678. package/dist/components/inputs/PuiRadioGroup.js +0 -197
  679. package/dist/components/inputs/PuiRadioItem.js +0 -100
  680. package/dist/components/inputs/PuiSelect.js +0 -427
  681. package/dist/components/inputs/PuiTextField.js +0 -263
  682. package/dist/components/others/PuiBadge.js +0 -58
  683. package/dist/components/others/PuiChip.js +0 -150
  684. package/dist/components/others/PuiDialog.js +0 -102
  685. package/dist/components/others/PuiFormikForm.js +0 -70
  686. package/dist/components/others/PuiGrid.js +0 -23
  687. package/dist/components/others/PuiIcon.js +0 -92
  688. package/dist/components/others/PuiLoadingBackdrop.js +0 -32
  689. package/dist/components/others/PuiMainContainer.js +0 -41
  690. package/dist/components/others/PuiNavigation.js +0 -68
  691. package/dist/components/others/PuiSection.js +0 -187
  692. package/dist/components/others/PuiTooltip.js +0 -86
  693. package/dist/components/providers/PuiAlertProvider.js +0 -134
  694. package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
  695. package/dist/components/providers/PuiLocalizationProvider.js +0 -34
  696. package/dist/components/referentiel/common/ReferetielContext.js +0 -12
  697. package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
  698. package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
  699. package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
  700. package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
  701. package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
  702. package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
  703. package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
  704. package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
  705. package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
  706. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
  707. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
  708. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
  709. package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
  710. package/dist/components/tab/PuiTab.js +0 -25
  711. package/dist/components/tab/PuiTabs.js +0 -148
  712. package/dist/components/table/PuiTable.js +0 -643
  713. package/dist/components/table/PuiTableAction.js +0 -75
  714. package/dist/components/typography/PuiDefinition.js +0 -42
  715. package/dist/components/typography/PuiIndication.js +0 -80
  716. package/dist/components/typography/PuiMainTitle.js +0 -144
  717. package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
  718. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
  719. package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
  720. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
  721. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
  722. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
  723. package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
  724. package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
  725. package/dist/components/widgets/GuideImage.js +0 -251
  726. package/dist/components/widgets/PuiHelpWidget.js +0 -4153
  727. package/dist/config/apperance.js +0 -26
  728. package/dist/config/mapping.js +0 -26
  729. package/dist/config/referentiel.js +0 -10
  730. package/dist/general/yupValidationErrors.js +0 -8
  731. package/dist/hooks/useAlert.js +0 -19
  732. package/dist/hooks/useAxios.js +0 -23
  733. package/dist/hooks/useQuery.js +0 -21
  734. package/dist/hooks/useReclamation.js +0 -100
  735. package/dist/styles/ReclamationFormModal.css +0 -629
  736. package/dist/styles/help-widget.css +0 -621
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "FAVORITES_CAPABILITY_ID", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _favorites.FAVORITES_CAPABILITY_ID;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "FAVORITES_FILTER", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _favoritesView.FAVORITES_FILTER;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "FAVORITES_SORT", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _favoritesView.FAVORITES_SORT;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "FavoriteToggle", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _FavoriteToggle["default"];
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SAVED_FILTERS_CAPABILITY_ID", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _savedFilters.SAVED_FILTERS_CAPABILITY_ID;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "UserPersonalizationProvider", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _PersonalizationProvider["default"];
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "createLocalStorageAdapter", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _createLocalStorageAdapter["default"];
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "createMemoryAdapter", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _createMemoryAdapter["default"];
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "filterRowsByFavorites", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _favoritesView.filterRowsByFavorites;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "makeEnvelope", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _schema.makeEnvelope;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "registerCapability", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _schema.registerCapability;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "sortRowsByFavorites", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _favoritesView.sortRowsByFavorites;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "useFavorites", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _favorites.useFavorites;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "useFavoritesView", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _favoritesView.useFavoritesView;
88
+ }
89
+ });
90
+ Object.defineProperty(exports, "useIsFavorite", {
91
+ enumerable: true,
92
+ get: function get() {
93
+ return _favorites.useIsFavorite;
94
+ }
95
+ });
96
+ Object.defineProperty(exports, "useSavedFilters", {
97
+ enumerable: true,
98
+ get: function get() {
99
+ return _savedFilters.useSavedFilters;
100
+ }
101
+ });
102
+ var _PersonalizationProvider = _interopRequireDefault(require("./PersonalizationProvider"));
103
+ var _createLocalStorageAdapter = _interopRequireDefault(require("./adapters/createLocalStorageAdapter"));
104
+ var _createMemoryAdapter = _interopRequireDefault(require("./adapters/createMemoryAdapter"));
105
+ var _schema = require("./schema");
106
+ var _favorites = require("./capabilities/favorites");
107
+ var _favoritesView = require("./capabilities/favoritesView");
108
+ var _FavoriteToggle = _interopRequireDefault(require("../components/FavoriteToggle"));
109
+ var _savedFilters = require("./capabilities/savedFilters");
110
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_PersonalizationProvider","_interopRequireDefault","require","_createLocalStorageAdapter","_createMemoryAdapter","_schema","_favorites","_favoritesView","_FavoriteToggle","_savedFilters","obj","__esModule"],"sources":["../../../src/lib/v2/personalization/index.ts"],"sourcesContent":["/**\r\n * @portnet/ui · v2 · User Personalization Foundation\r\n * Public surface.\r\n *\r\n * Import via the dedicated subpath:\r\n * import {\r\n * UserPersonalizationProvider,\r\n * useFavorites,\r\n * useFavoritesView,\r\n * useSavedFilters,\r\n * FavoriteToggle,\r\n * } from \"@portnet/ui/v2/personalization\";\r\n *\r\n * Surface is intentionally minimal (architecture doc §2.8 — minimum API\r\n * surface). The store handle and the internal selector primitive are NOT\r\n * exported; hosts interact through the provider, the capability hooks,\r\n * and the capability components.\r\n *\r\n * The grid-bound composites — SaveFilterDialog / SavedFiltersMenu (saved\r\n * filters) and makeFavoriteColumn / FavoritesFilter (favorites) — are\r\n * exposed via @portnet/ui/v2 (patterns/), not re-exported here, so the\r\n * personalization barrel never imports from patterns/.\r\n */\r\n\r\n/* Provider — the single configuration point. */\r\nexport { default as UserPersonalizationProvider } from \"./PersonalizationProvider\";\r\n\r\n/* Built-in storage adapters (a remote adapter will join them, swap-in). */\r\nexport { default as createLocalStorageAdapter } from \"./adapters/createLocalStorageAdapter\";\r\nexport { default as createMemoryAdapter } from \"./adapters/createMemoryAdapter\";\r\n\r\n/* Capability registration seam — for custom/host-defined capabilities. */\r\nexport { registerCapability, makeEnvelope } from \"./schema\";\r\n\r\n/* Canonical domain types — the TS contract that replaced the runtime\r\n * PropTypes shapes (Scope / Adapter / FavoriteRef / SavedFilter). Type-only:\r\n * erased from the runtime bundle. */\r\nexport type { Scope, Adapter, FavoriteRef, SavedFilter } from \"./types\";\r\n\r\n/* Favorites capability (Batch 3) + view logic (Batch 5). */\r\nexport { useFavorites, useIsFavorite, FAVORITES_CAPABILITY_ID } from \"./capabilities/favorites\";\r\nexport {\r\n useFavoritesView,\r\n filterRowsByFavorites,\r\n sortRowsByFavorites,\r\n FAVORITES_FILTER,\r\n FAVORITES_SORT,\r\n} from \"./capabilities/favoritesView\";\r\nexport { default as FavoriteToggle } from \"../components/FavoriteToggle\";\r\n\r\n/* Saved filters capability (Batch 4). Composites in v2 patterns/. */\r\nexport { useSavedFilters, SAVED_FILTERS_CAPABILITY_ID } from \"./capabilities/savedFilters\";\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,IAAAA,wBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,0BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAGA,IAAAG,OAAA,GAAAH,OAAA;AAQA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAOA,IAAAM,eAAA,GAAAP,sBAAA,CAAAC,OAAA;AAGA,IAAAO,aAAA,GAAAP,OAAA;AAA2F,SAAAD,uBAAAS,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * personalizationContext — Portnet UI v2 · personalization
3
+ *
4
+ * Two contexts, by design (architecture doc §2.5):
5
+ * - PersonalizationConfigContext : STABLE config { scope, labels }, set
6
+ * once by the provider. Low churn.
7
+ * - PersonalizationStoreContext : the store handle. Mutable preference
8
+ * state NEVER travels through context — it is read via
9
+ * useSyncExternalStore selectors. A component toggling a favorite
10
+ * cannot re-render a component reading saved filters.
11
+ *
12
+ * `useStoreSelector` is the internal subscription primitive: a
13
+ * useSyncExternalStore wrapper that caches by (snapshot, selector) and
14
+ * supports an optional equality function so derived/object selections stay
15
+ * referentially stable. It is NOT exported from the public surface — the
16
+ * capability slices (Batch 3/4) consume it; hosts use the capability hooks.
17
+ */
18
+ import * as React from "react";
19
+ import type { PersonalizationSnapshot, PersonalizationStore } from "./createPersonalizationStore";
20
+ import type { Scope } from "./types";
21
+ /**
22
+ * Merged label bag (provider defaults + host overrides). The concrete
23
+ * default values live in DEFAULT_PERSONALIZATION_LABELS in the provider;
24
+ * this is the canonical type both the provider and the capability slices
25
+ * import.
26
+ */
27
+ export interface PersonalizationLabels {
28
+ addFavorite: string;
29
+ removeFavorite: string;
30
+ favoritesOnly: string;
31
+ showAll: string;
32
+ favoriteColumnHeader: string;
33
+ savedFilters: string;
34
+ saveCurrentFilter: string;
35
+ filterNameLabel: string;
36
+ filterNamePlaceholder: string;
37
+ saveFilter: string;
38
+ updateFilter: string;
39
+ deleteFilter: string;
40
+ deleteFilterConfirm: string;
41
+ setAsDefault: string;
42
+ defaultBadge: string;
43
+ manageFilters: string;
44
+ noSavedFilters: string;
45
+ cancel: string;
46
+ }
47
+ /** Stable configuration carried by PersonalizationConfigContext. */
48
+ export interface PersonalizationConfig {
49
+ scope: Scope;
50
+ labels: PersonalizationLabels;
51
+ }
52
+ export declare const PersonalizationConfigContext: React.Context<PersonalizationConfig | null>;
53
+ export declare const PersonalizationStoreContext: React.Context<PersonalizationStore | null>;
54
+ export declare function usePersonalizationConfig(): PersonalizationConfig;
55
+ /** The store handle. */
56
+ export declare function usePersonalizationStore(): PersonalizationStore;
57
+ /** Convenience: the current scope. */
58
+ export declare function useScope(): Scope;
59
+ /** Convenience: merged labels (provider defaults + host overrides). */
60
+ export declare function usePersonalizationLabels(): PersonalizationLabels;
61
+ /**
62
+ * Subscribe to the store with a selector. Returns a referentially stable
63
+ * value when the selected slice is unchanged — required by
64
+ * useSyncExternalStore and the basis of the no-cross-capability-re-render
65
+ * guarantee.
66
+ *
67
+ * The cache is keyed on (snapshot identity, selector identity, isEqual
68
+ * identity). When the snapshot is unchanged for the same selector, the
69
+ * memoised selection is returned without re-running the selector. When the
70
+ * snapshot changes, the selector re-runs; if `isEqual` is supplied and the
71
+ * new value is equal to the previous one, the previous reference is kept.
72
+ *
73
+ * Selectors should be stable (e.g. useCallback) OR rely on the store's
74
+ * structural sharing returning stable slice references — both keep this
75
+ * loop-free.
76
+ */
77
+ export declare function useStoreSelector<T>(selector: (snapshot: PersonalizationSnapshot) => T, isEqual?: (a: T, b: T) => boolean): T;
78
+ //# sourceMappingURL=personalizationContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personalizationContext.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/personalization/personalizationContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IAEpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAE7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,eAAO,MAAM,4BAA4B,6CACgB,CAAC;AAC1D,eAAO,MAAM,2BAA2B,4CACgB,CAAC;AAEzD,wBAAgB,wBAAwB,IAAI,qBAAqB,CAQhE;AAED,wBAAwB;AACxB,wBAAgB,uBAAuB,IAAI,oBAAoB,CAQ9D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AAED,uEAAuE;AACvE,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,CAAC,EAClD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAChC,CAAC,CAkDH"}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PersonalizationStoreContext = exports.PersonalizationConfigContext = void 0;
8
+ exports.usePersonalizationConfig = usePersonalizationConfig;
9
+ exports.usePersonalizationLabels = usePersonalizationLabels;
10
+ exports.usePersonalizationStore = usePersonalizationStore;
11
+ exports.useScope = useScope;
12
+ exports.useStoreSelector = useStoreSelector;
13
+ var React = _interopRequireWildcard(require("react"));
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ /**
17
+ * personalizationContext — Portnet UI v2 · personalization
18
+ *
19
+ * Two contexts, by design (architecture doc §2.5):
20
+ * - PersonalizationConfigContext : STABLE config { scope, labels }, set
21
+ * once by the provider. Low churn.
22
+ * - PersonalizationStoreContext : the store handle. Mutable preference
23
+ * state NEVER travels through context — it is read via
24
+ * useSyncExternalStore selectors. A component toggling a favorite
25
+ * cannot re-render a component reading saved filters.
26
+ *
27
+ * `useStoreSelector` is the internal subscription primitive: a
28
+ * useSyncExternalStore wrapper that caches by (snapshot, selector) and
29
+ * supports an optional equality function so derived/object selections stay
30
+ * referentially stable. It is NOT exported from the public surface — the
31
+ * capability slices (Batch 3/4) consume it; hosts use the capability hooks.
32
+ */
33
+
34
+ /**
35
+ * Merged label bag (provider defaults + host overrides). The concrete
36
+ * default values live in DEFAULT_PERSONALIZATION_LABELS in the provider;
37
+ * this is the canonical type both the provider and the capability slices
38
+ * import.
39
+ */
40
+
41
+ /** Stable configuration carried by PersonalizationConfigContext. */
42
+
43
+ var PersonalizationConfigContext = exports.PersonalizationConfigContext = /*#__PURE__*/React.createContext(null);
44
+ var PersonalizationStoreContext = exports.PersonalizationStoreContext = /*#__PURE__*/React.createContext(null);
45
+ function usePersonalizationConfig() {
46
+ var ctx = React.useContext(PersonalizationConfigContext);
47
+ if (!ctx) {
48
+ throw new Error("[@portnet/ui v2] usePersonalizationConfig() must be used inside <UserPersonalizationProvider>.");
49
+ }
50
+ return ctx;
51
+ }
52
+
53
+ /** The store handle. */
54
+ function usePersonalizationStore() {
55
+ var store = React.useContext(PersonalizationStoreContext);
56
+ if (!store) {
57
+ throw new Error("[@portnet/ui v2] personalization hooks must be used inside <UserPersonalizationProvider>.");
58
+ }
59
+ return store;
60
+ }
61
+
62
+ /** Convenience: the current scope. */
63
+ function useScope() {
64
+ return usePersonalizationConfig().scope;
65
+ }
66
+
67
+ /** Convenience: merged labels (provider defaults + host overrides). */
68
+ function usePersonalizationLabels() {
69
+ return usePersonalizationConfig().labels;
70
+ }
71
+ /**
72
+ * Subscribe to the store with a selector. Returns a referentially stable
73
+ * value when the selected slice is unchanged — required by
74
+ * useSyncExternalStore and the basis of the no-cross-capability-re-render
75
+ * guarantee.
76
+ *
77
+ * The cache is keyed on (snapshot identity, selector identity, isEqual
78
+ * identity). When the snapshot is unchanged for the same selector, the
79
+ * memoised selection is returned without re-running the selector. When the
80
+ * snapshot changes, the selector re-runs; if `isEqual` is supplied and the
81
+ * new value is equal to the previous one, the previous reference is kept.
82
+ *
83
+ * Selectors should be stable (e.g. useCallback) OR rely on the store's
84
+ * structural sharing returning stable slice references — both keep this
85
+ * loop-free.
86
+ */
87
+ function useStoreSelector(selector, isEqual) {
88
+ var store = usePersonalizationStore();
89
+ var cacheRef = React.useRef(null);
90
+ function getSelection() {
91
+ var snapshot = store.getSnapshot();
92
+ var cache = cacheRef.current;
93
+ if (cache && Object.is(cache.snapshot, snapshot) && cache.selector === selector && cache.isEqual === isEqual) {
94
+ return cache.selection;
95
+ }
96
+ var nextSelection = selector(snapshot);
97
+ if (cache && cache.hasValue && typeof isEqual === "function" && isEqual(cache.selection, nextSelection)) {
98
+ cacheRef.current = {
99
+ snapshot: snapshot,
100
+ selector: selector,
101
+ isEqual: isEqual,
102
+ selection: cache.selection,
103
+ hasValue: true
104
+ };
105
+ return cache.selection;
106
+ }
107
+ cacheRef.current = {
108
+ snapshot: snapshot,
109
+ selector: selector,
110
+ isEqual: isEqual,
111
+ selection: nextSelection,
112
+ hasValue: true
113
+ };
114
+ return nextSelection;
115
+ }
116
+ function getServerSelection() {
117
+ return selector(store.getServerSnapshot());
118
+ }
119
+ return React.useSyncExternalStore(store.subscribe, getSelection, getServerSelection);
120
+ }
121
+ //# sourceMappingURL=personalizationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personalizationContext.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","PersonalizationConfigContext","exports","createContext","PersonalizationStoreContext","usePersonalizationConfig","ctx","useContext","Error","usePersonalizationStore","store","useScope","scope","usePersonalizationLabels","labels","useStoreSelector","selector","isEqual","cacheRef","useRef","getSelection","snapshot","getSnapshot","current","is","selection","nextSelection","hasValue","getServerSelection","getServerSnapshot","useSyncExternalStore","subscribe"],"sources":["../../../src/lib/v2/personalization/personalizationContext.ts"],"sourcesContent":["/**\r\n * personalizationContext — Portnet UI v2 · personalization\r\n *\r\n * Two contexts, by design (architecture doc §2.5):\r\n * - PersonalizationConfigContext : STABLE config { scope, labels }, set\r\n * once by the provider. Low churn.\r\n * - PersonalizationStoreContext : the store handle. Mutable preference\r\n * state NEVER travels through context — it is read via\r\n * useSyncExternalStore selectors. A component toggling a favorite\r\n * cannot re-render a component reading saved filters.\r\n *\r\n * `useStoreSelector` is the internal subscription primitive: a\r\n * useSyncExternalStore wrapper that caches by (snapshot, selector) and\r\n * supports an optional equality function so derived/object selections stay\r\n * referentially stable. It is NOT exported from the public surface — the\r\n * capability slices (Batch 3/4) consume it; hosts use the capability hooks.\r\n */\r\n\r\nimport * as React from \"react\";\r\n\r\nimport type {\r\n PersonalizationSnapshot,\r\n PersonalizationStore,\r\n} from \"./createPersonalizationStore\";\r\nimport type { Scope } from \"./types\";\r\n\r\n/**\r\n * Merged label bag (provider defaults + host overrides). The concrete\r\n * default values live in DEFAULT_PERSONALIZATION_LABELS in the provider;\r\n * this is the canonical type both the provider and the capability slices\r\n * import.\r\n */\r\nexport interface PersonalizationLabels {\r\n // Follow / \"suivis\" (Batch 3)\r\n addFavorite: string;\r\n removeFavorite: string;\r\n favoritesOnly: string;\r\n showAll: string;\r\n favoriteColumnHeader: string;\r\n // Saved filters (Batch 4)\r\n savedFilters: string;\r\n saveCurrentFilter: string;\r\n filterNameLabel: string;\r\n filterNamePlaceholder: string;\r\n saveFilter: string;\r\n updateFilter: string;\r\n deleteFilter: string;\r\n deleteFilterConfirm: string;\r\n setAsDefault: string;\r\n defaultBadge: string;\r\n manageFilters: string;\r\n noSavedFilters: string;\r\n cancel: string;\r\n}\r\n\r\n/** Stable configuration carried by PersonalizationConfigContext. */\r\nexport interface PersonalizationConfig {\r\n scope: Scope;\r\n labels: PersonalizationLabels;\r\n}\r\n\r\nexport const PersonalizationConfigContext =\r\n React.createContext<PersonalizationConfig | null>(null);\r\nexport const PersonalizationStoreContext =\r\n React.createContext<PersonalizationStore | null>(null);\r\n\r\nexport function usePersonalizationConfig(): PersonalizationConfig {\r\n const ctx = React.useContext(PersonalizationConfigContext);\r\n if (!ctx) {\r\n throw new Error(\r\n \"[@portnet/ui v2] usePersonalizationConfig() must be used inside <UserPersonalizationProvider>.\"\r\n );\r\n }\r\n return ctx;\r\n}\r\n\r\n/** The store handle. */\r\nexport function usePersonalizationStore(): PersonalizationStore {\r\n const store = React.useContext(PersonalizationStoreContext);\r\n if (!store) {\r\n throw new Error(\r\n \"[@portnet/ui v2] personalization hooks must be used inside <UserPersonalizationProvider>.\"\r\n );\r\n }\r\n return store;\r\n}\r\n\r\n/** Convenience: the current scope. */\r\nexport function useScope(): Scope {\r\n return usePersonalizationConfig().scope;\r\n}\r\n\r\n/** Convenience: merged labels (provider defaults + host overrides). */\r\nexport function usePersonalizationLabels(): PersonalizationLabels {\r\n return usePersonalizationConfig().labels;\r\n}\r\n\r\ninterface SelectorCache<T> {\r\n snapshot: PersonalizationSnapshot;\r\n selector: (snapshot: PersonalizationSnapshot) => T;\r\n isEqual: ((a: T, b: T) => boolean) | undefined;\r\n selection: T;\r\n hasValue: boolean;\r\n}\r\n\r\n/**\r\n * Subscribe to the store with a selector. Returns a referentially stable\r\n * value when the selected slice is unchanged — required by\r\n * useSyncExternalStore and the basis of the no-cross-capability-re-render\r\n * guarantee.\r\n *\r\n * The cache is keyed on (snapshot identity, selector identity, isEqual\r\n * identity). When the snapshot is unchanged for the same selector, the\r\n * memoised selection is returned without re-running the selector. When the\r\n * snapshot changes, the selector re-runs; if `isEqual` is supplied and the\r\n * new value is equal to the previous one, the previous reference is kept.\r\n *\r\n * Selectors should be stable (e.g. useCallback) OR rely on the store's\r\n * structural sharing returning stable slice references — both keep this\r\n * loop-free.\r\n */\r\nexport function useStoreSelector<T>(\r\n selector: (snapshot: PersonalizationSnapshot) => T,\r\n isEqual?: (a: T, b: T) => boolean\r\n): T {\r\n const store = usePersonalizationStore();\r\n const cacheRef = React.useRef<SelectorCache<T> | null>(null);\r\n\r\n function getSelection(): T {\r\n const snapshot = store.getSnapshot();\r\n const cache = cacheRef.current;\r\n if (\r\n cache &&\r\n Object.is(cache.snapshot, snapshot) &&\r\n cache.selector === selector &&\r\n cache.isEqual === isEqual\r\n ) {\r\n return cache.selection;\r\n }\r\n const nextSelection = selector(snapshot);\r\n if (\r\n cache &&\r\n cache.hasValue &&\r\n typeof isEqual === \"function\" &&\r\n isEqual(cache.selection, nextSelection)\r\n ) {\r\n cacheRef.current = {\r\n snapshot: snapshot,\r\n selector: selector,\r\n isEqual: isEqual,\r\n selection: cache.selection,\r\n hasValue: true,\r\n };\r\n return cache.selection;\r\n }\r\n cacheRef.current = {\r\n snapshot: snapshot,\r\n selector: selector,\r\n isEqual: isEqual,\r\n selection: nextSelection,\r\n hasValue: true,\r\n };\r\n return nextSelection;\r\n }\r\n\r\n function getServerSelection(): T {\r\n return selector(store.getServerSnapshot());\r\n }\r\n\r\n return React.useSyncExternalStore(\r\n store.subscribe,\r\n getSelection,\r\n getServerSelection\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAlB/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;;AAwBA;;AAMO,IAAMW,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA,gBACvCzB,KAAK,CAAC2B,aAAa,CAA+B,IAAI,CAAC;AAClD,IAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,gBACtC5B,KAAK,CAAC2B,aAAa,CAA8B,IAAI,CAAC;AAEjD,SAASE,wBAAwBA,CAAA,EAA0B;EAChE,IAAMC,GAAG,GAAG9B,KAAK,CAAC+B,UAAU,CAACN,4BAA4B,CAAC;EAC1D,IAAI,CAACK,GAAG,EAAE;IACR,MAAM,IAAIE,KAAK,CACb,gGACF,CAAC;EACH;EACA,OAAOF,GAAG;AACZ;;AAEA;AACO,SAASG,uBAAuBA,CAAA,EAAyB;EAC9D,IAAMC,KAAK,GAAGlC,KAAK,CAAC+B,UAAU,CAACH,2BAA2B,CAAC;EAC3D,IAAI,CAACM,KAAK,EAAE;IACV,MAAM,IAAIF,KAAK,CACb,2FACF,CAAC;EACH;EACA,OAAOE,KAAK;AACd;;AAEA;AACO,SAASC,QAAQA,CAAA,EAAU;EAChC,OAAON,wBAAwB,CAAC,CAAC,CAACO,KAAK;AACzC;;AAEA;AACO,SAASC,wBAAwBA,CAAA,EAA0B;EAChE,OAAOR,wBAAwB,CAAC,CAAC,CAACS,MAAM;AAC1C;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAC9BC,QAAkD,EAClDC,OAAiC,EAC9B;EACH,IAAMP,KAAK,GAAGD,uBAAuB,CAAC,CAAC;EACvC,IAAMS,QAAQ,GAAG1C,KAAK,CAAC2C,MAAM,CAA0B,IAAI,CAAC;EAE5D,SAASC,YAAYA,CAAA,EAAM;IACzB,IAAMC,QAAQ,GAAGX,KAAK,CAACY,WAAW,CAAC,CAAC;IACpC,IAAMnC,KAAK,GAAG+B,QAAQ,CAACK,OAAO;IAC9B,IACEpC,KAAK,IACLK,MAAM,CAACgC,EAAE,CAACrC,KAAK,CAACkC,QAAQ,EAAEA,QAAQ,CAAC,IACnClC,KAAK,CAAC6B,QAAQ,KAAKA,QAAQ,IAC3B7B,KAAK,CAAC8B,OAAO,KAAKA,OAAO,EACzB;MACA,OAAO9B,KAAK,CAACsC,SAAS;IACxB;IACA,IAAMC,aAAa,GAAGV,QAAQ,CAACK,QAAQ,CAAC;IACxC,IACElC,KAAK,IACLA,KAAK,CAACwC,QAAQ,IACd,OAAOV,OAAO,KAAK,UAAU,IAC7BA,OAAO,CAAC9B,KAAK,CAACsC,SAAS,EAAEC,aAAa,CAAC,EACvC;MACAR,QAAQ,CAACK,OAAO,GAAG;QACjBF,QAAQ,EAAEA,QAAQ;QAClBL,QAAQ,EAAEA,QAAQ;QAClBC,OAAO,EAAEA,OAAO;QAChBQ,SAAS,EAAEtC,KAAK,CAACsC,SAAS;QAC1BE,QAAQ,EAAE;MACZ,CAAC;MACD,OAAOxC,KAAK,CAACsC,SAAS;IACxB;IACAP,QAAQ,CAACK,OAAO,GAAG;MACjBF,QAAQ,EAAEA,QAAQ;MAClBL,QAAQ,EAAEA,QAAQ;MAClBC,OAAO,EAAEA,OAAO;MAChBQ,SAAS,EAAEC,aAAa;MACxBC,QAAQ,EAAE;IACZ,CAAC;IACD,OAAOD,aAAa;EACtB;EAEA,SAASE,kBAAkBA,CAAA,EAAM;IAC/B,OAAOZ,QAAQ,CAACN,KAAK,CAACmB,iBAAiB,CAAC,CAAC,CAAC;EAC5C;EAEA,OAAOrD,KAAK,CAACsD,oBAAoB,CAC/BpB,KAAK,CAACqB,SAAS,EACfX,YAAY,EACZQ,kBACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * schema — Portnet UI v2 · User Personalization Foundation
3
+ *
4
+ * Capability registry + persistence envelope. The foundation is deliberately
5
+ * capability-AGNOSTIC: the store and provider know nothing about "favorites"
6
+ * or "savedFilters". Each capability *slice* registers itself here at import
7
+ * time:
8
+ *
9
+ * import { registerCapability } from "../schema";
10
+ * registerCapability({
11
+ * id: "favorites",
12
+ * schemaVersion: 1,
13
+ * defaultState: Object.freeze({}),
14
+ * migrate: (fromVersion, payload) => payload,
15
+ * });
16
+ *
17
+ * Adding a new capability is therefore purely additive. The adapter persists
18
+ * the OPAQUE envelope; the `payload` shape is owned by the slice.
19
+ */
20
+ import type { Envelope } from "./types";
21
+ /** A capability's migrate function: upgrade an old payload to the current version. */
22
+ export type CapabilityMigrate = (fromVersion: number, payload: unknown) => unknown;
23
+ /** Registration input for a capability slice. */
24
+ export interface CapabilityDescriptorInput {
25
+ /** Unique capability id (e.g. "favorites"). */
26
+ id: string;
27
+ schemaVersion?: number;
28
+ /** Seed when nothing is persisted (should be a STABLE/frozen ref). */
29
+ defaultState?: unknown;
30
+ migrate?: CapabilityMigrate;
31
+ }
32
+ /** Frozen, normalised capability descriptor stored in the registry. */
33
+ export interface CapabilityDescriptor {
34
+ id: string;
35
+ schemaVersion: number;
36
+ defaultState: unknown;
37
+ migrate: CapabilityMigrate | null;
38
+ }
39
+ /**
40
+ * Register a capability descriptor. Idempotent: the first registration for an
41
+ * id wins; a second registration with a *different* schemaVersion is reported
42
+ * in development (usually two library copies or a mismatched host version).
43
+ */
44
+ export declare function registerCapability(descriptor: CapabilityDescriptorInput): CapabilityDescriptor | null;
45
+ /** @returns the descriptor registered for `id`, or null. */
46
+ export declare function getCapability(id: string): CapabilityDescriptor | null;
47
+ /** @returns every registered descriptor (snapshot array). */
48
+ export declare function getRegisteredCapabilities(): CapabilityDescriptor[];
49
+ /**
50
+ * Build the versioned persistence envelope. The adapter treats `payload` as
51
+ * opaque; `schemaVersion` lets a slice's migrate() upgrade old payloads on load.
52
+ */
53
+ export declare function makeEnvelope(schemaVersion: number, payload: unknown): Envelope;
54
+ /**
55
+ * Key-scheme version (the layout of the *storage key*, distinct from a
56
+ * capability's payload `schemaVersion`). Bumped only on a global re-partition.
57
+ * Mirrored by adapters/_storageKey.ts.
58
+ */
59
+ export declare const KEY_SCHEME_VERSION = "v1";
60
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/personalization/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAOxC,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,KACb,OAAO,CAAC;AAEb,iDAAiD;AACjD,MAAM,WAAW,yBAAyB;IACxC,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnC;AAKD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,yBAAyB,GACpC,oBAAoB,GAAG,IAAI,CAuC7B;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAErE;AAED,6DAA6D;AAC7D,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CAElE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAM9E;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,OAAO,CAAC"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KEY_SCHEME_VERSION = void 0;
7
+ exports.getCapability = getCapability;
8
+ exports.getRegisteredCapabilities = getRegisteredCapabilities;
9
+ exports.makeEnvelope = makeEnvelope;
10
+ exports.registerCapability = registerCapability;
11
+ /**
12
+ * schema — Portnet UI v2 · User Personalization Foundation
13
+ *
14
+ * Capability registry + persistence envelope. The foundation is deliberately
15
+ * capability-AGNOSTIC: the store and provider know nothing about "favorites"
16
+ * or "savedFilters". Each capability *slice* registers itself here at import
17
+ * time:
18
+ *
19
+ * import { registerCapability } from "../schema";
20
+ * registerCapability({
21
+ * id: "favorites",
22
+ * schemaVersion: 1,
23
+ * defaultState: Object.freeze({}),
24
+ * migrate: (fromVersion, payload) => payload,
25
+ * });
26
+ *
27
+ * Adding a new capability is therefore purely additive. The adapter persists
28
+ * the OPAQUE envelope; the `payload` shape is owned by the slice.
29
+ */
30
+
31
+ var isDev = typeof process !== "undefined" && !!process.env && process.env["NODE_ENV"] !== "production";
32
+
33
+ /** A capability's migrate function: upgrade an old payload to the current version. */
34
+
35
+ /** Registration input for a capability slice. */
36
+
37
+ /** Frozen, normalised capability descriptor stored in the registry. */
38
+
39
+ /** id -> frozen descriptor. Module-level (same lifecycle model as useDensity's store). */
40
+ var registry = new Map();
41
+
42
+ /**
43
+ * Register a capability descriptor. Idempotent: the first registration for an
44
+ * id wins; a second registration with a *different* schemaVersion is reported
45
+ * in development (usually two library copies or a mismatched host version).
46
+ */
47
+ function registerCapability(descriptor) {
48
+ if (!descriptor || typeof descriptor.id !== "string" || !descriptor.id) {
49
+ if (isDev) {
50
+ // eslint-disable-next-line no-console
51
+ console.warn("[@portnet/ui v2] registerCapability: a non-empty string `id` is required.");
52
+ }
53
+ return null;
54
+ }
55
+ var existing = registry.get(descriptor.id);
56
+ if (existing) {
57
+ var _descriptor$schemaVer;
58
+ if (isDev && existing.schemaVersion !== ((_descriptor$schemaVer = descriptor.schemaVersion) !== null && _descriptor$schemaVer !== void 0 ? _descriptor$schemaVer : 1)) {
59
+ // eslint-disable-next-line no-console
60
+ console.warn("[@portnet/ui v2] registerCapability: \"".concat(descriptor.id, "\" re-registered with a different ") + "schemaVersion (".concat(existing.schemaVersion, " \u2192 ").concat(descriptor.schemaVersion, "). Keeping the first ") + "registration. This usually means two @portnet/ui copies are loaded.");
61
+ }
62
+ return existing;
63
+ }
64
+ var frozen = Object.freeze({
65
+ id: descriptor.id,
66
+ schemaVersion: typeof descriptor.schemaVersion === "number" ? descriptor.schemaVersion : 1,
67
+ defaultState: descriptor.defaultState !== undefined ? descriptor.defaultState : Object.freeze({}),
68
+ migrate: typeof descriptor.migrate === "function" ? descriptor.migrate : null
69
+ });
70
+ registry.set(frozen.id, frozen);
71
+ return frozen;
72
+ }
73
+
74
+ /** @returns the descriptor registered for `id`, or null. */
75
+ function getCapability(id) {
76
+ return registry.get(id) || null;
77
+ }
78
+
79
+ /** @returns every registered descriptor (snapshot array). */
80
+ function getRegisteredCapabilities() {
81
+ return Array.from(registry.values());
82
+ }
83
+
84
+ /**
85
+ * Build the versioned persistence envelope. The adapter treats `payload` as
86
+ * opaque; `schemaVersion` lets a slice's migrate() upgrade old payloads on load.
87
+ */
88
+ function makeEnvelope(schemaVersion, payload) {
89
+ return {
90
+ schemaVersion: typeof schemaVersion === "number" ? schemaVersion : 1,
91
+ updatedAt: new Date().toISOString(),
92
+ payload: payload
93
+ };
94
+ }
95
+
96
+ /**
97
+ * Key-scheme version (the layout of the *storage key*, distinct from a
98
+ * capability's payload `schemaVersion`). Bumped only on a global re-partition.
99
+ * Mirrored by adapters/_storageKey.ts.
100
+ */
101
+ var KEY_SCHEME_VERSION = exports.KEY_SCHEME_VERSION = "v1";
102
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","names":["isDev","process","env","registry","Map","registerCapability","descriptor","id","console","warn","existing","get","_descriptor$schemaVer","schemaVersion","concat","frozen","Object","freeze","defaultState","undefined","migrate","set","getCapability","getRegisteredCapabilities","Array","from","values","makeEnvelope","payload","updatedAt","Date","toISOString","KEY_SCHEME_VERSION","exports"],"sources":["../../../src/lib/v2/personalization/schema.ts"],"sourcesContent":["/**\r\n * schema — Portnet UI v2 · User Personalization Foundation\r\n *\r\n * Capability registry + persistence envelope. The foundation is deliberately\r\n * capability-AGNOSTIC: the store and provider know nothing about \"favorites\"\r\n * or \"savedFilters\". Each capability *slice* registers itself here at import\r\n * time:\r\n *\r\n * import { registerCapability } from \"../schema\";\r\n * registerCapability({\r\n * id: \"favorites\",\r\n * schemaVersion: 1,\r\n * defaultState: Object.freeze({}),\r\n * migrate: (fromVersion, payload) => payload,\r\n * });\r\n *\r\n * Adding a new capability is therefore purely additive. The adapter persists\r\n * the OPAQUE envelope; the `payload` shape is owned by the slice.\r\n */\r\n\r\nimport type { Envelope } from \"./types\";\r\n\r\nconst isDev =\r\n typeof process !== \"undefined\" &&\r\n !!process.env &&\r\n process.env[\"NODE_ENV\"] !== \"production\";\r\n\r\n/** A capability's migrate function: upgrade an old payload to the current version. */\r\nexport type CapabilityMigrate = (\r\n fromVersion: number,\r\n payload: unknown\r\n) => unknown;\r\n\r\n/** Registration input for a capability slice. */\r\nexport interface CapabilityDescriptorInput {\r\n /** Unique capability id (e.g. \"favorites\"). */\r\n id: string;\r\n schemaVersion?: number;\r\n /** Seed when nothing is persisted (should be a STABLE/frozen ref). */\r\n defaultState?: unknown;\r\n migrate?: CapabilityMigrate;\r\n}\r\n\r\n/** Frozen, normalised capability descriptor stored in the registry. */\r\nexport interface CapabilityDescriptor {\r\n id: string;\r\n schemaVersion: number;\r\n defaultState: unknown;\r\n migrate: CapabilityMigrate | null;\r\n}\r\n\r\n/** id -> frozen descriptor. Module-level (same lifecycle model as useDensity's store). */\r\nconst registry = new Map<string, CapabilityDescriptor>();\r\n\r\n/**\r\n * Register a capability descriptor. Idempotent: the first registration for an\r\n * id wins; a second registration with a *different* schemaVersion is reported\r\n * in development (usually two library copies or a mismatched host version).\r\n */\r\nexport function registerCapability(\r\n descriptor: CapabilityDescriptorInput\r\n): CapabilityDescriptor | null {\r\n if (!descriptor || typeof descriptor.id !== \"string\" || !descriptor.id) {\r\n if (isDev) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] registerCapability: a non-empty string `id` is required.\"\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n const existing = registry.get(descriptor.id);\r\n if (existing) {\r\n if (isDev && existing.schemaVersion !== (descriptor.schemaVersion ?? 1)) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] registerCapability: \"${descriptor.id}\" re-registered with a different ` +\r\n `schemaVersion (${existing.schemaVersion} → ${descriptor.schemaVersion}). Keeping the first ` +\r\n `registration. This usually means two @portnet/ui copies are loaded.`\r\n );\r\n }\r\n return existing;\r\n }\r\n\r\n const frozen: CapabilityDescriptor = Object.freeze({\r\n id: descriptor.id,\r\n schemaVersion:\r\n typeof descriptor.schemaVersion === \"number\"\r\n ? descriptor.schemaVersion\r\n : 1,\r\n defaultState:\r\n descriptor.defaultState !== undefined\r\n ? descriptor.defaultState\r\n : Object.freeze({}),\r\n migrate:\r\n typeof descriptor.migrate === \"function\" ? descriptor.migrate : null,\r\n });\r\n registry.set(frozen.id, frozen);\r\n return frozen;\r\n}\r\n\r\n/** @returns the descriptor registered for `id`, or null. */\r\nexport function getCapability(id: string): CapabilityDescriptor | null {\r\n return registry.get(id) || null;\r\n}\r\n\r\n/** @returns every registered descriptor (snapshot array). */\r\nexport function getRegisteredCapabilities(): CapabilityDescriptor[] {\r\n return Array.from(registry.values());\r\n}\r\n\r\n/**\r\n * Build the versioned persistence envelope. The adapter treats `payload` as\r\n * opaque; `schemaVersion` lets a slice's migrate() upgrade old payloads on load.\r\n */\r\nexport function makeEnvelope(schemaVersion: number, payload: unknown): Envelope {\r\n return {\r\n schemaVersion: typeof schemaVersion === \"number\" ? schemaVersion : 1,\r\n updatedAt: new Date().toISOString(),\r\n payload,\r\n };\r\n}\r\n\r\n/**\r\n * Key-scheme version (the layout of the *storage key*, distinct from a\r\n * capability's payload `schemaVersion`). Bumped only on a global re-partition.\r\n * Mirrored by adapters/_storageKey.ts.\r\n */\r\nexport const KEY_SCHEME_VERSION = \"v1\";\r\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,IAAMA,KAAK,GACT,OAAOC,OAAO,KAAK,WAAW,IAC9B,CAAC,CAACA,OAAO,CAACC,GAAG,IACbD,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY;;AAE1C;;AAMA;;AAUA;;AAQA;AACA,IAAMC,QAAQ,GAAG,IAAIC,GAAG,CAA+B,CAAC;;AAExD;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAChCC,UAAqC,EACR;EAC7B,IAAI,CAACA,UAAU,IAAI,OAAOA,UAAU,CAACC,EAAE,KAAK,QAAQ,IAAI,CAACD,UAAU,CAACC,EAAE,EAAE;IACtE,IAAIP,KAAK,EAAE;MACT;MACAQ,OAAO,CAACC,IAAI,CACV,2EACF,CAAC;IACH;IACA,OAAO,IAAI;EACb;EAEA,IAAMC,QAAQ,GAAGP,QAAQ,CAACQ,GAAG,CAACL,UAAU,CAACC,EAAE,CAAC;EAC5C,IAAIG,QAAQ,EAAE;IAAA,IAAAE,qBAAA;IACZ,IAAIZ,KAAK,IAAIU,QAAQ,CAACG,aAAa,OAAAD,qBAAA,GAAMN,UAAU,CAACO,aAAa,cAAAD,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,EAAE;MACvE;MACAJ,OAAO,CAACC,IAAI,CACV,0CAAAK,MAAA,CAAyCR,UAAU,CAACC,EAAE,4DAAAO,MAAA,CAClCJ,QAAQ,CAACG,aAAa,cAAAC,MAAA,CAAMR,UAAU,CAACO,aAAa,0BAAuB,wEAEjG,CAAC;IACH;IACA,OAAOH,QAAQ;EACjB;EAEA,IAAMK,MAA4B,GAAGC,MAAM,CAACC,MAAM,CAAC;IACjDV,EAAE,EAAED,UAAU,CAACC,EAAE;IACjBM,aAAa,EACX,OAAOP,UAAU,CAACO,aAAa,KAAK,QAAQ,GACxCP,UAAU,CAACO,aAAa,GACxB,CAAC;IACPK,YAAY,EACVZ,UAAU,CAACY,YAAY,KAAKC,SAAS,GACjCb,UAAU,CAACY,YAAY,GACvBF,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvBG,OAAO,EACL,OAAOd,UAAU,CAACc,OAAO,KAAK,UAAU,GAAGd,UAAU,CAACc,OAAO,GAAG;EACpE,CAAC,CAAC;EACFjB,QAAQ,CAACkB,GAAG,CAACN,MAAM,CAACR,EAAE,EAAEQ,MAAM,CAAC;EAC/B,OAAOA,MAAM;AACf;;AAEA;AACO,SAASO,aAAaA,CAACf,EAAU,EAA+B;EACrE,OAAOJ,QAAQ,CAACQ,GAAG,CAACJ,EAAE,CAAC,IAAI,IAAI;AACjC;;AAEA;AACO,SAASgB,yBAAyBA,CAAA,EAA2B;EAClE,OAAOC,KAAK,CAACC,IAAI,CAACtB,QAAQ,CAACuB,MAAM,CAAC,CAAC,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACO,SAASC,YAAYA,CAACd,aAAqB,EAAEe,OAAgB,EAAY;EAC9E,OAAO;IACLf,aAAa,EAAE,OAAOA,aAAa,KAAK,QAAQ,GAAGA,aAAa,GAAG,CAAC;IACpEgB,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;IACnCH,OAAO,EAAPA;EACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMI,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAI","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * types — Portnet UI v2 · User Personalization Foundation
3
+ *
4
+ * Canonical TypeScript contracts for the personalization foundation. Replaces
5
+ * the former runtime propTypes.js "type surface": the provider, the
6
+ * store-backed hooks, and the capability components all type against these
7
+ * shared interfaces.
8
+ */
9
+ import type { RowId } from "../types/common";
10
+ /**
11
+ * Scope — partitions persisted preferences. `userId` is required; the rest
12
+ * are optional partitions (multi-tenant / per-app).
13
+ */
14
+ export interface Scope {
15
+ userId: string;
16
+ tenantId?: string;
17
+ appId?: string;
18
+ }
19
+ /**
20
+ * Versioned persistence envelope. The adapter treats `payload` as opaque;
21
+ * `schemaVersion` lets a capability slice migrate old payloads on load.
22
+ */
23
+ export interface Envelope<T = unknown> {
24
+ schemaVersion: number;
25
+ updatedAt: string;
26
+ payload: T;
27
+ }
28
+ /** Behaviour flags an adapter advertises to the store. */
29
+ export interface AdapterCapabilities {
30
+ crossTab?: boolean;
31
+ remote?: boolean;
32
+ shared?: boolean;
33
+ }
34
+ /**
35
+ * Storage adapter contract. `load` + `save` are mandatory; the rest are
36
+ * optional capabilities the store feature-detects:
37
+ * - loadSync : synchronous hydrate (removes the initial empty flash for
38
+ * local adapters; absent on remote adapters)
39
+ * - remove : drop one capability blob
40
+ * - subscribe : external-change notifications (cross-tab / server push);
41
+ * returns an unsubscribe function
42
+ * - capabilities : { crossTab, remote, shared } behaviour flags
43
+ *
44
+ * `load` / `loadSync` return a map of capabilityId -> envelope for the scope.
45
+ */
46
+ export interface Adapter {
47
+ name?: string;
48
+ load: (scope: Scope) => Promise<Record<string, Envelope>>;
49
+ loadSync?: (scope: Scope) => Record<string, Envelope>;
50
+ save: (scope: Scope, capabilityId: string, envelope: Envelope) => Promise<void>;
51
+ remove?: (scope: Scope, capabilityId: string) => Promise<void>;
52
+ subscribe?: (scope: Scope, onChange: (capabilityId: string) => void) => () => void;
53
+ capabilities?: AdapterCapabilities;
54
+ }
55
+ /** Reconciliation strategy between optimistic local state and adapter truth. */
56
+ export type HydrateStrategy = "local-wins" | "remote-wins" | "merge";
57
+ /**
58
+ * Favorites — a single favorited entity reference. `id` is the business row
59
+ * id; `addedAt` enables future "recently favorited" ordering.
60
+ */
61
+ export interface FavoriteRef {
62
+ id: RowId;
63
+ addedAt?: string;
64
+ }
65
+ /**
66
+ * Saved filter. `criteria` is opaque — the host's own filter payload,
67
+ * persisted and re-emitted verbatim so the framework stays reusable across
68
+ * every list regardless of its filter schema.
69
+ */
70
+ export interface SavedFilter {
71
+ id: string;
72
+ name?: string;
73
+ resourceKey?: string;
74
+ criteria?: Record<string, unknown>;
75
+ ownerId?: string;
76
+ isDefault?: boolean;
77
+ shared?: boolean;
78
+ createdAt?: string;
79
+ updatedAt?: string;
80
+ }
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/personalization/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,CAAC,CAAC;CACZ;AAED,0DAA0D;AAC1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,EAAE,CACJ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,SAAS,CAAC,EAAE,CACV,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,KACrC,MAAM,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/lib/v2/personalization/types.ts"],"sourcesContent":["/**\r\n * types — Portnet UI v2 · User Personalization Foundation\r\n *\r\n * Canonical TypeScript contracts for the personalization foundation. Replaces\r\n * the former runtime propTypes.js \"type surface\": the provider, the\r\n * store-backed hooks, and the capability components all type against these\r\n * shared interfaces.\r\n */\r\n\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * Scope — partitions persisted preferences. `userId` is required; the rest\r\n * are optional partitions (multi-tenant / per-app).\r\n */\r\nexport interface Scope {\r\n userId: string;\r\n tenantId?: string;\r\n appId?: string;\r\n}\r\n\r\n/**\r\n * Versioned persistence envelope. The adapter treats `payload` as opaque;\r\n * `schemaVersion` lets a capability slice migrate old payloads on load.\r\n */\r\nexport interface Envelope<T = unknown> {\r\n schemaVersion: number;\r\n updatedAt: string;\r\n payload: T;\r\n}\r\n\r\n/** Behaviour flags an adapter advertises to the store. */\r\nexport interface AdapterCapabilities {\r\n crossTab?: boolean;\r\n remote?: boolean;\r\n shared?: boolean;\r\n}\r\n\r\n/**\r\n * Storage adapter contract. `load` + `save` are mandatory; the rest are\r\n * optional capabilities the store feature-detects:\r\n * - loadSync : synchronous hydrate (removes the initial empty flash for\r\n * local adapters; absent on remote adapters)\r\n * - remove : drop one capability blob\r\n * - subscribe : external-change notifications (cross-tab / server push);\r\n * returns an unsubscribe function\r\n * - capabilities : { crossTab, remote, shared } behaviour flags\r\n *\r\n * `load` / `loadSync` return a map of capabilityId -> envelope for the scope.\r\n */\r\nexport interface Adapter {\r\n name?: string;\r\n load: (scope: Scope) => Promise<Record<string, Envelope>>;\r\n loadSync?: (scope: Scope) => Record<string, Envelope>;\r\n save: (\r\n scope: Scope,\r\n capabilityId: string,\r\n envelope: Envelope\r\n ) => Promise<void>;\r\n remove?: (scope: Scope, capabilityId: string) => Promise<void>;\r\n subscribe?: (\r\n scope: Scope,\r\n onChange: (capabilityId: string) => void\r\n ) => () => void;\r\n capabilities?: AdapterCapabilities;\r\n}\r\n\r\n/** Reconciliation strategy between optimistic local state and adapter truth. */\r\nexport type HydrateStrategy = \"local-wins\" | \"remote-wins\" | \"merge\";\r\n\r\n/**\r\n * Favorites — a single favorited entity reference. `id` is the business row\r\n * id; `addedAt` enables future \"recently favorited\" ordering.\r\n */\r\nexport interface FavoriteRef {\r\n id: RowId;\r\n addedAt?: string;\r\n}\r\n\r\n/**\r\n * Saved filter. `criteria` is opaque — the host's own filter payload,\r\n * persisted and re-emitted verbatim so the framework stays reusable across\r\n * every list regardless of its filter schema.\r\n */\r\nexport interface SavedFilter {\r\n id: string;\r\n name?: string;\r\n resourceKey?: string;\r\n criteria?: Record<string, unknown>;\r\n ownerId?: string;\r\n isDefault?: boolean;\r\n shared?: boolean;\r\n createdAt?: string;\r\n updatedAt?: string;\r\n}\r\n"],"mappings":"","ignoreList":[]}