@portnet/ui 6.0.1 → 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 (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -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 -39
  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 +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  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 +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  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 -22
  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 +118 -90
  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 +210 -52
  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 +64 -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 +14 -4
  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 +26 -75
  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 +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  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 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  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 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  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 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  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 +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  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 +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  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 +235 -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 +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.tabPanelDomId = exports.tabDomId = exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Tabs = _interopRequireDefault(require("@mui/material/Tabs"));
10
9
  var _Tab = _interopRequireDefault(require("@mui/material/Tab"));
11
10
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
14
  /**
17
15
  * Tabs - Portnet UI v2
18
16
  *
@@ -46,10 +44,38 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
46
44
  * }]}
47
45
  */
48
46
 
47
+ /**
48
+ * DOM id of a tab, and of the panel it controls.
49
+ *
50
+ * ─── POURQUOI CES DEUX FONCTIONS SONT EXPORTÉES (gap G-46) ─────────────
51
+ *
52
+ * `Tabs` émet la MOITIÉ du contrat R-Ar.6 : chaque onglet porte son `id` et un
53
+ * `aria-controls` vers `pui-panel-<id>`. L'autre moitié — le panneau qui porte
54
+ * ce même id, `role="tabpanel"` et `aria-labelledby` — appartient à l'hôte, et
55
+ * la library ne la fournissait pas.
56
+ *
57
+ * Le format des ids était donc une connaissance PRIVÉE que chaque hôte devait
58
+ * redupliquer en chaîne littérale. Une faute de frappe y est invisible : le
59
+ * balisage reste valide, l'onglet annonce simplement un élément contrôlé qui
60
+ * n'existe pas — et un `aria-controls` cassé est PIRE que son absence, puisque
61
+ * la technologie d'assistance propose à l'utilisateur une relation qu'elle ne
62
+ * peut ensuite pas suivre.
63
+ *
64
+ * Relevé depuis `addm-fe` (Area 5), où `ConsultDemande` rendait ses panneaux en
65
+ * `{tab === "x" && <…/>}` nus : les deux onglets pointaient dans le vide, sans
66
+ * `role` ni nom accessible sur le contenu. Le module avait écrit son propre
67
+ * `TabPanel` en relisant la convention dans CE fichier — preuve que la
68
+ * connaissance était requise et non publiée.
69
+ */
70
+ const tabDomId = id => `pui-tab-${id}`;
71
+ exports.tabDomId = tabDomId;
72
+ const tabPanelDomId = id => `pui-panel-${id}`;
73
+
49
74
  // Default count announcement. Kept FR for back-compat; consumers
50
75
  // localise per item via the `countLabel` slot.
76
+ exports.tabPanelDomId = tabPanelDomId;
51
77
  function defaultCountLabel(count) {
52
- return "".concat(count, " \xE9l\xE9ments");
78
+ return `${count} éléments`;
53
79
  }
54
80
 
55
81
  /* ── Hoisted static sx (D5) ─────────────────────────────────────────────
@@ -60,7 +86,7 @@ function defaultCountLabel(count) {
60
86
  // MUI v9: shape forwarded via slotProps.indicator (was TabIndicatorProps
61
87
  // in v5/v6/v7, deprecated v6, removed v9). The content { sx: {...} } is
62
88
  // unchanged — it's the same {sx} that the indicator slot consumes.
63
- var TAB_INDICATOR_PROPS = Object.freeze({
89
+ const TAB_INDICATOR_PROPS = Object.freeze({
64
90
  // Indicator thickness (2 px) is a visual constant, not a spacing value.
65
91
  // Charter §03 Tabs specifies 2 px underline.
66
92
  sx: {
@@ -68,7 +94,7 @@ var TAB_INDICATOR_PROPS = Object.freeze({
68
94
  height: 2
69
95
  }
70
96
  });
71
- var TABS_SX = Object.freeze({
97
+ const TABS_SX = Object.freeze({
72
98
  borderBottom: "1px solid var(--border)",
73
99
  // Tabs use the secondary-nav 40 px row height (charter §03 Tabs).
74
100
  // Below the 44 px tactile minimum; the underline indicator and the
@@ -95,12 +121,12 @@ var TABS_SX = Object.freeze({
95
121
  }
96
122
  }
97
123
  });
98
- var TAB_LABEL_INNER_SX = Object.freeze({
124
+ const TAB_LABEL_INNER_SX = Object.freeze({
99
125
  display: "inline-flex",
100
126
  alignItems: "center",
101
127
  gap: "var(--s-2)"
102
128
  });
103
- var COUNT_BADGE_SX = Object.freeze({
129
+ const COUNT_BADGE_SX = Object.freeze({
104
130
  fontSize: "var(--text-xs)",
105
131
  fontWeight: "var(--fw-semibold)",
106
132
  padding: "var(--s-1) var(--s-2)",
@@ -113,19 +139,17 @@ var COUNT_BADGE_SX = Object.freeze({
113
139
  // MUI v9: slotProps wrapper for indicator. Hoisted alongside the rest of
114
140
  // the static-sx block so emotion / React skip re-allocation on every
115
141
  // render. The shape is { indicator: TAB_INDICATOR_PROPS }.
116
- var TABS_SLOT_PROPS = Object.freeze({
142
+ const TABS_SLOT_PROPS = Object.freeze({
117
143
  indicator: TAB_INDICATOR_PROPS
118
144
  });
119
- function Tabs(_ref) {
120
- var value = _ref.value,
121
- onChange = _ref.onChange,
122
- items = _ref.items,
123
- _ref$ariaLabel = _ref["aria-label"],
124
- ariaLabel = _ref$ariaLabel === void 0 ? "Sections" : _ref$ariaLabel;
125
- var handle = function handle(_e, v) {
126
- return onChange === null || onChange === void 0 ? void 0 : onChange(v);
127
- };
128
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs["default"], {
145
+ function Tabs({
146
+ value,
147
+ onChange,
148
+ items,
149
+ "aria-label": ariaLabel = "Sections"
150
+ }) {
151
+ const handle = (_e, v) => onChange?.(v);
152
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tabs.default, {
129
153
  value: value,
130
154
  onChange: handle,
131
155
  "aria-label": ariaLabel,
@@ -133,19 +157,19 @@ function Tabs(_ref) {
133
157
  scrollButtons: false,
134
158
  slotProps: TABS_SLOT_PROPS,
135
159
  sx: TABS_SX,
136
- children: items.map(function (t) {
137
- var countAria = t.count != null ? typeof t.countLabel === "function" ? t.countLabel(t.count) : t.countLabel != null ? t.countLabel : defaultCountLabel(t.count) : undefined;
138
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tab["default"], {
160
+ children: items.map(t => {
161
+ const countAria = t.count != null ? typeof t.countLabel === "function" ? t.countLabel(t.count) : t.countLabel != null ? t.countLabel : defaultCountLabel(t.count) : undefined;
162
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tab.default, {
139
163
  value: t.id,
140
- id: "pui-tab-".concat(t.id),
141
- "aria-controls": "pui-panel-".concat(t.id),
164
+ id: tabDomId(t.id),
165
+ "aria-controls": tabPanelDomId(t.id),
142
166
  icon: t.icon,
143
167
  iconPosition: "start",
144
- label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
168
+ label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
145
169
  sx: TAB_LABEL_INNER_SX,
146
170
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
147
171
  children: t.label
148
- }), t.count != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
172
+ }), t.count != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
149
173
  component: "span",
150
174
  "aria-label": countAria,
151
175
  sx: COUNT_BADGE_SX,
@@ -156,5 +180,5 @@ function Tabs(_ref) {
156
180
  })
157
181
  });
158
182
  }
159
- var _default = exports["default"] = Tabs;
183
+ var _default = exports.default = Tabs;
160
184
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","names":["React","_interopRequireWildcard","require","_Tabs","_interopRequireDefault","_Tab","_Box","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","defaultCountLabel","count","concat","TAB_INDICATOR_PROPS","freeze","sx","backgroundColor","height","TABS_SX","borderBottom","minHeight","textTransform","fontSize","fontWeight","color","padding","outline","outlineOffset","borderRadius","TAB_LABEL_INNER_SX","display","alignItems","gap","COUNT_BADGE_SX","background","lineHeight","TABS_SLOT_PROPS","indicator","Tabs","_ref","value","onChange","items","_ref$ariaLabel","ariaLabel","handle","_e","v","jsx","variant","scrollButtons","slotProps","children","map","t","countAria","countLabel","undefined","id","icon","iconPosition","label","jsxs","component","_default","exports"],"sources":["../../../src/lib/v2/components/Tabs.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiTabs from \"@mui/material/Tabs\";\r\nimport MuiTab from \"@mui/material/Tab\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Tabs - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Tabs\".\r\n *\r\n * 2-7 onglets max ; underline accent ; role=\"tablist\" ;\r\n * ←→ keyboard nav ; persists in URL via the host (?tab=…).\r\n *\r\n * R-Ar.6 - role=\"tablist\" / role=\"tab\" / aria-selected / aria-controls.\r\n *\r\n * <Tabs\r\n * value={tab}\r\n * onChange={setTab}\r\n * items={[\r\n * { id: \"overview\", label: \"Vue d'ensemble\" },\r\n * { id: \"history\", label: \"Historique\", count: 12 },\r\n * { id: \"files\", label: \"Pièces jointes\" },\r\n * ]}\r\n * aria-label=\"Sections du dossier\"\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * - `aria-label` is consumer-controlled (default \"Sections\").\r\n * - Per-item numeric counts announce \"${count} éléments\" by default.\r\n * Override per item with `countLabel` (string or fn(count)):\r\n * items={[{\r\n * id: \"history\",\r\n * label: t(\"tabs.history\"),\r\n * count: 12,\r\n * countLabel: (n) => t(\"tabs.history.count\", { count: n }),\r\n * }]}\r\n */\r\n\r\nexport interface TabItem {\r\n id: string;\r\n label: React.ReactNode;\r\n icon?: string | React.ReactElement | undefined;\r\n count?: number | undefined;\r\n countLabel?: string | ((count: number) => string) | undefined;\r\n}\r\n\r\nexport interface TabsProps {\r\n value?: string | undefined;\r\n onChange?: ((value: string) => void) | undefined;\r\n items: TabItem[];\r\n \"aria-label\"?: string | undefined;\r\n}\r\n\r\n// Default count announcement. Kept FR for back-compat; consumers\r\n// localise per item via the `countLabel` slot.\r\nfunction defaultCountLabel(count: number): string {\r\n return `${count} éléments`;\r\n}\r\n\r\n/* ── Hoisted static sx (D5) ─────────────────────────────────────────────\r\n * Frozen at module load. Each Tabs render reuses these references; emotion\r\n * skips serialization + cache lookup on identity.\r\n */\r\n\r\n// MUI v9: shape forwarded via slotProps.indicator (was TabIndicatorProps\r\n// in v5/v6/v7, deprecated v6, removed v9). The content { sx: {...} } is\r\n// unchanged — it's the same {sx} that the indicator slot consumes.\r\nconst TAB_INDICATOR_PROPS = Object.freeze({\r\n // Indicator thickness (2 px) is a visual constant, not a spacing value.\r\n // Charter §03 Tabs specifies 2 px underline.\r\n sx: { backgroundColor: \"var(--accent)\", height: 2 },\r\n});\r\n\r\nconst TABS_SX = Object.freeze({\r\n borderBottom: \"1px solid var(--border)\",\r\n // Tabs use the secondary-nav 40 px row height (charter §03 Tabs).\r\n // Below the 44 px tactile minimum; the underline indicator and the\r\n // row's full clickable area together carry the affordance.\r\n minHeight: 40,\r\n \"& .MuiTab-root\": {\r\n minHeight: 40,\r\n textTransform: \"none\",\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n padding: \"var(--s-2) var(--s-4)\",\r\n \"&.Mui-selected\": { color: \"var(--accent)\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // B4 — inset focus ring via tokenised offset (Batch 11). Visual\r\n // choice for tabs so the ring doesn't extend past the tablist\r\n // border. Flows through --pui-outline-offset-inset alongside\r\n // DataGrid row focus.\r\n outlineOffset: \"var(--pui-outline-offset-inset)\",\r\n borderRadius: \"var(--r-sm)\",\r\n },\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TAB_LABEL_INNER_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst COUNT_BADGE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-muted)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n});\r\n\r\n// MUI v9: slotProps wrapper for indicator. Hoisted alongside the rest of\r\n// the static-sx block so emotion / React skip re-allocation on every\r\n// render. The shape is { indicator: TAB_INDICATOR_PROPS }.\r\nconst TABS_SLOT_PROPS = Object.freeze({\r\n indicator: TAB_INDICATOR_PROPS,\r\n});\r\n\r\nfunction Tabs({ value, onChange, items, \"aria-label\": ariaLabel = \"Sections\" }: TabsProps) {\r\n const handle = (_e: React.SyntheticEvent, v: string) => onChange?.(v);\r\n return (\r\n <MuiTabs\r\n value={value}\r\n onChange={handle}\r\n aria-label={ariaLabel}\r\n variant=\"scrollable\"\r\n scrollButtons={false}\r\n slotProps={TABS_SLOT_PROPS}\r\n sx={TABS_SX}\r\n >\r\n {items.map((t) => {\r\n const countAria = t.count != null\r\n ? (typeof t.countLabel === \"function\"\r\n ? t.countLabel(t.count)\r\n : t.countLabel != null\r\n ? t.countLabel\r\n : defaultCountLabel(t.count))\r\n : undefined;\r\n\r\n return (\r\n <MuiTab\r\n key={t.id}\r\n value={t.id}\r\n id={`pui-tab-${t.id}`}\r\n aria-controls={`pui-panel-${t.id}`}\r\n icon={t.icon}\r\n iconPosition=\"start\"\r\n label={\r\n <Box sx={TAB_LABEL_INNER_SX}>\r\n <span>{t.label}</span>\r\n {t.count != null && (\r\n <Box\r\n component=\"span\"\r\n aria-label={countAria}\r\n sx={COUNT_BADGE_SX}\r\n >\r\n {t.count}\r\n </Box>\r\n )}\r\n </Box>\r\n }\r\n />\r\n );\r\n })}\r\n </MuiTabs>\r\n );\r\n}\r\n\r\nexport default Tabs;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tabs.js","names":["React","_interopRequireWildcard","require","_Tabs","_interopRequireDefault","_Tab","_Box","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","tabDomId","id","exports","tabPanelDomId","defaultCountLabel","count","TAB_INDICATOR_PROPS","freeze","sx","backgroundColor","height","TABS_SX","borderBottom","minHeight","textTransform","fontSize","fontWeight","color","padding","outline","outlineOffset","borderRadius","TAB_LABEL_INNER_SX","display","alignItems","gap","COUNT_BADGE_SX","background","lineHeight","TABS_SLOT_PROPS","indicator","Tabs","value","onChange","items","ariaLabel","handle","_e","v","jsx","variant","scrollButtons","slotProps","children","map","countAria","countLabel","undefined","icon","iconPosition","label","jsxs","component","_default"],"sources":["../../../src/lib/v2/components/Tabs.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiTabs from \"@mui/material/Tabs\";\r\nimport MuiTab from \"@mui/material/Tab\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Tabs - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Tabs\".\r\n *\r\n * 2-7 onglets max ; underline accent ; role=\"tablist\" ;\r\n * ←→ keyboard nav ; persists in URL via the host (?tab=…).\r\n *\r\n * R-Ar.6 - role=\"tablist\" / role=\"tab\" / aria-selected / aria-controls.\r\n *\r\n * <Tabs\r\n * value={tab}\r\n * onChange={setTab}\r\n * items={[\r\n * { id: \"overview\", label: \"Vue d'ensemble\" },\r\n * { id: \"history\", label: \"Historique\", count: 12 },\r\n * { id: \"files\", label: \"Pièces jointes\" },\r\n * ]}\r\n * aria-label=\"Sections du dossier\"\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * - `aria-label` is consumer-controlled (default \"Sections\").\r\n * - Per-item numeric counts announce \"${count} éléments\" by default.\r\n * Override per item with `countLabel` (string or fn(count)):\r\n * items={[{\r\n * id: \"history\",\r\n * label: t(\"tabs.history\"),\r\n * count: 12,\r\n * countLabel: (n) => t(\"tabs.history.count\", { count: n }),\r\n * }]}\r\n */\r\n\r\nexport interface TabItem {\r\n id: string;\r\n label: React.ReactNode;\r\n icon?: string | React.ReactElement | undefined;\r\n count?: number | undefined;\r\n countLabel?: string | ((count: number) => string) | undefined;\r\n}\r\n\r\nexport interface TabsProps {\r\n value?: string | undefined;\r\n onChange?: ((value: string) => void) | undefined;\r\n items: TabItem[];\r\n \"aria-label\"?: string | undefined;\r\n}\r\n\r\n/**\r\n * DOM id of a tab, and of the panel it controls.\r\n *\r\n * ─── POURQUOI CES DEUX FONCTIONS SONT EXPORTÉES (gap G-46) ─────────────\r\n *\r\n * `Tabs` émet la MOITIÉ du contrat R-Ar.6 : chaque onglet porte son `id` et un\r\n * `aria-controls` vers `pui-panel-<id>`. L'autre moitié — le panneau qui porte\r\n * ce même id, `role=\"tabpanel\"` et `aria-labelledby` — appartient à l'hôte, et\r\n * la library ne la fournissait pas.\r\n *\r\n * Le format des ids était donc une connaissance PRIVÉE que chaque hôte devait\r\n * redupliquer en chaîne littérale. Une faute de frappe y est invisible : le\r\n * balisage reste valide, l'onglet annonce simplement un élément contrôlé qui\r\n * n'existe pas — et un `aria-controls` cassé est PIRE que son absence, puisque\r\n * la technologie d'assistance propose à l'utilisateur une relation qu'elle ne\r\n * peut ensuite pas suivre.\r\n *\r\n * Relevé depuis `addm-fe` (Area 5), où `ConsultDemande` rendait ses panneaux en\r\n * `{tab === \"x\" && <…/>}` nus : les deux onglets pointaient dans le vide, sans\r\n * `role` ni nom accessible sur le contenu. Le module avait écrit son propre\r\n * `TabPanel` en relisant la convention dans CE fichier — preuve que la\r\n * connaissance était requise et non publiée.\r\n */\r\nexport const tabDomId = (id: string): string => `pui-tab-${id}`;\r\nexport const tabPanelDomId = (id: string): string => `pui-panel-${id}`;\r\n\r\n// Default count announcement. Kept FR for back-compat; consumers\r\n// localise per item via the `countLabel` slot.\r\nfunction defaultCountLabel(count: number): string {\r\n return `${count} éléments`;\r\n}\r\n\r\n/* ── Hoisted static sx (D5) ─────────────────────────────────────────────\r\n * Frozen at module load. Each Tabs render reuses these references; emotion\r\n * skips serialization + cache lookup on identity.\r\n */\r\n\r\n// MUI v9: shape forwarded via slotProps.indicator (was TabIndicatorProps\r\n// in v5/v6/v7, deprecated v6, removed v9). The content { sx: {...} } is\r\n// unchanged — it's the same {sx} that the indicator slot consumes.\r\nconst TAB_INDICATOR_PROPS = Object.freeze({\r\n // Indicator thickness (2 px) is a visual constant, not a spacing value.\r\n // Charter §03 Tabs specifies 2 px underline.\r\n sx: { backgroundColor: \"var(--accent)\", height: 2 },\r\n});\r\n\r\nconst TABS_SX = Object.freeze({\r\n borderBottom: \"1px solid var(--border)\",\r\n // Tabs use the secondary-nav 40 px row height (charter §03 Tabs).\r\n // Below the 44 px tactile minimum; the underline indicator and the\r\n // row's full clickable area together carry the affordance.\r\n minHeight: 40,\r\n \"& .MuiTab-root\": {\r\n minHeight: 40,\r\n textTransform: \"none\",\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n padding: \"var(--s-2) var(--s-4)\",\r\n \"&.Mui-selected\": { color: \"var(--accent)\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // B4 — inset focus ring via tokenised offset (Batch 11). Visual\r\n // choice for tabs so the ring doesn't extend past the tablist\r\n // border. Flows through --pui-outline-offset-inset alongside\r\n // DataGrid row focus.\r\n outlineOffset: \"var(--pui-outline-offset-inset)\",\r\n borderRadius: \"var(--r-sm)\",\r\n },\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TAB_LABEL_INNER_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst COUNT_BADGE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-muted)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n});\r\n\r\n// MUI v9: slotProps wrapper for indicator. Hoisted alongside the rest of\r\n// the static-sx block so emotion / React skip re-allocation on every\r\n// render. The shape is { indicator: TAB_INDICATOR_PROPS }.\r\nconst TABS_SLOT_PROPS = Object.freeze({\r\n indicator: TAB_INDICATOR_PROPS,\r\n});\r\n\r\nfunction Tabs({ value, onChange, items, \"aria-label\": ariaLabel = \"Sections\" }: TabsProps) {\r\n const handle = (_e: React.SyntheticEvent, v: string) => onChange?.(v);\r\n return (\r\n <MuiTabs\r\n value={value}\r\n onChange={handle}\r\n aria-label={ariaLabel}\r\n variant=\"scrollable\"\r\n scrollButtons={false}\r\n slotProps={TABS_SLOT_PROPS}\r\n sx={TABS_SX}\r\n >\r\n {items.map((t) => {\r\n const countAria = t.count != null\r\n ? (typeof t.countLabel === \"function\"\r\n ? t.countLabel(t.count)\r\n : t.countLabel != null\r\n ? t.countLabel\r\n : defaultCountLabel(t.count))\r\n : undefined;\r\n\r\n return (\r\n <MuiTab\r\n key={t.id}\r\n value={t.id}\r\n id={tabDomId(t.id)}\r\n aria-controls={tabPanelDomId(t.id)}\r\n icon={t.icon}\r\n iconPosition=\"start\"\r\n label={\r\n <Box sx={TAB_LABEL_INNER_SX}>\r\n <span>{t.label}</span>\r\n {t.count != null && (\r\n <Box\r\n component=\"span\"\r\n aria-label={countAria}\r\n sx={COUNT_BADGE_SX}\r\n >\r\n {t.count}\r\n </Box>\r\n )}\r\n </Box>\r\n }\r\n />\r\n );\r\n })}\r\n </MuiTabs>\r\n );\r\n}\r\n\r\nexport default Tabs;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _libphonenumberJs = require("libphonenumber-js");
10
9
  var _Combobox = _interopRequireDefault(require("./Combobox"));
11
10
  var _Input = _interopRequireDefault(require("./Input"));
12
11
  var _mergeLabels = require("../utils/mergeLabels");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
- var _excluded = ["value", "onChange", "defaultCountry", "preferredCountries", "disabled", "readOnly", "error", "id", "placeholder", "fullWidth", "labels", "aria-describedby", "aria-invalid", "aria-required"];
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
15
  /**
16
16
  * TelInput — Portnet UI v2
17
17
  *
@@ -50,44 +50,26 @@ var _excluded = ["value", "onChange", "defaultCountry", "preferredCountries", "d
50
50
  * this component. They are routed to the national Input's <input> via inputProps
51
51
  * (the label-associated control where the hint/error must be announced); the
52
52
  * country Combobox additionally references the same describedby.
53
- */
54
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
55
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
56
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
57
- 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; }
58
- 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; }
59
- 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; }
60
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
61
- 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); }
62
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
63
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
64
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
65
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
66
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
67
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
68
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
69
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
70
- var REGIONAL_INDICATOR_BASE = 0x1f1e6; // 🇦
71
- var A_CHAR = "A".charCodeAt(0);
53
+ */const REGIONAL_INDICATOR_BASE = 0x1f1e6; // 🇦
54
+ const A_CHAR = "A".charCodeAt(0);
72
55
 
