@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,61 @@
1
+ /**
2
+ * savedFilters — Portnet UI v2 · personalization capability
3
+ *
4
+ * The Saved Filters framework (Odoo-inspired "saved searches"). Lets a
5
+ * user name and persist the current state of any list's filters, recall
6
+ * them later, and optionally mark one as the default applied on open.
7
+ *
8
+ * Self-registers the "savedFilters" capability with the schema registry
9
+ * at import time, so the capability-agnostic foundation discovers it
10
+ * without hardcoding.
11
+ *
12
+ * State model (the capability payload):
13
+ * { [resourceKey]: SavedFilter[] }
14
+ * SavedFilter = {
15
+ * id, name, resourceKey,
16
+ * criteria, // OPAQUE — the host's own filter payload
17
+ * ownerId,
18
+ * isDefault, shared,
19
+ * createdAt, updatedAt,
20
+ * }
21
+ *
22
+ * `criteria` is never interpreted here — it is stored and re-emitted
23
+ * verbatim, which is what keeps the framework reusable across every list
24
+ * regardless of its filter schema (the host owns apply()). `shared` is
25
+ * modelled but NOT enforced in Phase 1 (local persistence): it round-trips
26
+ * for a future backend adapter and lets the UI show a shared indicator.
27
+ *
28
+ * Performance: the pure helpers rebuild only the touched resourceKey's
29
+ * array and shallow-copy the map, so the store's structural sharing keeps
30
+ * every OTHER resource's list referentially stable.
31
+ */
32
+ import type { SavedFilter } from "../types";
33
+ export declare const SAVED_FILTERS_CAPABILITY_ID = "savedFilters";
34
+ export interface SaveFilterInput {
35
+ name: string;
36
+ /** Opaque host filter payload — stored and re-emitted verbatim. */
37
+ criteria?: Record<string, unknown>;
38
+ isDefault?: boolean;
39
+ shared?: boolean;
40
+ }
41
+ export interface UseSavedFiltersResult {
42
+ filters: readonly SavedFilter[];
43
+ defaultFilter: SavedFilter | null;
44
+ count: number;
45
+ save: (input: SaveFilterInput) => SavedFilter;
46
+ update: (id: string, patch: Partial<SavedFilter>) => void;
47
+ rename: (id: string, name: string) => void;
48
+ remove: (id: string) => void;
49
+ setDefault: (id: string) => void;
50
+ clearDefault: () => void;
51
+ getById: (id: string) => SavedFilter | null;
52
+ }
53
+ /**
54
+ * useSavedFilters(resourceKey) — list, default, and CRUD for one resource.
55
+ *
56
+ * Applying a filter is the host's concern (it owns the criteria
57
+ * semantics): read `getById(id).criteria` / a filter's `criteria` and set
58
+ * your own filter state. SavedFiltersMenu wires this for you.
59
+ */
60
+ export declare function useSavedFilters(resourceKey: string): UseSavedFiltersResult;
61
+ //# sourceMappingURL=savedFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savedFilters.d.ts","sourceRoot":"","sources":["../../../../src/lib/v2/personalization/capabilities/savedFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AA2J1D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,WAAW,CAAC;IAC9C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC1D,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,GAAG,IAAI,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,qBAAqB,CA0J1E"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SAVED_FILTERS_CAPABILITY_ID = void 0;
7
+ exports.useSavedFilters = useSavedFilters;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _uuid = require("uuid");
10
+ var _schema = require("../schema");
11
+ var _personalizationContext = require("../personalizationContext");
12
+ 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); }
13
+ 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; }
14
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
15
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
21
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
+ 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); } /**
23
+ * savedFilters — Portnet UI v2 · personalization capability
24
+ *
25
+ * The Saved Filters framework (Odoo-inspired "saved searches"). Lets a
26
+ * user name and persist the current state of any list's filters, recall
27
+ * them later, and optionally mark one as the default applied on open.
28
+ *
29
+ * Self-registers the "savedFilters" capability with the schema registry
30
+ * at import time, so the capability-agnostic foundation discovers it
31
+ * without hardcoding.
32
+ *
33
+ * State model (the capability payload):
34
+ * { [resourceKey]: SavedFilter[] }
35
+ * SavedFilter = {
36
+ * id, name, resourceKey,
37
+ * criteria, // OPAQUE — the host's own filter payload
38
+ * ownerId,
39
+ * isDefault, shared,
40
+ * createdAt, updatedAt,
41
+ * }
42
+ *
43
+ * `criteria` is never interpreted here — it is stored and re-emitted
44
+ * verbatim, which is what keeps the framework reusable across every list
45
+ * regardless of its filter schema (the host owns apply()). `shared` is
46
+ * modelled but NOT enforced in Phase 1 (local persistence): it round-trips
47
+ * for a future backend adapter and lets the UI show a shared indicator.
48
+ *
49
+ * Performance: the pure helpers rebuild only the touched resourceKey's
50
+ * array and shallow-copy the map, so the store's structural sharing keeps
51
+ * every OTHER resource's list referentially stable.
52
+ */
53
+ /** The saved-filters capability payload: SavedFilter arrays keyed by resourceKey. */
54
+
55
+ var SAVED_FILTERS_CAPABILITY_ID = exports.SAVED_FILTERS_CAPABILITY_ID = "savedFilters";
56
+ var SCHEMA_VERSION = 1;
57
+ var EMPTY_LIST = Object.freeze([]);
58
+ var EMPTY_MAP = Object.freeze({});
59
+
60
+ /* Register at import time — the foundation reads this at hydration. */
61
+ (0, _schema.registerCapability)({
62
+ id: SAVED_FILTERS_CAPABILITY_ID,
63
+ schemaVersion: SCHEMA_VERSION,
64
+ defaultState: EMPTY_MAP,
65
+ // { [resourceKey]: SavedFilter[] }
66
+ migrate: function migrateSavedFilters(_fromVersion, payload) {
67
+ // v1 is the initial schema. Defensive normalisation only.
68
+ return payload && _typeof(payload) === "object" ? payload : {};
69
+ }
70
+ });
71
+
72
+ /* ── pure, resourceKey-scoped state helpers (structural sharing) ────── */
73
+
74
+ function listFor(map, resourceKey) {
75
+ var list = map ? map[resourceKey] : undefined;
76
+ return Array.isArray(list) ? list : EMPTY_LIST;
77
+ }
78
+
79
+ // Append a fully-formed filter. Enforces a single default per resource:
80
+ // when the new filter is default, demote any previous default.
81
+ function appendFilter(map, resourceKey, filter, updatedAt) {
82
+ var base = map || EMPTY_MAP;
83
+ var list = listFor(base, resourceKey);
84
+ if (filter.isDefault) {
85
+ list = list.map(function demote(f) {
86
+ return f.isDefault ? _objectSpread(_objectSpread({}, f), {}, {
87
+ isDefault: false,
88
+ updatedAt: updatedAt
89
+ }) : f;
90
+ });
91
+ }
92
+ var next = _objectSpread({}, base);
93
+ next[resourceKey] = list.concat([filter]);
94
+ return next;
95
+ }
96
+
97
+ // Merge a patch into one filter (id/resourceKey are immutable). When the
98
+ // patch promotes it to default, demote the others.
99
+ function patchFilter(map, resourceKey, id, patch, updatedAt) {
100
+ var base = map || EMPTY_MAP;
101
+ var list = listFor(base, resourceKey);
102
+ if (!list.some(function (f) {
103
+ return f.id === id;
104
+ })) {
105
+ return base; // no-op
106
+ }
107
+ var nextList = list.map(function applyPatch(f) {
108
+ if (f.id !== id) return f;
109
+ var merged = _objectSpread(_objectSpread(_objectSpread({}, f), patch), {}, {
110
+ id: f.id,
111
+ updatedAt: updatedAt
112
+ }, f.resourceKey !== undefined ? {
113
+ resourceKey: f.resourceKey
114
+ } : {});
115
+ return merged;
116
+ });
117
+ if (patch && patch.isDefault === true) {
118
+ nextList = nextList.map(function demoteOthers(f) {
119
+ if (f.id === id) return f;
120
+ return f.isDefault ? _objectSpread(_objectSpread({}, f), {}, {
121
+ isDefault: false,
122
+ updatedAt: updatedAt
123
+ }) : f;
124
+ });
125
+ }
126
+ var next = _objectSpread({}, base);
127
+ next[resourceKey] = nextList;
128
+ return next;
129
+ }
130
+ function deleteFilter(map, resourceKey, id) {
131
+ var base = map || EMPTY_MAP;
132
+ var list = listFor(base, resourceKey);
133
+ if (!list.some(function (f) {
134
+ return f.id === id;
135
+ })) {
136
+ return base; // no-op
137
+ }
138
+ var nextList = list.filter(function keep(f) {
139
+ return f.id !== id;
140
+ });
141
+ var next = _objectSpread({}, base);
142
+ if (nextList.length === 0) delete next[resourceKey]; // keep the map tidy
143
+ else next[resourceKey] = nextList;
144
+ return next;
145
+ }
146
+ function markDefault(map, resourceKey, id, updatedAt) {
147
+ var base = map || EMPTY_MAP;
148
+ var list = listFor(base, resourceKey);
149
+ var changed = false;
150
+ var nextList = list.map(function setFlag(f) {
151
+ var shouldBe = f.id === id;
152
+ if (!!f.isDefault === shouldBe) return f;
153
+ changed = true;
154
+ return _objectSpread(_objectSpread({}, f), {}, {
155
+ isDefault: shouldBe,
156
+ updatedAt: updatedAt
157
+ });
158
+ });
159
+ if (!changed) return base;
160
+ var next = _objectSpread({}, base);
161
+ next[resourceKey] = nextList;
162
+ return next;
163
+ }
164
+ function unmarkDefault(map, resourceKey, updatedAt) {
165
+ var base = map || EMPTY_MAP;
166
+ var list = listFor(base, resourceKey);
167
+ var changed = false;
168
+ var nextList = list.map(function clearFlag(f) {
169
+ if (!f.isDefault) return f;
170
+ changed = true;
171
+ return _objectSpread(_objectSpread({}, f), {}, {
172
+ isDefault: false,
173
+ updatedAt: updatedAt
174
+ });
175
+ });
176
+ if (!changed) return base;
177
+ var next = _objectSpread({}, base);
178
+ next[resourceKey] = nextList;
179
+ return next;
180
+ }
181
+
182
+ /* ── hook ───────────────────────────────────────────────────────────── */
183
+
184
+ /**
185
+ * useSavedFilters(resourceKey) — list, default, and CRUD for one resource.
186
+ *
187
+ * Applying a filter is the host's concern (it owns the criteria
188
+ * semantics): read `getById(id).criteria` / a filter's `criteria` and set
189
+ * your own filter state. SavedFiltersMenu wires this for you.
190
+ */
191
+ function useSavedFilters(resourceKey) {
192
+ var store = (0, _personalizationContext.usePersonalizationStore)();
193
+ React.useEffect(function ensure() {
194
+ store.ensureCapability(SAVED_FILTERS_CAPABILITY_ID);
195
+ }, [store]);
196
+ var selectList = React.useCallback(function selectList(snapshot) {
197
+ var slice = snapshot[SAVED_FILTERS_CAPABILITY_ID];
198
+ return slice ? listFor(slice, resourceKey) : EMPTY_LIST;
199
+ }, [resourceKey]);
200
+ var filters = (0, _personalizationContext.useStoreSelector)(selectList);
201
+ var defaultFilter = React.useMemo(function findDefault() {
202
+ var _iterator = _createForOfIteratorHelper(filters),
203
+ _step;
204
+ try {
205
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
206
+ var f = _step.value;
207
+ if (f.isDefault) return f;
208
+ }
209
+ } catch (err) {
210
+ _iterator.e(err);
211
+ } finally {
212
+ _iterator.f();
213
+ }
214
+ return null;
215
+ }, [filters]);
216
+ var save = React.useCallback(function save(input) {
217
+ var now = new Date().toISOString();
218
+ var scope = store.getScope ? store.getScope() : null;
219
+ var criteria = input ? input.criteria : undefined;
220
+ var ownerId = scope ? scope.userId : undefined;
221
+ var filter = _objectSpread(_objectSpread({
222
+ id: (0, _uuid.v4)(),
223
+ name: input && input.name ? input.name : "",
224
+ resourceKey: resourceKey,
225
+ isDefault: !!(input && input.isDefault),
226
+ shared: !!(input && input.shared),
227
+ createdAt: now,
228
+ updatedAt: now
229
+ }, criteria !== undefined ? {
230
+ criteria: criteria
231
+ } : {}), ownerId !== undefined ? {
232
+ ownerId: ownerId
233
+ } : {});
234
+ store.write(SAVED_FILTERS_CAPABILITY_ID, function (prev) {
235
+ return appendFilter(prev, resourceKey, filter, now);
236
+ });
237
+ return filter;
238
+ }, [store, resourceKey]);
239
+ var update = React.useCallback(function update(id, patch) {
240
+ var now = new Date().toISOString();
241
+ store.write(SAVED_FILTERS_CAPABILITY_ID, function (prev) {
242
+ return patchFilter(prev, resourceKey, id, patch || {}, now);
243
+ });
244
+ }, [store, resourceKey]);
245
+ var rename = React.useCallback(function rename(id, name) {
246
+ update(id, {
247
+ name: name
248
+ });
249
+ }, [update]);
250
+ var remove = React.useCallback(function remove(id) {
251
+ store.write(SAVED_FILTERS_CAPABILITY_ID, function (prev) {
252
+ return deleteFilter(prev, resourceKey, id);
253
+ });
254
+ }, [store, resourceKey]);
255
+ var setDefault = React.useCallback(function setDefault(id) {
256
+ var now = new Date().toISOString();
257
+ store.write(SAVED_FILTERS_CAPABILITY_ID, function (prev) {
258
+ return markDefault(prev, resourceKey, id, now);
259
+ });
260
+ }, [store, resourceKey]);
261
+ var clearDefault = React.useCallback(function clearDefault() {
262
+ var now = new Date().toISOString();
263
+ store.write(SAVED_FILTERS_CAPABILITY_ID, function (prev) {
264
+ return unmarkDefault(prev, resourceKey, now);
265
+ });
266
+ }, [store, resourceKey]);
267
+ var getById = React.useCallback(function getById(id) {
268
+ var _iterator2 = _createForOfIteratorHelper(filters),
269
+ _step2;
270
+ try {
271
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
272
+ var f = _step2.value;
273
+ if (f.id === id) return f;
274
+ }
275
+ } catch (err) {
276
+ _iterator2.e(err);
277
+ } finally {
278
+ _iterator2.f();
279
+ }
280
+ return null;
281
+ }, [filters]);
282
+ return React.useMemo(function value() {
283
+ return {
284
+ filters: filters,
285
+ defaultFilter: defaultFilter,
286
+ count: filters.length,
287
+ save: save,
288
+ update: update,
289
+ rename: rename,
290
+ remove: remove,
291
+ setDefault: setDefault,
292
+ clearDefault: clearDefault,
293
+ getById: getById
294
+ };
295
+ }, [filters, defaultFilter, save, update, rename, remove, setDefault, clearDefault, getById]);
296
+ }
297
+ //# sourceMappingURL=savedFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savedFilters.js","names":["React","_interopRequireWildcard","require","_uuid","_schema","_personalizationContext","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","SAVED_FILTERS_CAPABILITY_ID","exports","SCHEMA_VERSION","EMPTY_LIST","freeze","EMPTY_MAP","registerCapability","id","schemaVersion","defaultState","migrate","migrateSavedFilters","_fromVersion","payload","listFor","map","resourceKey","list","appendFilter","updatedAt","base","isDefault","demote","concat","patchFilter","patch","some","nextList","applyPatch","merged","demoteOthers","deleteFilter","keep","markDefault","changed","setFlag","shouldBe","unmarkDefault","clearFlag","useSavedFilters","store","usePersonalizationStore","useEffect","ensure","ensureCapability","selectList","useCallback","snapshot","filters","useStoreSelector","defaultFilter","useMemo","findDefault","_iterator","_step","save","now","Date","toISOString","scope","getScope","criteria","ownerId","userId","uuidv4","shared","createdAt","write","prev","update","rename","remove","setDefault","clearDefault","getById","_iterator2","_step2","count"],"sources":["../../../../src/lib/v2/personalization/capabilities/savedFilters.ts"],"sourcesContent":["/**\r\n * savedFilters — Portnet UI v2 · personalization capability\r\n *\r\n * The Saved Filters framework (Odoo-inspired \"saved searches\"). Lets a\r\n * user name and persist the current state of any list's filters, recall\r\n * them later, and optionally mark one as the default applied on open.\r\n *\r\n * Self-registers the \"savedFilters\" capability with the schema registry\r\n * at import time, so the capability-agnostic foundation discovers it\r\n * without hardcoding.\r\n *\r\n * State model (the capability payload):\r\n * { [resourceKey]: SavedFilter[] }\r\n * SavedFilter = {\r\n * id, name, resourceKey,\r\n * criteria, // OPAQUE — the host's own filter payload\r\n * ownerId,\r\n * isDefault, shared,\r\n * createdAt, updatedAt,\r\n * }\r\n *\r\n * `criteria` is never interpreted here — it is stored and re-emitted\r\n * verbatim, which is what keeps the framework reusable across every list\r\n * regardless of its filter schema (the host owns apply()). `shared` is\r\n * modelled but NOT enforced in Phase 1 (local persistence): it round-trips\r\n * for a future backend adapter and lets the UI show a shared indicator.\r\n *\r\n * Performance: the pure helpers rebuild only the touched resourceKey's\r\n * array and shallow-copy the map, so the store's structural sharing keeps\r\n * every OTHER resource's list referentially stable.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\nimport { registerCapability } from \"../schema\";\r\nimport {\r\n usePersonalizationStore,\r\n useStoreSelector,\r\n} from \"../personalizationContext\";\r\nimport type { PersonalizationSnapshot } from \"../createPersonalizationStore\";\r\nimport type { SavedFilter } from \"../types\";\r\n\r\n/** The saved-filters capability payload: SavedFilter arrays keyed by resourceKey. */\r\ntype SavedFiltersState = Record<string, SavedFilter[]>;\r\n\r\nexport const SAVED_FILTERS_CAPABILITY_ID = \"savedFilters\";\r\nconst SCHEMA_VERSION = 1;\r\n\r\nconst EMPTY_LIST: readonly SavedFilter[] = Object.freeze([]);\r\nconst EMPTY_MAP: SavedFiltersState = Object.freeze({});\r\n\r\n/* Register at import time — the foundation reads this at hydration. */\r\nregisterCapability({\r\n id: SAVED_FILTERS_CAPABILITY_ID,\r\n schemaVersion: SCHEMA_VERSION,\r\n defaultState: EMPTY_MAP, // { [resourceKey]: SavedFilter[] }\r\n migrate: function migrateSavedFilters(\r\n _fromVersion: number,\r\n payload: unknown\r\n ): unknown {\r\n // v1 is the initial schema. Defensive normalisation only.\r\n return payload && typeof payload === \"object\" ? payload : {};\r\n },\r\n});\r\n\r\n/* ── pure, resourceKey-scoped state helpers (structural sharing) ────── */\r\n\r\nfunction listFor(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string\r\n): readonly SavedFilter[] {\r\n const list = map ? map[resourceKey] : undefined;\r\n return Array.isArray(list) ? list : EMPTY_LIST;\r\n}\r\n\r\n// Append a fully-formed filter. Enforces a single default per resource:\r\n// when the new filter is default, demote any previous default.\r\nfunction appendFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n filter: SavedFilter,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n let list = listFor(base, resourceKey);\r\n if (filter.isDefault) {\r\n list = list.map(function demote(f) {\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = list.concat([filter]);\r\n return next;\r\n}\r\n\r\n// Merge a patch into one filter (id/resourceKey are immutable). When the\r\n// patch promotes it to default, demote the others.\r\nfunction patchFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n patch: Partial<SavedFilter>,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n let nextList = list.map(function applyPatch(f) {\r\n if (f.id !== id) return f;\r\n const merged: SavedFilter = {\r\n ...f,\r\n ...patch,\r\n id: f.id,\r\n updatedAt: updatedAt,\r\n ...(f.resourceKey !== undefined ? { resourceKey: f.resourceKey } : {}),\r\n };\r\n return merged;\r\n });\r\n if (patch && patch.isDefault === true) {\r\n nextList = nextList.map(function demoteOthers(f) {\r\n if (f.id === id) return f;\r\n return f.isDefault ? { ...f, isDefault: false, updatedAt: updatedAt } : f;\r\n });\r\n }\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction deleteFilter(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n if (\r\n !list.some(function (f) {\r\n return f.id === id;\r\n })\r\n ) {\r\n return base; // no-op\r\n }\r\n const nextList = list.filter(function keep(f) {\r\n return f.id !== id;\r\n });\r\n const next: SavedFiltersState = { ...base };\r\n if (nextList.length === 0) delete next[resourceKey]; // keep the map tidy\r\n else next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction markDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n id: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function setFlag(f) {\r\n const shouldBe = f.id === id;\r\n if (!!f.isDefault === shouldBe) return f;\r\n changed = true;\r\n return { ...f, isDefault: shouldBe, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\nfunction unmarkDefault(\r\n map: SavedFiltersState | null | undefined,\r\n resourceKey: string,\r\n updatedAt: string\r\n): SavedFiltersState {\r\n const base = map || EMPTY_MAP;\r\n const list = listFor(base, resourceKey);\r\n let changed = false;\r\n const nextList = list.map(function clearFlag(f) {\r\n if (!f.isDefault) return f;\r\n changed = true;\r\n return { ...f, isDefault: false, updatedAt: updatedAt };\r\n });\r\n if (!changed) return base;\r\n const next: SavedFiltersState = { ...base };\r\n next[resourceKey] = nextList;\r\n return next;\r\n}\r\n\r\n/* ── hook ───────────────────────────────────────────────────────────── */\r\n\r\nexport interface SaveFilterInput {\r\n name: string;\r\n /** Opaque host filter payload — stored and re-emitted verbatim. */\r\n criteria?: Record<string, unknown>;\r\n isDefault?: boolean;\r\n shared?: boolean;\r\n}\r\n\r\nexport interface UseSavedFiltersResult {\r\n filters: readonly SavedFilter[];\r\n defaultFilter: SavedFilter | null;\r\n count: number;\r\n save: (input: SaveFilterInput) => SavedFilter;\r\n update: (id: string, patch: Partial<SavedFilter>) => void;\r\n rename: (id: string, name: string) => void;\r\n remove: (id: string) => void;\r\n setDefault: (id: string) => void;\r\n clearDefault: () => void;\r\n getById: (id: string) => SavedFilter | null;\r\n}\r\n\r\n/**\r\n * useSavedFilters(resourceKey) — list, default, and CRUD for one resource.\r\n *\r\n * Applying a filter is the host's concern (it owns the criteria\r\n * semantics): read `getById(id).criteria` / a filter's `criteria` and set\r\n * your own filter state. SavedFiltersMenu wires this for you.\r\n */\r\nexport function useSavedFilters(resourceKey: string): UseSavedFiltersResult {\r\n const store = usePersonalizationStore();\r\n\r\n React.useEffect(\r\n function ensure() {\r\n store.ensureCapability(SAVED_FILTERS_CAPABILITY_ID);\r\n },\r\n [store]\r\n );\r\n\r\n const selectList = React.useCallback(\r\n function selectList(snapshot: PersonalizationSnapshot): readonly SavedFilter[] {\r\n const slice = snapshot[SAVED_FILTERS_CAPABILITY_ID] as\r\n | SavedFiltersState\r\n | undefined;\r\n return slice ? listFor(slice, resourceKey) : EMPTY_LIST;\r\n },\r\n [resourceKey]\r\n );\r\n const filters = useStoreSelector(selectList);\r\n\r\n const defaultFilter = React.useMemo(\r\n function findDefault(): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.isDefault) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n const save = React.useCallback(\r\n function save(input: SaveFilterInput): SavedFilter {\r\n const now = new Date().toISOString();\r\n const scope = store.getScope ? store.getScope() : null;\r\n const criteria = input ? input.criteria : undefined;\r\n const ownerId = scope ? scope.userId : undefined;\r\n const filter: SavedFilter = {\r\n id: uuidv4(),\r\n name: input && input.name ? input.name : \"\",\r\n resourceKey: resourceKey,\r\n isDefault: !!(input && input.isDefault),\r\n shared: !!(input && input.shared),\r\n createdAt: now,\r\n updatedAt: now,\r\n ...(criteria !== undefined ? { criteria } : {}),\r\n ...(ownerId !== undefined ? { ownerId } : {}),\r\n };\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return appendFilter(prev, resourceKey, filter, now);\r\n }\r\n );\r\n return filter;\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const update = React.useCallback(\r\n function update(id: string, patch: Partial<SavedFilter>): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return patchFilter(prev, resourceKey, id, patch || {}, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const rename = React.useCallback(\r\n function rename(id: string, name: string): void {\r\n update(id, { name: name });\r\n },\r\n [update]\r\n );\r\n\r\n const remove = React.useCallback(\r\n function remove(id: string): void {\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return deleteFilter(prev, resourceKey, id);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const setDefault = React.useCallback(\r\n function setDefault(id: string): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return markDefault(prev, resourceKey, id, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const clearDefault = React.useCallback(\r\n function clearDefault(): void {\r\n const now = new Date().toISOString();\r\n store.write<SavedFiltersState>(\r\n SAVED_FILTERS_CAPABILITY_ID,\r\n function (prev) {\r\n return unmarkDefault(prev, resourceKey, now);\r\n }\r\n );\r\n },\r\n [store, resourceKey]\r\n );\r\n\r\n const getById = React.useCallback(\r\n function getById(id: string): SavedFilter | null {\r\n for (const f of filters) {\r\n if (f.id === id) return f;\r\n }\r\n return null;\r\n },\r\n [filters]\r\n );\r\n\r\n return React.useMemo(\r\n function value(): UseSavedFiltersResult {\r\n return {\r\n filters: filters,\r\n defaultFilter: defaultFilter,\r\n count: filters.length,\r\n save: save,\r\n update: update,\r\n rename: rename,\r\n remove: remove,\r\n setDefault: setDefault,\r\n clearDefault: clearDefault,\r\n getById: getById,\r\n };\r\n },\r\n [\r\n filters,\r\n defaultFilter,\r\n save,\r\n update,\r\n rename,\r\n remove,\r\n setDefault,\r\n clearDefault,\r\n getById,\r\n ]\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * createPersonalizationStore — Portnet UI v2 · personalization
3
+ *
4
+ * Scoped, multi-capability, adapter-backed store. Generalises the
5
+ * useSyncExternalStore + cross-tab + SSR-safe pattern proven by
6
+ * useDensity (architecture doc §2.3 / §2.4).
7
+ *
8
+ * Core idea — sync snapshot, async adapter:
9
+ * - The store holds a SYNCHRONOUS in-memory snapshot. `read()` is pure
10
+ * (no mutation) so it is safe to call inside a useSyncExternalStore
11
+ * selector. Components never await to render.
12
+ * - Mutations are OPTIMISTIC: the snapshot updates synchronously and
13
+ * subscribers are notified; the adapter persists asynchronously; on
14
+ * failure the optimistic value is kept for the session and onError
15
+ * fires. Swapping a remote adapter changes only *when* bytes hit the
16
+ * wire, never how components read.
17
+ * - STRUCTURAL SHARING: a write replaces only its capability slice; all
18
+ * sibling slices keep their reference. This is what makes selectors
19
+ * referentially stable and prevents cross-capability re-renders.
20
+ *
21
+ * The store is capability-AGNOSTIC: payloads are `unknown` and it learns
22
+ * defaults, schema versions and migrations from the schema registry (slices
23
+ * self-register at import time). Adding a capability requires no change here;
24
+ * the typed capability slices impose the concrete payload types on top via
25
+ * the generic read<T>/write<T> facades.
26
+ */
27
+ import type { Adapter, HydrateStrategy, Scope } from "./types";
28
+ export type PersonalizationStatus = "idle" | "hydrating" | "saving" | "error";
29
+ /** The store's in-memory snapshot: { [capabilityId]: payload }. */
30
+ export type PersonalizationSnapshot = Record<string, unknown>;
31
+ /** A write value, or a functional updater `(previous) => next`. */
32
+ export type PersonalizationUpdater<T = unknown> = T | ((previous: T) => T);
33
+ export interface WriteOptions {
34
+ /** Set false for an in-memory-only write (no adapter persist). */
35
+ persist?: boolean;
36
+ }
37
+ export interface PersonalizationErrorContext {
38
+ scope: Scope;
39
+ capabilityId: string;
40
+ }
41
+ export type PersonalizationErrorHandler = (error: Error, context: PersonalizationErrorContext) => void;
42
+ export interface PersonalizationRuntimeOptions {
43
+ onError?: PersonalizationErrorHandler;
44
+ hydrateStrategy?: HydrateStrategy;
45
+ }
46
+ export interface PersonalizationStoreConfig {
47
+ /** Identity the store persists against. Defaults to { userId: "anonymous" }. */
48
+ scope?: Scope;
49
+ /** Storage adapter. When null the store is a pure in-memory session. */
50
+ adapter?: Adapter | null;
51
+ /** Per-capability seed overrides, read at creation/hydration. */
52
+ defaults?: Record<string, unknown> | null;
53
+ onError?: PersonalizationErrorHandler;
54
+ /** @default "remote-wins" */
55
+ hydrateStrategy?: HydrateStrategy;
56
+ }
57
+ /** The store handle returned by createPersonalizationStore. */
58
+ export interface PersonalizationStore {
59
+ subscribe: (listener: () => void) => () => void;
60
+ getSnapshot: () => PersonalizationSnapshot;
61
+ getServerSnapshot: () => PersonalizationSnapshot;
62
+ read: <T = unknown>(capabilityId: string) => T;
63
+ write: <T = unknown>(capabilityId: string, updater: PersonalizationUpdater<T>, options?: WriteOptions) => T | undefined;
64
+ ensureCapability: (capabilityId: string) => void;
65
+ clearCapability: (capabilityId: string) => void;
66
+ hydrate: () => Promise<void>;
67
+ connect: () => () => void;
68
+ dispose: () => void;
69
+ setRuntime: (opts?: PersonalizationRuntimeOptions) => void;
70
+ status: (capabilityId: string) => PersonalizationStatus;
71
+ error: (capabilityId: string) => Error | null;
72
+ isHydrated: () => boolean;
73
+ getScope: () => Scope;
74
+ }
75
+ export default function createPersonalizationStore(config?: PersonalizationStoreConfig): PersonalizationStore;
76
+ //# sourceMappingURL=createPersonalizationStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPersonalizationStore.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/personalization/createPersonalizationStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,KAAK,EAAE,OAAO,EAAY,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9E,mEAAmE;AACnE,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9D,mEAAmE;AACnE,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,2BAA2B,GAAG,CACxC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,2BAA2B,KACjC,IAAI,CAAC;AAEV,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,6BAA6B;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IAEnC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM,uBAAuB,CAAC;IAC3C,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;IAEjD,IAAI,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,GAAG,OAAO,EACjB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAClC,OAAO,CAAC,EAAE,YAAY,KACnB,CAAC,GAAG,SAAS,CAAC;IACnB,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,6BAA6B,KAAK,IAAI,CAAC;IAE3D,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACxD,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,QAAQ,EAAE,MAAM,KAAK,CAAC;CACvB;AAcD,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAChD,MAAM,CAAC,EAAE,0BAA0B,GAClC,oBAAoB,CAyXtB"}