@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,517 @@
1
+ "use strict";
2
+
3
+ require("@testing-library/jest-dom");
4
+ var React = _interopRequireWildcard(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
7
+ var _useFocusTrap = _interopRequireDefault(require("../hooks/useFocusTrap"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ 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); }
11
+ 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; }
12
+ 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); }
13
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
14
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
15
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
16
+ 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; }
17
+ 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; }
18
+ 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; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
+ 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); } /* ── jsdom LAYOUT SHIM — REQUIRED, NOT A CONVENIENCE ────────────────────────
21
+ *
22
+ * Without this, EVERY test in this file fails at its first `waitFor`, with focus
23
+ * sitting on <body>. The cause is not the hook:
24
+ *
25
+ * `useFocusTrap.isVisuallyFocusable` rejects an element whose
26
+ * `getClientRects()` is empty — a cheap, correct test for `display:none` and
27
+ * `visibility:hidden` in a real browser.
28
+ *
29
+ * jsdom PERFORMS NO LAYOUT. `getClientRects()` returns an empty list for every
30
+ * element, always. So the filter discards all candidates, `getFocusable()`
31
+ * returns `[]`, nothing is focused, and all eight assertions fail for one
32
+ * reason that has nothing to do with focus management.
33
+ *
34
+ * This shim gives every element a non-zero rect so the visibility filter behaves
35
+ * as it does in a browser. It does NOT weaken the tests: the hook's other
36
+ * exclusions — `disabled`, `aria-disabled`, and the ancestor walk for `hidden` /
37
+ * `aria-hidden` / `inert` — are all ATTRIBUTE-based, work correctly in jsdom, and
38
+ * remain fully exercised (see the "disabled / aria-hidden filtering" block).
39
+ *
40
+ * ⚠ Diagnosed during the procuration-portnet-fe certification audit, where these
41
+ * eight failures were initially suspected of being a real WCAG R-M.2 breach
42
+ * across all consuming modules. They were not. Do NOT "fix" this by relaxing the
43
+ * rect check in the hook — that check is what stops a trap focusing an invisible
44
+ * control in production.
45
+ *
46
+ * Restored in `afterAll` so the patch cannot leak into other suites. */
47
+ var realGetClientRects = Element.prototype.getClientRects;
48
+ beforeAll(function () {
49
+ Element.prototype.getClientRects = function getClientRects() {
50
+ var rect = {
51
+ x: 0,
52
+ y: 0,
53
+ top: 0,
54
+ left: 0,
55
+ right: 10,
56
+ bottom: 10,
57
+ width: 10,
58
+ height: 10,
59
+ toJSON: function toJSON() {
60
+ return {};
61
+ }
62
+ };
63
+ var list = [rect];
64
+ return Object.assign(list, {
65
+ item: function item(i) {
66
+ var _list$i;
67
+ return (_list$i = list[i]) !== null && _list$i !== void 0 ? _list$i : null;
68
+ }
69
+ });
70
+ };
71
+ });
72
+ afterAll(function () {
73
+ Element.prototype.getClientRects = realGetClientRects;
74
+ });
75
+
76
+ /**
77
+ * Smoke + contract tests for the Batch 3 useFocusTrap refactor.
78
+ *
79
+ * Test harness — a minimal trap container component. Defaults to
80
+ * active=true so tests don't have to flip props.
81
+ */
82
+
83
+ function Trapped(_ref) {
84
+ var children = _ref.children,
85
+ _ref$active = _ref.active,
86
+ active = _ref$active === void 0 ? true : _ref$active,
87
+ containerProps = _ref.containerProps;
88
+ var ref = React.useRef(null);
89
+ (0, _useFocusTrap["default"])(ref, active);
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
91
+ ref: ref
92
+ }, containerProps), {}, {
93
+ children: children
94
+ }));
95
+ }
96
+
97
+ /**
98
+ * Returns whether `el` currently has focus, without touching
99
+ * document.activeElement directly (testing-library/no-node-access) —
100
+ * delegates to jest-dom's toHaveFocus() matcher and converts its pass/fail
101
+ * into a boolean so several candidates can be checked in a single
102
+ * "focus is on ONE of these" assertion (see the "outer trap resumes" test).
103
+ */
104
+ function isFocused(el) {
105
+ try {
106
+ expect(el).toHaveFocus();
107
+ return true;
108
+ } catch (_unused) {
109
+ return false;
110
+ }
111
+ }
112
+ afterEach(function () {
113
+ (0, _react2.cleanup)();
114
+ });
115
+ describe("useFocusTrap — initial focus", function () {
116
+ test("focuses the first focusable element when activated", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
117
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
118
+ while (1) {
119
+ switch (_context.prev = _context.next) {
120
+ case 0:
121
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
122
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
123
+ children: "First"
124
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
125
+ children: "Second"
126
+ })]
127
+ }));
128
+ _context.next = 3;
129
+ return (0, _react2.waitFor)(function () {
130
+ expect(_react2.screen.getByRole("button", {
131
+ name: "First"
132
+ })).toHaveFocus();
133
+ });
134
+ case 3:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }
139
+ }, _callee);
140
+ })));
141
+ test("[autofocus] priority wins over the first focusable", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
142
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
143
+ while (1) {
144
+ switch (_context2.prev = _context2.next) {
145
+ case 0:
146
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
147
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
148
+ children: "First"
149
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
150
+ autoFocus: true,
151
+ children: "Auto"
152
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
153
+ children: "Last"
154
+ })]
155
+ }));
156
+ _context2.next = 3;
157
+ return (0, _react2.waitFor)(function () {
158
+ expect(_react2.screen.getByRole("button", {
159
+ name: "Auto"
160
+ })).toHaveFocus();
161
+ });
162
+ case 3:
163
+ case "end":
164
+ return _context2.stop();
165
+ }
166
+ }
167
+ }, _callee2);
168
+ })));
169
+ test("[data-autofocus] priority is honoured (alternative attribute)", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
170
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
171
+ while (1) {
172
+ switch (_context3.prev = _context3.next) {
173
+ case 0:
174
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
175
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
176
+ children: "First"
177
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
178
+ "data-autofocus": true,
179
+ children: "Marker"
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
181
+ children: "Last"
182
+ })]
183
+ }));
184
+ _context3.next = 3;
185
+ return (0, _react2.waitFor)(function () {
186
+ expect(_react2.screen.getByRole("button", {
187
+ name: "Marker"
188
+ })).toHaveFocus();
189
+ });
190
+ case 3:
191
+ case "end":
192
+ return _context3.stop();
193
+ }
194
+ }
195
+ }, _callee3);
196
+ })));
197
+ test("does not crash when the trap container is empty", function () {
198
+ expect(function () {
199
+ return (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Trapped, {
200
+ containerProps: {
201
+ "data-testid": "empty"
202
+ }
203
+ }));
204
+ }).not.toThrow();
205
+ });
206
+ });
207
+ describe("useFocusTrap — Tab cycling", function () {
208
+ test("Tab cycles forward and wraps to the first element", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
209
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
210
+ while (1) {
211
+ switch (_context4.prev = _context4.next) {
212
+ case 0:
213
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
214
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
215
+ children: "First"
216
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
217
+ children: "Second"
218
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
219
+ children: "Third"
220
+ })]
221
+ }));
222
+ _context4.next = 3;
223
+ return (0, _react2.waitFor)(function () {
224
+ expect(_react2.screen.getByRole("button", {
225
+ name: "First"
226
+ })).toHaveFocus();
227
+ });
228
+ case 3:
229
+ _context4.next = 5;
230
+ return _userEvent["default"].tab();
231
+ case 5:
232
+ expect(_react2.screen.getByRole("button", {
233
+ name: "Second"
234
+ })).toHaveFocus();
235
+ _context4.next = 8;
236
+ return _userEvent["default"].tab();
237
+ case 8:
238
+ expect(_react2.screen.getByRole("button", {
239
+ name: "Third"
240
+ })).toHaveFocus();
241
+
242
+ // Wrap from last to first
243
+ _context4.next = 11;
244
+ return _userEvent["default"].tab();
245
+ case 11:
246
+ expect(_react2.screen.getByRole("button", {
247
+ name: "First"
248
+ })).toHaveFocus();
249
+ case 12:
250
+ case "end":
251
+ return _context4.stop();
252
+ }
253
+ }
254
+ }, _callee4);
255
+ })));
256
+ test("Shift+Tab from the first wraps to the last", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
257
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
258
+ while (1) {
259
+ switch (_context5.prev = _context5.next) {
260
+ case 0:
261
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
262
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
263
+ children: "First"
264
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
265
+ children: "Second"
266
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
267
+ children: "Last"
268
+ })]
269
+ }));
270
+ _context5.next = 3;
271
+ return (0, _react2.waitFor)(function () {
272
+ expect(_react2.screen.getByRole("button", {
273
+ name: "First"
274
+ })).toHaveFocus();
275
+ });
276
+ case 3:
277
+ _context5.next = 5;
278
+ return _userEvent["default"].tab({
279
+ shift: true
280
+ });
281
+ case 5:
282
+ expect(_react2.screen.getByRole("button", {
283
+ name: "Last"
284
+ })).toHaveFocus();
285
+ case 6:
286
+ case "end":
287
+ return _context5.stop();
288
+ }
289
+ }
290
+ }, _callee5);
291
+ })));
292
+ });
293
+ describe("useFocusTrap — disabled / aria-hidden filtering", function () {
294
+ test("disabled buttons are skipped during cycling", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
295
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
296
+ while (1) {
297
+ switch (_context6.prev = _context6.next) {
298
+ case 0:
299
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
300
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
301
+ children: "First"
302
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
303
+ disabled: true,
304
+ children: "Disabled"
305
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
306
+ children: "Third"
307
+ })]
308
+ }));
309
+ _context6.next = 3;
310
+ return (0, _react2.waitFor)(function () {
311
+ expect(_react2.screen.getByRole("button", {
312
+ name: "First"
313
+ })).toHaveFocus();
314
+ });
315
+ case 3:
316
+ _context6.next = 5;
317
+ return _userEvent["default"].tab();
318
+ case 5:
319
+ expect(_react2.screen.getByRole("button", {
320
+ name: "Third"
321
+ })).toHaveFocus();
322
+ case 6:
323
+ case "end":
324
+ return _context6.stop();
325
+ }
326
+ }
327
+ }, _callee6);
328
+ })));
329
+ test("[aria-hidden=true] subtree is excluded from the cycle boundary", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
330
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
331
+ while (1) {
332
+ switch (_context7.prev = _context7.next) {
333
+ case 0:
334
+ /* WHY THE aria-hidden SUBTREE IS LAST, AND WHY THIS ASSERTS THE WRAP
335
+ *
336
+ * This test previously placed the aria-hidden subtree in the MIDDLE and
337
+ * expected a single Tab to jump First → Third. It failed, and the hook was
338
+ * not at fault: of the three attributes isVisuallyFocusable walks,
339
+ * `hidden` and `inert` remove an element from the NATIVE tab order, but
340
+ * `aria-hidden` does NOT — per spec it annotates the accessibility tree
341
+ * only. useFocusTrap intercepts Tab at the cycle BOUNDARIES (first/last)
342
+ * and defers mid-cycle moves to the browser, so a native Tab lands on the
343
+ * aria-hidden button no matter what getFocusable() returned.
344
+ *
345
+ * A focusable control inside aria-hidden="true" is a CONTENT defect (axe
346
+ * `aria-hidden-focus`); use `inert` (or `hidden`) to take a subtree out of
347
+ * interaction. What the filter genuinely guarantees is that such an element
348
+ * is never treated as the cycle's first/last — so the trap never DELIVERS
349
+ * focus into it. That is what is asserted here: with the subtree last,
350
+ * `last` is still "Third", so Tab from Third wraps to First instead of
351
+ * proceeding natively into "Hidden".
352
+ *
353
+ * Do NOT restore the mid-cycle form without also converting the hook to
354
+ * intercept every Tab — see the boundary-scope note in useFocusTrap.ts. */
355
+ (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
356
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
357
+ children: "First"
358
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
359
+ children: "Third"
360
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
361
+ "aria-hidden": "true",
362
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
363
+ children: "Hidden"
364
+ })
365
+ })]
366
+ }));
367
+ _context7.next = 3;
368
+ return (0, _react2.waitFor)(function () {
369
+ expect(_react2.screen.getByRole("button", {
370
+ name: "First"
371
+ })).toHaveFocus();
372
+ });
373
+ case 3:
374
+ _context7.next = 5;
375
+ return _userEvent["default"].tab();
376
+ case 5:
377
+ expect(_react2.screen.getByRole("button", {
378
+ name: "Third"
379
+ })).toHaveFocus();
380
+
381
+ // "Third" is the LAST focusable the trap recognises: the aria-hidden
382
+ // button is filtered out, so Tab wraps rather than entering it.
383
+ _context7.next = 8;
384
+ return _userEvent["default"].tab();
385
+ case 8:
386
+ expect(_react2.screen.getByRole("button", {
387
+ name: "First"
388
+ })).toHaveFocus();
389
+ case 9:
390
+ case "end":
391
+ return _context7.stop();
392
+ }
393
+ }
394
+ }, _callee7);
395
+ })));
396
+ });
397
+ describe("useFocusTrap — nested traps (Batch 3 stack contract)", function () {
398
+ /**
399
+ * Nested-trap harness. Outer trap is always-active; inner trap is
400
+ * controlled by `innerActive`. When the inner mounts, Tab cycles
401
+ * inside it; when the inner unmounts, the outer trap resumes.
402
+ */
403
+
404
+ function NestedHarness(_ref9) {
405
+ var innerActive = _ref9.innerActive;
406
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
407
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
408
+ children: "Outer-1"
409
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
410
+ children: "Outer-2"
411
+ }), innerActive && /*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
412
+ containerProps: {
413
+ "data-testid": "inner"
414
+ },
415
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
416
+ children: "Inner-A"
417
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
418
+ children: "Inner-B"
419
+ })]
420
+ })]
421
+ });
422
+ }
423
+ test("inner trap takes over Tab cycling when active", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
424
+ var _render, rerender;
425
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
426
+ while (1) {
427
+ switch (_context8.prev = _context8.next) {
428
+ case 0:
429
+ _render = (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
430
+ innerActive: false
431
+ })), rerender = _render.rerender;
432
+ _context8.next = 3;
433
+ return (0, _react2.waitFor)(function () {
434
+ expect(_react2.screen.getByRole("button", {
435
+ name: "Outer-1"
436
+ })).toHaveFocus();
437
+ });
438
+ case 3:
439
+ // Mount the inner trap — it should grab focus and confine Tab.
440
+ rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
441
+ innerActive: true
442
+ }));
443
+ _context8.next = 6;
444
+ return (0, _react2.waitFor)(function () {
445
+ expect(_react2.screen.getByRole("button", {
446
+ name: "Inner-A"
447
+ })).toHaveFocus();
448
+ });
449
+ case 6:
450
+ _context8.next = 8;
451
+ return _userEvent["default"].tab();
452
+ case 8:
453
+ expect(_react2.screen.getByRole("button", {
454
+ name: "Inner-B"
455
+ })).toHaveFocus();
456
+
457
+ // Wrap inside the inner trap, NOT escape to Outer-2.
458
+ _context8.next = 11;
459
+ return _userEvent["default"].tab();
460
+ case 11:
461
+ expect(_react2.screen.getByRole("button", {
462
+ name: "Inner-A"
463
+ })).toHaveFocus();
464
+ case 12:
465
+ case "end":
466
+ return _context8.stop();
467
+ }
468
+ }
469
+ }, _callee8);
470
+ })));
471
+ test("outer trap resumes after inner unmounts", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
472
+ var _render2, rerender, outer1, outer2;
473
+ return _regeneratorRuntime().wrap(function _callee9$(_context9) {
474
+ while (1) {
475
+ switch (_context9.prev = _context9.next) {
476
+ case 0:
477
+ _render2 = (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
478
+ innerActive: true
479
+ })), rerender = _render2.rerender;
480
+ _context9.next = 3;
481
+ return (0, _react2.waitFor)(function () {
482
+ expect(_react2.screen.getByRole("button", {
483
+ name: "Inner-A"
484
+ })).toHaveFocus();
485
+ });
486
+ case 3:
487
+ // Unmount inner. Outer trap should resume duty.
488
+ rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
489
+ innerActive: false
490
+ }));
491
+
492
+ // Tab inside the outer container — must stay inside, not leak to body.
493
+ // (We don't assert the exact focused element after rerender because
494
+ // restoration depends on whether the previously-focused element is
495
+ // still mounted; we DO assert that focus lands on one of the outer
496
+ // buttons — isFocused() catches both "lost to body" and "landed
497
+ // somewhere unexpected" in one check, without reading
498
+ // document.activeElement directly.)
499
+ _context9.next = 6;
500
+ return _userEvent["default"].tab();
501
+ case 6:
502
+ outer1 = _react2.screen.getByRole("button", {
503
+ name: "Outer-1"
504
+ });
505
+ outer2 = _react2.screen.getByRole("button", {
506
+ name: "Outer-2"
507
+ });
508
+ expect(isFocused(outer1) || isFocused(outer2)).toBe(true);
509
+ case 9:
510
+ case "end":
511
+ return _context9.stop();
512
+ }
513
+ }
514
+ }, _callee9);
515
+ })));
516
+ });
517
+ //# sourceMappingURL=useFocusTrap.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusTrap.test.js","names":["require","React","_interopRequireWildcard","_react2","_userEvent","_interopRequireDefault","_useFocusTrap","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","realGetClientRects","Element","getClientRects","beforeAll","rect","x","y","top","left","right","bottom","width","height","toJSON","list","assign","item","_list$i","afterAll","Trapped","_ref","children","_ref$active","active","containerProps","ref","useRef","useFocusTrap","jsx","isFocused","el","expect","toHaveFocus","_unused","afterEach","cleanup","describe","test","_callee","_callee$","_context","render","jsxs","waitFor","screen","getByRole","_callee2","_callee2$","_context2","autoFocus","_callee3","_callee3$","_context3","not","toThrow","_callee4","_callee4$","_context4","userEvent","tab","_callee5","_callee5$","_context5","shift","_callee6","_callee6$","_context6","disabled","_callee7","_callee7$","_context7","NestedHarness","_ref9","innerActive","_callee8","_render","rerender","_callee8$","_context8","_callee9","_render2","outer1","outer2","_callee9$","_context9","toBe"],"sources":["../../../src/lib/v2/__tests__/useFocusTrap.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport * as React from \"react\";\r\nimport { render, waitFor, cleanup, screen } from \"@testing-library/react\";\r\nimport userEvent from \"@testing-library/user-event\";\r\nimport useFocusTrap from \"../hooks/useFocusTrap\";\r\n\r\n/* ── jsdom LAYOUT SHIM — REQUIRED, NOT A CONVENIENCE ────────────────────────\r\n *\r\n * Without this, EVERY test in this file fails at its first `waitFor`, with focus\r\n * sitting on <body>. The cause is not the hook:\r\n *\r\n * `useFocusTrap.isVisuallyFocusable` rejects an element whose\r\n * `getClientRects()` is empty — a cheap, correct test for `display:none` and\r\n * `visibility:hidden` in a real browser.\r\n *\r\n * jsdom PERFORMS NO LAYOUT. `getClientRects()` returns an empty list for every\r\n * element, always. So the filter discards all candidates, `getFocusable()`\r\n * returns `[]`, nothing is focused, and all eight assertions fail for one\r\n * reason that has nothing to do with focus management.\r\n *\r\n * This shim gives every element a non-zero rect so the visibility filter behaves\r\n * as it does in a browser. It does NOT weaken the tests: the hook's other\r\n * exclusions — `disabled`, `aria-disabled`, and the ancestor walk for `hidden` /\r\n * `aria-hidden` / `inert` — are all ATTRIBUTE-based, work correctly in jsdom, and\r\n * remain fully exercised (see the \"disabled / aria-hidden filtering\" block).\r\n *\r\n * ⚠ Diagnosed during the procuration-portnet-fe certification audit, where these\r\n * eight failures were initially suspected of being a real WCAG R-M.2 breach\r\n * across all consuming modules. They were not. Do NOT \"fix\" this by relaxing the\r\n * rect check in the hook — that check is what stops a trap focusing an invisible\r\n * control in production.\r\n *\r\n * Restored in `afterAll` so the patch cannot leak into other suites. */\r\nconst realGetClientRects = Element.prototype.getClientRects;\r\n\r\nbeforeAll(() => {\r\n Element.prototype.getClientRects = function getClientRects(this: Element) {\r\n const rect: DOMRect = {\r\n x: 0,\r\n y: 0,\r\n top: 0,\r\n left: 0,\r\n right: 10,\r\n bottom: 10,\r\n width: 10,\r\n height: 10,\r\n toJSON: () => ({}),\r\n };\r\n const list = [rect];\r\n return Object.assign(list, {\r\n item: (i: number): DOMRect | null => list[i] ?? null,\r\n }) as unknown as DOMRectList;\r\n };\r\n});\r\n\r\nafterAll(() => {\r\n Element.prototype.getClientRects = realGetClientRects;\r\n});\r\n\r\n/**\r\n * Smoke + contract tests for the Batch 3 useFocusTrap refactor.\r\n *\r\n * Test harness — a minimal trap container component. Defaults to\r\n * active=true so tests don't have to flip props.\r\n */\r\ntype ContainerProps = React.HTMLAttributes<HTMLDivElement> & {\r\n [key: `data-${string}`]: string;\r\n};\r\n\r\ninterface TrappedProps {\r\n children?: React.ReactNode;\r\n active?: boolean;\r\n containerProps?: ContainerProps;\r\n}\r\n\r\nfunction Trapped({\r\n children,\r\n active = true,\r\n containerProps,\r\n}: TrappedProps): React.JSX.Element {\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n useFocusTrap(ref, active);\r\n return (\r\n <div ref={ref} {...containerProps}>\r\n {children}\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Returns whether `el` currently has focus, without touching\r\n * document.activeElement directly (testing-library/no-node-access) —\r\n * delegates to jest-dom's toHaveFocus() matcher and converts its pass/fail\r\n * into a boolean so several candidates can be checked in a single\r\n * \"focus is on ONE of these\" assertion (see the \"outer trap resumes\" test).\r\n */\r\nfunction isFocused(el: HTMLElement): boolean {\r\n try {\r\n expect(el).toHaveFocus();\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nafterEach(() => {\r\n cleanup();\r\n});\r\n\r\ndescribe(\"useFocusTrap — initial focus\", () => {\r\n test(\"focuses the first focusable element when activated\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"[autofocus] priority wins over the first focusable\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button autoFocus>Auto</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Auto\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"[data-autofocus] priority is honoured (alternative attribute)\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button data-autofocus>Marker</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Marker\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"does not crash when the trap container is empty\", () => {\r\n expect(() =>\r\n render(<Trapped containerProps={{ \"data-testid\": \"empty\" }} />)\r\n ).not.toThrow();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — Tab cycling\", () => {\r\n test(\"Tab cycles forward and wraps to the first element\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n <button>Third</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Second\" })).toHaveFocus();\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n\r\n // Wrap from last to first\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n test(\"Shift+Tab from the first wraps to the last\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab({ shift: true });\r\n expect(screen.getByRole(\"button\", { name: \"Last\" })).toHaveFocus();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — disabled / aria-hidden filtering\", () => {\r\n test(\"disabled buttons are skipped during cycling\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button disabled>Disabled</button>\r\n <button>Third</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n // Tab should jump from First → Third, skipping Disabled.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n });\r\n\r\n test(\"[aria-hidden=true] subtree is excluded from the cycle boundary\", async () => {\r\n /* WHY THE aria-hidden SUBTREE IS LAST, AND WHY THIS ASSERTS THE WRAP\r\n *\r\n * This test previously placed the aria-hidden subtree in the MIDDLE and\r\n * expected a single Tab to jump First → Third. It failed, and the hook was\r\n * not at fault: of the three attributes isVisuallyFocusable walks,\r\n * `hidden` and `inert` remove an element from the NATIVE tab order, but\r\n * `aria-hidden` does NOT — per spec it annotates the accessibility tree\r\n * only. useFocusTrap intercepts Tab at the cycle BOUNDARIES (first/last)\r\n * and defers mid-cycle moves to the browser, so a native Tab lands on the\r\n * aria-hidden button no matter what getFocusable() returned.\r\n *\r\n * A focusable control inside aria-hidden=\"true\" is a CONTENT defect (axe\r\n * `aria-hidden-focus`); use `inert` (or `hidden`) to take a subtree out of\r\n * interaction. What the filter genuinely guarantees is that such an element\r\n * is never treated as the cycle's first/last — so the trap never DELIVERS\r\n * focus into it. That is what is asserted here: with the subtree last,\r\n * `last` is still \"Third\", so Tab from Third wraps to First instead of\r\n * proceeding natively into \"Hidden\".\r\n *\r\n * Do NOT restore the mid-cycle form without also converting the hook to\r\n * intercept every Tab — see the boundary-scope note in useFocusTrap.ts. */\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Third</button>\r\n <div aria-hidden=\"true\">\r\n <button>Hidden</button>\r\n </div>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n\r\n // \"Third\" is the LAST focusable the trap recognises: the aria-hidden\r\n // button is filtered out, so Tab wraps rather than entering it.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — nested traps (Batch 3 stack contract)\", () => {\r\n /**\r\n * Nested-trap harness. Outer trap is always-active; inner trap is\r\n * controlled by `innerActive`. When the inner mounts, Tab cycles\r\n * inside it; when the inner unmounts, the outer trap resumes.\r\n */\r\n interface NestedHarnessProps {\r\n innerActive: boolean;\r\n }\r\n\r\n function NestedHarness({ innerActive }: NestedHarnessProps): React.JSX.Element {\r\n return (\r\n <Trapped>\r\n <button>Outer-1</button>\r\n <button>Outer-2</button>\r\n {innerActive && (\r\n <Trapped containerProps={{ \"data-testid\": \"inner\" }}>\r\n <button>Inner-A</button>\r\n <button>Inner-B</button>\r\n </Trapped>\r\n )}\r\n </Trapped>\r\n );\r\n }\r\n\r\n test(\"inner trap takes over Tab cycling when active\", async () => {\r\n const { rerender } = render(<NestedHarness innerActive={false} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Outer-1\" })).toHaveFocus();\r\n });\r\n\r\n // Mount the inner trap — it should grab focus and confine Tab.\r\n rerender(<NestedHarness innerActive={true} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Inner-B\" })).toHaveFocus();\r\n\r\n // Wrap inside the inner trap, NOT escape to Outer-2.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n test(\"outer trap resumes after inner unmounts\", async () => {\r\n const { rerender } = render(<NestedHarness innerActive={true} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n // Unmount inner. Outer trap should resume duty.\r\n rerender(<NestedHarness innerActive={false} />);\r\n\r\n // Tab inside the outer container — must stay inside, not leak to body.\r\n // (We don't assert the exact focused element after rerender because\r\n // restoration depends on whether the previously-focused element is\r\n // still mounted; we DO assert that focus lands on one of the outer\r\n // buttons — isFocused() catches both \"lost to body\" and \"landed\r\n // somewhere unexpected\" in one check, without reading\r\n // document.activeElement directly.)\r\n await userEvent.tab();\r\n const outer1 = screen.getByRole(\"button\", { name: \"Outer-1\" });\r\n const outer2 = screen.getByRole(\"button\", { name: \"Outer-2\" });\r\n expect(isFocused(outer1) || isFocused(outer2)).toBe(true);\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}