@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 @@
1
+ {"version":3,"file":"ReferentielField.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Search","_Close","_Field","_Input","_Combobox","_DatePicker","_Button","_Banner","_Modal","_DataGrid","_EmptyState","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","DEFAULT_LABELS","freeze","searchAria","clearAria","modalCancel","modalConfirm","searchSubmit","resultsHeading","concat","initialEmptyTitle","initialEmptyHint","noResultsTitle","noResultsHint","errorTitle","errorRetry","loadingHint","placeholder","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZES","defaultGetRowId","row","id","renderCriterionField","c","onChange","_c$options","kind","jsx","_target$value","_target","extracted","options","loading","Boolean","getOptionLabel","disableFuture","e","ReferentielField","_ref","getDisplayValue","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$clearable","clearable","_ref$title","title","subtitle","_ref$size","size","modalProps","search","_ref$criteria","criteria","initialCriteria","_ref$columns","columns","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$getRowId","getRowId","_ref$confirmOnSelecti","confirmOnSelection","sort","onSortChange","labels","locale","ariaInvalid","ariaRequired","ariaDescribedBy","L","useMemo","_React$useState","useState","_React$useState2","open","setOpen","triggerRef","useRef","openModal","useCallback","closeModal","setTimeout","el","current","focus","preventScroll","seedCriteria","seed","_React$useState3","_React$useState4","draft","setDraft","useEffect","_React$useState5","_React$useState6","page","setPage","_React$useState7","_React$useState8","setPageSize","_React$useState9","_React$useState0","items","setItems","_React$useState1","_React$useState10","total","setTotal","_React$useState11","_React$useState12","setLoading","_React$useState13","_React$useState14","setError","_React$useState15","_React$useState16","hasSearched","setHasSearched","_React$useState17","_React$useState18","pendingSelection","setPendingSelection","requestSeq","runSearch","_callee","_overrides$criteria","_overrides$page","_overrides$pageSize","overrides","myReq","effective","nextTotal","_args","_callee$","_context","isFinite","t0","onSubmitCriteria","preventDefault","onPageChange","nextPage","onPageSizeChange","nextPageSize","handleRowClick","handleConfirmSelection","handleClear","stopPropagation","display","_getDisplayValue","_unused","v","description","label","code","pagination","initialEmpty","variant","filteredEmpty","errorState","action","onClick","children","message","showClear","triggerAria","trigger","ref","onKeyDown","inputProps","sx","cursor","endIcon","jsxs","alignItems","gap","edge","color","fontSize","criteriaRow","component","onSubmit","gridTemplateColumns","xs","sm","md","Math","min","marginBottom","map","d","justifyContent","liveResults","className","decoratedRows","pendingId","r","__pending","footer","Fragment","onClose","rows","onRowClick","emptyState","filteredEmptyState","filtered","rowFlashId","_default"],"sources":["../../../src/lib/v2/patterns/ReferentielField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport ClearIcon from \"@mui/icons-material/Close\";\r\n\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type { ComboboxOption, ComboboxOptionValue, ComboboxValue } from \"../components/Combobox\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport Button from \"../components/Button\";\r\nimport Banner from \"../components/Banner\";\r\nimport Modal from \"../components/Modal\";\r\nimport DataGrid from \"./DataGrid\";\r\nimport EmptyState from \"../components/EmptyState\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * ReferentielField — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"Referentiel · Search-and-select\".\r\n *\r\n * Use this when:\r\n * - The selectable population is too large for <Combobox> to load.\r\n * - The host needs MULTI-CRITERIA search.\r\n * - The result rows benefit from a structured view.\r\n *\r\n * Criteria shape (B17 extension)\r\n * ------------------------------\r\n * Each criterion descriptor accepts:\r\n *\r\n * { name, label, placeholder, hint, kind, options, loading,\r\n * getOptionValue, getOptionLabel, disableFuture }\r\n *\r\n * - kind — discriminator: \"input\" (default) | \"combobox\" | \"date\"\r\n *\r\n * The B17 extension is purely additive: existing call sites with\r\n * `criteria=[{name, label}]` keep rendering plain Inputs because\r\n * `kind` defaults to \"input\".\r\n *\r\n * A11y trigger (audit Batch 5, finding B4-3):\r\n * The trigger Input acts as a combobox-like disclosure for a dialog\r\n * (the search Modal). aria-haspopup=\"dialog\" + aria-expanded MUST sit\r\n * on the FOCUSABLE element (the <input/>), so every aria-* on the\r\n * trigger is routed through `inputProps` → slotProps.input. This\r\n * includes the Field-injected aria-invalid / aria-required /\r\n * aria-describedby so the whole aria contract lives on one element.\r\n */\r\n\r\n/** Localisable strings; `resultsHeading` is a function for plural rules. */\r\nexport interface ReferentielFieldLabels {\r\n searchAria?: string;\r\n clearAria?: string;\r\n modalCancel?: React.ReactNode;\r\n modalConfirm?: React.ReactNode;\r\n searchSubmit?: React.ReactNode;\r\n resultsHeading?: (n: number) => string;\r\n initialEmptyTitle?: React.ReactNode;\r\n initialEmptyHint?: React.ReactNode;\r\n noResultsTitle?: React.ReactNode;\r\n noResultsHint?: React.ReactNode;\r\n errorTitle?: React.ReactNode;\r\n errorRetry?: React.ReactNode;\r\n loadingHint?: React.ReactNode;\r\n placeholder?: string;\r\n}\r\n\r\n/** One search criterion. combobox/date-only fields reuse the real\r\n * component prop types so they stay exactly aligned. */\r\nexport interface ReferentielCriterion {\r\n name: string;\r\n label: React.ReactNode;\r\n placeholder?: string;\r\n hint?: React.ReactNode;\r\n kind?: \"input\" | \"combobox\" | \"date\";\r\n options?: React.ComponentProps<typeof Combobox>[\"options\"];\r\n loading?: boolean;\r\n /**\r\n * Accepted for backward API compatibility with older criterion configs.\r\n * Combobox has no equivalent hook (it resolves value/label straight off\r\n * each option's own .value/.label), so this is currently NOT wired into\r\n * the \"combobox\" kind's render below — kept typed rather than removed so\r\n * any existing caller that sets it doesn't get a compile error.\r\n */\r\n getOptionValue?: (option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue;\r\n getOptionLabel?: React.ComponentProps<typeof Combobox>[\"getOptionLabel\"];\r\n disableFuture?: boolean;\r\n}\r\n\r\nexport interface ReferentielSearchParams {\r\n criteria: Record<string, unknown>;\r\n page: number;\r\n pageSize: number;\r\n sort: SortDescriptor[] | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchResult<T> {\r\n items: T[];\r\n total?: number;\r\n}\r\n\r\nexport interface ReferentielFieldProps<T> {\r\n // Value contract\r\n value?: T | null;\r\n onChange?: (value: T | null) => void;\r\n getDisplayValue?: (value: T) => string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n clearable?: boolean;\r\n // Modal\r\n title?: React.ReactNode;\r\n subtitle?: React.ReactNode;\r\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n modalProps?: Partial<React.ComponentProps<typeof Modal>>;\r\n // Search contract\r\n search: (\r\n params: ReferentielSearchParams\r\n ) => ReferentielSearchResult<T> | Promise<ReferentielSearchResult<T>>;\r\n criteria?: ReferentielCriterion[];\r\n initialCriteria?: Record<string, unknown>;\r\n columns: DataGridColumn<T>[];\r\n pageSize?: number;\r\n pageSizes?: number[];\r\n getRowId?: (row: T) => RowId;\r\n // Selection UX\r\n confirmOnSelection?: boolean;\r\n // Sort (delegated to DataGrid)\r\n sort?: SortDescriptor[];\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>>;\r\n // Localisation\r\n labels?: ReferentielFieldLabels;\r\n locale?: string;\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id?: string;\r\n name?: string;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"];\r\n \"aria-required\"?: React.AriaAttributes[\"aria-required\"];\r\n \"aria-describedby\"?: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n searchAria: \"Rechercher\",\r\n clearAria: \"Effacer la sélection\",\r\n modalCancel: \"Annuler\",\r\n modalConfirm: \"Sélectionner\",\r\n searchSubmit: \"Rechercher\",\r\n resultsHeading: (n: number) => `${n} résultat${n > 1 ? \"s\" : \"\"}`,\r\n initialEmptyTitle: \"Aucune recherche\",\r\n initialEmptyHint: \"Saisissez un critère puis lancez la recherche.\",\r\n noResultsTitle: \"Aucun résultat\",\r\n noResultsHint: \"Modifiez vos critères et relancez la recherche.\",\r\n errorTitle: \"Recherche impossible\",\r\n errorRetry: \"Réessayer\",\r\n loadingHint: \"Recherche en cours…\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst DEFAULT_PAGE_SIZE = 25;\r\nconst DEFAULT_PAGE_SIZES = [25, 50, 100];\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\n/* B17 — render a single criterion based on its `kind` discriminator.\r\n * Falls back to Input for unknown kinds. The draft value is `unknown`\r\n * (criteria are heterogeneous); one assertion at each value seam. */\r\nfunction renderCriterionField(\r\n c: ReferentielCriterion,\r\n value: unknown,\r\n onChange: (next: unknown) => void\r\n): React.ReactElement {\r\n const kind = c.kind || \"input\";\r\n\r\n switch (kind) {\r\n case \"combobox\":\r\n return (\r\n <Combobox\r\n value={(value ?? \"\") as ComboboxValue}\r\n onChange={(next) => {\r\n // Combobox may emit either a raw value or an event-like object;\r\n // extract defensively in a way that is sound for any shape.\r\n const extracted =\r\n next && typeof next === \"object\" && \"target\" in next\r\n ? ((next as { target?: { value?: unknown } }).target?.value ??\r\n next)\r\n : next;\r\n onChange(extracted);\r\n }}\r\n options={c.options ?? []}\r\n loading={Boolean(c.loading)}\r\n {...(c.getOptionLabel !== undefined ? { getOptionLabel: c.getOptionLabel } : {})}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"date\":\r\n return (\r\n <DatePicker\r\n name={c.name}\r\n value={(value ?? null) as Date | null}\r\n onChange={(next) => onChange(next)}\r\n disableFuture={Boolean(c.disableFuture)}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"input\":\r\n default:\r\n return (\r\n <Input\r\n name={c.name}\r\n value={(value ?? \"\") as string}\r\n onChange={(e) => onChange(e.target.value)}\r\n placeholder={c.placeholder}\r\n />\r\n );\r\n }\r\n}\r\n\r\nfunction ReferentielField<T>({\r\n value,\r\n onChange,\r\n // Display / trigger\r\n getDisplayValue,\r\n placeholder,\r\n disabled = false,\r\n readOnly = false,\r\n clearable = true,\r\n // Modal content\r\n title = \"Rechercher\",\r\n subtitle,\r\n size = \"lg\",\r\n modalProps,\r\n // Search contract\r\n search,\r\n criteria = [],\r\n initialCriteria,\r\n columns = [],\r\n pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,\r\n pageSizes = DEFAULT_PAGE_SIZES,\r\n getRowId = defaultGetRowId,\r\n // Selection UX\r\n confirmOnSelection = false,\r\n // Sort (delegated to DataGrid)\r\n sort,\r\n onSortChange,\r\n // Localisation\r\n labels,\r\n locale,\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id,\r\n name,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-describedby\": ariaDescribedBy,\r\n}: ReferentielFieldProps<T>) {\r\n const L = React.useMemo(\r\n () => (labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS),\r\n [labels]\r\n );\r\n\r\n /* ── Modal lifecycle ──────────────────────────────────────── */\r\n const [open, setOpen] = React.useState(false);\r\n const triggerRef = React.useRef<React.ElementRef<typeof Input>>(null);\r\n\r\n const openModal = React.useCallback(() => {\r\n if (disabled || readOnly) return;\r\n setOpen(true);\r\n }, [disabled, readOnly]);\r\n\r\n const closeModal = React.useCallback(() => {\r\n setOpen(false);\r\n setTimeout(() => {\r\n // triggerRef's element type resolves to `{}` via React.ElementRef<typeof\r\n // Input> (a TS inference gap, not a real absence of .focus at runtime —\r\n // Input forwards its ref to a real focusable element). Cast narrowly at\r\n // the point of use rather than widening the ref's declared type, so the\r\n // `ref={triggerRef}` binding on <Input> below is unaffected.\r\n const el = triggerRef.current as { focus?: (options?: FocusOptions) => void } | null;\r\n if (el && typeof el.focus === \"function\") {\r\n el.focus({ preventScroll: true });\r\n }\r\n }, 0);\r\n }, []);\r\n\r\n /* ── Criteria draft + search state ───────────────────────── */\r\n const seedCriteria = React.useMemo(() => {\r\n const seed: Record<string, unknown> = {};\r\n (criteria || []).forEach((c) => {\r\n seed[c.name] = (initialCriteria && initialCriteria[c.name]) || \"\";\r\n });\r\n return seed;\r\n }, [criteria, initialCriteria]);\r\n\r\n const [draft, setDraft] = React.useState<Record<string, unknown>>(seedCriteria);\r\n\r\n React.useEffect(() => {\r\n if (open) setDraft(seedCriteria);\r\n }, [open, seedCriteria]);\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n\r\n const [items, setItems] = React.useState<T[]>([]);\r\n const [total, setTotal] = React.useState(0);\r\n const [loading, setLoading] = React.useState(false);\r\n const [error, setError] = React.useState<Error | null>(null);\r\n const [hasSearched, setHasSearched] = React.useState(false);\r\n const [pendingSelection, setPendingSelection] = React.useState<T | null>(null);\r\n\r\n /* ── Search executor ─────────────────────────────────────── */\r\n const requestSeq = React.useRef(0);\r\n\r\n const runSearch = React.useCallback(\r\n async (\r\n overrides: {\r\n criteria?: Record<string, unknown>;\r\n page?: number;\r\n pageSize?: number;\r\n } = {}\r\n ) => {\r\n if (typeof search !== \"function\") return;\r\n const myReq = ++requestSeq.current;\r\n const effective: ReferentielSearchParams = {\r\n criteria: overrides.criteria ?? draft,\r\n page: overrides.page ?? 1,\r\n pageSize: overrides.pageSize ?? pageSize,\r\n sort,\r\n };\r\n setLoading(true);\r\n setError(null);\r\n setHasSearched(true);\r\n try {\r\n const result = await search(effective);\r\n if (myReq !== requestSeq.current) return;\r\n setItems(Array.isArray(result.items) ? result.items : []);\r\n const nextTotal =\r\n typeof result.total === \"number\" && Number.isFinite(result.total)\r\n ? result.total\r\n : result.items.length;\r\n setTotal(nextTotal);\r\n setPage(effective.page);\r\n setPageSize(effective.pageSize);\r\n } catch (e) {\r\n if (myReq !== requestSeq.current) return;\r\n setError(e instanceof Error ? e : new Error(\"search failed\"));\r\n setItems([]);\r\n setTotal(0);\r\n } finally {\r\n if (myReq === requestSeq.current) setLoading(false);\r\n }\r\n },\r\n [search, draft, pageSize, sort]\r\n );\r\n\r\n /* ── Form submission inside the modal ────────────────────── */\r\n const onSubmitCriteria = (e: React.FormEvent<HTMLFormElement>) => {\r\n e.preventDefault();\r\n setPendingSelection(null);\r\n runSearch({ criteria: draft, page: 1 });\r\n };\r\n\r\n const onPageChange = (nextPage: number) => {\r\n runSearch({ page: nextPage });\r\n };\r\n const onPageSizeChange = (nextPageSize: number) => {\r\n runSearch({ page: 1, pageSize: nextPageSize });\r\n };\r\n\r\n /* ── Selection ───────────────────────────────────────────── */\r\n const handleRowClick = (row: T) => {\r\n if (confirmOnSelection) {\r\n setPendingSelection(row);\r\n return;\r\n }\r\n onChange?.(row);\r\n closeModal();\r\n };\r\n\r\n const handleConfirmSelection = () => {\r\n if (!pendingSelection) return;\r\n onChange?.(pendingSelection);\r\n setPendingSelection(null);\r\n closeModal();\r\n };\r\n\r\n const handleClear = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.stopPropagation();\r\n if (disabled || readOnly) return;\r\n onChange?.(null);\r\n };\r\n\r\n /* ── Trigger display ─────────────────────────────────────── */\r\n const display = React.useMemo<string>(() => {\r\n if (value == null || value === \"\") return \"\";\r\n if (typeof getDisplayValue === \"function\") {\r\n try {\r\n return getDisplayValue(value) ?? \"\";\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n if (typeof value === \"string\") return value;\r\n if (value && typeof value === \"object\") {\r\n const v = value as {\r\n description?: string;\r\n label?: string;\r\n name?: string;\r\n code?: string;\r\n };\r\n return v.description || v.label || v.name || v.code || \"\";\r\n }\r\n return String(value);\r\n }, [value, getDisplayValue]);\r\n\r\n /* ── DataGrid pagination contract ────────────────────────── */\r\n const pagination = React.useMemo(\r\n () => ({\r\n page,\r\n pageSize,\r\n total,\r\n pageSizes,\r\n onPageChange,\r\n onPageSizeChange,\r\n }),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [page, pageSize, total, pageSizes]\r\n );\r\n\r\n /* ── Empty / error states for DataGrid ───────────────────── */\r\n const initialEmpty = (\r\n <EmptyState\r\n variant=\"initial\"\r\n title={L.initialEmptyTitle}\r\n description={L.initialEmptyHint}\r\n />\r\n );\r\n const filteredEmpty = (\r\n <EmptyState\r\n variant=\"filtered\"\r\n title={L.noResultsTitle}\r\n description={L.noResultsHint}\r\n />\r\n );\r\n const errorState = (\r\n <Banner\r\n variant=\"error\"\r\n title={L.errorTitle}\r\n action={{ label: L.errorRetry, onClick: () => runSearch({ page: 1 }) }}\r\n >\r\n {error?.message || String(error || \"\")}\r\n </Banner>\r\n );\r\n\r\n /* ── Render the trigger ──────────────────────────────────── */\r\n const showClear = clearable && !disabled && !readOnly && Boolean(display);\r\n\r\n // B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input\r\n // routes them into slotProps.input → the native <input/>. Typed as\r\n // AriaAttributes so \"aria-haspopup\":\"dialog\" stays a valid literal.\r\n const triggerAria = React.useMemo<React.AriaAttributes>(\r\n () => ({\r\n \"aria-haspopup\": \"dialog\",\r\n \"aria-expanded\": open,\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaDescribedBy ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n }),\r\n [open, ariaInvalid, ariaRequired, ariaDescribedBy]\r\n );\r\n\r\n const trigger = (\r\n <Input\r\n ref={triggerRef}\r\n id={id}\r\n name={name}\r\n value={display}\r\n placeholder={placeholder ?? L.placeholder}\r\n readOnly\r\n disabled={disabled}\r\n onClick={openModal}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n openModal();\r\n }\r\n }}\r\n inputProps={triggerAria}\r\n sx={{\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n \"& input\": { cursor: disabled ? \"not-allowed\" : \"pointer\" },\r\n }}\r\n endIcon={\r\n <Box\r\n sx={{ display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}\r\n >\r\n {showClear && (\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={handleClear}\r\n aria-label={L.clearAria}\r\n edge=\"end\"\r\n sx={{ color: \"var(--fg-subtle)\" }}\r\n >\r\n <ClearIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n openModal();\r\n }}\r\n aria-label={L.searchAria}\r\n edge=\"end\"\r\n disabled={disabled}\r\n sx={{ color: \"var(--accent)\" }}\r\n >\r\n <SearchIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n }\r\n />\r\n );\r\n\r\n /* ── Modal body ──────────────────────────────────────────── */\r\n const criteriaRow = criteria.length > 0 && (\r\n <Box\r\n component=\"form\"\r\n onSubmit={onSubmitCriteria}\r\n sx={{\r\n display: \"grid\",\r\n gap: \"var(--s-3)\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: criteria.length > 1 ? \"1fr 1fr\" : \"1fr\",\r\n md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`,\r\n },\r\n alignItems: \"end\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n {criteria.map((c) => (\r\n <Field key={c.name} label={c.label} hint={c.hint}>\r\n {renderCriterionField(c, draft[c.name], (next) =>\r\n setDraft((d) => ({ ...d, [c.name]: next }))\r\n )}\r\n </Field>\r\n ))}\r\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\r\n <Button variant=\"primary\" type=\"submit\" loading={loading}>\r\n {L.searchSubmit}\r\n </Button>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n const liveResults = (\r\n <Box aria-live=\"polite\" aria-atomic=\"true\" className=\"pui-sr-only\">\r\n {hasSearched && !loading && !error ? L.resultsHeading(total) : \"\"}\r\n </Box>\r\n );\r\n\r\n const decoratedRows = React.useMemo<T[]>(() => {\r\n if (!confirmOnSelection || !pendingSelection) return items;\r\n const pendingId = getRowId(pendingSelection);\r\n return items.map((r) =>\r\n getRowId(r) === pendingId ? { ...r, __pending: true } : r\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [items, pendingSelection, confirmOnSelection]);\r\n\r\n /* ── Modal footer ────────────────────────────────────────── */\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" onClick={closeModal}>\r\n {L.modalCancel}\r\n </Button>\r\n {confirmOnSelection && (\r\n <Button\r\n variant=\"primary\"\r\n disabled={!pendingSelection}\r\n onClick={handleConfirmSelection}\r\n >\r\n {L.modalConfirm}\r\n </Button>\r\n )}\r\n </>\r\n );\r\n\r\n return (\r\n <>\r\n {trigger}\r\n <Modal\r\n open={open}\r\n onClose={closeModal}\r\n title={title}\r\n subtitle={subtitle}\r\n size={size}\r\n footer={footer}\r\n {...modalProps}\r\n >\r\n {criteriaRow}\r\n {liveResults}\r\n <DataGrid\r\n rows={decoratedRows}\r\n columns={columns}\r\n loading={loading}\r\n error={error}\r\n onRowClick={handleRowClick}\r\n pagination={pagination}\r\n getRowId={getRowId}\r\n emptyState={initialEmpty}\r\n filteredEmptyState={filteredEmpty}\r\n errorState={errorState}\r\n filtered={hasSearched}\r\n {...(sort !== undefined ? { sort } : {})}\r\n {...(onSortChange !== undefined ? { onSortChange } : {})}\r\n {...(locale !== undefined ? { locale } : {})}\r\n {...(confirmOnSelection && pendingSelection\r\n ? { rowFlashId: getRowId(pendingSelection) }\r\n : {})}\r\n />\r\n </Modal>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReferentielField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import * as React from "react";
2
+ /**
3
+ * SaveFilterDialog - Portnet UI v2 (pattern)
4
+ *
5
+ * "Save current filter" dialog for the Saved Filters framework
6
+ * (v2/personalization · savedFilters). Built on the v2 Modal, so it
7
+ * inherits the focus trap, Esc / backdrop / X close affordances, and the
8
+ * aria-labelledby contract (Charter R-M.*).
9
+ *
10
+ * Presentational and provider-FREE by design: it collects a name and two
11
+ * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or
12
+ * a host) persists through useSavedFilters().save and closes the dialog.
13
+ *
14
+ * <SaveFilterDialog
15
+ * open={open}
16
+ * onClose={() => setOpen(false)}
17
+ * existingNames={filters.map(f => f.name)}
18
+ * allowDefault
19
+ * onSubmit={({ name, isDefault, shared }) => {
20
+ * save({ name, criteria: currentCriteria, isDefault, shared });
21
+ * setOpen(false);
22
+ * }}
23
+ * />
24
+ *
25
+ * Name is required (validated on submit; the error is announced via
26
+ * Field's role="alert" binding). A duplicate name is allowed (Odoo-style)
27
+ * but surfaced as a non-blocking hint.
28
+ */
29
+ export interface SaveFilterDialogSubmit {
30
+ name: string;
31
+ isDefault: boolean;
32
+ shared: boolean;
33
+ }
34
+ export interface SaveFilterDialogLabels {
35
+ title: string;
36
+ nameLabel: string;
37
+ namePlaceholder: string;
38
+ nameRequired: string;
39
+ duplicateHint: string;
40
+ setAsDefault: string;
41
+ shareLabel: string;
42
+ shareHint: string;
43
+ cancel: string;
44
+ save: string;
45
+ }
46
+ export interface SaveFilterDialogProps {
47
+ open?: boolean;
48
+ /** Required — a dialog must be closable (fed to Modal + both footer buttons). */
49
+ onClose: () => void;
50
+ /** Emitted on a valid submit: ({ name, isDefault, shared }) => void. */
51
+ onSubmit?: (values: SaveFilterDialogSubmit) => void;
52
+ initialName?: string;
53
+ initialIsDefault?: boolean;
54
+ initialShared?: boolean;
55
+ /** Show the "set as default" switch. */
56
+ allowDefault?: boolean;
57
+ /** Show the "share with team" switch (modelled, not enforced in Phase 1). */
58
+ allowShared?: boolean;
59
+ /** Existing filter names, for a non-blocking duplicate hint. */
60
+ existingNames?: readonly string[];
61
+ /** Disable the submit button while a save is in flight. */
62
+ busy?: boolean;
63
+ /** Localised labels (FR default; EN/AR supported). */
64
+ labels?: Partial<SaveFilterDialogLabels>;
65
+ }
66
+ declare function SaveFilterDialog(props: SaveFilterDialogProps): React.JSX.Element;
67
+ export default SaveFilterDialog;
68
+ //# sourceMappingURL=SaveFilterDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveFilterDialog.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SaveFilterDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAqBD,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC1C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6HzE;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
+ var _Modal = _interopRequireDefault(require("../components/Modal"));
10
+ var _Field = _interopRequireDefault(require("../components/Field"));
11
+ var _Input = _interopRequireDefault(require("../components/Input"));
12
+ var _Switch = _interopRequireDefault(require("../components/Switch"));
13
+ var _Button = _interopRequireDefault(require("../components/Button"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+ 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); }
17
+ 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; }
18
+ 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); }
19
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
21
+ 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); }
22
+ 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; }
23
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
24
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
29
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /**
30
+ * SaveFilterDialog - Portnet UI v2 (pattern)
31
+ *
32
+ * "Save current filter" dialog for the Saved Filters framework
33
+ * (v2/personalization · savedFilters). Built on the v2 Modal, so it
34
+ * inherits the focus trap, Esc / backdrop / X close affordances, and the
35
+ * aria-labelledby contract (Charter R-M.*).
36
+ *
37
+ * Presentational and provider-FREE by design: it collects a name and two
38
+ * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or
39
+ * a host) persists through useSavedFilters().save and closes the dialog.
40
+ *
41
+ * <SaveFilterDialog
42
+ * open={open}
43
+ * onClose={() => setOpen(false)}
44
+ * existingNames={filters.map(f => f.name)}
45
+ * allowDefault
46
+ * onSubmit={({ name, isDefault, shared }) => {
47
+ * save({ name, criteria: currentCriteria, isDefault, shared });
48
+ * setOpen(false);
49
+ * }}
50
+ * />
51
+ *
52
+ * Name is required (validated on submit; the error is announced via
53
+ * Field's role="alert" binding). A duplicate name is allowed (Odoo-style)
54
+ * but surfaced as a non-blocking hint.
55
+ */
56
+ var DEFAULT_LABELS = Object.freeze({
57
+ title: "Enregistrer le filtre",
58
+ nameLabel: "Nom du filtre",
59
+ namePlaceholder: "ex. Dossiers en attente",
60
+ nameRequired: "Le nom est obligatoire.",
61
+ duplicateHint: "Un filtre porte déjà ce nom.",
62
+ setAsDefault: "Appliquer par défaut à l'ouverture",
63
+ shareLabel: "Partager avec mon équipe",
64
+ shareHint: "Visible par les autres utilisateurs (selon les droits).",
65
+ cancel: "Annuler",
66
+ save: "Enregistrer"
67
+ });
68
+ var BODY_SX = Object.freeze({
69
+ display: "flex",
70
+ flexDirection: "column",
71
+ gap: "var(--s-4)"
72
+ });
73
+ function SaveFilterDialog(props) {
74
+ var _props$open = props.open,
75
+ open = _props$open === void 0 ? false : _props$open,
76
+ onClose = props.onClose,
77
+ onSubmit = props.onSubmit,
78
+ _props$initialName = props.initialName,
79
+ initialName = _props$initialName === void 0 ? "" : _props$initialName,
80
+ _props$initialIsDefau = props.initialIsDefault,
81
+ initialIsDefault = _props$initialIsDefau === void 0 ? false : _props$initialIsDefau,
82
+ _props$initialShared = props.initialShared,
83
+ initialShared = _props$initialShared === void 0 ? false : _props$initialShared,
84
+ _props$allowDefault = props.allowDefault,
85
+ allowDefault = _props$allowDefault === void 0 ? true : _props$allowDefault,
86
+ _props$allowShared = props.allowShared,
87
+ allowShared = _props$allowShared === void 0 ? false : _props$allowShared,
88
+ existingNames = props.existingNames,
89
+ _props$busy = props.busy,
90
+ busy = _props$busy === void 0 ? false : _props$busy,
91
+ labels = props.labels;
92
+ var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
93
+ var _React$useState = React.useState(initialName),
94
+ _React$useState2 = _slicedToArray(_React$useState, 2),
95
+ name = _React$useState2[0],
96
+ setName = _React$useState2[1];
97
+ var _React$useState3 = React.useState(!!initialIsDefault),
98
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
99
+ isDefault = _React$useState4[0],
100
+ setIsDefault = _React$useState4[1];
101
+ var _React$useState5 = React.useState(!!initialShared),
102
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
103
+ shared = _React$useState6[0],
104
+ setShared = _React$useState6[1];
105
+ var _React$useState7 = React.useState(false),
106
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
107
+ touched = _React$useState8[0],
108
+ setTouched = _React$useState8[1];
109
+
110
+ // Reset the form each time the dialog opens.
111
+ React.useEffect(function resetOnOpen() {
112
+ if (open) {
113
+ setName(initialName || "");
114
+ setIsDefault(!!initialIsDefault);
115
+ setShared(!!initialShared);
116
+ setTouched(false);
117
+ }
118
+ }, [open, initialName, initialIsDefault, initialShared]);
119
+ var trimmed = name.trim();
120
+ var nameError = touched && !trimmed ? L.nameRequired : undefined;
121
+ var isDuplicate = !!trimmed && Array.isArray(existingNames) && existingNames.some(function eq(n) {
122
+ return typeof n === "string" && n.trim().toLowerCase() === trimmed.toLowerCase();
123
+ });
124
+ var handleSubmit = function handleSubmit() {
125
+ if (!trimmed) {
126
+ setTouched(true);
127
+ return;
128
+ }
129
+ if (typeof onSubmit === "function") {
130
+ onSubmit({
131
+ name: trimmed,
132
+ isDefault: isDefault,
133
+ shared: shared
134
+ });
135
+ }
136
+ };
137
+ var handleKeyDown = function handleKeyDown(e) {
138
+ if (e.key === "Enter") {
139
+ e.preventDefault();
140
+ handleSubmit();
141
+ }
142
+ };
143
+ var footer = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
144
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
145
+ variant: "ghost",
146
+ type: "button",
147
+ onClick: onClose,
148
+ children: L.cancel
149
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
150
+ variant: "primary",
151
+ type: "button",
152
+ onClick: handleSubmit,
153
+ disabled: busy,
154
+ children: L.save
155
+ })]
156
+ });
157
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal["default"], {
158
+ open: open,
159
+ onClose: onClose,
160
+ title: L.title,
161
+ size: "sm",
162
+ footer: footer,
163
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
164
+ sx: BODY_SX,
165
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
166
+ label: L.nameLabel,
167
+ required: true
168
+ }, nameError !== undefined ? {
169
+ error: nameError
170
+ } : {}), isDuplicate ? {
171
+ hint: L.duplicateHint
172
+ } : {}), {}, {
173
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input["default"], {
174
+ value: name,
175
+ onChange: function onChange(e) {
176
+ setName(e.target.value);
177
+ },
178
+ placeholder: L.namePlaceholder,
179
+ inputProps: {
180
+ autoFocus: true,
181
+ maxLength: 80,
182
+ onKeyDown: handleKeyDown
183
+ }
184
+ })
185
+ })), allowDefault && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch["default"], {
186
+ checked: isDefault,
187
+ onChange: function onChange(e) {
188
+ setIsDefault(e.target.checked);
189
+ },
190
+ label: L.setAsDefault
191
+ }), allowShared && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch["default"], {
192
+ checked: shared,
193
+ onChange: function onChange(e) {
194
+ setShared(e.target.checked);
195
+ },
196
+ label: L.shareLabel,
197
+ description: L.shareHint
198
+ })]
199
+ })
200
+ });
201
+ }
202
+ var _default = exports["default"] = SaveFilterDialog;
203
+ //# sourceMappingURL=SaveFilterDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveFilterDialog.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Modal","_Field","_Input","_Switch","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_LABELS","freeze","title","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","BODY_SX","display","flexDirection","gap","SaveFilterDialog","props","_props$open","open","onClose","onSubmit","_props$initialName","initialName","_props$initialIsDefau","initialIsDefault","_props$initialShared","initialShared","_props$allowDefault","allowDefault","_props$allowShared","allowShared","existingNames","_props$busy","busy","labels","L","_React$useState","useState","_React$useState2","setName","_React$useState3","_React$useState4","isDefault","setIsDefault","_React$useState5","_React$useState6","shared","setShared","_React$useState7","_React$useState8","touched","setTouched","useEffect","resetOnOpen","trimmed","trim","nameError","isDuplicate","some","eq","toLowerCase","handleSubmit","handleKeyDown","e","preventDefault","footer","jsxs","Fragment","children","jsx","variant","type","onClick","disabled","size","sx","label","required","error","onChange","placeholder","inputProps","autoFocus","maxLength","onKeyDown","checked","description","_default","exports"],"sources":["../../../src/lib/v2/patterns/SaveFilterDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Modal from \"../components/Modal\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Switch from \"../components/Switch\";\r\nimport Button from \"../components/Button\";\r\n\r\n/**\r\n * SaveFilterDialog - Portnet UI v2 (pattern)\r\n *\r\n * \"Save current filter\" dialog for the Saved Filters framework\r\n * (v2/personalization · savedFilters). Built on the v2 Modal, so it\r\n * inherits the focus trap, Esc / backdrop / X close affordances, and the\r\n * aria-labelledby contract (Charter R-M.*).\r\n *\r\n * Presentational and provider-FREE by design: it collects a name and two\r\n * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or\r\n * a host) persists through useSavedFilters().save and closes the dialog.\r\n *\r\n * <SaveFilterDialog\r\n * open={open}\r\n * onClose={() => setOpen(false)}\r\n * existingNames={filters.map(f => f.name)}\r\n * allowDefault\r\n * onSubmit={({ name, isDefault, shared }) => {\r\n * save({ name, criteria: currentCriteria, isDefault, shared });\r\n * setOpen(false);\r\n * }}\r\n * />\r\n *\r\n * Name is required (validated on submit; the error is announced via\r\n * Field's role=\"alert\" binding). A duplicate name is allowed (Odoo-style)\r\n * but surfaced as a non-blocking hint.\r\n */\r\n\r\nexport interface SaveFilterDialogSubmit {\r\n name: string;\r\n isDefault: boolean;\r\n shared: boolean;\r\n}\r\n\r\nexport interface SaveFilterDialogLabels {\r\n title: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n title: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SaveFilterDialogLabels);\r\n\r\nconst BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-4)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SaveFilterDialogProps {\r\n open?: boolean;\r\n /** Required — a dialog must be closable (fed to Modal + both footer buttons). */\r\n onClose: () => void;\r\n /** Emitted on a valid submit: ({ name, isDefault, shared }) => void. */\r\n onSubmit?: (values: SaveFilterDialogSubmit) => void;\r\n initialName?: string;\r\n initialIsDefault?: boolean;\r\n initialShared?: boolean;\r\n /** Show the \"set as default\" switch. */\r\n allowDefault?: boolean;\r\n /** Show the \"share with team\" switch (modelled, not enforced in Phase 1). */\r\n allowShared?: boolean;\r\n /** Existing filter names, for a non-blocking duplicate hint. */\r\n existingNames?: readonly string[];\r\n /** Disable the submit button while a save is in flight. */\r\n busy?: boolean;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SaveFilterDialogLabels>;\r\n}\r\n\r\nfunction SaveFilterDialog(props: SaveFilterDialogProps): React.JSX.Element {\r\n const {\r\n open = false,\r\n onClose,\r\n onSubmit,\r\n initialName = \"\",\r\n initialIsDefault = false,\r\n initialShared = false,\r\n allowDefault = true,\r\n allowShared = false,\r\n existingNames,\r\n busy = false,\r\n labels,\r\n } = props;\r\n const L: SaveFilterDialogLabels = labels\r\n ? { ...DEFAULT_LABELS, ...labels }\r\n : DEFAULT_LABELS;\r\n\r\n const [name, setName] = React.useState(initialName);\r\n const [isDefault, setIsDefault] = React.useState(!!initialIsDefault);\r\n const [shared, setShared] = React.useState(!!initialShared);\r\n const [touched, setTouched] = React.useState(false);\r\n\r\n // Reset the form each time the dialog opens.\r\n React.useEffect(\r\n function resetOnOpen() {\r\n if (open) {\r\n setName(initialName || \"\");\r\n setIsDefault(!!initialIsDefault);\r\n setShared(!!initialShared);\r\n setTouched(false);\r\n }\r\n },\r\n [open, initialName, initialIsDefault, initialShared]\r\n );\r\n\r\n const trimmed = name.trim();\r\n const nameError = touched && !trimmed ? L.nameRequired : undefined;\r\n const isDuplicate =\r\n !!trimmed &&\r\n Array.isArray(existingNames) &&\r\n existingNames.some(function eq(n) {\r\n return (\r\n typeof n === \"string\" &&\r\n n.trim().toLowerCase() === trimmed.toLowerCase()\r\n );\r\n });\r\n\r\n const handleSubmit = function handleSubmit(): void {\r\n if (!trimmed) {\r\n setTouched(true);\r\n return;\r\n }\r\n if (typeof onSubmit === \"function\") {\r\n onSubmit({ name: trimmed, isDefault: isDefault, shared: shared });\r\n }\r\n };\r\n\r\n const handleKeyDown = function handleKeyDown(\r\n e: React.KeyboardEvent<HTMLInputElement>\r\n ): void {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" type=\"button\" onClick={onClose}>\r\n {L.cancel}\r\n </Button>\r\n <Button\r\n variant=\"primary\"\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n disabled={busy}\r\n >\r\n {L.save}\r\n </Button>\r\n </>\r\n );\r\n\r\n return (\r\n <Modal open={open} onClose={onClose} title={L.title} size=\"sm\" footer={footer}>\r\n <Box sx={BODY_SX}>\r\n <Field\r\n label={L.nameLabel}\r\n required\r\n {...(nameError !== undefined ? { error: nameError } : {})}\r\n {...(isDuplicate ? { hint: L.duplicateHint } : {})}\r\n >\r\n <Input\r\n value={name}\r\n onChange={function (e) {\r\n setName(e.target.value);\r\n }}\r\n placeholder={L.namePlaceholder}\r\n inputProps={{ autoFocus: true, maxLength: 80, onKeyDown: handleKeyDown }}\r\n />\r\n </Field>\r\n\r\n {allowDefault && (\r\n <Switch\r\n checked={isDefault}\r\n onChange={function (e) {\r\n setIsDefault(e.target.checked);\r\n }}\r\n label={L.setAsDefault}\r\n />\r\n )}\r\n\r\n {allowShared && (\r\n <Switch\r\n checked={shared}\r\n onChange={function (e) {\r\n setShared(e.target.checked);\r\n }}\r\n label={L.shareLabel}\r\n description={L.shareHint}\r\n />\r\n )}\r\n </Box>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default SaveFilterDialog;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ import * as React from "react";
2
+ import type { SavedFilter } from "../personalization/types";
3
+ /**
4
+ * SavedFiltersMenu - Portnet UI v2 (pattern)
5
+ *
6
+ * Turn-key dropdown for the Saved Filters framework. Connected to the
7
+ * savedFilters capability via useSavedFilters(resourceKey); the host only
8
+ * supplies the live `currentCriteria` (to save) and an `onApply` callback
9
+ * (to apply a recalled filter to its own state).
10
+ *
11
+ * <SavedFiltersMenu
12
+ * resourceKey="ti:list"
13
+ * currentCriteria={filters}
14
+ * onApply={(criteria) => setFilters(criteria)}
15
+ * allowDefault
16
+ * />
17
+ *
18
+ * The component owns the criteria neither in shape nor semantics — it
19
+ * stores whatever the host passes and hands it back on apply, which is
20
+ * what makes it reusable across every list.
21
+ *
22
+ * a11y: the Popover carries role="dialog" + aria-label (like
23
+ * ColumnsToggle); each filter row is a real <button> (apply), with a pin
24
+ * toggle (default) and a delete control, all aria-labelled per filter.
25
+ * For a default filter the apply button's accessible name appends the
26
+ * visible "Par défaut" badge text (WCAG 2.5.3 Label in Name).
27
+ *
28
+ * Note (icons): the delete control uses CloseIcon (@mui/icons-material/Close)
29
+ * rather than a trash glyph because DeleteOutline is absent from the internal
30
+ * @mui/icons-material@9 republish used by the consuming apps; the control's
31
+ * aria-label and --danger hover colour keep the delete semantics intact.
32
+ */
33
+ export interface SavedFiltersMenuLabels {
34
+ button: string;
35
+ title: string;
36
+ noSavedFilters: string;
37
+ saveCurrentFilter: string;
38
+ apply: string;
39
+ setDefault: string;
40
+ unsetDefault: string;
41
+ delete: string;
42
+ defaultBadge: string;
43
+ countSuffix: (n: number) => string;
44
+ dialogTitle: string;
45
+ nameLabel: string;
46
+ namePlaceholder: string;
47
+ nameRequired: string;
48
+ duplicateHint: string;
49
+ setAsDefault: string;
50
+ shareLabel: string;
51
+ shareHint: string;
52
+ cancel: string;
53
+ save: string;
54
+ }
55
+ export interface SavedFiltersMenuProps {
56
+ /** Namespaces saved filters per list/entity type. */
57
+ resourceKey: string;
58
+ /** The host's live filter payload — stored verbatim when saving. */
59
+ currentCriteria?: Record<string, unknown>;
60
+ /** Applied when a saved filter is recalled: (criteria, filter) => void. */
61
+ onApply?: (criteria: Record<string, unknown> | undefined, filter: SavedFilter) => void;
62
+ /** Allow saving the current filter (also requires currentCriteria != null). */
63
+ canSave?: boolean;
64
+ /** Forwarded to SaveFilterDialog — show the "set as default" switch. */
65
+ allowDefault?: boolean;
66
+ /** Forwarded to SaveFilterDialog — show the "share with team" switch. */
67
+ allowShared?: boolean;
68
+ align?: "left" | "right";
69
+ /** Localised labels (FR default; EN/AR supported). */
70
+ labels?: Partial<SavedFiltersMenuLabels>;
71
+ }
72
+ declare function SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element;
73
+ export default SavedFiltersMenu;
74
+ //# sourceMappingURL=SavedFiltersMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SavedFiltersMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA+ID,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,2EAA2E;IAC3E,OAAO,CAAC,EAAE,CACR,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,MAAM,EAAE,WAAW,KAChB,IAAI,CAAC;IACV,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC1C;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8OzE;AAED,eAAe,gBAAgB,CAAC"}