73
56
  // Emoji flag from an ISO-3166-1 alpha-2 country code (zero-dependency).
74
57
  function flagEmoji(country) {
75
58
  if (!country || country.length !== 2) return "";
76
- var cc = country.toUpperCase();
59
+ const cc = country.toUpperCase();
77
60
  return String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(0) - A_CHAR)) + String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(1) - A_CHAR));
78
61
  }
79
62
 
80
63
  // Localized (French) region name, memoized, with a graceful fallback to the code.
81
- var regionNames = null;
64
+ let regionNames = null;
82
65
  function countryName(country) {
83
66
  if (typeof Intl !== "undefined" && typeof Intl.DisplayNames === "function") {
84
67
  try {
85
- var _regionNames;
86
- var rn = (_regionNames = regionNames) !== null && _regionNames !== void 0 ? _regionNames : regionNames = new Intl.DisplayNames(["fr"], {
68
+ const rn = regionNames ?? (regionNames = new Intl.DisplayNames(["fr"], {
87
69
  type: "region"
88
- });
70
+ }));
89
71
  return rn.of(country) || country;
90
- } catch (_unused) {
72
+ } catch {
91
73
  return country;
92
74
  }
93
75
  }
@@ -97,44 +79,39 @@ function countryName(country) {
97
79
  // Every supported country as a Combobox option, sorted by FR name (preferred
98
80
  // countries floated to the top). Returns clean { value, label } objects.
99
81
  function buildCountryOptions(preferred) {
100
- var preferredSet = new Set((preferred || []).map(function (c) {
101
- return c.toUpperCase();
82
+ const preferredSet = new Set((preferred || []).map(c => c.toUpperCase()));
83
+ const rows = (0, _libphonenumberJs.getCountries)().map(c => ({
84
+ value: c,
85
+ label: `${flagEmoji(c)} ${countryName(c)} (+${(0, _libphonenumberJs.getCountryCallingCode)(c)})`,
86
+ name: countryName(c),
87
+ preferred: preferredSet.has(c)
102
88
  }));
103
- var rows = (0, _libphonenumberJs.getCountries)().map(function (c) {
104
- return {
105
- value: c,
106
- label: "".concat(flagEmoji(c), " ").concat(countryName(c), " (+").concat((0, _libphonenumberJs.getCountryCallingCode)(c), ")"),
107
- name: countryName(c),
108
- preferred: preferredSet.has(c)
109
- };
110
- });
111
- rows.sort(function (a, b) {
89
+ rows.sort((a, b) => {
112
90
  if (a.preferred !== b.preferred) return a.preferred ? -1 : 1;
113
91
  return a.name.localeCompare(b.name, "fr");
114
92
  });
115
- return rows.map(function (_ref) {
116
- var value = _ref.value,
117
- label = _ref.label;
118
- return {
119
- value: value,
120
- label: label
121
- };
122
- });
93
+ return rows.map(({
94
+ value,
95
+ label
96
+ }) => ({
97
+ value,
98
+ label
99
+ }));
123
100
  }
124
101
  function callingCodeOf(country) {
125
102
  try {
126
103
  return (0, _libphonenumberJs.getCountryCallingCode)(country);
127
- } catch (_unused2) {
104
+ } catch {
128
105
  return "";
129
106
  }
130
107
  }
131
108
  // Derive the E.164 + info object for a (country, national text) pair.
132
109
  function computeNumber(country, nationalText) {
133
- var ayt = new _libphonenumberJs.AsYouType(country);
134
- var formatted = ayt.input(nationalText || "");
135
- var num = ayt.getNumber();
110
+ const ayt = new _libphonenumberJs.AsYouType(country);
111
+ const formatted = ayt.input(nationalText || "");
112
+ const num = ayt.getNumber();
136
113
  return {
137
- formatted: formatted,
114
+ formatted,
138
115
  info: {
139
116
  countryCode: country,
140
117
  callingCode: callingCodeOf(country),
@@ -144,61 +121,46 @@ function computeNumber(country, nationalText) {
144
121
  }
145
122
  };
146
123
  }
147
- var DEFAULT_TEL_LABELS = Object.freeze({
124
+ const DEFAULT_TEL_LABELS = Object.freeze({
148
125
  countryAriaLabel: "Indicatif pays",
149
126
  noCountryFound: "Aucun pays trouvé"
150
127
  });
151
- function TelInput(_ref2) {
152
- var _ref2$value = _ref2.value,
153
- value = _ref2$value === void 0 ? "" : _ref2$value,
154
- onChange = _ref2.onChange,
155
- _ref2$defaultCountry = _ref2.defaultCountry,
156
- defaultCountry = _ref2$defaultCountry === void 0 ? "MA" : _ref2$defaultCountry,
157
- preferredCountries = _ref2.preferredCountries,
158
- _ref2$disabled = _ref2.disabled,
159
- disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
160
- _ref2$readOnly = _ref2.readOnly,
161
- readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,
162
- _ref2$error = _ref2.error,
163
- error = _ref2$error === void 0 ? false : _ref2$error,
164
- id = _ref2.id,
165
- placeholder = _ref2.placeholder,
166
- _ref2$fullWidth = _ref2.fullWidth,
167
- fullWidth = _ref2$fullWidth === void 0 ? true : _ref2$fullWidth,
168
- labels = _ref2.labels,
169
- ariaDescribedBy = _ref2["aria-describedby"],
170
- ariaInvalid = _ref2["aria-invalid"],
171
- ariaRequired = _ref2["aria-required"],
172
- rest = _objectWithoutProperties(_ref2, _excluded);
173
- var safeDefault = defaultCountry && (0, _libphonenumberJs.isSupportedCountry)(defaultCountry) ? defaultCountry : "MA";
174
- var L = (0, _mergeLabels.mergeLabels)(DEFAULT_TEL_LABELS, labels);
175
- var _React$useState = React.useState(safeDefault),
176
- _React$useState2 = _slicedToArray(_React$useState, 2),
177
- country = _React$useState2[0],
178
- setCountry = _React$useState2[1];
179
- var _React$useState3 = React.useState(""),
180
- _React$useState4 = _slicedToArray(_React$useState3, 2),
181
- national = _React$useState4[0],
182
- setNational = _React$useState4[1];
183
- var countryOptions = React.useMemo(function () {
184
- return buildCountryOptions(preferredCountries);
185
- }, [preferredCountries]);
186
- var callingCode = React.useMemo(function () {
187
- return callingCodeOf(country);
188
- }, [country]);
128
+ function TelInput({
129
+ value = "",
130
+ onChange,
131
+ defaultCountry = "MA",
132
+ preferredCountries,
133
+ disabled = false,
134
+ readOnly = false,
135
+ error = false,
136
+ id,
137
+ placeholder,
138
+ fullWidth = true,
139
+ labels,
140
+ "aria-describedby": ariaDescribedBy,
141
+ "aria-invalid": ariaInvalid,
142
+ "aria-required": ariaRequired,
143
+ ...rest
144
+ }) {
145
+ const safeDefault = defaultCountry && (0, _libphonenumberJs.isSupportedCountry)(defaultCountry) ? defaultCountry : "MA";
146
+ const L = (0, _mergeLabels.mergeLabels)(DEFAULT_TEL_LABELS, labels);
147
+ const [country, setCountry] = React.useState(safeDefault);
148
+ const [national, setNational] = React.useState("");
149
+ const countryOptions = React.useMemo(() => buildCountryOptions(preferredCountries), [preferredCountries]);
150
+ const callingCode = React.useMemo(() => callingCodeOf(country), [country]);
189
151
 
190
152
  // Sync internal state from an external `value` (E.164). Guarded so our own
191
153
  // emitted updates don't clobber what the user is typing.
192
- React.useEffect(function () {
193
- var incoming = value || "";
194
- var current = computeNumber(country, national).info.numberValue;
154
+ React.useEffect(() => {
155
+ const incoming = value || "";
156
+ const current = computeNumber(country, national).info.numberValue;
195
157
  if (incoming === current) return; // our own round-trip — nothing to do
196
158
  if (!incoming) {
197
159
  setNational("");
198
160
  return;
199
161
  }
200
162
  try {
201
- var parsed = (0, _libphonenumberJs.parsePhoneNumber)(incoming);
163
+ const parsed = (0, _libphonenumberJs.parsePhoneNumber)(incoming);
202
164
  if (parsed) {
203
165
  if (parsed.country && parsed.country !== country) {
204
166
  setCountry(parsed.country);
@@ -206,41 +168,43 @@ function TelInput(_ref2) {
206
168
  setNational(parsed.formatNational());
207
169
  return;
208
170
  }
209
- } catch (_unused3) {
171
+ } catch {
210
172
  /* unparseable — fall through */
211
173
  }
212
174
  setNational(incoming);
213
175
  // eslint-disable-next-line react-hooks/exhaustive-deps
214
176
  }, [value]);
215
- var emit = function emit(ctry, nationalText) {
216
- var _computeNumber = computeNumber(ctry, nationalText),
217
- formatted = _computeNumber.formatted,
218
- info = _computeNumber.info;
177
+ const emit = (ctry, nationalText) => {
178
+ const {
179
+ formatted,
180
+ info
181
+ } = computeNumber(ctry, nationalText);
219
182
  setNational(formatted);
220
- onChange === null || onChange === void 0 ? void 0 : onChange(info.numberValue, info);
183
+ onChange?.(info.numberValue, info);
221
184
  };
222
- var handleCountryChange = function handleCountryChange(val) {
223
- var next = val || safeDefault;
185
+ const handleCountryChange = val => {
186
+ const next = val || safeDefault;
224
187
  setCountry(next);
225
188
  emit(next, national);
226
189
  };
227
- var handleNumberChange = function handleNumberChange(e) {
190
+ const handleNumberChange = e => {
228
191
  emit(country, e.target.value);
229
192
  };
230
193
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
231
- style: _objectSpread({
194
+ style: {
232
195
  display: "flex",
233
196
  gap: "var(--s-2)",
234
- alignItems: "flex-start"
235
- }, fullWidth ? {
236
- width: "100%"
237
- } : {}),
197
+ alignItems: "flex-start",
198
+ ...(fullWidth ? {
199
+ width: "100%"
200
+ } : {})
201
+ },
238
202
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
239
203
  style: {
240
204
  flex: "0 0 40%",
241
205
  minWidth: "9rem"
242
206
  },
243
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox["default"], {
207
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox.default, {
244
208
  options: countryOptions,
245
209
  value: country,
246
210
  onChange: handleCountryChange,
@@ -256,7 +220,7 @@ function TelInput(_ref2) {
256
220
  style: {
257
221
  flex: "1 1 auto"
258
222
  },
259
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input["default"], _objectSpread({
223
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.default, {
260
224
  id: id,
261
225
  type: "tel",
262
226
  value: national,
@@ -266,17 +230,18 @@ function TelInput(_ref2) {
266
230
  error: error,
267
231
  fullWidth: true,
268
232
  placeholder: placeholder,
269
- prefix: callingCode ? "+".concat(callingCode) : undefined,
233
+ prefix: callingCode ? `+${callingCode}` : undefined,
270
234
  inputProps: {
271
235
  inputMode: "tel",
272
236
  autoComplete: "tel-national",
273
237
  "aria-describedby": ariaDescribedBy,
274
238
  "aria-invalid": ariaInvalid,
275
239
  "aria-required": ariaRequired
276
- }
277
- }, rest))
240
+ },
241
+ ...rest
242
+ })
278
243
  })]
279
244
  });
280
245
  }
281
- var _default = exports["default"] = TelInput;
246
+ var _default = exports.default = TelInput;
282
247
  //# sourceMappingURL=TelInput.js.map