@portnet/ui 6.0.2 → 6.0.3

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 (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -1 +1 @@
1
- {"version":3,"file":"FieldWidth.test.js","names":["require","_react","_Field","_interopRequireWildcard","_Input","_interopRequireDefault","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","describe","test","expect","FIELD_MAX_WIDTH","xs","toBe","s","m","l","xl","keys","sort","toEqual","render","jsx","label","htmlFor","width","children","screen","getByRole","name","toBeInTheDocument","error","toHaveAccessibleDescription","toHaveAttribute","hint","required","toBeRequired","champ","not","toBeInvalid"],"sources":["../../../src/lib/v2/__tests__/FieldWidth.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport Field, { FIELD_MAX_WIDTH } from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\n\r\n/**\r\n * Field — largeur semantique (gap G-H) : tests de contrat.\r\n *\r\n * CE QUE JSDOM PEUT ET NE PEUT PAS VERIFIER\r\n * -----------------------------------------\r\n * Le plafond n'est pose qu'a partir du palier `sm` — le standard exigeant\r\n * « 100% grid width » sur mobile. Il passe donc par une requete media\r\n * qu'`emotion` injecte dans la feuille de style, et jsdom ne resout pas les\r\n * requetes media : `getComputedStyle` ne rendra jamais la largeur effective au\r\n * palier desktop. Un test de rendu ne PEUT pas l'assertir, et pretendre le\r\n * faire donnerait un test qui passe sans rien verifier.\r\n *\r\n * Ce fichier epingle donc ce qui est verifiable et qui compte :\r\n *\r\n * 1. LES CINQ VALEURS. C'est le point sensible du tour : elles ne se lisent\r\n * pas dans le standard, qui donne des FOURCHETTES — quelqu'un a choisi, et\r\n * ce choix doit etre visible et protege. Si l'equipe design les revoit,\r\n * c'est ce test qui doit etre mis a jour sciemment, pas un ecran qui doit\r\n * bouger par surprise.\r\n *\r\n * 2. QUE `width` NE CASSE PAS LE CABLAGE D'ACCESSIBILITE. `Field` associe\r\n * libelle, indication et erreur au controle ; ajouter une contrainte de\r\n * mise en page ne doit rien y toucher. C'est la regression la plus\r\n * probable d'un changement qui passe par `sx`.\r\n *\r\n * 3. QUE L'OMISSION RESTE NEUTRE. Sans `width`, aucun plafond : les\r\n * appelants d'avant G-H ne doivent pas bouger d'un pixel.\r\n *\r\n * Le comportement responsive lui-meme se verifie dans la story, en\r\n * redimensionnant la fenetre — c'est la que le contrat est observable.\r\n */\r\n\r\ndescribe(\"Field — les cinq gabarits (G-H)\", () => {\r\n test(\"les valeurs sont celles retenues dans la fourchette du standard\", () => {\r\n /* Fourchettes du standard, et valeur retenue (le HAUT, ces largeurs etant\r\n * des plafonds) :\r\n * xs ~80-120 -> 120 s ~160-200 -> 200\r\n * m ~320-400 -> 400 l ~500-600 -> 600\r\n * xl 100%\r\n * Chaque valeur passe par une variable CSS pour etre revue sans toucher au\r\n * code : c'est le repli qui est epingle ici. */\r\n expect(FIELD_MAX_WIDTH.xs).toBe(\"var(--field-w-xs, 120px)\");\r\n expect(FIELD_MAX_WIDTH.s).toBe(\"var(--field-w-s, 200px)\");\r\n expect(FIELD_MAX_WIDTH.m).toBe(\"var(--field-w-m, 400px)\");\r\n expect(FIELD_MAX_WIDTH.l).toBe(\"var(--field-w-l, 600px)\");\r\n expect(FIELD_MAX_WIDTH.xl).toBe(\"100%\");\r\n });\r\n\r\n test(\"les cinq gabarits du standard sont couverts, ni plus ni moins\", () => {\r\n /* Un gabarit ajoute ou retire est un ecart au standard, pas un detail\r\n * d'implementation. */\r\n expect(Object.keys(FIELD_MAX_WIDTH).sort()).toEqual([\r\n \"l\",\r\n \"m\",\r\n \"s\",\r\n \"xl\",\r\n \"xs\",\r\n ]);\r\n });\r\n});\r\n\r\ndescribe(\"Field — `width` ne touche pas au cablage d'accessibilite\", () => {\r\n test(\"le libelle nomme toujours le controle\", () => {\r\n render(\r\n <Field label=\"Identifiant fiscal\" htmlFor=\"ifu\" width=\"s\">\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(\r\n screen.getByRole(\"textbox\", { name: /Identifiant fiscal/ })\r\n ).toBeInTheDocument();\r\n });\r\n\r\n test(\"l'erreur reste la description accessible du controle\", () => {\r\n render(\r\n <Field\r\n label=\"Identifiant fiscal\"\r\n htmlFor=\"ifu\"\r\n width=\"s\"\r\n error=\"Quinze caractères maximum.\"\r\n >\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(screen.getByRole(\"textbox\")).toHaveAccessibleDescription(\r\n \"Quinze caractères maximum.\"\r\n );\r\n expect(screen.getByRole(\"textbox\")).toHaveAttribute(\r\n \"aria-invalid\",\r\n \"true\"\r\n );\r\n });\r\n\r\n test(\"l'indication reste la description accessible du controle\", () => {\r\n render(\r\n <Field\r\n label=\"Adresse\"\r\n htmlFor=\"adresse\"\r\n width=\"l\"\r\n hint=\"Voie, code postal et ville.\"\r\n >\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(screen.getByRole(\"textbox\")).toHaveAccessibleDescription(\r\n \"Voie, code postal et ville.\"\r\n );\r\n });\r\n\r\n test(\"`required` reste annonce comme tel\", () => {\r\n render(\r\n <Field label=\"Marque\" htmlFor=\"marque\" width=\"m\" required>\r\n <Input />\r\n </Field>\r\n );\r\n\r\n /* `toBeRequired` accepte l'attribut NATIF `required` comme `aria-required` :\r\n * c'est volontaire, et c'est la bonne assertion ici.\r\n *\r\n * Les deux mecanismes coexistent dans la library, par des chemins\r\n * differents, et viser l'un des deux nommement rendrait le test faux sans\r\n * que le comportement change :\r\n * — sur un controle MUI (`Input`, `Textarea`), `Field` passe `required`\r\n * au `FormControl`, dont le CONTEXTE le propage jusqu'a l'input, qui\r\n * porte alors l'attribut natif ;\r\n * — sur un groupe (`RadioGroup`), aucun contexte ne s'applique : `Field`\r\n * injecte `aria-required` sur l'enfant, que le groupe transmet a son\r\n * `role=\"radiogroup\"` (voir le test de `FormikRadioGroup`).\r\n *\r\n * Ce qui compte pour R-I.2 est qu'une technologie d'assistance l'annonce,\r\n * pas quel attribut le porte. */\r\n expect(screen.getByRole(\"textbox\")).toBeRequired();\r\n });\r\n});\r\n\r\ndescribe(\"Field — l'omission reste neutre\", () => {\r\n test(\"sans `width`, le champ se rend et se nomme comme avant G-H\", () => {\r\n /* Ce que ce test prouve, et ce qu'il ne prouve pas.\r\n *\r\n * L'absence de plafond n'est PAS assertable : elle se lit dans la feuille\r\n * de style generee par `emotion`, que jsdom ne resout pas plus qu'une\r\n * requete media. Une premiere version comparait le nombre de noeuds avec\r\n * et sans `width` — ce qui exigeait un acces direct au DOM, interdit a\r\n * juste titre par `testing-library/no-node-access` : compter des `<label>`\r\n * teste l'implementation, pas le comportement.\r\n *\r\n * Ce qui EST verifiable et suffit a la retrocompatibilite : sans `width`,\r\n * le controle est rendu, nomme par son libelle, et n'a herite d'aucun etat\r\n * qu'il n'a pas demande. Le plafond, lui, se verifie dans la story. */\r\n render(\r\n <Field label=\"Marque\" htmlFor=\"sans-gabarit\">\r\n <Input />\r\n </Field>\r\n );\r\n\r\n const champ = screen.getByRole(\"textbox\", { name: /Marque/ });\r\n expect(champ).toBeInTheDocument();\r\n expect(champ).not.toBeRequired();\r\n expect(champ).not.toBeInvalid();\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FieldWidth.test.js","names":["require","_react","_Field","_interopRequireWildcard","_Input","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","describe","test","expect","FIELD_MAX_WIDTH","xs","toBe","s","m","l","xl","keys","sort","toEqual","render","jsx","label","htmlFor","width","children","screen","getByRole","name","toBeInTheDocument","error","toHaveAccessibleDescription","toHaveAttribute","hint","required","toBeRequired","champ","not","toBeInvalid"],"sources":["../../../src/lib/v2/__tests__/FieldWidth.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport Field, { FIELD_MAX_WIDTH } from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\n\r\n/**\r\n * Field — largeur semantique (gap G-H) : tests de contrat.\r\n *\r\n * CE QUE JSDOM PEUT ET NE PEUT PAS VERIFIER\r\n * -----------------------------------------\r\n * Le plafond n'est pose qu'a partir du palier `sm` — le standard exigeant\r\n * « 100% grid width » sur mobile. Il passe donc par une requete media\r\n * qu'`emotion` injecte dans la feuille de style, et jsdom ne resout pas les\r\n * requetes media : `getComputedStyle` ne rendra jamais la largeur effective au\r\n * palier desktop. Un test de rendu ne PEUT pas l'assertir, et pretendre le\r\n * faire donnerait un test qui passe sans rien verifier.\r\n *\r\n * Ce fichier epingle donc ce qui est verifiable et qui compte :\r\n *\r\n * 1. LES CINQ VALEURS. C'est le point sensible du tour : elles ne se lisent\r\n * pas dans le standard, qui donne des FOURCHETTES — quelqu'un a choisi, et\r\n * ce choix doit etre visible et protege. Si l'equipe design les revoit,\r\n * c'est ce test qui doit etre mis a jour sciemment, pas un ecran qui doit\r\n * bouger par surprise.\r\n *\r\n * 2. QUE `width` NE CASSE PAS LE CABLAGE D'ACCESSIBILITE. `Field` associe\r\n * libelle, indication et erreur au controle ; ajouter une contrainte de\r\n * mise en page ne doit rien y toucher. C'est la regression la plus\r\n * probable d'un changement qui passe par `sx`.\r\n *\r\n * 3. QUE L'OMISSION RESTE NEUTRE. Sans `width`, aucun plafond : les\r\n * appelants d'avant G-H ne doivent pas bouger d'un pixel.\r\n *\r\n * Le comportement responsive lui-meme se verifie dans la story, en\r\n * redimensionnant la fenetre — c'est la que le contrat est observable.\r\n */\r\n\r\ndescribe(\"Field — les cinq gabarits (G-H)\", () => {\r\n test(\"les valeurs sont celles retenues dans la fourchette du standard\", () => {\r\n /* Fourchettes du standard, et valeur retenue (le HAUT, ces largeurs etant\r\n * des plafonds) :\r\n * xs ~80-120 -> 120 s ~160-200 -> 200\r\n * m ~320-400 -> 400 l ~500-600 -> 600\r\n * xl 100%\r\n * Chaque valeur passe par une variable CSS pour etre revue sans toucher au\r\n * code : c'est le repli qui est epingle ici. */\r\n expect(FIELD_MAX_WIDTH.xs).toBe(\"var(--field-w-xs, 120px)\");\r\n expect(FIELD_MAX_WIDTH.s).toBe(\"var(--field-w-s, 200px)\");\r\n expect(FIELD_MAX_WIDTH.m).toBe(\"var(--field-w-m, 400px)\");\r\n expect(FIELD_MAX_WIDTH.l).toBe(\"var(--field-w-l, 600px)\");\r\n expect(FIELD_MAX_WIDTH.xl).toBe(\"100%\");\r\n });\r\n\r\n test(\"les cinq gabarits du standard sont couverts, ni plus ni moins\", () => {\r\n /* Un gabarit ajoute ou retire est un ecart au standard, pas un detail\r\n * d'implementation. */\r\n expect(Object.keys(FIELD_MAX_WIDTH).sort()).toEqual([\r\n \"l\",\r\n \"m\",\r\n \"s\",\r\n \"xl\",\r\n \"xs\",\r\n ]);\r\n });\r\n});\r\n\r\ndescribe(\"Field — `width` ne touche pas au cablage d'accessibilite\", () => {\r\n test(\"le libelle nomme toujours le controle\", () => {\r\n render(\r\n <Field label=\"Identifiant fiscal\" htmlFor=\"ifu\" width=\"s\">\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(\r\n screen.getByRole(\"textbox\", { name: /Identifiant fiscal/ })\r\n ).toBeInTheDocument();\r\n });\r\n\r\n test(\"l'erreur reste la description accessible du controle\", () => {\r\n render(\r\n <Field\r\n label=\"Identifiant fiscal\"\r\n htmlFor=\"ifu\"\r\n width=\"s\"\r\n error=\"Quinze caractères maximum.\"\r\n >\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(screen.getByRole(\"textbox\")).toHaveAccessibleDescription(\r\n \"Quinze caractères maximum.\"\r\n );\r\n expect(screen.getByRole(\"textbox\")).toHaveAttribute(\r\n \"aria-invalid\",\r\n \"true\"\r\n );\r\n });\r\n\r\n test(\"l'indication reste la description accessible du controle\", () => {\r\n render(\r\n <Field\r\n label=\"Adresse\"\r\n htmlFor=\"adresse\"\r\n width=\"l\"\r\n hint=\"Voie, code postal et ville.\"\r\n >\r\n <Input />\r\n </Field>\r\n );\r\n\r\n expect(screen.getByRole(\"textbox\")).toHaveAccessibleDescription(\r\n \"Voie, code postal et ville.\"\r\n );\r\n });\r\n\r\n test(\"`required` reste annonce comme tel\", () => {\r\n render(\r\n <Field label=\"Marque\" htmlFor=\"marque\" width=\"m\" required>\r\n <Input />\r\n </Field>\r\n );\r\n\r\n /* `toBeRequired` accepte l'attribut NATIF `required` comme `aria-required` :\r\n * c'est volontaire, et c'est la bonne assertion ici.\r\n *\r\n * Les deux mecanismes coexistent dans la library, par des chemins\r\n * differents, et viser l'un des deux nommement rendrait le test faux sans\r\n * que le comportement change :\r\n * — sur un controle MUI (`Input`, `Textarea`), `Field` passe `required`\r\n * au `FormControl`, dont le CONTEXTE le propage jusqu'a l'input, qui\r\n * porte alors l'attribut natif ;\r\n * — sur un groupe (`RadioGroup`), aucun contexte ne s'applique : `Field`\r\n * injecte `aria-required` sur l'enfant, que le groupe transmet a son\r\n * `role=\"radiogroup\"` (voir le test de `FormikRadioGroup`).\r\n *\r\n * Ce qui compte pour R-I.2 est qu'une technologie d'assistance l'annonce,\r\n * pas quel attribut le porte. */\r\n expect(screen.getByRole(\"textbox\")).toBeRequired();\r\n });\r\n});\r\n\r\ndescribe(\"Field — l'omission reste neutre\", () => {\r\n test(\"sans `width`, le champ se rend et se nomme comme avant G-H\", () => {\r\n /* Ce que ce test prouve, et ce qu'il ne prouve pas.\r\n *\r\n * L'absence de plafond n'est PAS assertable : elle se lit dans la feuille\r\n * de style generee par `emotion`, que jsdom ne resout pas plus qu'une\r\n * requete media. Une premiere version comparait le nombre de noeuds avec\r\n * et sans `width` — ce qui exigeait un acces direct au DOM, interdit a\r\n * juste titre par `testing-library/no-node-access` : compter des `<label>`\r\n * teste l'implementation, pas le comportement.\r\n *\r\n * Ce qui EST verifiable et suffit a la retrocompatibilite : sans `width`,\r\n * le controle est rendu, nomme par son libelle, et n'a herite d'aucun etat\r\n * qu'il n'a pas demande. Le plafond, lui, se verifie dans la story. */\r\n render(\r\n <Field label=\"Marque\" htmlFor=\"sans-gabarit\">\r\n <Input />\r\n </Field>\r\n );\r\n\r\n const champ = screen.getByRole(\"textbox\", { name: /Marque/ });\r\n expect(champ).toBeInTheDocument();\r\n expect(champ).not.toBeRequired();\r\n expect(champ).not.toBeInvalid();\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ require("@testing-library/jest-dom");
4
4
  var _react = require("@testing-library/react");
5
5
  var _FileCard = _interopRequireDefault(require("../components/FileCard"));
6
6
  var _jsxRuntime = require("react/jsx-runtime");
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
8
  /**
9
9
  * FileCard — contract tests.
10
10
  *
@@ -26,10 +26,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
26
26
  * contract lives in FileCard.stories.tsx ("Long filename"), which is where a
27
27
  * browser can actually check it. Same reasoning as MobileRowCard.test.tsx
28
28
  * records for R-G.3.
29
- */describe("FileCard — identity", function () {
30
- test("renders the filename and mirrors it into title for the truncated case", function () {
31
- var name = "autorisation-de-depot-prealable-a-l-exportation-2025-IM-0042-revision-finale.pdf";
32
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
29
+ */describe("FileCard — identity", () => {
30
+ test("renders the filename and mirrors it into title for the truncated case", () => {
31
+ const name = "autorisation-de-depot-prealable-a-l-exportation-2025-IM-0042-revision-finale.pdf";
32
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
33
33
  name: name
34
34
  }));
35
35
 
@@ -39,14 +39,14 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
39
39
  * screenshot and only hurts the user with the long filename. */
40
40
  expect(_react.screen.getByText(name)).toHaveAttribute("title", name);
41
41
  });
42
- test("renders the meta line when supplied", function () {
43
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
42
+ test("renders the meta line when supplied", () => {
43
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
44
44
  name: "facture.pdf",
45
45
  meta: "1,24 Mo"
46
46
  }));
47
47
  expect(_react.screen.getByText("1,24 Mo")).toBeInTheDocument();
48
48
  });
49
- test("omits the meta line entirely when absent or empty", function () {
49
+ test("omits the meta line entirely when absent or empty", () => {
50
50
  /* Not rendered rather than rendered blank: an empty second line reads as
51
51
  * missing data, and it changes the row height, which breaks the alignment
52
52
  * of a list of files. Both `undefined` and `""` are covered because a host
@@ -56,27 +56,28 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
56
56
  * cannot be expressed as a text query, and the repo's eslint config forbids
57
57
  * direct node access — correctly, since a structural child count would also
58
58
  * break the moment the component gains an unrelated third line. */
59
- var _render = (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
60
- name: "a.pdf"
61
- })),
62
- rerender = _render.rerender;
59
+ const {
60
+ rerender
61
+ } = (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
62
+ name: "a.pdf"
63
+ }));
63
64
  expect(_react.screen.getByText("a.pdf")).toBeInTheDocument();
64
65
  expect(_react.screen.queryByTestId("filecard-meta")).not.toBeInTheDocument();
65
- rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
66
+ rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
66
67
  name: "a.pdf",
67
68
  meta: ""
68
69
  }));
69
70
  expect(_react.screen.queryByTestId("filecard-meta")).not.toBeInTheDocument();
70
- rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
71
+ rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
71
72
  name: "a.pdf",
72
73
  meta: "248 Ko"
73
74
  }));
