@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,10 +1,9 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
9
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
@@ -17,20 +16,9 @@ var _Segmented = _interopRequireDefault(require("../components/Segmented"));
17
16
  var _ColumnsToggle = require("./ColumnsToggle");
18
17
  var _mergeLabels = require("../utils/mergeLabels");
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
27
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
30
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
31
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
32
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
33
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
21
+ /**
34
22
  * DataGridSettingsMenu - Portnet UI v2 (pattern)
35
23
  *
36
24
  * Combined "table options" popover wrapping two DataGrid-adjacent
@@ -71,8 +59,17 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
71
59
  * recommended when the toolbar has enough horizontal space and the
72
60
  * affordance benefits from a named action (e.g. "Configurer").
73
61
  * When omitted, the trigger falls back to the compact IconButton.
62
+ *
63
+ * D-8: in that named form the button is NOT given an aria-label.
64
+ * It used to carry `labels.button` as well, and aria-label wins over
65
+ * visible text — so the trigger displayed "Configurer" and announced
66
+ * "Options du tableau", failing WCAG 2.5.3 Label in Name and breaking
67
+ * voice control ("click Configurer" matched nothing). The button's own
68
+ * text now names it, so the two agree by construction. `labels.button`
69
+ * still names the icon-only trigger, where it is the only naming route.
74
70
  */
