@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,134 @@
1
+ import * as React from "react";
2
+ import type { AutocompleteProps } from "@mui/material/Autocomplete";
3
+ import type { SxProps, Theme } from "@mui/material/styles";
4
+ /**
5
+ * Combobox — Portnet UI v2
6
+ *
7
+ * Charter §03 · Component "Combobox / Autocomplete". Required by R-Sel.1
8
+ * for any Select with > 30 options.
9
+ *
10
+ * Single:
11
+ * <Field label="Pays">
12
+ * <Combobox
13
+ * value={country}
14
+ * onChange={setCountry}
15
+ * options={countries} // strings or {value,label}
16
+ * />
17
+ * </Field>
18
+ *
19
+ * Multi (with helper text per option):
20
+ * <Field label="Régime">
21
+ * <Combobox
22
+ * value={regime}
23
+ * onChange={setRegime}
24
+ * options={[
25
+ * { value: "atpa", label: "ATPA",
26
+ * helper: "Admission Temporaire avec Paiement" },
27
+ * { value: "atpf", label: "ATPF",
28
+ * helper: "Admission Temporaire en Franchise" },
29
+ * ]}
30
+ * />
31
+ * </Field>
32
+ *
33
+ * Async (server-side filter):
34
+ * const [input, setInput] = useState("");
35
+ * const [opts, setOpts] = useState([]);
36
+ * const [loading, setLoading] = useState(false);
37
+ * useEffect(() => {
38
+ * const t = setTimeout(() => {
39
+ * setLoading(true);
40
+ * fetch(`/api/companies?q=${input}`)
41
+ * .then(r => r.json()).then(setOpts)
42
+ * .finally(() => setLoading(false));
43
+ * }, 250);
44
+ * return () => clearTimeout(t);
45
+ * }, [input]);
46
+ *
47
+ * <Combobox
48
+ * value={company}
49
+ * onChange={setCompany}
50
+ * onInputChange={(_, v) => setInput(v)}
51
+ * options={opts}
52
+ * loading={loading}
53
+ * filterOptions={(x) => x} // disable client-side filter
54
+ * />
55
+ *
56
+ * Localisation (FR / EN / AR):
57
+ * <Combobox labels={{
58
+ * noOptions: "No results",
59
+ * loading: "Loading…",
60
+ * clear: "Clear",
61
+ * close: "Close",
62
+ * open: "Open",
63
+ * placeholder: "Select…",
64
+ * }} />
65
+ *
66
+ * Defaults are French; partial overrides are merged onto the defaults.
67
+ *
68
+ * A11y:
69
+ * - Built on MuiAutocomplete (full WAI-ARIA combobox pattern).
70
+ * - When option.helper is present, it is rendered visually AND
71
+ * becomes part of the option's accessible name (so screen-reader
72
+ * users hear "ATPA, Admission Temporaire avec Paiement" when
73
+ * navigating).
74
+ * - Loading spinner is decorative (aria-hidden); the listbox already
75
+ * announces "Chargement…" via the loadingText prop.
76
+ * - COMBO-1: Field-injected aria-describedby / aria-invalid / aria-required
77
+ * are threaded onto the native <input> via renderInput's htmlInput slot.
78
+ * MUI spreads unknown top-level props onto the Autocomplete ROOT, so
79
+ * without this the error association / invalid state would never reach
80
+ * the combobox input for screen-reader users.
81
+ */
82
+ export type ComboboxOptionValue = string | number | boolean;
83
+ export interface ComboboxOption {
84
+ value: ComboboxOptionValue;
85
+ label?: React.ReactNode;
86
+ group?: string;
87
+ helper?: React.ReactNode;
88
+ }
89
+ /**
90
+ * Loose-but-honest value union used for BOTH the `value` input and the
91
+ * `onChange` output, matching the any-based JS: callers may pass bare
92
+ * values or option objects (single or array), and onChange re-emits bare
93
+ * values (objects unwrapped to their `.value`).
94
+ */
95
+ export type ComboboxValue = ComboboxOptionValue | ComboboxOption | null | Array<ComboboxOptionValue | ComboboxOption>;
96
+ export interface ComboboxLabels {
97
+ noOptions?: string;
98
+ loading?: string;
99
+ clear?: string;
100
+ close?: string;
101
+ open?: string;
102
+ placeholder?: string;
103
+ }
104
+ /**
105
+ * The option generic handed to MUI Autocomplete. It must admit raw
106
+ * primitive values (not just option objects) because resolvedValue and
107
+ * handleChange deliberately round-trip bare values (a numeric id stored
108
+ * by FormikCombobox, a freeSolo string, etc.).
109
+ */
110
+ type ComboboxItem = ComboboxOption | ComboboxOptionValue;
111
+ type MuiACProps = AutocompleteProps<ComboboxItem, boolean, false, boolean>;
112
+ export interface ComboboxProps extends Omit<MuiACProps, "value" | "onChange" | "options" | "multiple" | "freeSolo" | "renderInput" | "renderTags" | "renderOption" | "getOptionLabel" | "isOptionEqualToValue" | "groupBy" | "filterOptions" | "onInputChange" | "loading" | "disabled" | "fullWidth" | "sx" | "ref"> {
113
+ value?: ComboboxValue;
114
+ onChange?: (value: ComboboxValue) => void;
115
+ options?: Array<string | ComboboxOption>;
116
+ multiple?: boolean;
117
+ freeSolo?: boolean;
118
+ placeholder?: string;
119
+ disabled?: boolean;
120
+ error?: boolean;
121
+ fullWidth?: boolean;
122
+ loading?: boolean;
123
+ groupBy?: (option: ComboboxItem) => string;
124
+ getOptionLabel?: (option: ComboboxItem) => string;
125
+ isOptionEqualToValue?: (option: ComboboxItem, value: ComboboxItem) => boolean;
126
+ filterOptions?: MuiACProps["filterOptions"];
127
+ renderOption?: MuiACProps["renderOption"];
128
+ onInputChange?: MuiACProps["onInputChange"];
129
+ labels?: ComboboxLabels;
130
+ sx?: SxProps<Theme>;
131
+ }
132
+ declare const Combobox: React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLDivElement>>;
133
+ export default Combobox;
134
+ //# sourceMappingURL=Combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,4BAA4B,CAAC;AAKnG,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AAEH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,cAAc,GACd,IAAI,GACJ,KAAK,CAAC,mBAAmB,GAAG,cAAc,CAAC,CAAC;AAEhD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,KAAK,YAAY,GAAG,cAAc,GAAG,mBAAmB,CAAC;AACzD,KAAK,UAAU,GAAG,iBAAiB,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AA2C3E,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,UAAU,EACR,OAAO,GACP,UAAU,GACV,SAAS,GACT,UAAU,GACV,UAAU,GACV,aAAa,GACb,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,SAAS,GACT,eAAe,GACf,eAAe,GACf,SAAS,GACT,UAAU,GACV,WAAW,GACX,IAAI,GAQJ,KAAK,CACR;IACD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC;IAClD,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAC9E,aAAa,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAED,QAAA,MAAM,QAAQ,sFAqQZ,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,399 @@
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 React = _react;
9
+ var _Autocomplete = _interopRequireDefault(require("@mui/material/Autocomplete"));
10
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
11
+ var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
12
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
13
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ var _excluded = ["value", "onChange", "options", "multiple", "freeSolo", "placeholder", "disabled", "error", "fullWidth", "loading", "groupBy", "getOptionLabel", "isOptionEqualToValue", "filterOptions", "renderOption", "onInputChange", "labels", "sx", "aria-describedby", "aria-invalid", "aria-required"];
16
+ /**
17
+ * Combobox — Portnet UI v2
18
+ *
19
+ * Charter §03 · Component "Combobox / Autocomplete". Required by R-Sel.1
20
+ * for any Select with > 30 options.
21
+ *
22
+ * Single:
23
+ * <Field label="Pays">
24
+ * <Combobox
25
+ * value={country}
26
+ * onChange={setCountry}
27
+ * options={countries} // strings or {value,label}
28
+ * />
29
+ * </Field>
30
+ *
31
+ * Multi (with helper text per option):
32
+ * <Field label="Régime">
33
+ * <Combobox
34
+ * value={regime}
35
+ * onChange={setRegime}
36
+ * options={[
37
+ * { value: "atpa", label: "ATPA",
38
+ * helper: "Admission Temporaire avec Paiement" },
39
+ * { value: "atpf", label: "ATPF",
40
+ * helper: "Admission Temporaire en Franchise" },
41
+ * ]}
42
+ * />
43
+ * </Field>
44
+ *
45
+ * Async (server-side filter):
46
+ * const [input, setInput] = useState("");
47
+ * const [opts, setOpts] = useState([]);
48
+ * const [loading, setLoading] = useState(false);
49
+ * useEffect(() => {
50
+ * const t = setTimeout(() => {
51
+ * setLoading(true);
52
+ * fetch(`/api/companies?q=${input}`)
53
+ * .then(r => r.json()).then(setOpts)
54
+ * .finally(() => setLoading(false));
55
+ * }, 250);
56
+ * return () => clearTimeout(t);
57
+ * }, [input]);
58
+ *
59
+ * <Combobox
60
+ * value={company}
61
+ * onChange={setCompany}
62
+ * onInputChange={(_, v) => setInput(v)}
63
+ * options={opts}
64
+ * loading={loading}
65
+ * filterOptions={(x) => x} // disable client-side filter
66
+ * />
67
+ *
68
+ * Localisation (FR / EN / AR):
69
+ * <Combobox labels={{
70
+ * noOptions: "No results",
71
+ * loading: "Loading…",
72
+ * clear: "Clear",
73
+ * close: "Close",
74
+ * open: "Open",
75
+ * placeholder: "Select…",
76
+ * }} />
77
+ *
78
+ * Defaults are French; partial overrides are merged onto the defaults.
79
+ *
80
+ * A11y:
81
+ * - Built on MuiAutocomplete (full WAI-ARIA combobox pattern).
82
+ * - When option.helper is present, it is rendered visually AND
83
+ * becomes part of the option's accessible name (so screen-reader
84
+ * users hear "ATPA, Admission Temporaire avec Paiement" when
85
+ * navigating).
86
+ * - Loading spinner is decorative (aria-hidden); the listbox already
87
+ * announces "Chargement…" via the loadingText prop.
88
+ * - COMBO-1: Field-injected aria-describedby / aria-invalid / aria-required
89
+ * are threaded onto the native <input> via renderInput's htmlInput slot.
90
+ * MUI spreads unknown top-level props onto the Autocomplete ROOT, so
91
+ * without this the error association / invalid state would never reach
92
+ * the combobox input for screen-reader users.
93
+ */
94
+ /**
95
+ * Loose-but-honest value union used for BOTH the `value` input and the
96
+ * `onChange` output, matching the any-based JS: callers may pass bare
97
+ * values or option objects (single or array), and onChange re-emits bare
98
+ * values (objects unwrapped to their `.value`).
99
+ */
100
+ /**
101
+ * The option generic handed to MUI Autocomplete. It must admit raw
102
+ * primitive values (not just option objects) because resolvedValue and
103
+ * handleChange deliberately round-trip bare values (a numeric id stored
104
+ * by FormikCombobox, a freeSolo string, etc.).
105
+ */
106
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
107
+ 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); }
108
+ 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; }
109
+ 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); }
110
+ 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; }
111
+ 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; }
112
+ 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; }
113
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
114
+ 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); }
115
+ 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; }
116
+ 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; }
117
+ /**
118
+ * MuiAutocomplete instantiated with `Multiple: boolean` (not a literal) lets
119
+ * value/onChange's conditional types distribute naturally into `T | T[]`,
120
+ * which is exactly what this component needs to handle both modes at
121
+ * runtime from one implementation. MUI's `renderTags`, however, disappears
122
+ * from the props type entirely under this instantiation (TS2339) — and,
123
+ * per this MUI version, doesn't reappear even when explicitly instantiated
124
+ * with the literal `Multiple = true` (TS2344: "renderTags" doesn't satisfy
125
+ * `keyof AutocompleteProps<..., true, ...>` either). Rather than depend on
126
+ * MUI's exact (apparently unstable across instantiations) type surface for
127
+ * this one field, declare its shape ourselves — it matches exactly how the
128
+ * callback is invoked below (values.map + getTagProps({ index })), and the
129
+ * real runtime Autocomplete accepts renderTags regardless of the Multiple
130
+ * type param.
131
+ *
132
+ * Defined once at module scope (not inside the component) so the cast
133
+ * doesn't mint a new component identity on every render — that would make
134
+ * React unmount/remount the Autocomplete on every parent re-render and drop
135
+ * focus/open-state.
136
+ */
137
+ var AutocompleteWithTags = _Autocomplete["default"];
138
+ var DEFAULT_LABELS = Object.freeze({
139
+ noOptions: "Aucun résultat",
140
+ loading: "Chargement…",
141
+ clear: "Effacer",
142
+ close: "Fermer",
143
+ open: "Ouvrir",
144
+ placeholder: "Sélectionner…"
145
+ });
146
+ var normaliseOption = function normaliseOption(o) {
147
+ return typeof o === "string" ? {
148
+ value: o,
149
+ label: o
150
+ } : o;
151
+ };
152
+ var Combobox = /*#__PURE__*/React.forwardRef(function Combobox(_ref, ref) {
153
+ var value = _ref.value,
154
+ onChange = _ref.onChange,
155
+ _ref$options = _ref.options,
156
+ options = _ref$options === void 0 ? [] : _ref$options,
157
+ _ref$multiple = _ref.multiple,
158
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
159
+ _ref$freeSolo = _ref.freeSolo,
160
+ freeSolo = _ref$freeSolo === void 0 ? false : _ref$freeSolo,
161
+ placeholder = _ref.placeholder,
162
+ disabled = _ref.disabled,
163
+ error = _ref.error,
164
+ _ref$fullWidth = _ref.fullWidth,
165
+ fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
166
+ _ref$loading = _ref.loading,
167
+ loading = _ref$loading === void 0 ? false : _ref$loading,
168
+ groupBy = _ref.groupBy,
169
+ getOptionLabel = _ref.getOptionLabel,
170
+ isOptionEqualToValue = _ref.isOptionEqualToValue,
171
+ filterOptions = _ref.filterOptions,
172
+ renderOption = _ref.renderOption,
173
+ onInputChange = _ref.onInputChange,
174
+ labels = _ref.labels,
175
+ sx = _ref.sx,
176
+ ariaDescribedBy = _ref["aria-describedby"],
177
+ ariaInvalid = _ref["aria-invalid"],
178
+ ariaRequired = _ref["aria-required"],
179
+ rest = _objectWithoutProperties(_ref, _excluded);
180
+ var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
181
+ // Legacy `placeholder` prop wins over labels.placeholder.
182
+ var effectivePlaceholder = placeholder !== null && placeholder !== void 0 ? placeholder : L.placeholder;
183
+ var normalised = React.useMemo(function () {
184
+ return options.map(normaliseOption);
185
+ }, [options]);
186
+
187
+ // Default groupBy — uses option.group if any option has one.
188
+ var autoGroupBy = React.useMemo(function () {
189
+ if (groupBy) return groupBy;
190
+ if (normalised.some(function (o) {
191
+ return o && _typeof(o) === "object" && o.group;
192
+ })) {
193
+ return function (o) {
194
+ return o && _typeof(o) === "object" ? o.group || "" : "";
195
+ };
196
+ }
197
+ return undefined;
198
+ }, [normalised, groupBy]);
199
+ var labelOf = React.useCallback(function (o) {
200
+ var _ref2, _obj$label;
201
+ if (getOptionLabel) return getOptionLabel(o);
202
+ if (o == null) return "";
203
+ if (typeof o === "string") return o;
204
+ var obj = o;
205
+ return String((_ref2 = (_obj$label = obj.label) !== null && _obj$label !== void 0 ? _obj$label : obj.value) !== null && _ref2 !== void 0 ? _ref2 : "");
206
+ }, [getOptionLabel]);
207
+ var eqOf = React.useCallback(function (opt, val) {
208
+ if (isOptionEqualToValue) return isOptionEqualToValue(opt, val);
209
+ if (opt == null || val == null) return opt === val;
210
+ var a = typeof opt === "string" ? opt : opt.value;
211
+ // B-eq: primitives (numbers, booleans) are compared as-is.
212
+ // Previously `val.value` for a non-string, non-object value
213
+ // (e.g. a numeric id stored by FormikCombobox via setFieldValue)
214
+ // resolved to undefined, so the lookup never matched and the
215
+ // selected option was never visually reflected after picking.
216
+ var b = typeof val === "string" ? val : val !== null && _typeof(val) === "object" ? val.value : val; // number, boolean, etc. — use the primitive directly
217
+ return a === b;
218
+ }, [isOptionEqualToValue]);
219
+ var handleChange = function handleChange(_event, next) {
220
+ if (!onChange) return;
221
+ // Re-emit raw value(s) — strings stay strings, objects get unwrapped to
222
+ // their `.value` so callers don't have to deal with the option shape.
223
+ if (multiple) {
224
+ var arr = Array.isArray(next) ? next : [];
225
+ var out = arr.map(function (n) {
226
+ var _value;
227
+ return typeof n === "string" ? n : (_value = n.value) !== null && _value !== void 0 ? _value : n;
228
+ });
229
+ onChange(out);
230
+ return;
231
+ }
232
+ if (next == null) {
233
+ onChange(null);
234
+ } else {
235
+ var _value2;
236
+ var single = next;
237
+ onChange(typeof single === "string" ? single : (_value2 = single.value) !== null && _value2 !== void 0 ? _value2 : single);
238
+ }
239
+ };
240
+
241
+ // Resolve raw value(s) back to option objects so MUI Autocomplete can
242
+ // display labels properly.
243
+ var resolvedValue = React.useMemo(function () {
244
+ if (multiple) {
245
+ var arr = Array.isArray(value) ? value : [];
246
+ return arr.map(function (v) {
247
+ return normalised.find(function (o) {
248
+ return eqOf(o, v);
249
+ }) || (typeof v === "string" ? {
250
+ value: v,
251
+ label: v
252
+ } : v);
253
+ });
254
+ }
255
+ if (value == null || value === "") return null;
256
+ return normalised.find(function (o) {
257
+ return eqOf(o, value);
258
+ }) || (typeof value === "string" ? {
259
+ value: value,
260
+ label: value
261
+ } : value);
262
+ }, [value, normalised, multiple, eqOf]);
263
+
264
+ // Auto-render helper text when at least one option has one. Hosts can
265
+ // override entirely by passing their own renderOption.
266
+ var anyHelper = normalised.some(function (o) {
267
+ return o && _typeof(o) === "object" && o.helper != null && o.helper !== "";
268
+ });
269
+ var effectiveRenderOption = React.useMemo(function () {
270
+ if (renderOption) return renderOption;
271
+ if (!anyHelper) return undefined;
272
+ // MUI Autocomplete passes (props, option, state) — `props` already
273
+ // carries the correct <li> role/id/aria-selected. We render the
274
+ // option content inside it; the helper line is in-flow text so it
275
+ // becomes part of the option's accessible name automatically.
276
+ return function (props, option) {
277
+ var label = labelOf(option);
278
+ var helper = option && _typeof(option) === "object" ? option.helper : null;
279
+ var optValue = _typeof(option) === "object" && option !== null ? option.value : undefined;
280
+ var optionKey = optValue == null ? label : typeof optValue === "boolean" ? String(optValue) : optValue;
281
+ return /*#__PURE__*/(0, _react.createElement)("li", _objectSpread(_objectSpread({}, props), {}, {
282
+ key: optionKey
283
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
284
+ sx: {
285
+ display: "flex",
286
+ flexDirection: "column",
287
+ paddingY: 0.25,
288
+ minWidth: 0
289
+ },
290
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
291
+ component: "span",
292
+ sx: {
293
+ fontSize: "var(--text-sm)",
294
+ color: "var(--fg)"
295
+ },
296
+ children: label
297
+ }), helper && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
298
+ component: "span",
299
+ sx: {
300
+ fontSize: "var(--text-xs)",
301
+ color: "var(--fg-subtle)",
302
+ lineHeight: "var(--lh-snug)"
303
+ },
304
+ children: helper
305
+ })]
306
+ }));
307
+ };
308
+ }, [renderOption, anyHelper, labelOf]);
309
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteWithTags, _objectSpread({
310
+ ref: ref,
311
+ multiple: multiple,
312
+ freeSolo: freeSolo,
313
+ disabled: disabled,
314
+ fullWidth: fullWidth,
315
+ value: resolvedValue,
316
+ onChange: handleChange,
317
+ onInputChange: onInputChange,
318
+ options: normalised,
319
+ loading: loading,
320
+ groupBy: autoGroupBy,
321
+ getOptionLabel: labelOf,
322
+ isOptionEqualToValue: eqOf,
323
+ filterOptions: filterOptions,
324
+ renderOption: effectiveRenderOption,
325
+ noOptionsText: L.noOptions,
326
+ loadingText: L.loading,
327
+ clearText: L.clear,
328
+ closeText: L.close,
329
+ openText: L.open,
330
+ size: "small",
331
+ renderTags: function renderTags(values, getTagProps) {
332
+ return values.map(function (option, index) {
333
+ var rawVal = _typeof(option) === "object" && option !== null ? option.value : option;
334
+ var tagKey = rawVal == null ? index : typeof rawVal === "boolean" ? String(rawVal) : rawVal;
335
+ return /*#__PURE__*/(0, _react.createElement)(_Chip["default"], _objectSpread(_objectSpread({}, getTagProps({
336
+ index: index
337
+ })), {}, {
338
+ key: tagKey,
339
+ size: "small",
340
+ label: labelOf(option),
341
+ sx: {
342
+ height: 22,
343
+ "& .MuiChip-label": {
344
+ paddingInline: 1,
345
+ fontSize: 12
346
+ }
347
+ }
348
+ }));
349
+ });
350
+ },
351
+ renderInput: function renderInput(params) {
352
+ var _params$slotProps, _params$slotProps$inp, _params$slotProps2, _params$slotProps$htm, _params$slotProps3;
353
+ // MUI v9: the bag passed to renderInput carries the input slot props
354
+ // at `params.slotProps.input` AND — crucially — the input element ref
355
+ // at `params.slotProps.htmlInput.ref`, which MUI's Autocomplete
356
+ // focuses on click. We must NOT rebuild slotProps from scratch (that
357
+ // drops htmlInput → MUI focuses null → "Cannot read properties of null
358
+ // (reading 'focus')"). Instead, spread the whole params.slotProps and
359
+ // only override the input slot's endAdornment. inputSlot is annotated
360
+ // as { endAdornment? } so the runtime spread still forwards htmlInput.
361
+ // params.InputProps was the pre-v9 TextField prop, fully replaced by
362
+ // params.slotProps.input — no longer exists on AutocompleteRenderInputParams.
363
+ var paramsSlotProps = (_params$slotProps = params.slotProps) !== null && _params$slotProps !== void 0 ? _params$slotProps : {};
364
+ var inputSlot = (_params$slotProps$inp = (_params$slotProps2 = params.slotProps) === null || _params$slotProps2 === void 0 ? void 0 : _params$slotProps2.input) !== null && _params$slotProps$inp !== void 0 ? _params$slotProps$inp : {};
365
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField["default"], _objectSpread(_objectSpread({}, params), {}, {
366
+ placeholder: effectivePlaceholder,
367
+ error: !!error,
368
+ slotProps: _objectSpread(_objectSpread({}, paramsSlotProps), {}, {
369
+ // COMBO-1 — merge Field's aria onto the native <input>. Spread
370
+ // MUI's existing htmlInput FIRST to keep its ref + combobox aria
371
+ // (role/aria-expanded/aria-controls/aria-activedescendant); add
372
+ // ours only when defined (exactOptionalPropertyTypes-safe).
373
+ htmlInput: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, (_params$slotProps$htm = (_params$slotProps3 = params.slotProps) === null || _params$slotProps3 === void 0 ? void 0 : _params$slotProps3.htmlInput) !== null && _params$slotProps$htm !== void 0 ? _params$slotProps$htm : {}), ariaDescribedBy != null ? {
374
+ "aria-describedby": ariaDescribedBy
375
+ } : {}), ariaInvalid != null ? {
376
+ "aria-invalid": ariaInvalid
377
+ } : {}), ariaRequired != null ? {
378
+ "aria-required": ariaRequired
379
+ } : {}),
380
+ input: _objectSpread(_objectSpread({}, inputSlot), {}, {
381
+ endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
382
+ children: [loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress["default"], {
383
+ size: 14,
384
+ "aria-hidden": "true",
385
+ role: "presentation",
386
+ sx: {
387
+ marginRight: 0.5
388
+ }
389
+ }) : null, inputSlot.endAdornment]
390
+ })
391
+ })
392
+ })
393
+ }));
394
+ },
395
+ sx: sx
396
+ }, rest));
397
+ });
398
+ var _default = exports["default"] = Combobox;
399
+ //# sourceMappingURL=Combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.js","names":["_react","_interopRequireWildcard","require","React","_Autocomplete","_interopRequireDefault","_TextField","_Chip","_CircularProgress","_Box","_jsxRuntime","_excluded","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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AutocompleteWithTags","MuiAutocomplete","DEFAULT_LABELS","freeze","noOptions","loading","clear","close","open","placeholder","normaliseOption","o","label","Combobox","forwardRef","_ref","ref","onChange","_ref$options","options","_ref$multiple","multiple","_ref$freeSolo","freeSolo","disabled","error","_ref$fullWidth","fullWidth","_ref$loading","groupBy","getOptionLabel","isOptionEqualToValue","filterOptions","renderOption","onInputChange","labels","sx","ariaDescribedBy","ariaInvalid","ariaRequired","rest","L","effectivePlaceholder","normalised","useMemo","map","autoGroupBy","some","group","labelOf","useCallback","_ref2","_obj$label","eqOf","opt","val","a","b","handleChange","_event","next","arr","Array","isArray","out","n","_value","_value2","single","resolvedValue","v","find","anyHelper","helper","effectiveRenderOption","props","option","optValue","optionKey","createElement","jsxs","display","flexDirection","paddingY","minWidth","children","jsx","component","fontSize","color","lineHeight","noOptionsText","loadingText","clearText","closeText","openText","size","renderTags","values","getTagProps","index","rawVal","tagKey","height","paddingInline","renderInput","params","_params$slotProps","_params$slotProps$inp","_params$slotProps2","_params$slotProps$htm","_params$slotProps3","paramsSlotProps","slotProps","inputSlot","htmlInput","endAdornment","Fragment","role","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Combobox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiAutocomplete from \"@mui/material/Autocomplete\";\r\nimport type { AutocompleteProps, AutocompleteRenderGetTagProps } from \"@mui/material/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Combobox — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Combobox / Autocomplete\". Required by R-Sel.1\r\n * for any Select with > 30 options.\r\n *\r\n * Single:\r\n * <Field label=\"Pays\">\r\n * <Combobox\r\n * value={country}\r\n * onChange={setCountry}\r\n * options={countries} // strings or {value,label}\r\n * />\r\n * </Field>\r\n *\r\n * Multi (with helper text per option):\r\n * <Field label=\"Régime\">\r\n * <Combobox\r\n * value={regime}\r\n * onChange={setRegime}\r\n * options={[\r\n * { value: \"atpa\", label: \"ATPA\",\r\n * helper: \"Admission Temporaire avec Paiement\" },\r\n * { value: \"atpf\", label: \"ATPF\",\r\n * helper: \"Admission Temporaire en Franchise\" },\r\n * ]}\r\n * />\r\n * </Field>\r\n *\r\n * Async (server-side filter):\r\n * const [input, setInput] = useState(\"\");\r\n * const [opts, setOpts] = useState([]);\r\n * const [loading, setLoading] = useState(false);\r\n * useEffect(() => {\r\n * const t = setTimeout(() => {\r\n * setLoading(true);\r\n * fetch(`/api/companies?q=${input}`)\r\n * .then(r => r.json()).then(setOpts)\r\n * .finally(() => setLoading(false));\r\n * }, 250);\r\n * return () => clearTimeout(t);\r\n * }, [input]);\r\n *\r\n * <Combobox\r\n * value={company}\r\n * onChange={setCompany}\r\n * onInputChange={(_, v) => setInput(v)}\r\n * options={opts}\r\n * loading={loading}\r\n * filterOptions={(x) => x} // disable client-side filter\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Combobox labels={{\r\n * noOptions: \"No results\",\r\n * loading: \"Loading…\",\r\n * clear: \"Clear\",\r\n * close: \"Close\",\r\n * open: \"Open\",\r\n * placeholder: \"Select…\",\r\n * }} />\r\n *\r\n * Defaults are French; partial overrides are merged onto the defaults.\r\n *\r\n * A11y:\r\n * - Built on MuiAutocomplete (full WAI-ARIA combobox pattern).\r\n * - When option.helper is present, it is rendered visually AND\r\n * becomes part of the option's accessible name (so screen-reader\r\n * users hear \"ATPA, Admission Temporaire avec Paiement\" when\r\n * navigating).\r\n * - Loading spinner is decorative (aria-hidden); the listbox already\r\n * announces \"Chargement…\" via the loadingText prop.\r\n * - COMBO-1: Field-injected aria-describedby / aria-invalid / aria-required\r\n * are threaded onto the native <input> via renderInput's htmlInput slot.\r\n * MUI spreads unknown top-level props onto the Autocomplete ROOT, so\r\n * without this the error association / invalid state would never reach\r\n * the combobox input for screen-reader users.\r\n */\r\n\r\nexport type ComboboxOptionValue = string | number | boolean;\r\n\r\nexport interface ComboboxOption {\r\n value: ComboboxOptionValue;\r\n label?: React.ReactNode;\r\n group?: string;\r\n helper?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Loose-but-honest value union used for BOTH the `value` input and the\r\n * `onChange` output, matching the any-based JS: callers may pass bare\r\n * values or option objects (single or array), and onChange re-emits bare\r\n * values (objects unwrapped to their `.value`).\r\n */\r\nexport type ComboboxValue =\r\n | ComboboxOptionValue\r\n | ComboboxOption\r\n | null\r\n | Array<ComboboxOptionValue | ComboboxOption>;\r\n\r\nexport interface ComboboxLabels {\r\n noOptions?: string;\r\n loading?: string;\r\n clear?: string;\r\n close?: string;\r\n open?: string;\r\n placeholder?: string;\r\n}\r\n\r\n/**\r\n * The option generic handed to MUI Autocomplete. It must admit raw\r\n * primitive values (not just option objects) because resolvedValue and\r\n * handleChange deliberately round-trip bare values (a numeric id stored\r\n * by FormikCombobox, a freeSolo string, etc.).\r\n */\r\ntype ComboboxItem = ComboboxOption | ComboboxOptionValue;\r\ntype MuiACProps = AutocompleteProps<ComboboxItem, boolean, false, boolean>;\r\n\r\n/**\r\n * MuiAutocomplete instantiated with `Multiple: boolean` (not a literal) lets\r\n * value/onChange's conditional types distribute naturally into `T | T[]`,\r\n * which is exactly what this component needs to handle both modes at\r\n * runtime from one implementation. MUI's `renderTags`, however, disappears\r\n * from the props type entirely under this instantiation (TS2339) — and,\r\n * per this MUI version, doesn't reappear even when explicitly instantiated\r\n * with the literal `Multiple = true` (TS2344: \"renderTags\" doesn't satisfy\r\n * `keyof AutocompleteProps<..., true, ...>` either). Rather than depend on\r\n * MUI's exact (apparently unstable across instantiations) type surface for\r\n * this one field, declare its shape ourselves — it matches exactly how the\r\n * callback is invoked below (values.map + getTagProps({ index })), and the\r\n * real runtime Autocomplete accepts renderTags regardless of the Multiple\r\n * type param.\r\n *\r\n * Defined once at module scope (not inside the component) so the cast\r\n * doesn't mint a new component identity on every render — that would make\r\n * React unmount/remount the Autocomplete on every parent re-render and drop\r\n * focus/open-state.\r\n */\r\nconst AutocompleteWithTags = MuiAutocomplete as unknown as React.ForwardRefExoticComponent<\r\n MuiACProps & {\r\n renderTags?: (\r\n value: ComboboxItem[],\r\n getTagProps: AutocompleteRenderGetTagProps\r\n ) => React.ReactNode;\r\n } & React.RefAttributes<HTMLDivElement>\r\n>;\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n noOptions: \"Aucun résultat\",\r\n loading: \"Chargement…\",\r\n clear: \"Effacer\",\r\n close: \"Fermer\",\r\n open: \"Ouvrir\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst normaliseOption = (o: string | ComboboxOption): ComboboxOption =>\r\n typeof o === \"string\" ? { value: o, label: o } : o;\r\n\r\nexport interface ComboboxProps\r\n extends Omit<\r\n MuiACProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"options\"\r\n | \"multiple\"\r\n | \"freeSolo\"\r\n | \"renderInput\"\r\n | \"renderTags\"\r\n | \"renderOption\"\r\n | \"getOptionLabel\"\r\n | \"isOptionEqualToValue\"\r\n | \"groupBy\"\r\n | \"filterOptions\"\r\n | \"onInputChange\"\r\n | \"loading\"\r\n | \"disabled\"\r\n | \"fullWidth\"\r\n | \"sx\"\r\n // AutocompleteProps carries its own loosely-typed `ref` (Ref<unknown>,\r\n // for its polymorphic root support) that isn't the \"real\" ref for this\r\n // component. Exclude it here so it never enters ComboboxProps as an\r\n // inherited field — the actual ref (RefAttributes<HTMLDivElement>) comes\r\n // from this component's own React.forwardRef below. Without this,\r\n // Omit<ComboboxProps, ...>-based prop types (e.g. FormikComboboxProps)\r\n // silently carry the stray ref through into their ...rest spreads.\r\n | \"ref\"\r\n > {\r\n value?: ComboboxValue;\r\n onChange?: (value: ComboboxValue) => void;\r\n options?: Array<string | ComboboxOption>;\r\n multiple?: boolean;\r\n freeSolo?: boolean;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n error?: boolean;\r\n fullWidth?: boolean;\r\n loading?: boolean;\r\n groupBy?: (option: ComboboxItem) => string;\r\n getOptionLabel?: (option: ComboboxItem) => string;\r\n isOptionEqualToValue?: (option: ComboboxItem, value: ComboboxItem) => boolean;\r\n filterOptions?: MuiACProps[\"filterOptions\"];\r\n renderOption?: MuiACProps[\"renderOption\"];\r\n onInputChange?: MuiACProps[\"onInputChange\"];\r\n labels?: ComboboxLabels;\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nconst Combobox = React.forwardRef<HTMLDivElement, ComboboxProps>(function Combobox(\r\n {\r\n value,\r\n onChange,\r\n options = [],\r\n multiple = false,\r\n freeSolo = false,\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n loading = false,\r\n groupBy,\r\n getOptionLabel,\r\n isOptionEqualToValue,\r\n filterOptions,\r\n renderOption,\r\n onInputChange,\r\n labels,\r\n sx,\r\n // COMBO-1 — pulled out of ...rest so they DON'T land on the Autocomplete\r\n // root; threaded onto the native <input> in renderInput below.\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n // Legacy `placeholder` prop wins over labels.placeholder.\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n const normalised = React.useMemo(() => options.map(normaliseOption), [options]);\r\n\r\n // Default groupBy — uses option.group if any option has one.\r\n const autoGroupBy = React.useMemo((): ((option: ComboboxItem) => string) | undefined => {\r\n if (groupBy) return groupBy;\r\n if (normalised.some((o) => o && typeof o === \"object\" && o.group)) {\r\n return (o: ComboboxItem): string => (o && typeof o === \"object\" ? o.group || \"\" : \"\");\r\n }\r\n return undefined;\r\n }, [normalised, groupBy]);\r\n\r\n const labelOf = React.useCallback(\r\n (o: ComboboxItem): string => {\r\n if (getOptionLabel) return getOptionLabel(o);\r\n if (o == null) return \"\";\r\n if (typeof o === \"string\") return o;\r\n const obj = o as ComboboxOption;\r\n return String(obj.label ?? obj.value ?? \"\");\r\n },\r\n [getOptionLabel]\r\n );\r\n\r\n const eqOf = React.useCallback(\r\n (opt: ComboboxItem, val: unknown): boolean => {\r\n if (isOptionEqualToValue) return isOptionEqualToValue(opt, val as ComboboxItem);\r\n if (opt == null || val == null) return opt === val;\r\n const a = typeof opt === \"string\" ? opt : (opt as ComboboxOption).value;\r\n // B-eq: primitives (numbers, booleans) are compared as-is.\r\n // Previously `val.value` for a non-string, non-object value\r\n // (e.g. a numeric id stored by FormikCombobox via setFieldValue)\r\n // resolved to undefined, so the lookup never matched and the\r\n // selected option was never visually reflected after picking.\r\n const b =\r\n typeof val === \"string\" ? val\r\n : (val !== null && typeof val === \"object\") ? (val as { value?: unknown }).value\r\n : val; // number, boolean, etc. — use the primitive directly\r\n return a === b;\r\n },\r\n [isOptionEqualToValue]\r\n );\r\n\r\n const handleChange = (\r\n _event: React.SyntheticEvent,\r\n next: ComboboxItem | ComboboxItem[] | null\r\n ): void => {\r\n if (!onChange) return;\r\n // Re-emit raw value(s) — strings stay strings, objects get unwrapped to\r\n // their `.value` so callers don't have to deal with the option shape.\r\n if (multiple) {\r\n const arr = Array.isArray(next) ? next : [];\r\n const out = arr.map((n) => (typeof n === \"string\" ? n : (n as ComboboxOption).value ?? n));\r\n onChange(out);\r\n return;\r\n }\r\n if (next == null) {\r\n onChange(null);\r\n } else {\r\n const single = next as ComboboxItem;\r\n onChange(typeof single === \"string\" ? single : (single as ComboboxOption).value ?? single);\r\n }\r\n };\r\n\r\n // Resolve raw value(s) back to option objects so MUI Autocomplete can\r\n // display labels properly.\r\n const resolvedValue = React.useMemo(() => {\r\n if (multiple) {\r\n const arr = Array.isArray(value) ? value : [];\r\n return arr.map(\r\n (v) =>\r\n normalised.find((o) => eqOf(o, v)) ||\r\n (typeof v === \"string\" ? { value: v, label: v } : v)\r\n );\r\n }\r\n if (value == null || value === \"\") return null;\r\n return (\r\n normalised.find((o) => eqOf(o, value)) ||\r\n (typeof value === \"string\" ? { value, label: value } : (value as ComboboxItem))\r\n );\r\n }, [value, normalised, multiple, eqOf]);\r\n\r\n // Auto-render helper text when at least one option has one. Hosts can\r\n // override entirely by passing their own renderOption.\r\n const anyHelper = normalised.some(\r\n (o) => o && typeof o === \"object\" && o.helper != null && o.helper !== \"\"\r\n );\r\n const effectiveRenderOption: MuiACProps[\"renderOption\"] = React.useMemo(() => {\r\n if (renderOption) return renderOption;\r\n if (!anyHelper) return undefined;\r\n // MUI Autocomplete passes (props, option, state) — `props` already\r\n // carries the correct <li> role/id/aria-selected. We render the\r\n // option content inside it; the helper line is in-flow text so it\r\n // becomes part of the option's accessible name automatically.\r\n return (props: React.HTMLAttributes<HTMLLIElement>, option: ComboboxItem): React.ReactNode => {\r\n const label = labelOf(option);\r\n const helper = option && typeof option === \"object\" ? option.helper : null;\r\n const optValue = typeof option === \"object\" && option !== null ? option.value : undefined;\r\n const optionKey: React.Key =\r\n optValue == null ? label\r\n : typeof optValue === \"boolean\" ? String(optValue)\r\n : optValue;\r\n return (\r\n <li {...props} key={optionKey}>\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", paddingY: 0.25, minWidth: 0 }}>\r\n <Box component=\"span\" sx={{ fontSize: \"var(--text-sm)\", color: \"var(--fg)\" }}>\r\n {label}\r\n </Box>\r\n {helper && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {helper}\r\n </Box>\r\n )}\r\n </Box>\r\n </li>\r\n );\r\n };\r\n }, [renderOption, anyHelper, labelOf]);\r\n\r\n return (\r\n <AutocompleteWithTags\r\n ref={ref}\r\n multiple={multiple}\r\n freeSolo={freeSolo}\r\n disabled={disabled}\r\n fullWidth={fullWidth}\r\n value={resolvedValue}\r\n onChange={handleChange}\r\n onInputChange={onInputChange}\r\n options={normalised}\r\n loading={loading}\r\n groupBy={autoGroupBy}\r\n getOptionLabel={labelOf}\r\n isOptionEqualToValue={eqOf}\r\n filterOptions={filterOptions}\r\n renderOption={effectiveRenderOption}\r\n noOptionsText={L.noOptions}\r\n loadingText={L.loading}\r\n clearText={L.clear}\r\n closeText={L.close}\r\n openText={L.open}\r\n size=\"small\"\r\n renderTags={(values: ComboboxItem[], getTagProps: AutocompleteRenderGetTagProps) =>\r\n values.map((option: ComboboxItem, index: number) => {\r\n const rawVal =\r\n typeof option === \"object\" && option !== null ? option.value : option;\r\n const tagKey: React.Key =\r\n rawVal == null ? index\r\n : typeof rawVal === \"boolean\" ? String(rawVal)\r\n : rawVal;\r\n return (\r\n <MuiChip\r\n {...getTagProps({ index })}\r\n key={tagKey}\r\n size=\"small\"\r\n label={labelOf(option)}\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })\r\n }\r\n renderInput={(params) => {\r\n // MUI v9: the bag passed to renderInput carries the input slot props\r\n // at `params.slotProps.input` AND — crucially — the input element ref\r\n // at `params.slotProps.htmlInput.ref`, which MUI's Autocomplete\r\n // focuses on click. We must NOT rebuild slotProps from scratch (that\r\n // drops htmlInput → MUI focuses null → \"Cannot read properties of null\r\n // (reading 'focus')\"). Instead, spread the whole params.slotProps and\r\n // only override the input slot's endAdornment. inputSlot is annotated\r\n // as { endAdornment? } so the runtime spread still forwards htmlInput.\r\n // params.InputProps was the pre-v9 TextField prop, fully replaced by\r\n // params.slotProps.input — no longer exists on AutocompleteRenderInputParams.\r\n const paramsSlotProps = params.slotProps ?? {};\r\n const inputSlot: { endAdornment?: React.ReactNode } =\r\n params.slotProps?.input ?? {};\r\n return (\r\n <TextField\r\n {...params}\r\n placeholder={effectivePlaceholder}\r\n error={!!error}\r\n slotProps={{\r\n ...paramsSlotProps,\r\n // COMBO-1 — merge Field's aria onto the native <input>. Spread\r\n // MUI's existing htmlInput FIRST to keep its ref + combobox aria\r\n // (role/aria-expanded/aria-controls/aria-activedescendant); add\r\n // ours only when defined (exactOptionalPropertyTypes-safe).\r\n htmlInput: {\r\n ...(params.slotProps?.htmlInput ?? {}),\r\n ...(ariaDescribedBy != null ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n },\r\n input: {\r\n ...inputSlot,\r\n endAdornment: (\r\n <>\r\n {/* R-Ar.3 — decorative spinner. The listbox already announces\r\n via the loadingText prop; making the spinner a second\r\n progressbar in the AT tree would just create duplicate\r\n noise. */}\r\n {loading ? (\r\n <CircularProgress\r\n size={14}\r\n aria-hidden=\"true\"\r\n role=\"presentation\"\r\n sx={{ marginRight: 0.5 }}\r\n />\r\n ) : null}\r\n {inputSlot.endAdornment}\r\n </>\r\n ),\r\n },\r\n }}\r\n />\r\n );\r\n }}\r\n sx={sx}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\nexport default Combobox;\r\n"],"mappings":"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","ignoreList":[]}