74
75
  expect(_react.screen.getByTestId("filecard-meta")).toHaveTextContent("248 Ko");
75
76
  });
76
77
  });
77
- describe("FileCard — actions slot", function () {
78
- test("renders host-supplied actions", function () {
79
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
78
+ describe("FileCard — actions slot", () => {
79
+ test("renders host-supplied actions", () => {
80
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
80
81
  name: "a.pdf",
81
82
  actions: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
82
83
  type: "button",
@@ -87,18 +88,18 @@ describe("FileCard — actions slot", function () {
87
88
  name: "Télécharger"
88
89
  })).toBeInTheDocument();
89
90
  });
90
- test("renders no action cluster when actions is absent", function () {
91
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
91
+ test("renders no action cluster when actions is absent", () => {
92
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
92
93
  name: "a.pdf"
93
94
  }));
94
95
  expect(_react.screen.queryByRole("button")).not.toBeInTheDocument();
95
96
  });
96
- test("does not invent any action of its own", function () {
97
+ test("does not invent any action of its own", () => {
97
98
  /* Regression guard on the component's SCOPE, not its rendering. FileCard is
98
99
  * presentational: a download link, a delete confirmation and a blob URL all
99
100
  * belong to the host. If a future change adds a built-in button, this fails
100
101
  * — which is the intent. */
101
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
102
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
102
103
  name: "a.pdf",
103
104
  meta: "1 Ko"
104
105
  }));
@@ -106,21 +107,21 @@ describe("FileCard — actions slot", function () {
106
107
  expect(_react.screen.queryByRole("link")).not.toBeInTheDocument();
107
108
  });
108
109
  });
109
- describe("FileCard — accessibility", function () {
110
- test("the leading icon is hidden from assistive tech", function () {
110
+ describe("FileCard — accessibility", () => {
111
+ test("the leading icon is hidden from assistive tech", () => {
111
112
  /* R-Ar.2 — the filename IS the accessible name; a decorative glyph carrying
112
113
  * one would make a screen reader announce the row twice. The wrapper has no
113
114
  * role and no name by design, so there is no semantic query for it: the
114
115
  * component exposes a stable testid for exactly this assertion. */
115
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
116
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
116
117
  name: "a.pdf"
117
118
  }));
118
119
  expect(_react.screen.getByTestId("filecard-icon")).toHaveAttribute("aria-hidden", "true");
119
120
  });
120
- test("a custom icon replaces the default and stays hidden", function () {
121
+ test("a custom icon replaces the default and stays hidden", () => {
121
122
  /* The second assertion is the one that matters: a host passing its own glyph
122
123
  * must not be able to leak it into the accessibility tree. */
123
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
124
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
124
125
  name: "a.pdf",
125
126
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
126
127
  "data-testid": "custom"
@@ -129,12 +130,12 @@ describe("FileCard — accessibility", function () {
129
130
  expect(_react.screen.getByTestId("custom")).toBeInTheDocument();
130
131
  expect(_react.screen.getByTestId("filecard-icon")).toHaveAttribute("aria-hidden", "true");
131
132
  });
132
- test("carries no role of its own", function () {
133
+ test("carries no role of its own", () => {
133
134
  /* The card is not interactive — only its actions are. Giving it role=button
134
135
  * or wrapping it in a group without an accessible name would add noise to
135
136
  * the SR tree. Asserted so a future "make the whole row clickable" change
136
137
  * has to be a deliberate decision rather than a drive-by. */
137
- (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard["default"], {
138
+ (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_FileCard.default, {
138
139
  name: "a.pdf"
139
140
  }));
140
141
  expect(_react.screen.queryByRole("button")).not.toBeInTheDocument();
@@ -1 +1 @@
1
- {"version":3,"file":"FileCard.test.js","names":["require","_react","_FileCard","_interopRequireDefault","_jsxRuntime","obj","__esModule","describe","test","name","render","jsx","expect","screen","getByText","toHaveAttribute","meta","toBeInTheDocument","_render","rerender","queryByTestId","not","getByTestId","toHaveTextContent","actions","type","children","getByRole","queryByRole","icon"],"sources":["../../../src/lib/v2/__tests__/FileCard.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport FileCard from \"../components/FileCard\";\r\n\r\n/**\r\n * FileCard — contract tests.\r\n *\r\n * WHY THIS FILE EXISTS\r\n * --------------------\r\n * §10.3 R-G.6 MUST — \"Snapshot Storybook + tests Jest/Testing-Library\". The\r\n * component was extracted from THREE hand-written copies found in addpe-fe\r\n * (Attachment, AutorisationPreviewDrawer, AutorisationDetail), which had drifted\r\n * to three different paddings for one concept. Consolidating them means a single\r\n * change now moves every attachment row in the fleet, so the contracts below are\r\n * the ones that must not move silently.\r\n *\r\n * NOT COVERED — deliberately\r\n * The width negotiation is the most fragile part of this component and it is\r\n * NOT tested here: `text-overflow: ellipsis`, `minWidth: 0` on the identity\r\n * block and `flexShrink: 0` on the action cluster are LAYOUT, and jsdom computes\r\n * no layout. A test asserting them would pass while the card is broken on a\r\n * phone — worse than no coverage, because it would look like coverage. That\r\n * contract lives in FileCard.stories.tsx (\"Long filename\"), which is where a\r\n * browser can actually check it. Same reasoning as MobileRowCard.test.tsx\r\n * records for R-G.3.\r\n */\r\ndescribe(\"FileCard — identity\", () => {\r\n test(\"renders the filename and mirrors it into title for the truncated case\", () => {\r\n const name =\r\n \"autorisation-de-depot-prealable-a-l-exportation-2025-IM-0042-revision-finale.pdf\";\r\n render(<FileCard name={name} />);\r\n\r\n /* The title attribute is the ONLY reason `name` is typed `string` rather\r\n * than ReactNode: once the CSS ellipsis hides the tail, the attribute is\r\n * what keeps the full filename reachable. Losing it is invisible in every\r\n * screenshot and only hurts the user with the long filename. */\r\n expect(screen.getByText(name)).toHaveAttribute(\"title\", name);\r\n });\r\n\r\n test(\"renders the meta line when supplied\", () => {\r\n render(<FileCard name=\"facture.pdf\" meta=\"1,24 Mo\" />);\r\n expect(screen.getByText(\"1,24 Mo\")).toBeInTheDocument();\r\n });\r\n\r\n test(\"omits the meta line entirely when absent or empty\", () => {\r\n /* Not rendered rather than rendered blank: an empty second line reads as\r\n * missing data, and it changes the row height, which breaks the alignment\r\n * of a list of files. Both `undefined` and `\"\"` are covered because a host\r\n * formatting a byte count from an optional field produces either.\r\n *\r\n * Queried by testid, not by walking parentElement: \"absent, not empty\"\r\n * cannot be expressed as a text query, and the repo's eslint config forbids\r\n * direct node access — correctly, since a structural child count would also\r\n * break the moment the component gains an unrelated third line. */\r\n const { rerender } = render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.getByText(\"a.pdf\")).toBeInTheDocument();\r\n expect(screen.queryByTestId(\"filecard-meta\")).not.toBeInTheDocument();\r\n\r\n rerender(<FileCard name=\"a.pdf\" meta=\"\" />);\r\n expect(screen.queryByTestId(\"filecard-meta\")).not.toBeInTheDocument();\r\n\r\n rerender(<FileCard name=\"a.pdf\" meta=\"248 Ko\" />);\r\n expect(screen.getByTestId(\"filecard-meta\")).toHaveTextContent(\"248 Ko\");\r\n });\r\n});\r\n\r\ndescribe(\"FileCard — actions slot\", () => {\r\n test(\"renders host-supplied actions\", () => {\r\n render(\r\n <FileCard\r\n name=\"a.pdf\"\r\n actions={<button type=\"button\">Télécharger</button>}\r\n />\r\n );\r\n expect(screen.getByRole(\"button\", { name: \"Télécharger\" })).toBeInTheDocument();\r\n });\r\n\r\n test(\"renders no action cluster when actions is absent\", () => {\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n });\r\n\r\n test(\"does not invent any action of its own\", () => {\r\n /* Regression guard on the component's SCOPE, not its rendering. FileCard is\r\n * presentational: a download link, a delete confirmation and a blob URL all\r\n * belong to the host. If a future change adds a built-in button, this fails\r\n * — which is the intent. */\r\n render(<FileCard name=\"a.pdf\" meta=\"1 Ko\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n expect(screen.queryByRole(\"link\")).not.toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FileCard — accessibility\", () => {\r\n test(\"the leading icon is hidden from assistive tech\", () => {\r\n /* R-Ar.2 — the filename IS the accessible name; a decorative glyph carrying\r\n * one would make a screen reader announce the row twice. The wrapper has no\r\n * role and no name by design, so there is no semantic query for it: the\r\n * component exposes a stable testid for exactly this assertion. */\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.getByTestId(\"filecard-icon\")).toHaveAttribute(\"aria-hidden\", \"true\");\r\n });\r\n\r\n test(\"a custom icon replaces the default and stays hidden\", () => {\r\n /* The second assertion is the one that matters: a host passing its own glyph\r\n * must not be able to leak it into the accessibility tree. */\r\n render(<FileCard name=\"a.pdf\" icon={<svg data-testid=\"custom\" />} />);\r\n expect(screen.getByTestId(\"custom\")).toBeInTheDocument();\r\n expect(screen.getByTestId(\"filecard-icon\")).toHaveAttribute(\"aria-hidden\", \"true\");\r\n });\r\n\r\n test(\"carries no role of its own\", () => {\r\n /* The card is not interactive — only its actions are. Giving it role=button\r\n * or wrapping it in a group without an accessible name would add noise to\r\n * the SR tree. Asserted so a future \"make the whole row clickable\" change\r\n * has to be a deliberate decision rather than a drive-by. */\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n expect(screen.queryByRole(\"group\")).not.toBeInTheDocument();\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileCard.test.js","names":["require","_react","_FileCard","_interopRequireDefault","_jsxRuntime","e","__esModule","default","describe","test","name","render","jsx","expect","screen","getByText","toHaveAttribute","meta","toBeInTheDocument","rerender","queryByTestId","not","getByTestId","toHaveTextContent","actions","type","children","getByRole","queryByRole","icon"],"sources":["../../../src/lib/v2/__tests__/FileCard.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport FileCard from \"../components/FileCard\";\r\n\r\n/**\r\n * FileCard — contract tests.\r\n *\r\n * WHY THIS FILE EXISTS\r\n * --------------------\r\n * §10.3 R-G.6 MUST — \"Snapshot Storybook + tests Jest/Testing-Library\". The\r\n * component was extracted from THREE hand-written copies found in addpe-fe\r\n * (Attachment, AutorisationPreviewDrawer, AutorisationDetail), which had drifted\r\n * to three different paddings for one concept. Consolidating them means a single\r\n * change now moves every attachment row in the fleet, so the contracts below are\r\n * the ones that must not move silently.\r\n *\r\n * NOT COVERED — deliberately\r\n * The width negotiation is the most fragile part of this component and it is\r\n * NOT tested here: `text-overflow: ellipsis`, `minWidth: 0` on the identity\r\n * block and `flexShrink: 0` on the action cluster are LAYOUT, and jsdom computes\r\n * no layout. A test asserting them would pass while the card is broken on a\r\n * phone — worse than no coverage, because it would look like coverage. That\r\n * contract lives in FileCard.stories.tsx (\"Long filename\"), which is where a\r\n * browser can actually check it. Same reasoning as MobileRowCard.test.tsx\r\n * records for R-G.3.\r\n */\r\ndescribe(\"FileCard — identity\", () => {\r\n test(\"renders the filename and mirrors it into title for the truncated case\", () => {\r\n const name =\r\n \"autorisation-de-depot-prealable-a-l-exportation-2025-IM-0042-revision-finale.pdf\";\r\n render(<FileCard name={name} />);\r\n\r\n /* The title attribute is the ONLY reason `name` is typed `string` rather\r\n * than ReactNode: once the CSS ellipsis hides the tail, the attribute is\r\n * what keeps the full filename reachable. Losing it is invisible in every\r\n * screenshot and only hurts the user with the long filename. */\r\n expect(screen.getByText(name)).toHaveAttribute(\"title\", name);\r\n });\r\n\r\n test(\"renders the meta line when supplied\", () => {\r\n render(<FileCard name=\"facture.pdf\" meta=\"1,24 Mo\" />);\r\n expect(screen.getByText(\"1,24 Mo\")).toBeInTheDocument();\r\n });\r\n\r\n test(\"omits the meta line entirely when absent or empty\", () => {\r\n /* Not rendered rather than rendered blank: an empty second line reads as\r\n * missing data, and it changes the row height, which breaks the alignment\r\n * of a list of files. Both `undefined` and `\"\"` are covered because a host\r\n * formatting a byte count from an optional field produces either.\r\n *\r\n * Queried by testid, not by walking parentElement: \"absent, not empty\"\r\n * cannot be expressed as a text query, and the repo's eslint config forbids\r\n * direct node access — correctly, since a structural child count would also\r\n * break the moment the component gains an unrelated third line. */\r\n const { rerender } = render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.getByText(\"a.pdf\")).toBeInTheDocument();\r\n expect(screen.queryByTestId(\"filecard-meta\")).not.toBeInTheDocument();\r\n\r\n rerender(<FileCard name=\"a.pdf\" meta=\"\" />);\r\n expect(screen.queryByTestId(\"filecard-meta\")).not.toBeInTheDocument();\r\n\r\n rerender(<FileCard name=\"a.pdf\" meta=\"248 Ko\" />);\r\n expect(screen.getByTestId(\"filecard-meta\")).toHaveTextContent(\"248 Ko\");\r\n });\r\n});\r\n\r\ndescribe(\"FileCard — actions slot\", () => {\r\n test(\"renders host-supplied actions\", () => {\r\n render(\r\n <FileCard\r\n name=\"a.pdf\"\r\n actions={<button type=\"button\">Télécharger</button>}\r\n />\r\n );\r\n expect(screen.getByRole(\"button\", { name: \"Télécharger\" })).toBeInTheDocument();\r\n });\r\n\r\n test(\"renders no action cluster when actions is absent\", () => {\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n });\r\n\r\n test(\"does not invent any action of its own\", () => {\r\n /* Regression guard on the component's SCOPE, not its rendering. FileCard is\r\n * presentational: a download link, a delete confirmation and a blob URL all\r\n * belong to the host. If a future change adds a built-in button, this fails\r\n * — which is the intent. */\r\n render(<FileCard name=\"a.pdf\" meta=\"1 Ko\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n expect(screen.queryByRole(\"link\")).not.toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FileCard — accessibility\", () => {\r\n test(\"the leading icon is hidden from assistive tech\", () => {\r\n /* R-Ar.2 — the filename IS the accessible name; a decorative glyph carrying\r\n * one would make a screen reader announce the row twice. The wrapper has no\r\n * role and no name by design, so there is no semantic query for it: the\r\n * component exposes a stable testid for exactly this assertion. */\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.getByTestId(\"filecard-icon\")).toHaveAttribute(\"aria-hidden\", \"true\");\r\n });\r\n\r\n test(\"a custom icon replaces the default and stays hidden\", () => {\r\n /* The second assertion is the one that matters: a host passing its own glyph\r\n * must not be able to leak it into the accessibility tree. */\r\n render(<FileCard name=\"a.pdf\" icon={<svg data-testid=\"custom\" />} />);\r\n expect(screen.getByTestId(\"custom\")).toBeInTheDocument();\r\n expect(screen.getByTestId(\"filecard-icon\")).toHaveAttribute(\"aria-hidden\", \"true\");\r\n });\r\n\r\n test(\"carries no role of its own\", () => {\r\n /* The card is not interactive — only its actions are. Giving it role=button\r\n * or wrapping it in a group without an accessible name would add noise to\r\n * the SR tree. Asserted so a future \"make the whole row clickable\" change\r\n * has to be a deliberate decision rather than a drive-by. */\r\n render(<FileCard name=\"a.pdf\" />);\r\n expect(screen.queryByRole(\"button\")).not.toBeInTheDocument();\r\n expect(screen.queryByRole(\"group\")).not.toBeInTheDocument();\r\n });\r\n});\r\n"],"mappings":";;AAAAA,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GACAG,QAAQ,CAAC,qBAAqB,EAAE,MAAM;EACpCC,IAAI,CAAC,uEAAuE,EAAE,MAAM;IAClF,MAAMC,IAAI,GACR,kFAAkF;IACpF,IAAAC,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAEA;IAAK,CAAE,CAAC,CAAC;;IAEhC;AACJ;AACA;AACA;IACIG,MAAM,CAACC,aAAM,CAACC,SAAS,CAACL,IAAI,CAAC,CAAC,CAACM,eAAe,CAAC,OAAO,EAAEN,IAAI,CAAC;EAC/D,CAAC,CAAC;EAEFD,IAAI,CAAC,qCAAqC,EAAE,MAAM;IAChD,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC,aAAa;MAACO,IAAI,EAAC;IAAS,CAAE,CAAC,CAAC;IACtDJ,MAAM,CAACC,aAAM,CAACC,SAAS,CAAC,SAAS,CAAC,CAAC,CAACG,iBAAiB,CAAC,CAAC;EACzD,CAAC,CAAC;EAEFT,IAAI,CAAC,mDAAmD,EAAE,MAAM;IAC9D;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI,MAAM;MAAEU;IAAS,CAAC,GAAG,IAAAR,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC;IAAO,CAAE,CAAC,CAAC;IACtDG,MAAM,CAACC,aAAM,CAACC,SAAS,CAAC,OAAO,CAAC,CAAC,CAACG,iBAAiB,CAAC,CAAC;IACrDL,MAAM,CAACC,aAAM,CAACM,aAAa,CAAC,eAAe,CAAC,CAAC,CAACC,GAAG,CAACH,iBAAiB,CAAC,CAAC;IAErEC,QAAQ,cAAC,IAAAf,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC,OAAO;MAACO,IAAI,EAAC;IAAE,CAAE,CAAC,CAAC;IAC3CJ,MAAM,CAACC,aAAM,CAACM,aAAa,CAAC,eAAe,CAAC,CAAC,CAACC,GAAG,CAACH,iBAAiB,CAAC,CAAC;IAErEC,QAAQ,cAAC,IAAAf,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC,OAAO;MAACO,IAAI,EAAC;IAAQ,CAAE,CAAC,CAAC;IACjDJ,MAAM,CAACC,aAAM,CAACQ,WAAW,CAAC,eAAe,CAAC,CAAC,CAACC,iBAAiB,CAAC,QAAQ,CAAC;EACzE,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFf,QAAQ,CAAC,yBAAyB,EAAE,MAAM;EACxCC,IAAI,CAAC,+BAA+B,EAAE,MAAM;IAC1C,IAAAE,aAAM,eACJ,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MACPG,IAAI,EAAC,OAAO;MACZc,OAAO,eAAE,IAAApB,WAAA,CAAAQ,GAAA;QAAQa,IAAI,EAAC,QAAQ;QAAAC,QAAA,EAAC;MAAW,CAAQ;IAAE,CACrD,CACH,CAAC;IACDb,MAAM,CAACC,aAAM,CAACa,SAAS,CAAC,QAAQ,EAAE;MAAEjB,IAAI,EAAE;IAAc,CAAC,CAAC,CAAC,CAACQ,iBAAiB,CAAC,CAAC;EACjF,CAAC,CAAC;EAEFT,IAAI,CAAC,kDAAkD,EAAE,MAAM;IAC7D,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC;IAAO,CAAE,CAAC,CAAC;IACjCG,MAAM,CAACC,aAAM,CAACc,WAAW,CAAC,QAAQ,CAAC,CAAC,CAACP,GAAG,CAACH,iBAAiB,CAAC,CAAC;EAC9D,CAAC,CAAC;EAEFT,IAAI,CAAC,uCAAuC,EAAE,MAAM;IAClD;AACJ;AACA;AACA;IACI,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC,OAAO;MAACO,IAAI,EAAC;IAAM,CAAE,CAAC,CAAC;IAC7CJ,MAAM,CAACC,aAAM,CAACc,WAAW,CAAC,QAAQ,CAAC,CAAC,CAACP,GAAG,CAACH,iBAAiB,CAAC,CAAC;IAC5DL,MAAM,CAACC,aAAM,CAACc,WAAW,CAAC,MAAM,CAAC,CAAC,CAACP,GAAG,CAACH,iBAAiB,CAAC,CAAC;EAC5D,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFV,QAAQ,CAAC,0BAA0B,EAAE,MAAM;EACzCC,IAAI,CAAC,gDAAgD,EAAE,MAAM;IAC3D;AACJ;AACA;AACA;IACI,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC;IAAO,CAAE,CAAC,CAAC;IACjCG,MAAM,CAACC,aAAM,CAACQ,WAAW,CAAC,eAAe,CAAC,CAAC,CAACN,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC;EACpF,CAAC,CAAC;EAEFP,IAAI,CAAC,qDAAqD,EAAE,MAAM;IAChE;AACJ;IACI,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC,OAAO;MAACmB,IAAI,eAAE,IAAAzB,WAAA,CAAAQ,GAAA;QAAK,eAAY;MAAQ,CAAE;IAAE,CAAE,CAAC,CAAC;IACrEC,MAAM,CAACC,aAAM,CAACQ,WAAW,CAAC,QAAQ,CAAC,CAAC,CAACJ,iBAAiB,CAAC,CAAC;IACxDL,MAAM,CAACC,aAAM,CAACQ,WAAW,CAAC,eAAe,CAAC,CAAC,CAACN,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC;EACpF,CAAC,CAAC;EAEFP,IAAI,CAAC,4BAA4B,EAAE,MAAM;IACvC;AACJ;AACA;AACA;IACI,IAAAE,aAAM,eAAC,IAAAP,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAK,OAAQ;MAACG,IAAI,EAAC;IAAO,CAAE,CAAC,CAAC;IACjCG,MAAM,CAACC,aAAM,CAACc,WAAW,CAAC,QAAQ,CAAC,CAAC,CAACP,GAAG,CAACH,iBAAiB,CAAC,CAAC;IAC5DL,MAAM,CAACC,aAAM,CAACc,WAAW,CAAC,OAAO,CAAC,CAAC,CAACP,GAAG,CAACH,iBAAiB,CAAC,CAAC;EAC7D,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}