75
- var DEFAULT_LABELS = Object.freeze({
71
+
72
+ const DEFAULT_LABELS = Object.freeze({
76
73
  button: "Options du tableau",
77
74
  title: "Options du tableau",
78
75
  columnsHeading: "Affichage des colonnes",
@@ -88,7 +85,7 @@ var DEFAULT_LABELS = Object.freeze({
88
85
  * label-only fallback exists to keep this component crash-free.
89
86
  * (Frozen for defensiveness; typed mutable via one readonly→mutable
90
87
  * assertion since Segmented reads options and never mutates.) */
91
- var FALLBACK_DENSITY_OPTIONS = Object.freeze([{
88
+ const FALLBACK_DENSITY_OPTIONS = Object.freeze([{
92
89
  value: "comfortable",
93
90
  label: "Confortable"
94
91
  }, {
@@ -98,12 +95,12 @@ var FALLBACK_DENSITY_OPTIONS = Object.freeze([{
98
95
 
99
96
  /* ── Hoisted sx (D5) ──────────────────────────────────────────────── */
100
97
 
101
- var POPOVER_PAPER_SX = Object.freeze({
98
+ const POPOVER_PAPER_SX = Object.freeze({
102
99
  borderRadius: "var(--r-lg)",
103
100
  boxShadow: "var(--shadow-md)",
104
101
  border: "1px solid var(--border)"
105
102
  });
106
- var POPOVER_BODY_SX = Object.freeze({
103
+ const POPOVER_BODY_SX = Object.freeze({
107
104
  padding: "var(--s-3) var(--s-4)",
108
105
  minWidth: 280,
109
106
  maxHeight: 480,
@@ -112,7 +109,7 @@ var POPOVER_BODY_SX = Object.freeze({
112
109
  flexDirection: "column",
113
110
  gap: "var(--s-2)"
114
111
  });
115
- var SECTION_HEADING_SX = Object.freeze({
112
+ const SECTION_HEADING_SX = Object.freeze({
116
113
  fontSize: "var(--text-xs)",
117
114
  fontWeight: "var(--fw-semibold)",
118
115
  color: "var(--fg-muted)",
@@ -121,17 +118,17 @@ var SECTION_HEADING_SX = Object.freeze({
121
118
  paddingBottom: "var(--s-2)",
122
119
  borderBottom: "1px solid var(--border)"
123
120
  });
124
- var SECTION_BODY_SX = Object.freeze({
121
+ const SECTION_BODY_SX = Object.freeze({
125
122
  display: "flex",
126
123
  flexDirection: "column",
127
124
  gap: "var(--s-1)",
128
125
  paddingTop: "var(--s-2)",
129
126
  paddingBottom: "var(--s-2)"
130
127
  });
131
- var SECTION_SEPARATOR_SX = Object.freeze({
128
+ const SECTION_SEPARATOR_SX = Object.freeze({
132
129
  borderTop: "1px solid var(--border)"
133
130
  });
134
- var CHECKBOX_LABEL_SX = Object.freeze({
131
+ const CHECKBOX_LABEL_SX = Object.freeze({
135
132
  marginLeft: 0,
136
133
  marginRight: 0,
137
134
  "& .MuiFormControlLabel-label": {
@@ -139,13 +136,13 @@ var CHECKBOX_LABEL_SX = Object.freeze({
139
136
  color: "var(--fg)"
140
137
  }
141
138
  });
142
- var COLUMNS_FOOTER_SX = Object.freeze({
139
+ const COLUMNS_FOOTER_SX = Object.freeze({
143
140
  display: "flex",
144
141
  justifyContent: "space-between",
145
142
  gap: "var(--s-2)",
146
143
  paddingTop: "var(--s-1)"
147
144
  });
148
- var BADGE_SX = Object.freeze({
145
+ const BADGE_SX = Object.freeze({
149
146
  position: "absolute",
150
147
  top: 2,
151
148
  insetInlineEnd: 2,
@@ -154,121 +151,111 @@ var BADGE_SX = Object.freeze({
154
151
  borderRadius: "var(--r-full)",
155
152
  background: "var(--accent)"
156
153
  });
157
- function DataGridSettingsMenu(_ref) {
158
- var columns = _ref.columns,
159
- hiddenColumns = _ref.hiddenColumns,
160
- onHiddenColumnsChange = _ref.onHiddenColumnsChange,
161
- density = _ref.density,
162
- onDensityChange = _ref.onDensityChange,
163
- densityOptions = _ref.densityOptions,
164
- labels = _ref.labels,
165
- label = _ref.label;
166
- var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
167
- var _React$useState = React.useState(null),
168
- _React$useState2 = _slicedToArray(_React$useState, 2),
169
- anchor = _React$useState2[0],
170
- setAnchor = _React$useState2[1];
154
+ function DataGridSettingsMenu({
155
+ columns,
156
+ hiddenColumns,
157
+ onHiddenColumnsChange,
158
+ density,
159
+ onDensityChange,
160
+ densityOptions,
161
+ labels,
162
+ label
163
+ }) {
164
+ const L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
165
+ const [anchor, setAnchor] = React.useState(null);
171
166
 
172
167
  // Normalise hiddenColumns to a Set once. Same contract as DataGrid
173
168
  // / ColumnsToggle — accepts Set or Array (or undefined).
174
- var hiddenSet = React.useMemo(function () {
175
- return hiddenColumns instanceof Set ? hiddenColumns : new Set(hiddenColumns || []);
176
- }, [hiddenColumns]);
169
+ const hiddenSet = React.useMemo(() => hiddenColumns instanceof Set ? hiddenColumns : new Set(hiddenColumns || []), [hiddenColumns]);
177
170
 
178
171
  // Toggleable subset — the only columns this UI exposes. System-
179
172
  // pinned columns (col.toggleable === false) are excluded entirely.
180
- var toggleableColumns = React.useMemo(function () {
181
- return columns.filter(function (c) {
182
- return c.toggleable !== false;
183
- });
184
- }, [columns]);
173
+ const toggleableColumns = React.useMemo(() => columns.filter(c => c.toggleable !== false), [columns]);
185
174
 
186
175
  // Count among toggleable for the trigger badge dot.
187
- var hiddenCount = React.useMemo(function () {
188
- return toggleableColumns.filter(function (c) {
189
- return hiddenSet.has(c.key);
190
- }).length;
191
- }, [toggleableColumns, hiddenSet]);
176
+ const hiddenCount = React.useMemo(() => toggleableColumns.filter(c => hiddenSet.has(c.key)).length, [toggleableColumns, hiddenSet]);
192
177
 
193
178
  // Indicates the user has changed something from defaults — used
194
179
  // to surface a discreet badge dot on the trigger. We use a single
195
180
  // visual dot rather than a numeric badge because there are TWO
196
181
  // pref axes (columns + density) that contribute; a counter would
197
182
  // be misleading.
198
- var hasCustomisation = hiddenCount > 0 || density != null && density !== "comfortable";
199
- var open = Boolean(anchor);
200
- var handleOpen = function handleOpen(e) {
201
- return setAnchor(e.currentTarget);
202
- };
203
- var handleClose = function handleClose() {
204
- return setAnchor(null);
205
- };
206
- var toggleColumn = function toggleColumn(key) {
207
- var next = new Set(hiddenSet);
208
- if (next.has(key)) next["delete"](key);else next.add(key);
183
+ const hasCustomisation = hiddenCount > 0 || density != null && density !== "comfortable";
184
+ const open = Boolean(anchor);
185
+ const handleOpen = e => setAnchor(e.currentTarget);
186
+ const handleClose = () => setAnchor(null);
187
+ const toggleColumn = key => {
188
+ const next = new Set(hiddenSet);
189
+ if (next.has(key)) next.delete(key);else next.add(key);
209
190
  onHiddenColumnsChange(next);
210
191
  };
211
- var showAll = function showAll() {
212
- return onHiddenColumnsChange(new Set());
213
- };
214
- var hideAll = function hideAll() {
215
- return onHiddenColumnsChange(new Set(toggleableColumns.map(function (c) {
216
- return c.key;
217
- })));
218
- };
219
- var effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;
192
+ const showAll = () => onHiddenColumnsChange(new Set());
193
+ const hideAll = () => onHiddenColumnsChange(new Set(toggleableColumns.map(c => c.key)));
194
+ const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;
220
195
 
221
196
  // MUI v9: slot bag for the Popover paper. Carries the dialog
222
197
  // ARIA contract (role + aria-label) — host-customisable via the
223
198
  // `labels.title` override. Memoised so the slotProps reference
224
199
  // stays stable when L.title is unchanged.
225
- var popoverSlotProps = React.useMemo(function () {
226
- return {
227
- paper: {
228
- sx: POPOVER_PAPER_SX,
229
- role: "dialog",
230
- "aria-label": L.title
231
- }
232
- };
233
- }, [L.title]);
200
+ const popoverSlotProps = React.useMemo(() => ({
201
+ paper: {
202
+ sx: POPOVER_PAPER_SX,
203
+ role: "dialog",
204
+ "aria-label": L.title
205
+ }
206
+ }), [L.title]);
234
207
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
235
208
  children: [label ?
236
209
  /*#__PURE__*/
237
210
  /* Named trigger — renders a v2.Button with icon + text label.
238
211
  * Used when the toolbar benefits from an explicit action name
239
212
  * (e.g. "Configurer"). Badge dot uses absolute positioning
240
- * inside the button's bounding box via sx={{ position: "relative" }}. */
241
- (0, _jsxRuntime.jsxs)(_Box["default"], {
213
+ * inside the button's bounding box via sx={{ position: "relative" }}.
214
+ *
215
+ * D-8 — NO aria-label here. It previously carried L.button, which
216
+ * overrides visible text as the accessible name, so the trigger
217
+ * showed "Configurer" and announced "Options du tableau": a WCAG
218
+ * 2.5.3 Label in Name failure that breaks voice control. The
219
+ * button's own text is the name now, so the two cannot diverge.
220
+ *
221
+ * ColumnsToggle solves the same problem by building
222
+ * `${button}, ${countSuffix(n)}` — an accessible name that CONTAINS
223
+ * the visible text. That works there because one countable axis
224
+ * feeds its badge. Here the badge is deliberately a dot rather than
225
+ * a count (two axes contribute), so there is no honest state string
226
+ * to append and omitting the override is the right form of the rule. */
227
+ (0, _jsxRuntime.jsxs)(_Box.default, {
242
228
  sx: {
243
229
  position: "relative",
244
230
  display: "inline-flex"
245
231
  },
246
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
232
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
247
233
  size: "sm",
248
234
  variant: "secondary",
249
235
  type: "button",
250
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune["default"], {
236
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune.default, {
251
237
  fontSize: "small"
252
238
  }),
253
239
  onClick: handleOpen,
254
- "aria-label": L.button,
255
240
  "aria-haspopup": "dialog",
256
241
  "aria-expanded": open,
257
242
  children: label
258
- }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
243
+ }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
259
244
  component: "span",
260
- sx: _objectSpread(_objectSpread({}, BADGE_SX), {}, {
245
+ sx: {
246
+ ...BADGE_SX,
261
247
  top: 4,
262
248
  insetInlineEnd: 4,
263
249
  pointerEvents: "none"
264
- }),
250
+ },
265
251
  "aria-hidden": "true"
266
252
  })]
267
253
  }) :
268
254
  /*#__PURE__*/
269
255
  /* Icon-only trigger — compact fallback for callers that don't
270
- * pass a label (backward-compatible default). */
271
- (0, _jsxRuntime.jsxs)(_IconButton["default"], {
256
+ * pass a label (backward-compatible default). Here `L.button` IS
257
+ * the only naming route, which is what aria-label is for. */
258
+ (0, _jsxRuntime.jsxs)(_IconButton.default, {
272
259
  size: "small",
273
260
  type: "button",
274
261
  onClick: handleOpen,
@@ -283,14 +270,14 @@ function DataGridSettingsMenu(_ref) {
283
270
  color: "var(--fg)"
284
271
  }
285
272
  },
286
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune["default"], {
273
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune.default, {
287
274
  fontSize: "small"
288
- }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
275
+ }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
289
276
  component: "span",
290
277
  sx: BADGE_SX,
291
278
  "aria-hidden": "true"
292
279
  })]
293
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover["default"], {
280
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {
294
281
  open: open,
295
282
  anchorEl: anchor,
296
283
  onClose: handleClose,
@@ -303,29 +290,27 @@ function DataGridSettingsMenu(_ref) {
303
290
  horizontal: "right"
304
291
  },
305
292
  slotProps: popoverSlotProps,
306
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
293
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
307
294
  sx: POPOVER_BODY_SX,
308
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
309
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
295
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
296
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
310
297
  component: "div",
311
298
  sx: SECTION_HEADING_SX,
312
299
  children: L.columnsHeading
313
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
300
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
314
301
  sx: SECTION_BODY_SX,
315
- children: toggleableColumns.map(function (col) {
316
- var isVisible = !hiddenSet.has(col.key);
302
+ children: toggleableColumns.map(col => {
303
+ const isVisible = !hiddenSet.has(col.key);
317
304
  // DGS-1 — accessible name = the header's visible text (reuses
318
305
  // ColumnsToggle's SET-1 extractor) so it matches the rendered
319
306
  // label (WCAG 2.5.3); only icon-only headers fall back to key.
320
- var headerText = (0, _ColumnsToggle.extractHeaderText)(col.header).trim();
321
- var labelText = headerText || col.key;
322
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel["default"], {
323
- control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox["default"], {
307
+ const headerText = (0, _ColumnsToggle.extractHeaderText)(col.header).trim();
308
+ const labelText = headerText || col.key;
309
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel.default, {
310
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
324
311
  size: "small",
325
312
  checked: isVisible,
326
- onChange: function onChange() {
327
- return toggleColumn(col.key);
328
- },
313
+ onChange: () => toggleColumn(col.key),
329
314
  slotProps: {
330
315
  input: {
331
316
  "aria-label": labelText
@@ -336,16 +321,16 @@ function DataGridSettingsMenu(_ref) {
336
321
  sx: CHECKBOX_LABEL_SX
337
322
  }, col.key);
338
323
  })
339
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
324
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
340
325
  sx: COLUMNS_FOOTER_SX,
341
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
326
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
342
327
  size: "sm",
343
328
  variant: "ghost",
344
329
  type: "button",
345
330
  onClick: showAll,
346
331
  disabled: hiddenCount === 0,
347
332
  children: L.showAll
348
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
333
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
349
334
  size: "sm",
350
335
  variant: "ghost",
351
336
  type: "button",
@@ -354,20 +339,18 @@ function DataGridSettingsMenu(_ref) {
354
339
  children: L.hideAll
355
340
  })]
356
341
  })]
357
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
342
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
358
343
  sx: SECTION_SEPARATOR_SX
359
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
360
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
344
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
345
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
361
346
  component: "div",
362
347
  sx: SECTION_HEADING_SX,
363
348
  children: L.densityHeading
364
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
349
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
365
350
  sx: SECTION_BODY_SX,
366
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Segmented["default"], {
367
- value: density !== null && density !== void 0 ? density : "comfortable",
368
- onChange: function onChange(value) {
369
- return onDensityChange(value);
370
- },
351
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Segmented.default, {
352
+ value: density ?? "comfortable",
353
+ onChange: value => onDensityChange(value),
371
354
  options: effectiveDensityOptions,
372
355
  size: "sm",
373
356
  "aria-label": L.densityAriaLabel
@@ -378,5 +361,5 @@ function DataGridSettingsMenu(_ref) {
378
361
  })]
379
362
  });
380
363
  }
381
- var _default = exports["default"] = DataGridSettingsMenu;
364
+ var _default = exports.default = DataGridSettingsMenu;
382
365
  //# sourceMappingURL=DataGridSettingsMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridSettingsMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Popover","_Checkbox","_FormControlLabel","_Tune","_Button","_Segmented","_ColumnsToggle","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","DEFAULT_LABELS","freeze","button","title","columnsHeading","densityHeading","showAll","hideAll","densityAriaLabel","FALLBACK_DENSITY_OPTIONS","label","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","SECTION_HEADING_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","SECTION_BODY_SX","paddingTop","SECTION_SEPARATOR_SX","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","COLUMNS_FOOTER_SX","justifyContent","BADGE_SX","position","top","insetInlineEnd","width","height","background","DataGridSettingsMenu","_ref","columns","hiddenColumns","onHiddenColumnsChange","density","onDensityChange","densityOptions","labels","L","mergeLabels","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","c","toggleable","hiddenCount","hasCustomisation","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","map","effectiveDensityOptions","popoverSlotProps","paper","sx","role","jsxs","Fragment","children","jsx","size","variant","type","icon","onClick","component","pointerEvents","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","extractHeaderText","header","trim","labelText","control","checked","onChange","disabled","options","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport TuneIcon from \"@mui/icons-material/Tune\";\r\nimport Button from \"../components/Button\";\r\nimport Segmented from \"../components/Segmented\";\r\nimport type { SegmentedOption } from \"../components/Segmented\";\r\nimport { extractHeaderText } from \"./ColumnsToggle\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density } from \"../types/common\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DataGridSettingsMenu - Portnet UI v2 (pattern)\r\n *\r\n * Combined \"table options\" popover wrapping two DataGrid-adjacent\r\n * preferences: column visibility and row density. Single trigger\r\n * (Tune icon button) opens a popover with both sections inline.\r\n *\r\n * <DataGridSettingsMenu\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * density={density}\r\n * onDensityChange={setDensity}\r\n * densityOptions={DENSITY_OPTIONS}\r\n * label=\"Configurer\" // optional — shows text label on trigger\r\n * />\r\n *\r\n * Use this when the host wants BOTH affordances behind one\r\n * compact toolbar entry. For columns-only use cases, prefer the\r\n * atomic `<ColumnsToggle>` pattern.\r\n *\r\n * The component is pure presentation — host owns the state for\r\n * both columns visibility (hiddenColumns Set) and density (the\r\n * current value, typically \"comfortable\" or \"compact\").\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet). Same contract as ColumnsToggle to avoid\r\n * cognitive load when a host switches between the two patterns.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. DataGrid itself doesn't read\r\n * this flag; it's a contract between the host schema and any\r\n * settings-UI consumer.\r\n *\r\n * `label` prop (optional string):\r\n * When provided, the trigger becomes a v2.Button (secondary, sm)\r\n * with the icon + text label visible in the toolbar. This is\r\n * recommended when the toolbar has enough horizontal space and the\r\n * affordance benefits from a named action (e.g. \"Configurer\").\r\n * When omitted, the trigger falls back to the compact IconButton.\r\n */\r\n\r\nexport interface DataGridSettingsMenuLabels {\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n columnsHeading?: string | undefined;\r\n densityHeading?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n densityAriaLabel?: string | undefined;\r\n}\r\n\r\nexport interface DataGridSettingsMenuProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n density?: Density | undefined;\r\n onDensityChange: (density: Density) => void;\r\n densityOptions?: SegmentedOption[] | undefined;\r\n labels?: DataGridSettingsMenuLabels | undefined;\r\n label?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Options du tableau\",\r\n title: \"Options du tableau\",\r\n columnsHeading: \"Affichage des colonnes\",\r\n densityHeading: \"Densité d'affichage\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n densityAriaLabel: \"Densité d'affichage\",\r\n});\r\n\r\n/* ── Default density options ─────────────────────────────────────────\r\n * Used only when the host doesn't pass its own densityOptions.\r\n * Hosts SHOULD pass an icon-laden version for visual richness; the\r\n * label-only fallback exists to keep this component crash-free.\r\n * (Frozen for defensiveness; typed mutable via one readonly→mutable\r\n * assertion since Segmented reads options and never mutates.) */\r\nconst FALLBACK_DENSITY_OPTIONS: SegmentedOption[] = Object.freeze([\r\n { value: \"comfortable\", label: \"Confortable\" },\r\n { value: \"compact\", label: \"Compact\" },\r\n]) as SegmentedOption[];\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n maxHeight: 480,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_HEADING_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n paddingTop: \"var(--s-2)\",\r\n paddingBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_SEPARATOR_SX = Object.freeze({\r\n borderTop: \"1px solid var(--border)\",\r\n});\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst COLUMNS_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BADGE_SX = Object.freeze({\r\n position: \"absolute\",\r\n top: 2,\r\n insetInlineEnd: 2,\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DataGridSettingsMenu({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n density,\r\n onDensityChange,\r\n densityOptions,\r\n labels,\r\n label,\r\n}: DataGridSettingsMenuProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set once. Same contract as DataGrid\r\n // / ColumnsToggle — accepts Set or Array (or undefined).\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are excluded entirely.\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count among toggleable for the trigger badge dot.\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n // Indicates the user has changed something from defaults — used\r\n // to surface a discreet badge dot on the trigger. We use a single\r\n // visual dot rather than a numeric badge because there are TWO\r\n // pref axes (columns + density) that contribute; a counter would\r\n // be misleading.\r\n const hasCustomisation =\r\n hiddenCount > 0 ||\r\n (density != null && density !== \"comfortable\");\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;\r\n\r\n // MUI v9: slot bag for the Popover paper. Carries the dialog\r\n // ARIA contract (role + aria-label) — host-customisable via the\r\n // `labels.title` override. Memoised so the slotProps reference\r\n // stays stable when L.title is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n {label ? (\r\n /* Named trigger — renders a v2.Button with icon + text label.\r\n * Used when the toolbar benefits from an explicit action name\r\n * (e.g. \"Configurer\"). Badge dot uses absolute positioning\r\n * inside the button's bounding box via sx={{ position: \"relative\" }}. */\r\n <Box sx={{ position: \"relative\", display: \"inline-flex\" }}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"secondary\"\r\n type=\"button\"\r\n icon={<TuneIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {label}\r\n </Button>\r\n {hasCustomisation && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n ...BADGE_SX,\r\n top: 4,\r\n insetInlineEnd: 4,\r\n pointerEvents: \"none\",\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </Box>\r\n ) : (\r\n /* Icon-only trigger — compact fallback for callers that don't\r\n * pass a label (backward-compatible default). */\r\n <IconButton\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n position: \"relative\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n color: \"var(--fg)\",\r\n },\r\n }}\r\n >\r\n <TuneIcon fontSize=\"small\" />\r\n {hasCustomisation && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\" />\r\n )}\r\n </IconButton>\r\n )}\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n {/* ── Section: Columns ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.columnsHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // DGS-1 — accessible name = the header's visible text (reuses\r\n // ColumnsToggle's SET-1 extractor) so it matches the rendered\r\n // label (WCAG 2.5.3); only icon-only headers fall back to key.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n </Box>\r\n <Box sx={COLUMNS_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n\r\n {/* ── Section separator ─────────────────────────────────── */}\r\n <Box sx={SECTION_SEPARATOR_SX} />\r\n\r\n {/* ── Section: Density ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.densityHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n <Segmented\r\n value={density ?? \"comfortable\"}\r\n onChange={(value) => onDensityChange(value as Density)}\r\n options={effectiveDensityOptions}\r\n size=\"sm\"\r\n aria-label={L.densityAriaLabel}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default DataGridSettingsMenu;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataGridSettingsMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Popover","_Checkbox","_FormControlLabel","_Tune","_Button","_Segmented","_ColumnsToggle","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","freeze","button","title","columnsHeading","densityHeading","showAll","hideAll","densityAriaLabel","FALLBACK_DENSITY_OPTIONS","value","label","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","SECTION_HEADING_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","SECTION_BODY_SX","paddingTop","SECTION_SEPARATOR_SX","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","COLUMNS_FOOTER_SX","justifyContent","BADGE_SX","position","top","insetInlineEnd","width","height","background","DataGridSettingsMenu","columns","hiddenColumns","onHiddenColumnsChange","density","onDensityChange","densityOptions","labels","L","mergeLabels","anchor","setAnchor","useState","hiddenSet","useMemo","Set","toggleableColumns","filter","c","toggleable","hiddenCount","key","length","hasCustomisation","open","Boolean","handleOpen","currentTarget","handleClose","toggleColumn","next","delete","add","map","effectiveDensityOptions","popoverSlotProps","paper","sx","role","jsxs","Fragment","children","jsx","size","variant","type","icon","onClick","component","pointerEvents","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","extractHeaderText","header","trim","labelText","control","checked","onChange","input","disabled","options","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport TuneIcon from \"@mui/icons-material/Tune\";\r\nimport Button from \"../components/Button\";\r\nimport Segmented from \"../components/Segmented\";\r\nimport type { SegmentedOption } from \"../components/Segmented\";\r\nimport { extractHeaderText } from \"./ColumnsToggle\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density } from \"../types/common\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DataGridSettingsMenu - Portnet UI v2 (pattern)\r\n *\r\n * Combined \"table options\" popover wrapping two DataGrid-adjacent\r\n * preferences: column visibility and row density. Single trigger\r\n * (Tune icon button) opens a popover with both sections inline.\r\n *\r\n * <DataGridSettingsMenu\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * density={density}\r\n * onDensityChange={setDensity}\r\n * densityOptions={DENSITY_OPTIONS}\r\n * label=\"Configurer\" // optional — shows text label on trigger\r\n * />\r\n *\r\n * Use this when the host wants BOTH affordances behind one\r\n * compact toolbar entry. For columns-only use cases, prefer the\r\n * atomic `<ColumnsToggle>` pattern.\r\n *\r\n * The component is pure presentation — host owns the state for\r\n * both columns visibility (hiddenColumns Set) and density (the\r\n * current value, typically \"comfortable\" or \"compact\").\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet). Same contract as ColumnsToggle to avoid\r\n * cognitive load when a host switches between the two patterns.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. DataGrid itself doesn't read\r\n * this flag; it's a contract between the host schema and any\r\n * settings-UI consumer.\r\n *\r\n * `label` prop (optional string):\r\n * When provided, the trigger becomes a v2.Button (secondary, sm)\r\n * with the icon + text label visible in the toolbar. This is\r\n * recommended when the toolbar has enough horizontal space and the\r\n * affordance benefits from a named action (e.g. \"Configurer\").\r\n * When omitted, the trigger falls back to the compact IconButton.\r\n *\r\n * D-8: in that named form the button is NOT given an aria-label.\r\n * It used to carry `labels.button` as well, and aria-label wins over\r\n * visible text — so the trigger displayed \"Configurer\" and announced\r\n * \"Options du tableau\", failing WCAG 2.5.3 Label in Name and breaking\r\n * voice control (\"click Configurer\" matched nothing). The button's own\r\n * text now names it, so the two agree by construction. `labels.button`\r\n * still names the icon-only trigger, where it is the only naming route.\r\n */\r\n\r\nexport interface DataGridSettingsMenuLabels {\r\n /**\r\n * Accessible name of the ICON-ONLY trigger. Not applied when `label` is\r\n * passed — there the visible text is the name (D-8).\r\n */\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n columnsHeading?: string | undefined;\r\n densityHeading?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n densityAriaLabel?: string | undefined;\r\n}\r\n\r\nexport interface DataGridSettingsMenuProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n density?: Density | undefined;\r\n onDensityChange: (density: Density) => void;\r\n densityOptions?: SegmentedOption[] | undefined;\r\n labels?: DataGridSettingsMenuLabels | undefined;\r\n label?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Options du tableau\",\r\n title: \"Options du tableau\",\r\n columnsHeading: \"Affichage des colonnes\",\r\n densityHeading: \"Densité d'affichage\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n densityAriaLabel: \"Densité d'affichage\",\r\n});\r\n\r\n/* ── Default density options ─────────────────────────────────────────\r\n * Used only when the host doesn't pass its own densityOptions.\r\n * Hosts SHOULD pass an icon-laden version for visual richness; the\r\n * label-only fallback exists to keep this component crash-free.\r\n * (Frozen for defensiveness; typed mutable via one readonly→mutable\r\n * assertion since Segmented reads options and never mutates.) */\r\nconst FALLBACK_DENSITY_OPTIONS: SegmentedOption[] = Object.freeze([\r\n { value: \"comfortable\", label: \"Confortable\" },\r\n { value: \"compact\", label: \"Compact\" },\r\n]) as SegmentedOption[];\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n maxHeight: 480,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_HEADING_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n paddingTop: \"var(--s-2)\",\r\n paddingBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_SEPARATOR_SX = Object.freeze({\r\n borderTop: \"1px solid var(--border)\",\r\n});\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst COLUMNS_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BADGE_SX = Object.freeze({\r\n position: \"absolute\",\r\n top: 2,\r\n insetInlineEnd: 2,\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DataGridSettingsMenu({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n density,\r\n onDensityChange,\r\n densityOptions,\r\n labels,\r\n label,\r\n}: DataGridSettingsMenuProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set once. Same contract as DataGrid\r\n // / ColumnsToggle — accepts Set or Array (or undefined).\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are excluded entirely.\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count among toggleable for the trigger badge dot.\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n // Indicates the user has changed something from defaults — used\r\n // to surface a discreet badge dot on the trigger. We use a single\r\n // visual dot rather than a numeric badge because there are TWO\r\n // pref axes (columns + density) that contribute; a counter would\r\n // be misleading.\r\n const hasCustomisation =\r\n hiddenCount > 0 ||\r\n (density != null && density !== \"comfortable\");\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;\r\n\r\n // MUI v9: slot bag for the Popover paper. Carries the dialog\r\n // ARIA contract (role + aria-label) — host-customisable via the\r\n // `labels.title` override. Memoised so the slotProps reference\r\n // stays stable when L.title is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n {label ? (\r\n /* Named trigger — renders a v2.Button with icon + text label.\r\n * Used when the toolbar benefits from an explicit action name\r\n * (e.g. \"Configurer\"). Badge dot uses absolute positioning\r\n * inside the button's bounding box via sx={{ position: \"relative\" }}.\r\n *\r\n * D-8 — NO aria-label here. It previously carried L.button, which\r\n * overrides visible text as the accessible name, so the trigger\r\n * showed \"Configurer\" and announced \"Options du tableau\": a WCAG\r\n * 2.5.3 Label in Name failure that breaks voice control. The\r\n * button's own text is the name now, so the two cannot diverge.\r\n *\r\n * ColumnsToggle solves the same problem by building\r\n * `${button}, ${countSuffix(n)}` — an accessible name that CONTAINS\r\n * the visible text. That works there because one countable axis\r\n * feeds its badge. Here the badge is deliberately a dot rather than\r\n * a count (two axes contribute), so there is no honest state string\r\n * to append and omitting the override is the right form of the rule. */\r\n <Box sx={{ position: \"relative\", display: \"inline-flex\" }}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"secondary\"\r\n type=\"button\"\r\n icon={<TuneIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {label}\r\n </Button>\r\n {hasCustomisation && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n ...BADGE_SX,\r\n top: 4,\r\n insetInlineEnd: 4,\r\n pointerEvents: \"none\",\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </Box>\r\n ) : (\r\n /* Icon-only trigger — compact fallback for callers that don't\r\n * pass a label (backward-compatible default). Here `L.button` IS\r\n * the only naming route, which is what aria-label is for. */\r\n <IconButton\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n position: \"relative\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n color: \"var(--fg)\",\r\n },\r\n }}\r\n >\r\n <TuneIcon fontSize=\"small\" />\r\n {hasCustomisation && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\" />\r\n )}\r\n </IconButton>\r\n )}\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n {/* ── Section: Columns ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.columnsHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // DGS-1 — accessible name = the header's visible text (reuses\r\n // ColumnsToggle's SET-1 extractor) so it matches the rendered\r\n // label (WCAG 2.5.3); only icon-only headers fall back to key.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n </Box>\r\n <Box sx={COLUMNS_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n\r\n {/* ── Section separator ─────────────────────────────────── */}\r\n <Box sx={SECTION_SEPARATOR_SX} />\r\n\r\n {/* ── Section: Density ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.densityHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n <Segmented\r\n value={density ?? \"comfortable\"}\r\n onChange={(value) => onDensityChange(value as Density)}\r\n options={effectiveDensityOptions}\r\n size=\"sm\"\r\n aria-label={L.densityAriaLabel}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default DataGridSettingsMenu;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,KAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,OAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AAEA,IAAAU,cAAA,GAAAV,OAAA;AAIA,IAAAW,YAAA,GAAAX,OAAA;AAAmD,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAE,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,CAAAc,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BA,MAAMgB,cAAc,GAAGH,MAAM,CAACI,MAAM,CAAC;EACnCC,MAAM,EAAY,oBAAoB;EACtCC,KAAK,EAAa,oBAAoB;EACtCC,cAAc,EAAI,wBAAwB;EAC1CC,cAAc,EAAI,qBAAqB;EACvCC,OAAO,EAAW,eAAe;EACjCC,OAAO,EAAW,cAAc;EAChCC,gBAAgB,EAAE;AACpB,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAA2C,GAAGZ,MAAM,CAACI,MAAM,CAAC,CAChE;EAAES,KAAK,EAAE,aAAa;EAAEC,KAAK,EAAE;AAAc,CAAC,EAC9C;EAAED,KAAK,EAAE,SAAS;EAAMC,KAAK,EAAE;AAAU,CAAC,CAC3C,CAAsB;;AAEvB;;AAEA,MAAMC,gBAAgB,GAAGf,MAAM,CAACI,MAAM,CAAC;EACrCY,YAAY,EAAE,aAAa;EAC3BC,SAAS,EAAE,kBAAkB;EAC7BC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,MAAMC,eAAe,GAAGnB,MAAM,CAACI,MAAM,CAAC;EACpCgB,OAAO,EAAE,uBAAuB;EAChCC,QAAQ,EAAE,GAAG;EACbC,SAAS,EAAE,GAAG;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,GAAG,EAAE;AACP,CAA0B,CAAC;AAE3B,MAAMC,kBAAkB,GAAG3B,MAAM,CAACI,MAAM,CAAC;EACvCwB,QAAQ,EAAE,gBAAgB;EAC1BC,UAAU,EAAE,oBAAoB;EAChCC,KAAK,EAAE,iBAAiB;EACxBC,aAAa,EAAE,WAAW;EAC1BC,aAAa,EAAE,QAAQ;EACvBC,aAAa,EAAE,YAAY;EAC3BC,YAAY,EAAE;AAChB,CAA0B,CAAC;AAE3B,MAAMC,eAAe,GAAGnC,MAAM,CAACI,MAAM,CAAC;EACpCoB,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,GAAG,EAAE,YAAY;EACjBU,UAAU,EAAE,YAAY;EACxBH,aAAa,EAAE;AACjB,CAA0B,CAAC;AAE3B,MAAMI,oBAAoB,GAAGrC,MAAM,CAACI,MAAM,CAAC;EACzCkC,SAAS,EAAE;AACb,CAAC,CAAC;AAEF,MAAMC,iBAAiB,GAAGvC,MAAM,CAACI,MAAM,CAAC;EACtCoC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,CAAC;EACd,8BAA8B,EAAE;IAC9Bb,QAAQ,EAAE,gBAAgB;IAC1BE,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,MAAMY,iBAAiB,GAAG1C,MAAM,CAACI,MAAM,CAAC;EACtCoB,OAAO,EAAE,MAAM;EACfmB,cAAc,EAAE,eAAe;EAC/BjB,GAAG,EAAE,YAAY;EACjBU,UAAU,EAAE;AACd,CAA0B,CAAC;AAE3B,MAAMQ,QAAQ,GAAG5C,MAAM,CAACI,MAAM,CAAC;EAC7ByC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,cAAc,EAAE,CAAC;EACjBC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTjC,YAAY,EAAE,eAAe;EAC7BkC,UAAU,EAAE;AACd,CAA0B,CAAC;AAE3B,SAASC,oBAAoBA,CAAC;EAC5BC,OAAO;EACPC,aAAa;EACbC,qBAAqB;EACrBC,OAAO;EACPC,eAAe;EACfC,cAAc;EACdC,MAAM;EACN5C;AACyB,CAAC,EAAE;EAC5B,MAAM6C,CAAC,GAAG,IAAAC,wBAAW,EAACzD,cAAc,EAAEuD,MAAM,CAAC;EAC7C,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAG7F,KAAK,CAAC8F,QAAQ,CAAqB,IAAI,CAAC;;EAEpE;EACA;EACA,MAAMC,SAAS,GAAG/F,KAAK,CAACgG,OAAO,CAC7B,MACEZ,aAAa,YAAYa,GAAG,GACxBb,aAAa,GACb,IAAIa,GAAG,CAACb,aAAa,IAAI,EAAE,CAAC,EAClC,CAACA,aAAa,CAChB,CAAC;;EAED;EACA;EACA,MAAMc,iBAAiB,GAAGlG,KAAK,CAACgG,OAAO,CACrC,MAAMb,OAAO,CAACgB,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,UAAU,KAAK,KAAK,CAAC,EACnD,CAAClB,OAAO,CACV,CAAC;;EAED;EACA,MAAMmB,WAAW,GAAGtG,KAAK,CAACgG,OAAO,CAC/B,MAAME,iBAAiB,CAACC,MAAM,CAAEC,CAAC,IAAKL,SAAS,CAACrE,GAAG,CAAC0E,CAAC,CAACG,GAAG,CAAC,CAAC,CAACC,MAAM,EAClE,CAACN,iBAAiB,EAAEH,SAAS,CAC/B,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,MAAMU,gBAAgB,GACpBH,WAAW,GAAG,CAAC,IACdhB,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK,aAAc;EAEhD,MAAMoB,IAAI,GAAGC,OAAO,CAACf,MAAM,CAAC;EAE5B,MAAMgB,UAAU,GAAI7F,CAAsC,IAAK8E,SAAS,CAAC9E,CAAC,CAAC8F,aAAa,CAAC;EACzF,MAAMC,WAAW,GAAGA,CAAA,KAAMjB,SAAS,CAAC,IAAI,CAAC;EAEzC,MAAMkB,YAAY,GAAIR,GAAW,IAAK;IACpC,MAAMS,IAAI,GAAG,IAAIf,GAAG,CAACF,SAAS,CAAC;IAC/B,IAAIiB,IAAI,CAACtF,GAAG,CAAC6E,GAAG,CAAC,EAAES,IAAI,CAACC,MAAM,CAACV,GAAG,CAAC,CAAC,KAC/BS,IAAI,CAACE,GAAG,CAACX,GAAG,CAAC;IAClBlB,qBAAqB,CAAC2B,IAAI,CAAC;EAC7B,CAAC;EAED,MAAMxE,OAAO,GAAGA,CAAA,KAAM6C,qBAAqB,CAAC,IAAIY,GAAG,CAAS,CAAC,CAAC;EAC9D,MAAMxD,OAAO,GAAGA,CAAA,KACd4C,qBAAqB,CAAC,IAAIY,GAAG,CAACC,iBAAiB,CAACiB,GAAG,CAAEf,CAAC,IAAKA,CAAC,CAACG,GAAG,CAAC,CAAC,CAAC;EAErE,MAAMa,uBAAuB,GAAG5B,cAAc,IAAI7C,wBAAwB;;EAE1E;EACA;EACA;EACA;EACA,MAAM0E,gBAAgB,GAAGrH,KAAK,CAACgG,OAAO,CACpC,OAAO;IACLsB,KAAK,EAAE;MACLC,EAAE,EAAEzE,gBAAgB;MACpB0E,IAAI,EAAE,QAAQ;MACd,YAAY,EAAE9B,CAAC,CAACrD;IAClB;EACF,CAAC,CAAC,EACF,CAACqD,CAAC,CAACrD,KAAK,CACV,CAAC;EAED,oBACE,IAAAvB,WAAA,CAAA2G,IAAA,EAAA3G,WAAA,CAAA4G,QAAA;IAAAC,QAAA,GACG9E,KAAK;IAAA;IACJ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACQ,IAAA/B,WAAA,CAAA2G,IAAA,EAACtH,IAAA,CAAAc,OAAG;MAACsG,EAAE,EAAE;QAAE3C,QAAQ,EAAE,UAAU;QAAErB,OAAO,EAAE;MAAc,CAAE;MAAAoE,QAAA,gBACxD,IAAA7G,WAAA,CAAA8G,GAAA,EAAClH,OAAA,CAAAO,OAAM;QACL4G,IAAI,EAAC,IAAI;QACTC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAC,QAAQ;QACbC,IAAI,eAAE,IAAAlH,WAAA,CAAA8G,GAAA,EAACnH,KAAA,CAAAQ,OAAQ;UAAC0C,QAAQ,EAAC;QAAO,CAAE,CAAE;QACpCsE,OAAO,EAAErB,UAAW;QACpB,iBAAc,QAAQ;QACtB,iBAAeF,IAAK;QAAAiB,QAAA,EAEnB9E;MAAK,CACA,CAAC,EACR4D,gBAAgB,iBACf,IAAA3F,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;QACFiH,SAAS,EAAC,MAAM;QAChBX,EAAE,EAAE;UACF,GAAG5C,QAAQ;UACXE,GAAG,EAAE,CAAC;UACNC,cAAc,EAAE,CAAC;UACjBqD,aAAa,EAAE;QACjB,CAAE;QACF,eAAY;MAAM,CACnB,CACF;IAAA,CACE,CAAC;IAAA;IAEN;AACR;AACA;IACQ,IAAArH,WAAA,CAAA2G,IAAA,EAACpH,WAAA,CAAAY,OAAU;MACT4G,IAAI,EAAC,OAAO;MACZE,IAAI,EAAC,QAAQ;MACbE,OAAO,EAAErB,UAAW;MACpB,cAAYlB,CAAC,CAACtD,MAAO;MACrB,iBAAc,QAAQ;MACtB,iBAAesE,IAAK;MACpBa,EAAE,EAAE;QACF1D,KAAK,EAAE,iBAAiB;QACxBe,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE;UACTK,UAAU,EAAE,iBAAiB;UAC7BpB,KAAK,EAAE;QACT;MACF,CAAE;MAAA8D,QAAA,gBAEF,IAAA7G,WAAA,CAAA8G,GAAA,EAACnH,KAAA,CAAAQ,OAAQ;QAAC0C,QAAQ,EAAC;MAAO,CAAE,CAAC,EAC5B8C,gBAAgB,iBACf,IAAA3F,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;QAACiH,SAAS,EAAC,MAAM;QAACX,EAAE,EAAE5C,QAAS;QAAC,eAAY;MAAM,CAAE,CACzD;IAAA,CACS,CACb,eAED,IAAA7D,WAAA,CAAA8G,GAAA,EAACtH,QAAA,CAAAW,OAAO;MACNyF,IAAI,EAAEA,IAAK;MACX0B,QAAQ,EAAExC,MAAO;MACjByC,OAAO,EAAEvB,WAAY;MACrBwB,YAAY,EAAE;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,UAAU,EAAE;MAAQ,CAAE;MAC1DC,eAAe,EAAE;QAAEF,QAAQ,EAAE,KAAK;QAAEC,UAAU,EAAE;MAAQ,CAAE;MAC1DE,SAAS,EAAErB,gBAAiB;MAAAM,QAAA,eAE5B,IAAA7G,WAAA,CAAA2G,IAAA,EAACtH,IAAA,CAAAc,OAAG;QAACsG,EAAE,EAAErE,eAAgB;QAAAyE,QAAA,gBAEvB,IAAA7G,WAAA,CAAA2G,IAAA,EAACtH,IAAA,CAAAc,OAAG;UAAA0G,QAAA,gBACF,IAAA7G,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;YAACiH,SAAS,EAAC,KAAK;YAACX,EAAE,EAAE7D,kBAAmB;YAAAiE,QAAA,EACzCjC,CAAC,CAACpD;UAAc,CACd,CAAC,eACN,IAAAxB,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;YAACsG,EAAE,EAAErD,eAAgB;YAAAyD,QAAA,EACtBzB,iBAAiB,CAACiB,GAAG,CAAEwB,GAAG,IAAK;cAC9B,MAAMC,SAAS,GAAG,CAAC7C,SAAS,CAACrE,GAAG,CAACiH,GAAG,CAACpC,GAAG,CAAC;cACzC;cACA;cACA;cACA,MAAMsC,UAAU,GAAG,IAAAC,gCAAiB,EAACH,GAAG,CAACI,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC;cACvD,MAAMC,SAAS,GAAGJ,UAAU,IAAIF,GAAG,CAACpC,GAAG;cACvC,oBACE,IAAAzF,WAAA,CAAA8G,GAAA,EAACpH,iBAAA,CAAAS,OAAgB;gBAEfiI,OAAO,eACL,IAAApI,WAAA,CAAA8G,GAAA,EAACrH,SAAA,CAAAU,OAAQ;kBACP4G,IAAI,EAAC,OAAO;kBACZsB,OAAO,EAAEP,SAAU;kBACnBQ,QAAQ,EAAEA,CAAA,KAAMrC,YAAY,CAAC4B,GAAG,CAACpC,GAAG,CAAE;kBACtCmC,SAAS,EAAE;oBACTW,KAAK,EAAE;sBAAE,YAAY,EAAEJ;oBAAU;kBACnC;gBAAE,CACH,CACF;gBACDpG,KAAK,EAAE8F,GAAG,CAACI,MAAO;gBAClBxB,EAAE,EAAEjD;cAAkB,GAZjBqE,GAAG,CAACpC,GAaV,CAAC;YAEN,CAAC;UAAC,CACC,CAAC,eACN,IAAAzF,WAAA,CAAA2G,IAAA,EAACtH,IAAA,CAAAc,OAAG;YAACsG,EAAE,EAAE9C,iBAAkB;YAAAkD,QAAA,gBACzB,IAAA7G,WAAA,CAAA8G,GAAA,EAAClH,OAAA,CAAAO,OAAM;cACL4G,IAAI,EAAC,IAAI;cACTC,OAAO,EAAC,OAAO;cACfC,IAAI,EAAC,QAAQ;cACbE,OAAO,EAAEzF,OAAQ;cACjB8G,QAAQ,EAAEhD,WAAW,KAAK,CAAE;cAAAqB,QAAA,EAE3BjC,CAAC,CAAClD;YAAO,CACJ,CAAC,eACT,IAAA1B,WAAA,CAAA8G,GAAA,EAAClH,OAAA,CAAAO,OAAM;cACL4G,IAAI,EAAC,IAAI;cACTC,OAAO,EAAC,OAAO;cACfC,IAAI,EAAC,QAAQ;cACbE,OAAO,EAAExF,OAAQ;cACjB6G,QAAQ,EAAEhD,WAAW,KAAKJ,iBAAiB,CAACM,MAAO;cAAAmB,QAAA,EAElDjC,CAAC,CAACjD;YAAO,CACJ,CAAC;UAAA,CACN,CAAC;QAAA,CACH,CAAC,eAGN,IAAA3B,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;UAACsG,EAAE,EAAEnD;QAAqB,CAAE,CAAC,eAGjC,IAAAtD,WAAA,CAAA2G,IAAA,EAACtH,IAAA,CAAAc,OAAG;UAAA0G,QAAA,gBACF,IAAA7G,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;YAACiH,SAAS,EAAC,KAAK;YAACX,EAAE,EAAE7D,kBAAmB;YAAAiE,QAAA,EACzCjC,CAAC,CAACnD;UAAc,CACd,CAAC,eACN,IAAAzB,WAAA,CAAA8G,GAAA,EAACzH,IAAA,CAAAc,OAAG;YAACsG,EAAE,EAAErD,eAAgB;YAAAyD,QAAA,eACvB,IAAA7G,WAAA,CAAA8G,GAAA,EAACjH,UAAA,CAAAM,OAAS;cACR2B,KAAK,EAAE0C,OAAO,IAAI,aAAc;cAChC8D,QAAQ,EAAGxG,KAAK,IAAK2C,eAAe,CAAC3C,KAAgB,CAAE;cACvD2G,OAAO,EAAEnC,uBAAwB;cACjCS,IAAI,EAAC,IAAI;cACT,cAAYnC,CAAC,CAAChD;YAAiB,CAChC;UAAC,CACC,CAAC;QAAA,CACH,CAAC;MAAA,CACH;IAAC,CACC,CAAC;EAAA,CACV,CAAC;AAEP;AAAC,IAAA8G,QAAA,GAAAC,OAAA,CAAAxI,OAAA,GAEciE,oBAAoB","ignoreList":[]}