@portnet/ui 5.0.28 → 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 -76
  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 -4167
  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,316 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.FR_THOUSAND_SEPARATOR = exports.FR_DECIMAL_SEPARATOR = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _OutlinedInput = _interopRequireDefault(require("@mui/material/OutlinedInput"));
10
+ var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
11
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
12
+ var _Add = _interopRequireDefault(require("@mui/icons-material/Add"));
13
+ var _Remove = _interopRequireDefault(require("@mui/icons-material/Remove"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["value", "onChange", "onBlur", "min", "max", "step", "decimals", "placeholder", "disabled", "error", "readOnly", "fullWidth", "showSpinner", "prefix", "suffix", "inputProps", "onValidate", "locale", "labels", "sx"];
16
+ /**
17
+ * NumberInput — Portnet UI v2
18
+ *
19
+ * Charter §03 · Component "NumberInput". Locale-aware numeric input.
20
+ *
21
+ * <Field label="Montant">
22
+ * <NumberInput
23
+ * value={amount} onChange={setAmount}
24
+ * min={0} max={1000000} decimals={2} suffix="MAD"
25
+ * />
26
+ * </Field>
27
+ *
28
+ * Locale (multi-locale platform — FR / EN / AR)
29
+ * <NumberInput
30
+ * locale="en-US"
31
+ * labels={{ decrement: "Decrease", increment: "Increase" }}
32
+ * value={amount} onChange={setAmount}
33
+ * />
34
+ *
35
+ * - `locale` controls DISPLAY formatting only. Parsing is
36
+ * permissive: `,` and `.` both accepted as decimal separator,
37
+ * all whitespace stripped — pasting from any locale just works.
38
+ * - `labels` overrides the FR defaults on the spinner buttons.
39
+ *
40
+ * Value contract:
41
+ * onChange(null) on empty input
42
+ * onChange(123.45) on valid number
43
+ * Display formatting (separators, decimals) is purely visual,
44
+ * reapplied on blur.
45
+ *
46
+ * A11y (aria-valuetext):
47
+ * aria-valuenow holds the raw number; aria-valuetext holds the
48
+ * localised, suffix-bearing string ("1 234,56 MAD") so SR users
49
+ * hear the same thing sighted users see.
50
+ *
51
+ * MUI v9 surface notes (audit Batch 3):
52
+ * The spinbutton aria contract (role + aria-value*) is injected
53
+ * via slotProps.input — MUI v9 idiomatic location for native
54
+ * <input/> attributes on OutlinedInput. Migrated from the
55
+ * deprecated `inputProps={...}` form to match the rest of the
56
+ * v2 surface (Switch, Combobox, DataGrid family).
57
+ * Consumer-passed `inputProps` remains merged in via spread —
58
+ * same order as the pre-migration code, so override semantics
59
+ * are preserved bit-for-bit.
60
+ *
61
+ * Tactile contract — known R-Tg.1 deviation (charter exception):
62
+ * The stepper buttons (showSpinner) are sized to 24 × 24 — the
63
+ * WCAG 2.5.8 AA floor — NOT the 44 × 44 R-Tg.1 AAA floor. The
64
+ * stepper is opt-in convenience UI on top of the keyboard
65
+ * ArrowUp / ArrowDown handler that the input itself provides;
66
+ * users requiring larger targets can type or use keyboard nav.
67
+ * Documented exception, see Batch 14 charter-exceptions log.
68
+ */
69
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
70
+ 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); }
71
+ 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; }
72
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
73
+ 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."); }
74
+ 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); }
75
+ 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; }
76
+ 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; } }
77
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
78
+ 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; }
79
+ 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; }
80
+ 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; }
81
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
82
+ 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); }
83
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
84
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
85
+ var FR_DECIMAL_SEP = ",";
86
+ var FR_THOUSAND_SEP = " ";
87
+
88
+ // Stepper button hit area — WCAG 2.5.8 AA (24 × 24). See JSDoc above
89
+ // for the rationale for not pursuing 44 × 44 / R-Tg.1 here.
90
+ var STEPPER_HIT_AREA = 24;
91
+ var DEFAULT_LABELS = Object.freeze({
92
+ decrement: "Diminuer",
93
+ increment: "Augmenter"
94
+ });
95
+ function formatForDisplay(num, decimals) {
96
+ var locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "fr-FR";
97
+ if (num == null || Number.isNaN(num)) return "";
98
+ var opts = decimals != null ? {
99
+ minimumFractionDigits: decimals,
100
+ maximumFractionDigits: decimals
101
+ } : {
102
+ maximumFractionDigits: 6
103
+ };
104
+ try {
105
+ return new Intl.NumberFormat(locale, opts).format(num);
106
+ } catch (_unused) {
107
+ // Invalid BCP-47 tag — fall back to fr-FR rather than throwing.
108
+ return new Intl.NumberFormat("fr-FR", opts).format(num);
109
+ }
110
+ }
111
+ function parseFromUser(str) {
112
+ if (str == null || str === "") return null;
113
+ // Accept BOTH `,` and `.` as decimal separator; strip every whitespace
114
+ // (regular space, NBSP, narrow NBSP). Locale-agnostic by design.
115
+ var cleaned = String(str).replace(/[\u00A0\u202F]/g, " ").replace(/\s+/g, "").replace(",", ".");
116
+ if (cleaned === "" || cleaned === "-" || cleaned === ".") return null;
117
+ var n = Number(cleaned);
118
+ return Number.isFinite(n) ? n : null;
119
+ }
120
+ var NumberInput = /*#__PURE__*/React.forwardRef(function NumberInput(_ref, ref) {
121
+ var value = _ref.value,
122
+ onChange = _ref.onChange,
123
+ onBlur = _ref.onBlur,
124
+ min = _ref.min,
125
+ max = _ref.max,
126
+ _ref$step = _ref.step,
127
+ step = _ref$step === void 0 ? 1 : _ref$step,
128
+ decimals = _ref.decimals,
129
+ placeholder = _ref.placeholder,
130
+ disabled = _ref.disabled,
131
+ error = _ref.error,
132
+ readOnly = _ref.readOnly,
133
+ _ref$fullWidth = _ref.fullWidth,
134
+ fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
135
+ _ref$showSpinner = _ref.showSpinner,
136
+ showSpinner = _ref$showSpinner === void 0 ? false : _ref$showSpinner,
137
+ prefix = _ref.prefix,
138
+ suffix = _ref.suffix,
139
+ inputProps = _ref.inputProps,
140
+ onValidate = _ref.onValidate,
141
+ _ref$locale = _ref.locale,
142
+ locale = _ref$locale === void 0 ? "fr-FR" : _ref$locale,
143
+ labels = _ref.labels,
144
+ sx = _ref.sx,
145
+ rest = _objectWithoutProperties(_ref, _excluded);
146
+ var mergedLabels = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
147
+ var _React$useState = React.useState(function () {
148
+ return formatForDisplay(value, decimals, locale);
149
+ }),
150
+ _React$useState2 = _slicedToArray(_React$useState, 2),
151
+ display = _React$useState2[0],
152
+ setDisplay = _React$useState2[1];
153
+ var _React$useState3 = React.useState(false),
154
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
155
+ focused = _React$useState4[0],
156
+ setFocused = _React$useState4[1];
157
+ React.useEffect(function () {
158
+ if (!focused) setDisplay(formatForDisplay(value, decimals, locale));
159
+ }, [value, decimals, locale, focused]);
160
+ var allowMinus = min == null || min < 0;
161
+ var onUserChange = function onUserChange(e) {
162
+ var raw = e.target.value;
163
+ var re = allowMinus ? /^-?[0-9]*[.,]?[0-9]*$/ : /^[0-9]*[.,]?[0-9]*$/;
164
+ if (raw !== "" && !re.test(raw)) return;
165
+ setDisplay(raw);
166
+ var parsed = parseFromUser(raw);
167
+ onChange === null || onChange === void 0 ? void 0 : onChange(parsed);
168
+ };
169
+ var clamp = function clamp(n) {
170
+ if (n == null) return n;
171
+ var out = n;
172
+ if (typeof min === "number" && out < min) out = min;
173
+ if (typeof max === "number" && out > max) out = max;
174
+ return out;
175
+ };
176
+ var handleBlur = function handleBlur(e) {
177
+ setFocused(false);
178
+ var parsed = parseFromUser(display);
179
+ var clamped = clamp(parsed);
180
+ if (clamped !== parsed) {
181
+ onChange === null || onChange === void 0 ? void 0 : onChange(clamped);
182
+ setDisplay(formatForDisplay(clamped, decimals, locale));
183
+ } else {
184
+ setDisplay(formatForDisplay(parsed, decimals, locale));
185
+ }
186
+ if (onValidate) {
187
+ var violation = parsed == null ? null : typeof min === "number" && parsed < min ? "min" : typeof max === "number" && parsed > max ? "max" : null;
188
+ onValidate({
189
+ value: parsed,
190
+ clamped: clamped,
191
+ violation: violation
192
+ });
193
+ }
194
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
195
+ };
196
+ var handleFocus = function handleFocus() {
197
+ return setFocused(true);
198
+ };
199
+ var bumpBy = function bumpBy(delta) {
200
+ var next = clamp((value !== null && value !== void 0 ? value : 0) + delta);
201
+ onChange === null || onChange === void 0 ? void 0 : onChange(next);
202
+ };
203
+ var onKeyDown = function onKeyDown(e) {
204
+ if (e.key === "ArrowUp") {
205
+ e.preventDefault();
206
+ bumpBy(+step);
207
+ }
208
+ if (e.key === "ArrowDown") {
209
+ e.preventDefault();
210
+ bumpBy(-step);
211
+ }
212
+ };
213
+ var ariaValueText = React.useMemo(function () {
214
+ if (value == null || Number.isNaN(value)) return undefined;
215
+ var formatted = formatForDisplay(value, decimals, locale);
216
+ if (typeof suffix === "string" && suffix.trim()) {
217
+ return "".concat(formatted, " ").concat(suffix).trim();
218
+ }
219
+ return formatted || undefined;
220
+ }, [value, decimals, locale, suffix]);
221
+
222
+ // Shared sx for both stepper IconButtons. WCAG 2.5.8 AA floor (24×24),
223
+ // padding 0 so the icon centres without cropping.
224
+ var stepperSx = {
225
+ color: "var(--fg-muted)",
226
+ minWidth: STEPPER_HIT_AREA,
227
+ minHeight: STEPPER_HIT_AREA,
228
+ padding: 0
229
+ };
230
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_OutlinedInput["default"], _objectSpread({
231
+ ref: ref,
232
+ type: "text",
233
+ inputMode: "decimal",
234
+ value: display,
235
+ onChange: onUserChange,
236
+ onFocus: handleFocus,
237
+ onBlur: handleBlur,
238
+ onKeyDown: onKeyDown,
239
+ placeholder: placeholder,
240
+ disabled: disabled,
241
+ readOnly: readOnly,
242
+ error: !!error,
243
+ fullWidth: fullWidth,
244
+ startAdornment: prefix ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputAdornment["default"], {
245
+ position: "start",
246
+ children: prefix
247
+ }) : undefined,
248
+ endAdornment: suffix || showSpinner ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_InputAdornment["default"], {
249
+ position: "end",
250
+ sx: {
251
+ gap: 0.25
252
+ },
253
+ children: [suffix && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
254
+ children: suffix
255
+ }), showSpinner && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
256
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
257
+ size: "small",
258
+ onClick: function onClick() {
259
+ return bumpBy(-step);
260
+ },
261
+ disabled: disabled || readOnly || typeof min === "number" && value != null && value <= min,
262
+ "aria-label": mergedLabels.decrement,
263
+ sx: stepperSx,
264
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Remove["default"], {
265
+ sx: {
266
+ fontSize: 14
267
+ }
268
+ })
269
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
270
+ size: "small",
271
+ onClick: function onClick() {
272
+ return bumpBy(+step);
273
+ },
274
+ disabled: disabled || readOnly || typeof max === "number" && value != null && value >= max,
275
+ "aria-label": mergedLabels.increment,
276
+ sx: stepperSx,
277
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add["default"], {
278
+ sx: {
279
+ fontSize: 14
280
+ }
281
+ })
282
+ })]
283
+ })]
284
+ }) : undefined,
285
+ slotProps: {
286
+ // MUI v9: the input slot bag forwards directly to the
287
+ // internal <input/> element on OutlinedInput. Was
288
+ // `inputProps={...}` at the top level — deprecated in v6,
289
+ // migrated for v9 alignment (audit Batch 3). Spread order
290
+ // preserved: consumer-supplied inputProps comes LAST so it
291
+ // can override aria-* attributes (same semantics as v5).
292
+ input: _objectSpread({
293
+ role: "spinbutton",
294
+ "aria-valuenow": value !== null && value !== void 0 ? value : undefined,
295
+ "aria-valuemin": min,
296
+ "aria-valuemax": max,
297
+ "aria-valuetext": ariaValueText
298
+ }, inputProps)
299
+ },
300
+ sx: _objectSpread({
301
+ // R-T.3 — tabular-nums for vertical alignment in tables/forms
302
+ "& input": {
303
+ fontVariantNumeric: "tabular-nums",
304
+ textAlign: "right"
305
+ }
306
+ }, sx)
307
+ }, rest));
308
+ });
309
+
310
+ // Locale separators exported so callers can mirror exact display elsewhere
311
+ // without re-implementing. Kept for back-compat; for full locale-correct
312
+ // formatting prefer `Intl.NumberFormat(locale)` directly.
313
+ var FR_DECIMAL_SEPARATOR = exports.FR_DECIMAL_SEPARATOR = FR_DECIMAL_SEP;
314
+ var FR_THOUSAND_SEPARATOR = exports.FR_THOUSAND_SEPARATOR = FR_THOUSAND_SEP;
315
+ var _default = exports["default"] = NumberInput;
316
+ //# sourceMappingURL=NumberInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.js","names":["React","_interopRequireWildcard","require","_OutlinedInput","_interopRequireDefault","_InputAdornment","_IconButton","_Add","_Remove","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FR_DECIMAL_SEP","FR_THOUSAND_SEP","STEPPER_HIT_AREA","DEFAULT_LABELS","freeze","decrement","increment","formatForDisplay","num","decimals","locale","isNaN","opts","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","format","_unused","parseFromUser","str","cleaned","replace","isFinite","NumberInput","forwardRef","_ref","ref","onChange","onBlur","min","max","_ref$step","step","placeholder","disabled","error","readOnly","_ref$fullWidth","fullWidth","_ref$showSpinner","showSpinner","prefix","suffix","inputProps","onValidate","_ref$locale","labels","sx","rest","mergedLabels","_React$useState","useState","_React$useState2","display","setDisplay","_React$useState3","_React$useState4","focused","setFocused","useEffect","allowMinus","onUserChange","e","raw","re","parsed","clamp","out","handleBlur","clamped","violation","handleFocus","bumpBy","delta","onKeyDown","preventDefault","ariaValueText","useMemo","formatted","trim","concat","stepperSx","color","minWidth","minHeight","padding","jsx","type","inputMode","onFocus","startAdornment","position","children","endAdornment","jsxs","gap","Fragment","size","onClick","fontSize","slotProps","role","fontVariantNumeric","textAlign","FR_DECIMAL_SEPARATOR","exports","FR_THOUSAND_SEPARATOR","_default"],"sources":["../../../src/lib/v2/components/NumberInput.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport OutlinedInput from \"@mui/material/OutlinedInput\";\r\nimport type { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\r\nimport InputAdornment from \"@mui/material/InputAdornment\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport RemoveIcon from \"@mui/icons-material/Remove\";\r\n\r\n/**\r\n * NumberInput — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"NumberInput\". Locale-aware numeric input.\r\n *\r\n * <Field label=\"Montant\">\r\n * <NumberInput\r\n * value={amount} onChange={setAmount}\r\n * min={0} max={1000000} decimals={2} suffix=\"MAD\"\r\n * />\r\n * </Field>\r\n *\r\n * Locale (multi-locale platform — FR / EN / AR)\r\n * <NumberInput\r\n * locale=\"en-US\"\r\n * labels={{ decrement: \"Decrease\", increment: \"Increase\" }}\r\n * value={amount} onChange={setAmount}\r\n * />\r\n *\r\n * - `locale` controls DISPLAY formatting only. Parsing is\r\n * permissive: `,` and `.` both accepted as decimal separator,\r\n * all whitespace stripped — pasting from any locale just works.\r\n * - `labels` overrides the FR defaults on the spinner buttons.\r\n *\r\n * Value contract:\r\n * onChange(null) on empty input\r\n * onChange(123.45) on valid number\r\n * Display formatting (separators, decimals) is purely visual,\r\n * reapplied on blur.\r\n *\r\n * A11y (aria-valuetext):\r\n * aria-valuenow holds the raw number; aria-valuetext holds the\r\n * localised, suffix-bearing string (\"1 234,56 MAD\") so SR users\r\n * hear the same thing sighted users see.\r\n *\r\n * MUI v9 surface notes (audit Batch 3):\r\n * The spinbutton aria contract (role + aria-value*) is injected\r\n * via slotProps.input — MUI v9 idiomatic location for native\r\n * <input/> attributes on OutlinedInput. Migrated from the\r\n * deprecated `inputProps={...}` form to match the rest of the\r\n * v2 surface (Switch, Combobox, DataGrid family).\r\n * Consumer-passed `inputProps` remains merged in via spread —\r\n * same order as the pre-migration code, so override semantics\r\n * are preserved bit-for-bit.\r\n *\r\n * Tactile contract — known R-Tg.1 deviation (charter exception):\r\n * The stepper buttons (showSpinner) are sized to 24 × 24 — the\r\n * WCAG 2.5.8 AA floor — NOT the 44 × 44 R-Tg.1 AAA floor. The\r\n * stepper is opt-in convenience UI on top of the keyboard\r\n * ArrowUp / ArrowDown handler that the input itself provides;\r\n * users requiring larger targets can type or use keyboard nav.\r\n * Documented exception, see Batch 14 charter-exceptions log.\r\n */\r\n\r\nexport interface NumberInputLabels {\r\n decrement?: string;\r\n increment?: string;\r\n}\r\n\r\nexport interface NumberInputValidateResult {\r\n value: number | null;\r\n clamped: number | null;\r\n violation: \"min\" | \"max\" | null;\r\n}\r\n\r\nexport interface NumberInputProps\r\n extends Omit<OutlinedInputProps, \"value\" | \"onChange\" | \"prefix\" | \"suffix\"> {\r\n value?: number | null;\r\n onChange?: (value: number | null) => void;\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n decimals?: number;\r\n showSpinner?: boolean;\r\n prefix?: React.ReactNode;\r\n suffix?: React.ReactNode;\r\n onValidate?: (result: NumberInputValidateResult) => void;\r\n locale?: string;\r\n labels?: NumberInputLabels;\r\n}\r\n\r\nconst FR_DECIMAL_SEP = \",\";\r\nconst FR_THOUSAND_SEP = \" \";\r\n\r\n// Stepper button hit area — WCAG 2.5.8 AA (24 × 24). See JSDoc above\r\n// for the rationale for not pursuing 44 × 44 / R-Tg.1 here.\r\nconst STEPPER_HIT_AREA = 24;\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n decrement: \"Diminuer\",\r\n increment: \"Augmenter\",\r\n});\r\n\r\nfunction formatForDisplay(\r\n num: number | null | undefined,\r\n decimals: number | undefined,\r\n locale = \"fr-FR\",\r\n): string {\r\n if (num == null || Number.isNaN(num)) return \"\";\r\n const opts: Intl.NumberFormatOptions = decimals != null\r\n ? { minimumFractionDigits: decimals, maximumFractionDigits: decimals }\r\n : { maximumFractionDigits: 6 };\r\n try {\r\n return new Intl.NumberFormat(locale, opts).format(num);\r\n } catch {\r\n // Invalid BCP-47 tag — fall back to fr-FR rather than throwing.\r\n return new Intl.NumberFormat(\"fr-FR\", opts).format(num);\r\n }\r\n}\r\n\r\nfunction parseFromUser(str: string | null | undefined): number | null {\r\n if (str == null || str === \"\") return null;\r\n // Accept BOTH `,` and `.` as decimal separator; strip every whitespace\r\n // (regular space, NBSP, narrow NBSP). Locale-agnostic by design.\r\n const cleaned = String(str)\r\n .replace(/[\\u00A0\\u202F]/g, \" \")\r\n .replace(/\\s+/g, \"\")\r\n .replace(\",\", \".\");\r\n if (cleaned === \"\" || cleaned === \"-\" || cleaned === \".\") return null;\r\n const n = Number(cleaned);\r\n return Number.isFinite(n) ? n : null;\r\n}\r\n\r\nconst NumberInput = React.forwardRef<React.ComponentRef<typeof OutlinedInput>, NumberInputProps>(function NumberInput(\r\n {\r\n value, onChange, onBlur,\r\n min, max, step = 1, decimals,\r\n placeholder, disabled, error, readOnly,\r\n fullWidth = true, showSpinner = false,\r\n prefix, suffix, inputProps, onValidate,\r\n locale = \"fr-FR\",\r\n labels,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const mergedLabels = labels\r\n ? { ...DEFAULT_LABELS, ...labels }\r\n : DEFAULT_LABELS;\r\n\r\n const [display, setDisplay] = React.useState<string>(() => formatForDisplay(value, decimals, locale));\r\n const [focused, setFocused] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (!focused) setDisplay(formatForDisplay(value, decimals, locale));\r\n }, [value, decimals, locale, focused]);\r\n\r\n const allowMinus = min == null || min < 0;\r\n\r\n const onUserChange: NonNullable<OutlinedInputProps[\"onChange\"]> = (e) => {\r\n const raw = e.target.value;\r\n const re = allowMinus ? /^-?[0-9]*[.,]?[0-9]*$/ : /^[0-9]*[.,]?[0-9]*$/;\r\n if (raw !== \"\" && !re.test(raw)) return;\r\n setDisplay(raw);\r\n const parsed = parseFromUser(raw);\r\n onChange?.(parsed);\r\n };\r\n\r\n const clamp = (n: number | null): number | null => {\r\n if (n == null) return n;\r\n let out = n;\r\n if (typeof min === \"number\" && out < min) out = min;\r\n if (typeof max === \"number\" && out > max) out = max;\r\n return out;\r\n };\r\n\r\n const handleBlur: NonNullable<OutlinedInputProps[\"onBlur\"]> = (e) => {\r\n setFocused(false);\r\n const parsed = parseFromUser(display);\r\n const clamped = clamp(parsed);\r\n if (clamped !== parsed) {\r\n onChange?.(clamped);\r\n setDisplay(formatForDisplay(clamped, decimals, locale));\r\n } else {\r\n setDisplay(formatForDisplay(parsed, decimals, locale));\r\n }\r\n if (onValidate) {\r\n const violation: \"min\" | \"max\" | null =\r\n parsed == null ? null :\r\n (typeof min === \"number\" && parsed < min) ? \"min\" :\r\n (typeof max === \"number\" && parsed > max) ? \"max\" :\r\n null;\r\n onValidate({ value: parsed, clamped, violation });\r\n }\r\n onBlur?.(e);\r\n };\r\n\r\n const handleFocus = () => setFocused(true);\r\n\r\n const bumpBy = (delta: number) => {\r\n const next = clamp((value ?? 0) + delta);\r\n onChange?.(next);\r\n };\r\n\r\n const onKeyDown: NonNullable<OutlinedInputProps[\"onKeyDown\"]> = (e) => {\r\n if (e.key === \"ArrowUp\") { e.preventDefault(); bumpBy(+step); }\r\n if (e.key === \"ArrowDown\") { e.preventDefault(); bumpBy(-step); }\r\n };\r\n\r\n const ariaValueText = React.useMemo(() => {\r\n if (value == null || Number.isNaN(value)) return undefined;\r\n const formatted = formatForDisplay(value, decimals, locale);\r\n if (typeof suffix === \"string\" && suffix.trim()) {\r\n return `${formatted} ${suffix}`.trim();\r\n }\r\n return formatted || undefined;\r\n }, [value, decimals, locale, suffix]);\r\n\r\n // Shared sx for both stepper IconButtons. WCAG 2.5.8 AA floor (24×24),\r\n // padding 0 so the icon centres without cropping.\r\n const stepperSx = {\r\n color: \"var(--fg-muted)\",\r\n minWidth: STEPPER_HIT_AREA,\r\n minHeight: STEPPER_HIT_AREA,\r\n padding: 0,\r\n };\r\n\r\n return (\r\n <OutlinedInput\r\n ref={ref}\r\n type=\"text\"\r\n inputMode=\"decimal\"\r\n value={display}\r\n onChange={onUserChange}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n onKeyDown={onKeyDown}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n startAdornment={\r\n prefix ? <InputAdornment position=\"start\">{prefix}</InputAdornment> : undefined\r\n }\r\n endAdornment={\r\n (suffix || showSpinner) ? (\r\n <InputAdornment position=\"end\" sx={{ gap: 0.25 }}>\r\n {suffix && <span>{suffix}</span>}\r\n {showSpinner && (\r\n <>\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => bumpBy(-step)}\r\n disabled={disabled || readOnly || (typeof min === \"number\" && value != null && value <= min)}\r\n aria-label={mergedLabels.decrement}\r\n sx={stepperSx}\r\n >\r\n <RemoveIcon sx={{ fontSize: 14 }} />\r\n </IconButton>\r\n <IconButton\r\n size=\"small\"\r\n onClick={() => bumpBy(+step)}\r\n disabled={disabled || readOnly || (typeof max === \"number\" && value != null && value >= max)}\r\n aria-label={mergedLabels.increment}\r\n sx={stepperSx}\r\n >\r\n <AddIcon sx={{ fontSize: 14 }} />\r\n </IconButton>\r\n </>\r\n )}\r\n </InputAdornment>\r\n ) : undefined\r\n }\r\n slotProps={{\r\n // MUI v9: the input slot bag forwards directly to the\r\n // internal <input/> element on OutlinedInput. Was\r\n // `inputProps={...}` at the top level — deprecated in v6,\r\n // migrated for v9 alignment (audit Batch 3). Spread order\r\n // preserved: consumer-supplied inputProps comes LAST so it\r\n // can override aria-* attributes (same semantics as v5).\r\n input: {\r\n role: \"spinbutton\" as const,\r\n \"aria-valuenow\": value ?? undefined,\r\n \"aria-valuemin\": min,\r\n \"aria-valuemax\": max,\r\n \"aria-valuetext\": ariaValueText,\r\n ...inputProps,\r\n },\r\n }}\r\n sx={{\r\n // R-T.3 — tabular-nums for vertical alignment in tables/forms\r\n \"& input\": { fontVariantNumeric: \"tabular-nums\", textAlign: \"right\" },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\n// Locale separators exported so callers can mirror exact display elsewhere\r\n// without re-implementing. Kept for back-compat; for full locale-correct\r\n// formatting prefer `Intl.NumberFormat(locale)` directly.\r\nexport const FR_DECIMAL_SEPARATOR = FR_DECIMAL_SEP;\r\nexport const FR_THOUSAND_SEPARATOR = FR_THOUSAND_SEP;\r\n\r\nexport default NumberInput;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,55 @@
1
+ import * as React from "react";
2
+ /**
3
+ * OverflowMenu - Portnet UI v2
4
+ *
5
+ * Charter §03 · Component "OverflowMenu". ARIA menu for ancillary row actions.
6
+ *
7
+ * Max 7 items · separator before danger · kbd shortcut visible right.
8
+ *
9
+ * <OverflowMenu actions={[
10
+ * { label: "Voir le détail", icon: <Visibility />, onClick: open, shortcut: "↵" },
11
+ * { label: "Modifier", icon: <Edit />, onClick: edit },
12
+ * { divider: true },
13
+ * { label: "Supprimer", icon: <Delete />, onClick: remove, danger: true, shortcut: "⌫" },
14
+ * ]} />
15
+ *
16
+ * Localisation (FR / EN / AR):
17
+ * <OverflowMenu labels={{
18
+ * trigger: "More actions",
19
+ * shortcut: (s) => `Shortcut ${s}`,
20
+ * }} />
21
+ *
22
+ * The legacy `ariaLabel` prop still wins over labels.trigger when
23
+ * both are passed, for back-compat.
24
+ */
25
+ export interface OverflowMenuAction {
26
+ label?: React.ReactNode;
27
+ /** Rendered directly (no cloneElement) — any renderable node. */
28
+ icon?: React.ReactNode;
29
+ onClick?: () => void;
30
+ shortcut?: React.ReactNode;
31
+ danger?: boolean;
32
+ disabled?: boolean;
33
+ divider?: boolean;
34
+ }
35
+ export interface OverflowMenuLabels {
36
+ trigger?: string;
37
+ shortcut?: string | ((shortcut: React.ReactNode) => string);
38
+ }
39
+ export interface OverflowMenuProps {
40
+ /** Row actions. Charter recommends ≤ 7. @default [] */
41
+ actions?: OverflowMenuAction[];
42
+ /**
43
+ * Custom trigger element. Cloned via React.cloneElement to inject the
44
+ * open handler + aria-haspopup/aria-expanded (must be a single element).
45
+ */
46
+ trigger?: React.ReactElement;
47
+ /** Legacy accessible name for the default trigger (wins over labels.trigger). */
48
+ ariaLabel?: string;
49
+ /** Menu alignment. @default "right" */
50
+ align?: "left" | "right";
51
+ labels?: OverflowMenuLabels;
52
+ }
53
+ declare function OverflowMenu({ actions, trigger, ariaLabel, align, labels, }: OverflowMenuProps): React.JSX.Element;
54
+ export default OverflowMenu;
55
+ //# sourceMappingURL=OverflowMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OverflowMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/OverflowMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,iEAAiE;IACjE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC7B,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAuBD,iBAAS,YAAY,CAAC,EACpB,OAAY,EACZ,OAAO,EACP,SAAS,EACT,KAAe,EACf,MAAM,GACP,EAAE,iBAAiB,qBA6FnB;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,196 @@
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 _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
9
+ var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
10
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
11
+ var _Divider = _interopRequireDefault(require("@mui/material/Divider"));
12
+ var _MoreHoriz = _interopRequireDefault(require("@mui/icons-material/MoreHoriz"));
13
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
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
+ * OverflowMenu - Portnet UI v2
31
+ *
32
+ * Charter §03 · Component "OverflowMenu". ARIA menu for ancillary row actions.
33
+ *
34
+ * Max 7 items · separator before danger · kbd shortcut visible right.
35
+ *
36
+ * <OverflowMenu actions={[
37
+ * { label: "Voir le détail", icon: <Visibility />, onClick: open, shortcut: "↵" },
38
+ * { label: "Modifier", icon: <Edit />, onClick: edit },
39
+ * { divider: true },
40
+ * { label: "Supprimer", icon: <Delete />, onClick: remove, danger: true, shortcut: "⌫" },
41
+ * ]} />
42
+ *
43
+ * Localisation (FR / EN / AR):
44
+ * <OverflowMenu labels={{
45
+ * trigger: "More actions",
46
+ * shortcut: (s) => `Shortcut ${s}`,
47
+ * }} />
48
+ *
49
+ * The legacy `ariaLabel` prop still wins over labels.trigger when
50
+ * both are passed, for back-compat.
51
+ */
52
+ var DEFAULT_LABELS = Object.freeze({
53
+ trigger: "Plus d'actions",
54
+ shortcut: function shortcut(s) {
55
+ return "Raccourci ".concat(s);
56
+ }
57
+ });
58
+
59
+ // MUI v9: slot bag for the Menu. The component already used slotProps.paper
60
+ // for the paper slot; this commit moves MenuListProps onto the same path
61
+ // via the `list` slot key. Hoisted so the reference is stable across
62
+ // renders. `role: "menu" as const` keeps the AriaRole literal.
63
+ var MENU_SLOT_PROPS = Object.freeze({
64
+ paper: {
65
+ sx: {
66
+ minWidth: 200,
67
+ boxShadow: "var(--shadow-md)",
68
+ border: "1px solid var(--border)",
69
+ borderRadius: "var(--r-md)"
70
+ }
71
+ },
72
+ list: {
73
+ role: "menu",
74
+ dense: true
75
+ }
76
+ });
77
+ function OverflowMenu(_ref) {
78
+ var _ref$actions = _ref.actions,
79
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
80
+ trigger = _ref.trigger,
81
+ ariaLabel = _ref.ariaLabel,
82
+ _ref$align = _ref.align,
83
+ align = _ref$align === void 0 ? "right" : _ref$align,
84
+ labels = _ref.labels;
85
+ var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
86
+ // Legacy ariaLabel prop wins over labels.trigger.
87
+ var triggerAria = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : L.trigger;
88
+ var _React$useState = React.useState(null),
89
+ _React$useState2 = _slicedToArray(_React$useState, 2),
90
+ anchor = _React$useState2[0],
91
+ setAnchor = _React$useState2[1];
92
+ var open = Boolean(anchor);
93
+ if (process.env["NODE_ENV"] !== "production" && actions.length > 7) {
94
+ // eslint-disable-next-line no-console
95
+ console.warn("[@portnet/ui v2] <OverflowMenu> over 7 items - charter recommends ≤ 7.");
96
+ }
97
+ var handleOpen = function handleOpen(e) {
98
+ return setAnchor(e.currentTarget);
99
+ };
100
+ var handleClose = function handleClose() {
101
+ return setAnchor(null);
102
+ };
103
+
104
+ // R-2.1 - when a host passes a custom trigger, preserve its existing
105
+ // onClick (analytics, focus capture, optimistic UI etc.) by chaining
106
+ // it before our handleOpen. Without this, cloneElement silently
107
+ // overwrites the host's handler.
108
+ var triggerNode = trigger ? /*#__PURE__*/React.cloneElement(trigger, {
109
+ onClick: function onClick(event) {
110
+ var _onClick, _ref2;
111
+ (_onClick = (_ref2 = trigger.props).onClick) === null || _onClick === void 0 ? void 0 : _onClick.call(_ref2, event);
112
+ handleOpen(event);
113
+ },
114
+ "aria-haspopup": "menu",
115
+ "aria-expanded": open
116
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
117
+ onClick: handleOpen,
118
+ "aria-label": triggerAria,
119
+ "aria-haspopup": "menu",
120
+ "aria-expanded": open,
121
+ size: "small",
122
+ sx: {
123
+ color: "var(--fg-muted)"
124
+ },
125
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MoreHoriz["default"], {
126
+ fontSize: "small"
127
+ })
128
+ });
129
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
130
+ children: [triggerNode, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Menu["default"], {
131
+ anchorEl: anchor,
132
+ open: open,
133
+ onClose: handleClose,
134
+ anchorOrigin: {
135
+ vertical: "bottom",
136
+ horizontal: align === "right" ? "right" : "left"
137
+ },
138
+ transformOrigin: {
139
+ vertical: "top",
140
+ horizontal: align === "right" ? "right" : "left"
141
+ },
142
+ slotProps: MENU_SLOT_PROPS,
143
+ children: actions.map(function (a, i) {
144
+ if (a.divider) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Divider["default"], {
145
+ sx: {
146
+ borderColor: "var(--border)"
147
+ }
148
+ }, "d-".concat(i));
149
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_MenuItem["default"], {
150
+ role: "menuitem",
151
+ disabled: a.disabled,
152
+ onClick: function onClick() {
153
+ var _a$onClick;
154
+ handleClose();
155
+ (_a$onClick = a.onClick) === null || _a$onClick === void 0 ? void 0 : _a$onClick.call(a);
156
+ },
157
+ sx: {
158
+ fontSize: "var(--text-sm)",
159
+ color: a.danger ? "var(--danger)" : "var(--fg)",
160
+ "&:hover": a.danger ? {
161
+ background: "var(--danger-soft)"
162
+ } : undefined,
163
+ gap: 1.5
164
+ },
165
+ children: [a.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
166
+ sx: {
167
+ display: "inline-flex",
168
+ color: a.danger ? "var(--danger)" : "var(--fg-muted)"
169
+ },
170
+ children: a.icon
171
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
172
+ sx: {
173
+ flex: 1
174
+ },
175
+ children: a.label
176
+ }), a.shortcut && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
177
+ component: "kbd",
178
+ "aria-label": typeof L.shortcut === "function" ? L.shortcut(a.shortcut) : "".concat(L.shortcut, " ").concat(a.shortcut),
179
+ sx: {
180
+ fontSize: "var(--text-xs)",
181
+ color: "var(--fg-subtle)",
182
+ background: "var(--bg-subtle)",
183
+ border: "1px solid var(--border)",
184
+ borderRadius: "var(--r-sm)",
185
+ padding: "1px var(--s-2)",
186
+ fontFamily: "var(--font-mono)"
187
+ },
188
+ children: a.shortcut
189
+ })]
190
+ }, i);
191
+ })
192
+ })]
193
+ });
194
+ }
195
+ var _default = exports["default"] = OverflowMenu;
196
+ //# sourceMappingURL=OverflowMenu.js.map