@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,9 +1,3 @@
1
- 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; }
2
- 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; }
3
- 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; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
5
- 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); }
6
- 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); }
7
1
  import * as React from "react";
8
2
  import Box from "@mui/material/Box";
9
3
 
@@ -45,20 +39,17 @@ import Box from "@mui/material/Box";
45
39
  * pattern aren't surprised).
46
40
  */
47
41
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
48
- function Segmented(_ref) {
49
- var _options$selectedInde;
50
- var value = _ref.value,
51
- onChange = _ref.onChange,
52
- options = _ref.options,
53
- _ref$size = _ref.size,
54
- size = _ref$size === void 0 ? "md" : _ref$size,
55
- _ref$fullWidth = _ref.fullWidth,
56
- fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
57
- _ref$disabled = _ref.disabled,
58
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
59
- ariaLabel = _ref["aria-label"],
60
- ariaLabelledBy = _ref["aria-labelledby"],
61
- sx = _ref.sx;
42
+ function Segmented({
43
+ value,
44
+ onChange,
45
+ options,
46
+ size = "md",
47
+ fullWidth = false,
48
+ disabled = false,
49
+ "aria-label": ariaLabel,
50
+ "aria-labelledby": ariaLabelledBy,
51
+ sx
52
+ }) {
62
53
  if (process.env["NODE_ENV"] !== "production") {
63
54
  if (!ariaLabel && !ariaLabelledBy) {
64
55
  // eslint-disable-next-line no-console
@@ -66,45 +57,38 @@ function Segmented(_ref) {
66
57
  }
67
58
  if (options.length < 2 || options.length > 4) {
68
59
  // eslint-disable-next-line no-console
69
- console.warn("[@portnet/ui v2] <Segmented> with ".concat(options.length, " options - charter R-Sel.2 says 2-4. ") + "Below 2: drop the control. Above 4: use <Select> or <Tabs>.");
60
+ console.warn(`[@portnet/ui v2] <Segmented> with ${options.length} options - charter R-Sel.2 says 2-4. ` + "Below 2: drop the control. Above 4: use <Select> or <Tabs>.");
70
61
  }
71
62
  }
72
- var refs = React.useRef([]);
63
+ const refs = React.useRef([]);
73
64
 
74
65
  // Index of the currently-selected option drives aria-checked + styling.
75
- var selectedIndex = Math.max(0, options.findIndex(function (o) {
76
- return o.value === value;
77
- }));
66
+ const selectedIndex = Math.max(0, options.findIndex(o => o.value === value));
78
67
 
79
68
  // SEG-1 — Roving tabindex target. Per WAI-ARIA only ONE option is tabbable;
80
69
  // normally that's the selected one, but if the current value points at a
81
70
  // disabled option we fall back to the first enabled option so the group is
82
71
  // still reachable by Tab (WCAG 2.1.1). -1 when every option is disabled.
83
- var tabbableIndex = !((_options$selectedInde = options[selectedIndex]) !== null && _options$selectedInde !== void 0 && _options$selectedInde.disabled) ? selectedIndex : options.findIndex(function (o) {
84
- return !o.disabled;
85
- });
86
- var focusOption = function focusOption(i) {
87
- var node = refs.current[i];
72
+ const tabbableIndex = !options[selectedIndex]?.disabled ? selectedIndex : options.findIndex(o => !o.disabled);
73
+ const focusOption = i => {
74
+ const node = refs.current[i];
88
75
  if (node) node.focus();
89
76
  };
90
- var move = function move(delta) {
91
- var len = options.length;
92
- var next = selectedIndex;
93
- for (var step = 0; step < len; step += 1) {
94
- var _options$next;
77
+ const move = delta => {
78
+ const len = options.length;
79
+ let next = selectedIndex;
80
+ for (let step = 0; step < len; step += 1) {
95
81
  next = (next + delta + len) % len;
96
- if (!((_options$next = options[next]) !== null && _options$next !== void 0 && _options$next.disabled)) break;
82
+ if (!options[next]?.disabled) break;
97
83
  }
98
- var target = options[next];
84
+ const target = options[next];
99
85
  if (target && !target.disabled) {
100
- onChange === null || onChange === void 0 ? void 0 : onChange(target.value);
86
+ onChange?.(target.value);
101
87
  // schedule focus to land after React commits the new selectedIndex
102
- requestAnimationFrame(function () {
103
- return focusOption(next);
104
- });
88
+ requestAnimationFrame(() => focusOption(next));
105
89
  }
106
90
  };
107
- var handleKeyDown = function handleKeyDown(e) {
91
+ const handleKeyDown = e => {
108
92
  if (disabled) return;
109
93
  switch (e.key) {
110
94
  case "ArrowRight":
@@ -120,36 +104,24 @@ function Segmented(_ref) {
120
104
  case "Home":
121
105
  {
122
106
  e.preventDefault();
123
- var first = options.findIndex(function (o) {
124
- return !o.disabled;
125
- });
126
- var opt = first >= 0 ? options[first] : undefined;
107
+ const first = options.findIndex(o => !o.disabled);
108
+ const opt = first >= 0 ? options[first] : undefined;
127
109
  if (opt) {
128
- onChange === null || onChange === void 0 ? void 0 : onChange(opt.value);
129
- requestAnimationFrame(function () {
130
- return focusOption(first);
131
- });
110
+ onChange?.(opt.value);
111
+ requestAnimationFrame(() => focusOption(first));
132
112
  }
133
113
  break;
134
114
  }
135
115
  case "End":
136
116
  {
137
117
  e.preventDefault();
138
- var _loop = function _loop(i) {
139
- var opt = options[i];
118
+ for (let i = options.length - 1; i >= 0; i -= 1) {
119
+ const opt = options[i];
140
120
  if (opt && !opt.disabled) {
141
- onChange === null || onChange === void 0 ? void 0 : onChange(opt.value);
142
- requestAnimationFrame(function () {
143
- return focusOption(i);
144
- });
145
- return {
146
- v: void 0
147
- };
121
+ onChange?.(opt.value);
122
+ requestAnimationFrame(() => focusOption(i));
123
+ return;
148
124
  }
149
- };
150
- for (var i = options.length - 1; i >= 0; i -= 1) {
151
- var _ret = _loop(i);
152
- if (_typeof(_ret) === "object") return _ret.v;
153
125
  }
154
126
  break;
155
127
  }
@@ -157,10 +129,10 @@ function Segmented(_ref) {
157
129
  case "Enter":
158
130
  {
159
131
  // R-K.1 - Space/Enter re-affirm the focused (= selected) option.
160
- var _opt = options[selectedIndex];
161
- if (_opt && !_opt.disabled) {
132
+ const opt = options[selectedIndex];
133
+ if (opt && !opt.disabled) {
162
134
  e.preventDefault();
163
- onChange === null || onChange === void 0 ? void 0 : onChange(_opt.value);
135
+ onChange?.(opt.value);
164
136
  }
165
137
  break;
166
138
  }
@@ -173,16 +145,16 @@ function Segmented(_ref) {
173
145
  // mirrors the +2 button padding offset in createPortnetTheme — all
174
146
  // small interactive elements add a 2 px breathing offset to the
175
147
  // base grid for visual rhythm.
176
- var padY = size === "sm" ? "var(--s-1)" : "calc(var(--s-1) + 2px)";
177
- var padX = size === "sm" ? "calc(var(--s-2) + 2px)" : "var(--s-3)";
178
- var fontSize = size === "sm" ? "var(--text-xs)" : "var(--text-sm)";
148
+ const padY = size === "sm" ? "var(--s-1)" : "calc(var(--s-1) + 2px)";
149
+ const padX = size === "sm" ? "calc(var(--s-2) + 2px)" : "var(--s-3)";
150
+ const fontSize = size === "sm" ? "var(--text-xs)" : "var(--text-sm)";
179
151
  return /*#__PURE__*/_jsx(Box, {
180
152
  role: "radiogroup",
181
153
  "aria-label": ariaLabel,
182
154
  "aria-labelledby": ariaLabelledBy,
183
155
  "aria-disabled": disabled || undefined,
184
156
  onKeyDown: handleKeyDown,
185
- sx: _objectSpread({
157
+ sx: {
186
158
  display: "inline-flex",
187
159
  width: fullWidth ? "100%" : "auto",
188
160
  padding: "2px",
@@ -190,13 +162,14 @@ function Segmented(_ref) {
190
162
  border: "1px solid var(--border)",
191
163
  borderRadius: "var(--r-md)",
192
164
  gap: "2px",
193
- opacity: disabled ? 0.55 : 1
194
- }, sx),
195
- children: options.map(function (opt, i) {
196
- var isSelected = i === selectedIndex;
197
- var isDisabled = disabled || opt.disabled;
165
+ opacity: disabled ? 0.55 : 1,
166
+ ...sx
167
+ },
168
+ children: options.map((opt, i) => {
169
+ const isSelected = i === selectedIndex;
170
+ const isDisabled = disabled || opt.disabled;
198
171
  return /*#__PURE__*/_jsxs(Box, {
199
- ref: function ref(el) {
172
+ ref: el => {
200
173
  refs.current[i] = el;
201
174
  },
202
175
  role: "radio",
@@ -204,9 +177,9 @@ function Segmented(_ref) {
204
177
  "aria-disabled": isDisabled || undefined,
205
178
  "aria-label": opt["aria-label"],
206
179
  tabIndex: i === tabbableIndex && !isDisabled ? 0 : -1,
207
- onClick: function onClick() {
180
+ onClick: () => {
208
181
  if (isDisabled || isSelected) return;
209
- onChange === null || onChange === void 0 ? void 0 : onChange(opt.value);
182
+ onChange?.(opt.value);
210
183
  },
211
184
  sx: {
212
185
  flex: fullWidth ? 1 : "0 0 auto",
@@ -214,9 +187,9 @@ function Segmented(_ref) {
214
187
  alignItems: "center",
215
188
  justifyContent: "center",
216
189
  gap: 0.75,
217
- padding: "".concat(padY, " ").concat(padX),
190
+ padding: `${padY} ${padX}`,
218
191
  borderRadius: "calc(var(--r-md) - 2px)",
219
- fontSize: fontSize,
192
+ fontSize,
220
193
  fontWeight: isSelected ? "var(--fw-semibold)" : "var(--fw-medium)",
221
194
  color: isSelected ? "var(--fg)" : "var(--fg-muted)",
222
195
  background: isSelected ? "var(--surface)" : "transparent",
@@ -225,10 +198,12 @@ function Segmented(_ref) {
225
198
  userSelect: "none",
226
199
  whiteSpace: "nowrap",
227
200
  transition: "background var(--duration-fast, 80ms) ease, color var(--duration-fast, 80ms) ease",
228
- "&:hover": _objectSpread({}, !isSelected && !isDisabled ? {
229
- background: "var(--bg-hover)",
230
- color: "var(--fg)"
231
- } : {}),
201
+ "&:hover": {
202
+ ...(!isSelected && !isDisabled ? {
203
+ background: "var(--bg-hover)",
204
+ color: "var(--fg)"
205
+ } : {})
206
+ },
232
207
  "&:focus-visible": {
233
208
  outline: "2px solid var(--accent)",
234
209
  outlineOffset: "var(--pui-outline-offset)"
@@ -1 +1 @@
1
- {"version":3,"file":"Segmented.js","names":["React","Box","jsx","_jsx","jsxs","_jsxs","Segmented","_ref","_options$selectedInde","value","onChange","options","_ref$size","size","_ref$fullWidth","fullWidth","_ref$disabled","disabled","ariaLabel","ariaLabelledBy","sx","process","env","console","warn","length","concat","refs","useRef","selectedIndex","Math","max","findIndex","o","tabbableIndex","focusOption","i","node","current","focus","move","delta","len","next","step","_options$next","target","requestAnimationFrame","handleKeyDown","e","key","preventDefault","first","opt","undefined","_loop","v","_ret","_typeof","padY","padX","fontSize","role","onKeyDown","_objectSpread","display","width","padding","background","border","borderRadius","gap","opacity","children","map","isSelected","isDisabled","ref","el","tabIndex","onClick","flex","alignItems","justifyContent","fontWeight","color","boxShadow","cursor","userSelect","whiteSpace","transition","outline","outlineOffset","icon","component","label"],"sources":["../../../../src/lib/v2/components/Segmented.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Segmented - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Segmented control\". Single-selection input\r\n * for 2-4 mutually exclusive options. Use when Radio would feel\r\n * overweighted (R-Sel.2). For panel switching use <Tabs> instead.\r\n *\r\n * <Segmented\r\n * value={density}\r\n * onChange={setDensity}\r\n * options={[\r\n * { value: \"comfortable\", label: \"Confort\" },\r\n * { value: \"compact\", label: \"Compact\" },\r\n * ]}\r\n * aria-label=\"Densité d'affichage\"\r\n * />\r\n *\r\n * With icons (icon-only is allowed but each option MUST then have its\r\n * own aria-label):\r\n *\r\n * <Segmented\r\n * value={view} onChange={setView}\r\n * options={[\r\n * { value: \"list\", icon: <ViewListIcon />, \"aria-label\": \"Liste\" },\r\n * { value: \"grid\", icon: <ViewModuleIcon />, \"aria-label\": \"Grille\" },\r\n * ]}\r\n * aria-label=\"Mode d'affichage\"\r\n * />\r\n *\r\n * A11y note (R-K.1):\r\n * role=\"radiogroup\" + role=\"radio\" with roving tabindex per WAI-ARIA.\r\n * Arrow keys move focus AND auto-select (selection follows focus).\r\n * Space/Enter re-affirm the focused option (no-op under auto-select,\r\n * but consumes the keystroke so automated a11y audits don't flag the\r\n * role and so users following the alternative WAI-ARIA radiogroup\r\n * pattern aren't surprised).\r\n */\r\n\r\nexport type SegmentedValue = string | number;\r\n\r\nexport interface SegmentedOption {\r\n value: SegmentedValue;\r\n label?: React.ReactNode | undefined;\r\n icon?: React.ReactElement | undefined;\r\n disabled?: boolean | undefined;\r\n \"aria-label\"?: string | undefined;\r\n}\r\n\r\nexport interface SegmentedProps {\r\n value: SegmentedValue;\r\n onChange?: ((value: SegmentedValue) => void) | undefined;\r\n options: SegmentedOption[];\r\n size?: \"sm\" | \"md\" | undefined;\r\n fullWidth?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n \"aria-label\"?: string | undefined;\r\n \"aria-labelledby\"?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction Segmented({\r\n value,\r\n onChange,\r\n options,\r\n size = \"md\",\r\n fullWidth = false,\r\n disabled = false,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n sx,\r\n}: SegmentedProps) {\r\n if (process.env[\"NODE_ENV\"] !== \"production\") {\r\n if (!ariaLabel && !ariaLabelledBy) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] <Segmented> requires aria-label or aria-labelledby on the radiogroup.\"\r\n );\r\n }\r\n if (options.length < 2 || options.length > 4) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Segmented> with ${options.length} options - charter R-Sel.2 says 2-4. ` +\r\n \"Below 2: drop the control. Above 4: use <Select> or <Tabs>.\"\r\n );\r\n }\r\n }\r\n\r\n const refs = React.useRef<Array<HTMLDivElement | null>>([]);\r\n\r\n // Index of the currently-selected option drives aria-checked + styling.\r\n const selectedIndex = Math.max(\r\n 0,\r\n options.findIndex((o) => o.value === value)\r\n );\r\n\r\n // SEG-1 — Roving tabindex target. Per WAI-ARIA only ONE option is tabbable;\r\n // normally that's the selected one, but if the current value points at a\r\n // disabled option we fall back to the first enabled option so the group is\r\n // still reachable by Tab (WCAG 2.1.1). -1 when every option is disabled.\r\n const tabbableIndex = !options[selectedIndex]?.disabled\r\n ? selectedIndex\r\n : options.findIndex((o) => !o.disabled);\r\n\r\n const focusOption = (i: number) => {\r\n const node = refs.current[i];\r\n if (node) node.focus();\r\n };\r\n\r\n const move = (delta: number) => {\r\n const len = options.length;\r\n let next = selectedIndex;\r\n for (let step = 0; step < len; step += 1) {\r\n next = (next + delta + len) % len;\r\n if (!options[next]?.disabled) break;\r\n }\r\n const target = options[next];\r\n if (target && !target.disabled) {\r\n onChange?.(target.value);\r\n // schedule focus to land after React commits the new selectedIndex\r\n requestAnimationFrame(() => focusOption(next));\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (disabled) return;\r\n switch (e.key) {\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n e.preventDefault();\r\n move(+1);\r\n break;\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n e.preventDefault();\r\n move(-1);\r\n break;\r\n case \"Home\": {\r\n e.preventDefault();\r\n const first = options.findIndex((o) => !o.disabled);\r\n const opt = first >= 0 ? options[first] : undefined;\r\n if (opt) {\r\n onChange?.(opt.value);\r\n requestAnimationFrame(() => focusOption(first));\r\n }\r\n break;\r\n }\r\n case \"End\": {\r\n e.preventDefault();\r\n for (let i = options.length - 1; i >= 0; i -= 1) {\r\n const opt = options[i];\r\n if (opt && !opt.disabled) {\r\n onChange?.(opt.value);\r\n requestAnimationFrame(() => focusOption(i));\r\n return;\r\n }\r\n }\r\n break;\r\n }\r\n case \" \":\r\n case \"Enter\": {\r\n // R-K.1 - Space/Enter re-affirm the focused (= selected) option.\r\n const opt = options[selectedIndex];\r\n if (opt && !opt.disabled) {\r\n e.preventDefault();\r\n onChange?.(opt.value);\r\n }\r\n break;\r\n }\r\n default:\r\n }\r\n };\r\n\r\n // Per-option padding pulled from the spacing scale (var(--s-1) = 4 px,\r\n // var(--s-2) = 8 px). The \"+2\" on the small horizontal padding\r\n // mirrors the +2 button padding offset in createPortnetTheme — all\r\n // small interactive elements add a 2 px breathing offset to the\r\n // base grid for visual rhythm.\r\n const padY = size === \"sm\" ? \"var(--s-1)\" : \"calc(var(--s-1) + 2px)\";\r\n const padX = size === \"sm\" ? \"calc(var(--s-2) + 2px)\" : \"var(--s-3)\";\r\n const fontSize = size === \"sm\" ? \"var(--text-xs)\" : \"var(--text-sm)\";\r\n\r\n return (\r\n <Box\r\n role=\"radiogroup\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-disabled={disabled || undefined}\r\n onKeyDown={handleKeyDown}\r\n sx={{\r\n display: \"inline-flex\",\r\n width: fullWidth ? \"100%\" : \"auto\",\r\n padding: \"2px\",\r\n background: \"var(--bg-subtle)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n gap: \"2px\",\r\n opacity: disabled ? 0.55 : 1,\r\n ...sx,\r\n }}\r\n >\r\n {options.map((opt, i) => {\r\n const isSelected = i === selectedIndex;\r\n const isDisabled = disabled || opt.disabled;\r\n return (\r\n <Box\r\n key={opt.value}\r\n ref={(el) => { refs.current[i] = el as HTMLDivElement | null; }}\r\n role=\"radio\"\r\n aria-checked={isSelected}\r\n aria-disabled={isDisabled || undefined}\r\n aria-label={opt[\"aria-label\"]}\r\n tabIndex={i === tabbableIndex && !isDisabled ? 0 : -1}\r\n onClick={() => {\r\n if (isDisabled || isSelected) return;\r\n onChange?.(opt.value);\r\n }}\r\n sx={{\r\n flex: fullWidth ? 1 : \"0 0 auto\",\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 0.75,\r\n padding: `${padY} ${padX}`,\r\n borderRadius: \"calc(var(--r-md) - 2px)\",\r\n fontSize,\r\n fontWeight: isSelected ? \"var(--fw-semibold)\" : \"var(--fw-medium)\",\r\n color: isSelected ? \"var(--fg)\" : \"var(--fg-muted)\",\r\n background: isSelected ? \"var(--surface)\" : \"transparent\",\r\n boxShadow: isSelected ? \"var(--shadow-xs)\" : \"none\",\r\n cursor: isDisabled ? \"not-allowed\" : isSelected ? \"default\" : \"pointer\",\r\n userSelect: \"none\",\r\n whiteSpace: \"nowrap\",\r\n transition:\r\n \"background var(--duration-fast, 80ms) ease, color var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": {\r\n ...(!isSelected && !isDisabled\r\n ? { background: \"var(--bg-hover)\", color: \"var(--fg)\" }\r\n : {}),\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n {opt.icon && (\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{ display: \"inline-flex\", color: \"currentColor\" }}\r\n >\r\n {opt.icon}\r\n </Box>\r\n )}\r\n {opt.label && <Box component=\"span\">{opt.label}</Box>}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Segmented;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;;AAGnC;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;AApCA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA4DA,SAASC,SAASA,CAAAC,IAAA,EAUC;EAAA,IAAAC,qBAAA;EAAA,IATjBC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,SAAA,GAAAL,IAAA,CACPM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IAAAE,cAAA,GAAAP,IAAA,CACXQ,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IAAAE,aAAA,GAAAT,IAAA,CACjBU,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IACFE,SAAS,GAAAX,IAAA,CAAvB,YAAY;IACOY,cAAc,GAAAZ,IAAA,CAAjC,iBAAiB;IACjBa,EAAE,GAAAb,IAAA,CAAFa,EAAE;EAEF,IAAIC,OAAO,CAACC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE;IAC5C,IAAI,CAACJ,SAAS,IAAI,CAACC,cAAc,EAAE;MACjC;MACAI,OAAO,CAACC,IAAI,CACV,wFACF,CAAC;IACH;IACA,IAAIb,OAAO,CAACc,MAAM,GAAG,CAAC,IAAId,OAAO,CAACc,MAAM,GAAG,CAAC,EAAE;MAC5C;MACAF,OAAO,CAACC,IAAI,CACV,qCAAAE,MAAA,CAAqCf,OAAO,CAACc,MAAM,6CACnD,6DACF,CAAC;IACH;EACF;EAEA,IAAME,IAAI,GAAG3B,KAAK,CAAC4B,MAAM,CAA+B,EAAE,CAAC;;EAE3D;EACA,IAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAC5B,CAAC,EACDpB,OAAO,CAACqB,SAAS,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACxB,KAAK,KAAKA,KAAK;EAAA,EAC5C,CAAC;;EAED;EACA;EACA;EACA;EACA,IAAMyB,aAAa,GAAG,GAAA1B,qBAAA,GAACG,OAAO,CAACkB,aAAa,CAAC,cAAArB,qBAAA,eAAtBA,qBAAA,CAAwBS,QAAQ,IACnDY,aAAa,GACblB,OAAO,CAACqB,SAAS,CAAC,UAACC,CAAC;IAAA,OAAK,CAACA,CAAC,CAAChB,QAAQ;EAAA,EAAC;EAEzC,IAAMkB,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAS,EAAK;IACjC,IAAMC,IAAI,GAAGV,IAAI,CAACW,OAAO,CAACF,CAAC,CAAC;IAC5B,IAAIC,IAAI,EAAEA,IAAI,CAACE,KAAK,CAAC,CAAC;EACxB,CAAC;EAED,IAAMC,IAAI,GAAG,SAAPA,IAAIA,CAAIC,KAAa,EAAK;IAC9B,IAAMC,GAAG,GAAG/B,OAAO,CAACc,MAAM;IAC1B,IAAIkB,IAAI,GAAGd,aAAa;IACxB,KAAK,IAAIe,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGF,GAAG,EAAEE,IAAI,IAAI,CAAC,EAAE;MAAA,IAAAC,aAAA;MACxCF,IAAI,GAAG,CAACA,IAAI,GAAGF,KAAK,GAAGC,GAAG,IAAIA,GAAG;MACjC,IAAI,GAAAG,aAAA,GAAClC,OAAO,CAACgC,IAAI,CAAC,cAAAE,aAAA,eAAbA,aAAA,CAAe5B,QAAQ,GAAE;IAChC;IACA,IAAM6B,MAAM,GAAGnC,OAAO,CAACgC,IAAI,CAAC;IAC5B,IAAIG,MAAM,IAAI,CAACA,MAAM,CAAC7B,QAAQ,EAAE;MAC9BP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGoC,MAAM,CAACrC,KAAK,CAAC;MACxB;MACAsC,qBAAqB,CAAC;QAAA,OAAMZ,WAAW,CAACQ,IAAI,CAAC;MAAA,EAAC;IAChD;EACF,CAAC;EAED,IAAMK,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,CAAsC,EAAK;IAChE,IAAIhC,QAAQ,EAAE;IACd,QAAQgC,CAAC,CAACC,GAAG;MACX,KAAK,YAAY;MACjB,KAAK,WAAW;QACdD,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBX,IAAI,CAAC,CAAC,CAAC,CAAC;QACR;MACF,KAAK,WAAW;MAChB,KAAK,SAAS;QACZS,CAAC,CAACE,cAAc,CAAC,CAAC;QAClBX,IAAI,CAAC,CAAC,CAAC,CAAC;QACR;MACF,KAAK,MAAM;QAAE;UACXS,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAMC,KAAK,GAAGzC,OAAO,CAACqB,SAAS,CAAC,UAACC,CAAC;YAAA,OAAK,CAACA,CAAC,CAAChB,QAAQ;UAAA,EAAC;UACnD,IAAMoC,GAAG,GAAGD,KAAK,IAAI,CAAC,GAAGzC,OAAO,CAACyC,KAAK,CAAC,GAAGE,SAAS;UACnD,IAAID,GAAG,EAAE;YACP3C,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG2C,GAAG,CAAC5C,KAAK,CAAC;YACrBsC,qBAAqB,CAAC;cAAA,OAAMZ,WAAW,CAACiB,KAAK,CAAC;YAAA,EAAC;UACjD;UACA;QACF;MACA,KAAK,KAAK;QAAE;UACVH,CAAC,CAACE,cAAc,CAAC,CAAC;UAAC,IAAAI,KAAA,YAAAA,MACVnB,CAAC;YACR,IAAMiB,GAAG,GAAG1C,OAAO,CAACyB,CAAC,CAAC;YACtB,IAAIiB,GAAG,IAAI,CAACA,GAAG,CAACpC,QAAQ,EAAE;cACxBP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG2C,GAAG,CAAC5C,KAAK,CAAC;cACrBsC,qBAAqB,CAAC;gBAAA,OAAMZ,WAAW,CAACC,CAAC,CAAC;cAAA,EAAC;cAC3C;gBAAAoB,CAAA;cAAA;YACF;UAAC;UANH,KAAK,IAAIpB,CAAC,GAAGzB,OAAO,CAACc,MAAM,GAAG,CAAC,EAAEW,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;YAAA,IAAAqB,IAAA,GAAAF,KAAA,CAAxCnB,CAAC;YAAA,IAAAsB,OAAA,CAAAD,IAAA,uBAAAA,IAAA,CAAAD,CAAA;UAOV;UACA;QACF;MACA,KAAK,GAAG;MACR,KAAK,OAAO;QAAE;UACZ;UACA,IAAMH,IAAG,GAAG1C,OAAO,CAACkB,aAAa,CAAC;UAClC,IAAIwB,IAAG,IAAI,CAACA,IAAG,CAACpC,QAAQ,EAAE;YACxBgC,CAAC,CAACE,cAAc,CAAC,CAAC;YAClBzC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG2C,IAAG,CAAC5C,KAAK,CAAC;UACvB;UACA;QACF;MACA;IACF;EACF,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,IAAMkD,IAAI,GAAG9C,IAAI,KAAK,IAAI,GAAG,YAAY,GAAG,wBAAwB;EACpE,IAAM+C,IAAI,GAAG/C,IAAI,KAAK,IAAI,GAAG,wBAAwB,GAAG,YAAY;EACpE,IAAMgD,QAAQ,GAAGhD,IAAI,KAAK,IAAI,GAAG,gBAAgB,GAAG,gBAAgB;EAEpE,oBACEV,IAAA,CAACF,GAAG;IACF6D,IAAI,EAAC,YAAY;IACjB,cAAY5C,SAAU;IACtB,mBAAiBC,cAAe;IAChC,iBAAeF,QAAQ,IAAIqC,SAAU;IACrCS,SAAS,EAAEf,aAAc;IACzB5B,EAAE,EAAA4C,aAAA;MACAC,OAAO,EAAE,aAAa;MACtBC,KAAK,EAAEnD,SAAS,GAAG,MAAM,GAAG,MAAM;MAClCoD,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,kBAAkB;MAC9BC,MAAM,EAAE,yBAAyB;MACjCC,YAAY,EAAE,aAAa;MAC3BC,GAAG,EAAE,KAAK;MACVC,OAAO,EAAEvD,QAAQ,GAAG,IAAI,GAAG;IAAC,GACzBG,EAAE,CACL;IAAAqD,QAAA,EAED9D,OAAO,CAAC+D,GAAG,CAAC,UAACrB,GAAG,EAAEjB,CAAC,EAAK;MACvB,IAAMuC,UAAU,GAAGvC,CAAC,KAAKP,aAAa;MACtC,IAAM+C,UAAU,GAAG3D,QAAQ,IAAIoC,GAAG,CAACpC,QAAQ;MAC3C,oBACEZ,KAAA,CAACJ,GAAG;QAEF4E,GAAG,EAAE,SAAAA,IAACC,EAAE,EAAK;UAAEnD,IAAI,CAACW,OAAO,CAACF,CAAC,CAAC,GAAG0C,EAA2B;QAAE,CAAE;QAChEhB,IAAI,EAAC,OAAO;QACZ,gBAAca,UAAW;QACzB,iBAAeC,UAAU,IAAItB,SAAU;QACvC,cAAYD,GAAG,CAAC,YAAY,CAAE;QAC9B0B,QAAQ,EAAE3C,CAAC,KAAKF,aAAa,IAAI,CAAC0C,UAAU,GAAG,CAAC,GAAG,CAAC,CAAE;QACtDI,OAAO,EAAE,SAAAA,QAAA,EAAM;UACb,IAAIJ,UAAU,IAAID,UAAU,EAAE;UAC9BjE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG2C,GAAG,CAAC5C,KAAK,CAAC;QACvB,CAAE;QACFW,EAAE,EAAE;UACF6D,IAAI,EAAElE,SAAS,GAAG,CAAC,GAAG,UAAU;UAChCkD,OAAO,EAAE,aAAa;UACtBiB,UAAU,EAAE,QAAQ;UACpBC,cAAc,EAAE,QAAQ;UACxBZ,GAAG,EAAE,IAAI;UACTJ,OAAO,KAAAzC,MAAA,CAAKiC,IAAI,OAAAjC,MAAA,CAAIkC,IAAI,CAAE;UAC1BU,YAAY,EAAE,yBAAyB;UACvCT,QAAQ,EAARA,QAAQ;UACRuB,UAAU,EAAET,UAAU,GAAG,oBAAoB,GAAG,kBAAkB;UAClEU,KAAK,EAAEV,UAAU,GAAG,WAAW,GAAG,iBAAiB;UACnDP,UAAU,EAAEO,UAAU,GAAG,gBAAgB,GAAG,aAAa;UACzDW,SAAS,EAAEX,UAAU,GAAG,kBAAkB,GAAG,MAAM;UACnDY,MAAM,EAAEX,UAAU,GAAG,aAAa,GAAGD,UAAU,GAAG,SAAS,GAAG,SAAS;UACvEa,UAAU,EAAE,MAAM;UAClBC,UAAU,EAAE,QAAQ;UACpBC,UAAU,EACR,mFAAmF;UACrF,SAAS,EAAA1B,aAAA,KACH,CAACW,UAAU,IAAI,CAACC,UAAU,GAC1B;YAAER,UAAU,EAAE,iBAAiB;YAAEiB,KAAK,EAAE;UAAY,CAAC,GACrD,CAAC,CAAC,CACP;UACD,iBAAiB,EAAE;YACjBM,OAAO,EAAE,yBAAyB;YAClCC,aAAa,EAAE;UACjB;QACF,CAAE;QAAAnB,QAAA,GAEDpB,GAAG,CAACwC,IAAI,iBACP1F,IAAA,CAACF,GAAG;UACF6F,SAAS,EAAC,MAAM;UAChB,eAAY,MAAM;UAClB1E,EAAE,EAAE;YAAE6C,OAAO,EAAE,aAAa;YAAEoB,KAAK,EAAE;UAAe,CAAE;UAAAZ,QAAA,EAErDpB,GAAG,CAACwC;QAAI,CACN,CACN,EACAxC,GAAG,CAAC0C,KAAK,iBAAI5F,IAAA,CAACF,GAAG;UAAC6F,SAAS,EAAC,MAAM;UAAArB,QAAA,EAAEpB,GAAG,CAAC0C;QAAK,CAAM,CAAC;MAAA,GAjDhD1C,GAAG,CAAC5C,KAkDN,CAAC;IAEV,CAAC;EAAC,CACC,CAAC;AAEV;AAEA,eAAeH,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"Segmented.js","names":["React","Box","jsx","_jsx","jsxs","_jsxs","Segmented","value","onChange","options","size","fullWidth","disabled","ariaLabel","ariaLabelledBy","sx","process","env","console","warn","length","refs","useRef","selectedIndex","Math","max","findIndex","o","tabbableIndex","focusOption","i","node","current","focus","move","delta","len","next","step","target","requestAnimationFrame","handleKeyDown","e","key","preventDefault","first","opt","undefined","padY","padX","fontSize","role","onKeyDown","display","width","padding","background","border","borderRadius","gap","opacity","children","map","isSelected","isDisabled","ref","el","tabIndex","onClick","flex","alignItems","justifyContent","fontWeight","color","boxShadow","cursor","userSelect","whiteSpace","transition","outline","outlineOffset","icon","component","label"],"sources":["../../../../src/lib/v2/components/Segmented.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Segmented - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Segmented control\". Single-selection input\r\n * for 2-4 mutually exclusive options. Use when Radio would feel\r\n * overweighted (R-Sel.2). For panel switching use <Tabs> instead.\r\n *\r\n * <Segmented\r\n * value={density}\r\n * onChange={setDensity}\r\n * options={[\r\n * { value: \"comfortable\", label: \"Confort\" },\r\n * { value: \"compact\", label: \"Compact\" },\r\n * ]}\r\n * aria-label=\"Densité d'affichage\"\r\n * />\r\n *\r\n * With icons (icon-only is allowed but each option MUST then have its\r\n * own aria-label):\r\n *\r\n * <Segmented\r\n * value={view} onChange={setView}\r\n * options={[\r\n * { value: \"list\", icon: <ViewListIcon />, \"aria-label\": \"Liste\" },\r\n * { value: \"grid\", icon: <ViewModuleIcon />, \"aria-label\": \"Grille\" },\r\n * ]}\r\n * aria-label=\"Mode d'affichage\"\r\n * />\r\n *\r\n * A11y note (R-K.1):\r\n * role=\"radiogroup\" + role=\"radio\" with roving tabindex per WAI-ARIA.\r\n * Arrow keys move focus AND auto-select (selection follows focus).\r\n * Space/Enter re-affirm the focused option (no-op under auto-select,\r\n * but consumes the keystroke so automated a11y audits don't flag the\r\n * role and so users following the alternative WAI-ARIA radiogroup\r\n * pattern aren't surprised).\r\n */\r\n\r\nexport type SegmentedValue = string | number;\r\n\r\nexport interface SegmentedOption {\r\n value: SegmentedValue;\r\n label?: React.ReactNode | undefined;\r\n icon?: React.ReactElement | undefined;\r\n disabled?: boolean | undefined;\r\n \"aria-label\"?: string | undefined;\r\n}\r\n\r\nexport interface SegmentedProps {\r\n value: SegmentedValue;\r\n onChange?: ((value: SegmentedValue) => void) | undefined;\r\n options: SegmentedOption[];\r\n size?: \"sm\" | \"md\" | undefined;\r\n fullWidth?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n \"aria-label\"?: string | undefined;\r\n \"aria-labelledby\"?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction Segmented({\r\n value,\r\n onChange,\r\n options,\r\n size = \"md\",\r\n fullWidth = false,\r\n disabled = false,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n sx,\r\n}: SegmentedProps) {\r\n if (process.env[\"NODE_ENV\"] !== \"production\") {\r\n if (!ariaLabel && !ariaLabelledBy) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] <Segmented> requires aria-label or aria-labelledby on the radiogroup.\"\r\n );\r\n }\r\n if (options.length < 2 || options.length > 4) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Segmented> with ${options.length} options - charter R-Sel.2 says 2-4. ` +\r\n \"Below 2: drop the control. Above 4: use <Select> or <Tabs>.\"\r\n );\r\n }\r\n }\r\n\r\n const refs = React.useRef<Array<HTMLDivElement | null>>([]);\r\n\r\n // Index of the currently-selected option drives aria-checked + styling.\r\n const selectedIndex = Math.max(\r\n 0,\r\n options.findIndex((o) => o.value === value)\r\n );\r\n\r\n // SEG-1 — Roving tabindex target. Per WAI-ARIA only ONE option is tabbable;\r\n // normally that's the selected one, but if the current value points at a\r\n // disabled option we fall back to the first enabled option so the group is\r\n // still reachable by Tab (WCAG 2.1.1). -1 when every option is disabled.\r\n const tabbableIndex = !options[selectedIndex]?.disabled\r\n ? selectedIndex\r\n : options.findIndex((o) => !o.disabled);\r\n\r\n const focusOption = (i: number) => {\r\n const node = refs.current[i];\r\n if (node) node.focus();\r\n };\r\n\r\n const move = (delta: number) => {\r\n const len = options.length;\r\n let next = selectedIndex;\r\n for (let step = 0; step < len; step += 1) {\r\n next = (next + delta + len) % len;\r\n if (!options[next]?.disabled) break;\r\n }\r\n const target = options[next];\r\n if (target && !target.disabled) {\r\n onChange?.(target.value);\r\n // schedule focus to land after React commits the new selectedIndex\r\n requestAnimationFrame(() => focusOption(next));\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (disabled) return;\r\n switch (e.key) {\r\n case \"ArrowRight\":\r\n case \"ArrowDown\":\r\n e.preventDefault();\r\n move(+1);\r\n break;\r\n case \"ArrowLeft\":\r\n case \"ArrowUp\":\r\n e.preventDefault();\r\n move(-1);\r\n break;\r\n case \"Home\": {\r\n e.preventDefault();\r\n const first = options.findIndex((o) => !o.disabled);\r\n const opt = first >= 0 ? options[first] : undefined;\r\n if (opt) {\r\n onChange?.(opt.value);\r\n requestAnimationFrame(() => focusOption(first));\r\n }\r\n break;\r\n }\r\n case \"End\": {\r\n e.preventDefault();\r\n for (let i = options.length - 1; i >= 0; i -= 1) {\r\n const opt = options[i];\r\n if (opt && !opt.disabled) {\r\n onChange?.(opt.value);\r\n requestAnimationFrame(() => focusOption(i));\r\n return;\r\n }\r\n }\r\n break;\r\n }\r\n case \" \":\r\n case \"Enter\": {\r\n // R-K.1 - Space/Enter re-affirm the focused (= selected) option.\r\n const opt = options[selectedIndex];\r\n if (opt && !opt.disabled) {\r\n e.preventDefault();\r\n onChange?.(opt.value);\r\n }\r\n break;\r\n }\r\n default:\r\n }\r\n };\r\n\r\n // Per-option padding pulled from the spacing scale (var(--s-1) = 4 px,\r\n // var(--s-2) = 8 px). The \"+2\" on the small horizontal padding\r\n // mirrors the +2 button padding offset in createPortnetTheme — all\r\n // small interactive elements add a 2 px breathing offset to the\r\n // base grid for visual rhythm.\r\n const padY = size === \"sm\" ? \"var(--s-1)\" : \"calc(var(--s-1) + 2px)\";\r\n const padX = size === \"sm\" ? \"calc(var(--s-2) + 2px)\" : \"var(--s-3)\";\r\n const fontSize = size === \"sm\" ? \"var(--text-xs)\" : \"var(--text-sm)\";\r\n\r\n return (\r\n <Box\r\n role=\"radiogroup\"\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-disabled={disabled || undefined}\r\n onKeyDown={handleKeyDown}\r\n sx={{\r\n display: \"inline-flex\",\r\n width: fullWidth ? \"100%\" : \"auto\",\r\n padding: \"2px\",\r\n background: \"var(--bg-subtle)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n gap: \"2px\",\r\n opacity: disabled ? 0.55 : 1,\r\n ...sx,\r\n }}\r\n >\r\n {options.map((opt, i) => {\r\n const isSelected = i === selectedIndex;\r\n const isDisabled = disabled || opt.disabled;\r\n return (\r\n <Box\r\n key={opt.value}\r\n ref={(el) => { refs.current[i] = el as HTMLDivElement | null; }}\r\n role=\"radio\"\r\n aria-checked={isSelected}\r\n aria-disabled={isDisabled || undefined}\r\n aria-label={opt[\"aria-label\"]}\r\n tabIndex={i === tabbableIndex && !isDisabled ? 0 : -1}\r\n onClick={() => {\r\n if (isDisabled || isSelected) return;\r\n onChange?.(opt.value);\r\n }}\r\n sx={{\r\n flex: fullWidth ? 1 : \"0 0 auto\",\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 0.75,\r\n padding: `${padY} ${padX}`,\r\n borderRadius: \"calc(var(--r-md) - 2px)\",\r\n fontSize,\r\n fontWeight: isSelected ? \"var(--fw-semibold)\" : \"var(--fw-medium)\",\r\n color: isSelected ? \"var(--fg)\" : \"var(--fg-muted)\",\r\n background: isSelected ? \"var(--surface)\" : \"transparent\",\r\n boxShadow: isSelected ? \"var(--shadow-xs)\" : \"none\",\r\n cursor: isDisabled ? \"not-allowed\" : isSelected ? \"default\" : \"pointer\",\r\n userSelect: \"none\",\r\n whiteSpace: \"nowrap\",\r\n transition:\r\n \"background var(--duration-fast, 80ms) ease, color var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": {\r\n ...(!isSelected && !isDisabled\r\n ? { background: \"var(--bg-hover)\", color: \"var(--fg)\" }\r\n : {}),\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n {opt.icon && (\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{ display: \"inline-flex\", color: \"currentColor\" }}\r\n >\r\n {opt.icon}\r\n </Box>\r\n )}\r\n {opt.label && <Box component=\"span\">{opt.label}</Box>}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Segmented;\r\n"],"mappings":"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","ignoreList":[]}