@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,12 +1,3 @@
1
- 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); }
2
- var _excluded = ["category", "label", "tone", "children", "sx"];
3
- 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; }
4
- 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; }
5
- 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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- 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); }
8
- 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; }
9
- 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; }
10
1
  import * as React from "react";
11
2
  import Box from "@mui/material/Box";
12
3
  import { statusToken } from "../tokens/statusPalette";
@@ -42,26 +33,51 @@ import { statusToken } from "../tokens/statusPalette";
42
33
  * any other / unknown → neutral
43
34
  */
44
35
  import { jsx as _jsx } from "react/jsx-runtime";
45
- var TI_CATEGORY_TONE = Object.freeze({
36
+ /**
37
+ * TI category -> palette tone. Lookup is CASE-INSENSITIVE (see `resolveTone`).
38
+ */
39
+ const TI_CATEGORY_TONE = Object.freeze({
46
40
  EI: "sent",
47
41
  LI: "approved",
48
42
  LSP: "pending",
49
43
  DPI: "new"
50
44
  });
51
- function CategoryTag(_ref) {
52
- var _ref2;
53
- var category = _ref.category,
54
- label = _ref.label,
55
- tone = _ref.tone,
56
- children = _ref.children,
57
- sx = _ref.sx,
58
- rest = _objectWithoutProperties(_ref, _excluded);
59
- var resolvedTone = tone || TI_CATEGORY_TONE[category !== null && category !== void 0 ? category : ""] || "neutral";
60
- var token = statusToken(resolvedTone);
61
- var text = (_ref2 = children !== null && children !== void 0 ? children : label) !== null && _ref2 !== void 0 ? _ref2 : category;
62
- return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
45
+
46
+ /**
47
+ * Resolve the colour tone for a category code.
48
+ *
49
+ * The map above is keyed on UPPERCASE codes while `category` arrives from an
50
+ * API payload, so a lowercase or mixed-case code ("ei", "Lsp") missed every
51
+ * entry and fell through to `neutral` — grey, indistinguishable from a genuinely
52
+ * unknown category, with nothing to signal the near-miss. Every host module
53
+ * that consumed this component had independently defended against it by
54
+ * upper-casing at the call site (ms-ti-fe's local CategoryTag adapter did
55
+ * exactly that, in four places), which is the usual sign the normalisation
56
+ * belongs here instead.
57
+ *
58
+ * Only the TONE lookup is normalised. The DISPLAYED text stays exactly as the
59
+ * caller passed it: `category` doubles as the default label, and silently
60
+ * upper-casing a caller's `tone`-driven custom category would be a visual
61
+ * change no consumer asked for.
62
+ */
63
+ function resolveTone(category, tone) {
64
+ if (tone) return tone;
65
+ const key = (category ?? "").trim().toUpperCase();
66
+ return TI_CATEGORY_TONE[key] ?? "neutral";
67
+ }
68
+ function CategoryTag({
69
+ category,
70
+ label,
71
+ tone,
72
+ children,
73
+ sx,
74
+ ...rest
75
+ }) {
76
+ const token = statusToken(resolveTone(category, tone));
77
+ const text = children ?? label ?? category;
78
+ return /*#__PURE__*/_jsx(Box, {
63
79
  component: "span",
64
- sx: _objectSpread({
80
+ sx: {
65
81
  display: "inline-flex",
66
82
  alignItems: "center",
67
83
  fontSize: "var(--text-xs)",
@@ -71,11 +87,12 @@ function CategoryTag(_ref) {
71
87
  borderRadius: "var(--r-full)",
72
88
  background: token.soft,
73
89
  color: token.fg,
74
- whiteSpace: "nowrap"
75
- }, sx)
76
- }, rest), {}, {
90
+ whiteSpace: "nowrap",
91
+ ...sx
92
+ },
93
+ ...rest,
77
94
  children: text
78
- }));
95
+ });
79
96
  }
80
97
  export default CategoryTag;
81
98
  //# sourceMappingURL=CategoryTag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryTag.js","names":["React","Box","statusToken","jsx","_jsx","TI_CATEGORY_TONE","Object","freeze","EI","LI","LSP","DPI","CategoryTag","_ref","_ref2","category","label","tone","children","sx","rest","_objectWithoutProperties","_excluded","resolvedTone","token","text","_objectSpread","component","display","alignItems","fontSize","fontWeight","lineHeight","padding","borderRadius","background","soft","color","fg","whiteSpace"],"sources":["../../../../src/lib/v2/components/CategoryTag.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\nimport { statusToken } from \"../tokens/statusPalette\";\r\n\r\n/**\r\n * CategoryTag — Portnet UI v2\r\n *\r\n * Charter §02.1 · taxonomy chip primitive. Distinct from v2.Status:\r\n *\r\n * v2.Status → workflow state (Brouillon, Envoyé, Approuvé, …)\r\n * v2.CategoryTag → taxonomy (EI, LI, LSP, DPI, custom category)\r\n *\r\n * Both reuse the same 6-tone palette under the hood (statusToken),\r\n * but the two primitives are kept separate so consumers can't\r\n * accidentally convey \"category = approved\" semantics by re-using\r\n * a Status chip for taxonomy purposes.\r\n *\r\n * Usage — built-in TI category map:\r\n *\r\n * <CategoryTag category=\"EI\" />\r\n * <CategoryTag category=\"LSP\" label=\"Licence Sans Paiement\" />\r\n *\r\n * Usage — explicit tone (any string category, palette key for colour):\r\n *\r\n * <CategoryTag tone=\"approved\">DPI</CategoryTag>\r\n * <CategoryTag tone=\"neutral\">{customCategory}</CategoryTag>\r\n *\r\n * Built-in TI category → palette tone (matches ms-ti-fe legacy):\r\n * EI → sent (blue)\r\n * LI → approved (green)\r\n * LSP → pending (amber)\r\n * DPI → new (violet)\r\n * any other / unknown → neutral\r\n */\r\n\r\nexport type StatusToneKey = Parameters<typeof statusToken>[0];\r\n\r\nconst TI_CATEGORY_TONE: Record<string, StatusToneKey> = Object.freeze({\r\n EI: \"sent\",\r\n LI: \"approved\",\r\n LSP: \"pending\",\r\n DPI: \"new\",\r\n});\r\n\r\nexport interface CategoryTagProps extends BoxProps {\r\n /** Predefined category code (EI / LI / LSP / DPI). Used as default text + tone. */\r\n category?: string | undefined;\r\n /** Display text override (defaults to category). */\r\n label?: React.ReactNode | undefined;\r\n /** Colour-tone override using palette keys. Bypasses the category map. */\r\n tone?: StatusToneKey | undefined;\r\n}\r\n\r\nfunction CategoryTag({ category, label, tone, children, sx, ...rest }: CategoryTagProps) {\r\n const resolvedTone =\r\n tone || TI_CATEGORY_TONE[category ?? \"\"] || \"neutral\";\r\n const token = statusToken(resolvedTone);\r\n const text = children ?? label ?? category;\r\n\r\n return (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n padding: \"2px 8px\",\r\n borderRadius: \"var(--r-full)\",\r\n background: token.soft,\r\n color: token.fg,\r\n whiteSpace: \"nowrap\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {text}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CategoryTag;\r\n"],"mappings":";;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;AAEnC,SAASC,WAAW,QAAQ,yBAAyB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7BA,SAAAC,GAAA,IAAAC,IAAA;AAiCA,IAAMC,gBAA+C,GAAGC,MAAM,CAACC,MAAM,CAAC;EACpEC,EAAE,EAAG,MAAM;EACXC,EAAE,EAAG,UAAU;EACfC,GAAG,EAAE,SAAS;EACdC,GAAG,EAAE;AACP,CAAC,CAAC;AAWF,SAASC,WAAWA,CAAAC,IAAA,EAAqE;EAAA,IAAAC,KAAA;EAAA,IAAlEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,IAAI,GAAAJ,IAAA,CAAJI,IAAI;IAAEC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAEC,EAAE,GAAAN,IAAA,CAAFM,EAAE;IAAKC,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA;EACjE,IAAMC,YAAY,GAChBN,IAAI,IAAIZ,gBAAgB,CAACU,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,EAAE,CAAC,IAAI,SAAS;EACvD,IAAMS,KAAK,GAAGtB,WAAW,CAACqB,YAAY,CAAC;EACvC,IAAME,IAAI,IAAAX,KAAA,GAAGI,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIF,KAAK,cAAAF,KAAA,cAAAA,KAAA,GAAIC,QAAQ;EAE1C,oBACEX,IAAA,CAACH,GAAG,EAAAyB,aAAA,CAAAA,aAAA;IACFC,SAAS,EAAC,MAAM;IAChBR,EAAE,EAAAO,aAAA;MACAE,OAAO,EAAS,aAAa;MAC7BC,UAAU,EAAM,QAAQ;MACxBC,QAAQ,EAAQ,gBAAgB;MAChCC,UAAU,EAAM,oBAAoB;MACpCC,UAAU,EAAM,gBAAgB;MAChCC,OAAO,EAAS,SAAS;MACzBC,YAAY,EAAI,eAAe;MAC/BC,UAAU,EAAMX,KAAK,CAACY,IAAI;MAC1BC,KAAK,EAAWb,KAAK,CAACc,EAAE;MACxBC,UAAU,EAAM;IAAQ,GACrBpB,EAAE;EACL,GACEC,IAAI;IAAAF,QAAA,EAEPO;EAAI,EACF,CAAC;AAEV;AAEA,eAAeb,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"CategoryTag.js","names":["React","Box","statusToken","jsx","_jsx","TI_CATEGORY_TONE","Object","freeze","EI","LI","LSP","DPI","resolveTone","category","tone","key","trim","toUpperCase","CategoryTag","label","children","sx","rest","token","text","component","display","alignItems","fontSize","fontWeight","lineHeight","padding","borderRadius","background","soft","color","fg","whiteSpace"],"sources":["../../../../src/lib/v2/components/CategoryTag.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\nimport { statusToken } from \"../tokens/statusPalette\";\r\n\r\n/**\r\n * CategoryTag — Portnet UI v2\r\n *\r\n * Charter §02.1 · taxonomy chip primitive. Distinct from v2.Status:\r\n *\r\n * v2.Status → workflow state (Brouillon, Envoyé, Approuvé, …)\r\n * v2.CategoryTag → taxonomy (EI, LI, LSP, DPI, custom category)\r\n *\r\n * Both reuse the same 6-tone palette under the hood (statusToken),\r\n * but the two primitives are kept separate so consumers can't\r\n * accidentally convey \"category = approved\" semantics by re-using\r\n * a Status chip for taxonomy purposes.\r\n *\r\n * Usage — built-in TI category map:\r\n *\r\n * <CategoryTag category=\"EI\" />\r\n * <CategoryTag category=\"LSP\" label=\"Licence Sans Paiement\" />\r\n *\r\n * Usage — explicit tone (any string category, palette key for colour):\r\n *\r\n * <CategoryTag tone=\"approved\">DPI</CategoryTag>\r\n * <CategoryTag tone=\"neutral\">{customCategory}</CategoryTag>\r\n *\r\n * Built-in TI category → palette tone (matches ms-ti-fe legacy):\r\n * EI → sent (blue)\r\n * LI → approved (green)\r\n * LSP → pending (amber)\r\n * DPI → new (violet)\r\n * any other / unknown → neutral\r\n */\r\n\r\nexport type StatusToneKey = Parameters<typeof statusToken>[0];\r\n\r\n/**\r\n * TI category -> palette tone. Lookup is CASE-INSENSITIVE (see `resolveTone`).\r\n */\r\nconst TI_CATEGORY_TONE: Record<string, StatusToneKey> = Object.freeze({\r\n EI: \"sent\",\r\n LI: \"approved\",\r\n LSP: \"pending\",\r\n DPI: \"new\",\r\n});\r\n\r\n/**\r\n * Resolve the colour tone for a category code.\r\n *\r\n * The map above is keyed on UPPERCASE codes while `category` arrives from an\r\n * API payload, so a lowercase or mixed-case code (\"ei\", \"Lsp\") missed every\r\n * entry and fell through to `neutral` — grey, indistinguishable from a genuinely\r\n * unknown category, with nothing to signal the near-miss. Every host module\r\n * that consumed this component had independently defended against it by\r\n * upper-casing at the call site (ms-ti-fe's local CategoryTag adapter did\r\n * exactly that, in four places), which is the usual sign the normalisation\r\n * belongs here instead.\r\n *\r\n * Only the TONE lookup is normalised. The DISPLAYED text stays exactly as the\r\n * caller passed it: `category` doubles as the default label, and silently\r\n * upper-casing a caller's `tone`-driven custom category would be a visual\r\n * change no consumer asked for.\r\n */\r\nfunction resolveTone(\r\n category: string | undefined,\r\n tone: StatusToneKey | undefined\r\n): StatusToneKey {\r\n if (tone) return tone;\r\n const key = (category ?? \"\").trim().toUpperCase();\r\n return TI_CATEGORY_TONE[key] ?? \"neutral\";\r\n}\r\n\r\nexport interface CategoryTagProps extends BoxProps {\r\n /** Predefined category code (EI / LI / LSP / DPI). Used as default text + tone. */\r\n category?: string | undefined;\r\n /** Display text override (defaults to category). */\r\n label?: React.ReactNode | undefined;\r\n /** Colour-tone override using palette keys. Bypasses the category map. */\r\n tone?: StatusToneKey | undefined;\r\n}\r\n\r\nfunction CategoryTag({ category, label, tone, children, sx, ...rest }: CategoryTagProps) {\r\n const token = statusToken(resolveTone(category, tone));\r\n const text = children ?? label ?? category;\r\n\r\n return (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n padding: \"2px 8px\",\r\n borderRadius: \"var(--r-full)\",\r\n background: token.soft,\r\n color: token.fg,\r\n whiteSpace: \"nowrap\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {text}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CategoryTag;\r\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;AAEnC,SAASC,WAAW,QAAQ,yBAAyB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7BA,SAAAC,GAAA,IAAAC,IAAA;AAiCA;AACA;AACA;AACA,MAAMC,gBAA+C,GAAGC,MAAM,CAACC,MAAM,CAAC;EACpEC,EAAE,EAAG,MAAM;EACXC,EAAE,EAAG,UAAU;EACfC,GAAG,EAAE,SAAS;EACdC,GAAG,EAAE;AACP,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,WAAWA,CAClBC,QAA4B,EAC5BC,IAA+B,EAChB;EACf,IAAIA,IAAI,EAAE,OAAOA,IAAI;EACrB,MAAMC,GAAG,GAAG,CAACF,QAAQ,IAAI,EAAE,EAAEG,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC;EACjD,OAAOZ,gBAAgB,CAACU,GAAG,CAAC,IAAI,SAAS;AAC3C;AAWA,SAASG,WAAWA,CAAC;EAAEL,QAAQ;EAAEM,KAAK;EAAEL,IAAI;EAAEM,QAAQ;EAAEC,EAAE;EAAE,GAAGC;AAAuB,CAAC,EAAE;EACvF,MAAMC,KAAK,GAAGrB,WAAW,CAACU,WAAW,CAACC,QAAQ,EAAEC,IAAI,CAAC,CAAC;EACtD,MAAMU,IAAI,GAAGJ,QAAQ,IAAID,KAAK,IAAIN,QAAQ;EAE1C,oBACET,IAAA,CAACH,GAAG;IACFwB,SAAS,EAAC,MAAM;IAChBJ,EAAE,EAAE;MACFK,OAAO,EAAS,aAAa;MAC7BC,UAAU,EAAM,QAAQ;MACxBC,QAAQ,EAAQ,gBAAgB;MAChCC,UAAU,EAAM,oBAAoB;MACpCC,UAAU,EAAM,gBAAgB;MAChCC,OAAO,EAAS,SAAS;MACzBC,YAAY,EAAI,eAAe;MAC/BC,UAAU,EAAMV,KAAK,CAACW,IAAI;MAC1BC,KAAK,EAAWZ,KAAK,CAACa,EAAE;MACxBC,UAAU,EAAM,QAAQ;MACxB,GAAGhB;IACL,CAAE;IAAA,GACEC,IAAI;IAAAF,QAAA,EAEPI;EAAI,CACF,CAAC;AAEV;AAEA,eAAeN,WAAW","ignoreList":[]}
@@ -1,12 +1,3 @@
1
- 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); }
2
- var _excluded = ["checked", "onChange", "label", "disabled", "indeterminate", "inputProps", "sx"];
3
- 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; }
4
- 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; }
5
- 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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- 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); }
8
- 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; }
9
- 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; }
10
1
  import * as React from "react";
11
2
  import MuiCheckbox from "@mui/material/Checkbox";
12
3
  import FormControlLabel from "@mui/material/FormControlLabel";
@@ -33,16 +24,17 @@ import FormGroup from "@mui/material/FormGroup";
33
24
  * Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.
34
25
  */
35
26
  import { jsx as _jsx } from "react/jsx-runtime";
36
- export var Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(_ref, ref) {
37
- var checked = _ref.checked,
38
- onChange = _ref.onChange,
39
- label = _ref.label,
40
- disabled = _ref.disabled,
41
- indeterminate = _ref.indeterminate,
42
- inputProps = _ref.inputProps,
43
- sx = _ref.sx,
44
- rest = _objectWithoutProperties(_ref, _excluded);
45
- var cb = /*#__PURE__*/_jsx(MuiCheckbox, _objectSpread({
27
+ export const Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox({
28
+ checked,
29
+ onChange,
30
+ label,
31
+ disabled,
32
+ indeterminate,
33
+ inputProps,
34
+ sx,
35
+ ...rest
36
+ }, ref) {
37
+ const cb = /*#__PURE__*/_jsx(MuiCheckbox, {
46
38
  ref: ref,
47
39
  checked: !!checked,
48
40
  onChange: onChange,
@@ -56,14 +48,16 @@ export var Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(_ref, ref)
56
48
  slotProps: inputProps ? {
57
49
  input: inputProps
58
50
  } : undefined,
59
- sx: _objectSpread({
51
+ sx: {
60
52
  padding: "6px",
61
53
  "&:focus-visible": {
62
54
  outline: "2px solid var(--accent)",
63
55
  outlineOffset: "var(--pui-outline-offset)"
64
- }
65
- }, sx)
66
- }, rest));
56
+ },
57
+ ...sx
58
+ },
59
+ ...rest
60
+ });
67
61
  if (!label) return cb;
68
62
  return /*#__PURE__*/_jsx(FormControlLabel, {
69
63
  control: cb,
@@ -94,18 +88,17 @@ export var Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(_ref, ref)
94
88
  * the group when used outside <Field>.
95
89
  */
96
90
 
97
- export function CheckboxGroup(_ref2) {
98
- var _ref2$row = _ref2.row,
99
- row = _ref2$row === void 0 ? false : _ref2$row,
100
- children = _ref2.children,
101
- sx = _ref2.sx,
102
- _ref2$role = _ref2.role,
103
- role = _ref2$role === void 0 ? "group" : _ref2$role,
104
- id = _ref2.id,
105
- ariaLabel = _ref2["aria-label"],
106
- ariaLabelledby = _ref2["aria-labelledby"],
107
- ariaDescribedby = _ref2["aria-describedby"],
108
- ariaInvalid = _ref2["aria-invalid"];
91
+ export function CheckboxGroup({
92
+ row = false,
93
+ children,
94
+ sx,
95
+ role = "group",
96
+ id,
97
+ "aria-label": ariaLabel,
98
+ "aria-labelledby": ariaLabelledby,
99
+ "aria-describedby": ariaDescribedby,
100
+ "aria-invalid": ariaInvalid
101
+ }) {
109
102
  return /*#__PURE__*/_jsx(FormGroup, {
110
103
  row: row,
111
104
  role: role,
@@ -114,9 +107,10 @@ export function CheckboxGroup(_ref2) {
114
107
  "aria-labelledby": ariaLabelledby,
115
108
  "aria-describedby": ariaDescribedby,
116
109
  "aria-invalid": ariaInvalid,
117
- sx: _objectSpread({
118
- gap: row ? 2 : "var(--s-1)"
119
- }, sx),
110
+ sx: {
111
+ gap: row ? 2 : "var(--s-1)",
112
+ ...sx
113
+ },
120
114
  children: children
121
115
  });
122
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","MuiCheckbox","FormControlLabel","FormGroup","jsx","_jsx","Checkbox","forwardRef","_ref","ref","checked","onChange","label","disabled","indeterminate","inputProps","sx","rest","_objectWithoutProperties","_excluded","cb","_objectSpread","size","slotProps","input","undefined","padding","outline","outlineOffset","control","margin","fontSize","CheckboxGroup","_ref2","_ref2$row","row","children","_ref2$role","role","id","ariaLabel","ariaLabelledby","ariaDescribedby","ariaInvalid","gap"],"sources":["../../../../src/lib/v2/components/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiCheckbox from \"@mui/material/Checkbox\";\r\nimport type { CheckboxProps as MuiCheckboxProps } from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormGroup from \"@mui/material/FormGroup\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Checkbox - Portnet UI v2\r\n *\r\n * <Checkbox checked={v} onChange={e => set(e.target.checked)} label=\"Accepter\" />\r\n *\r\n * For groups:\r\n * <CheckboxGroup>\r\n * <Checkbox label=\"Option A\" />\r\n * <Checkbox label=\"Option B\" />\r\n * </CheckboxGroup>\r\n *\r\n * MUI v9 surface notes (audit Batch 2 external):\r\n * The public `inputProps` is routed internally to slotProps.input -\r\n * MUI v9 idiomatic location for native <input/> attributes on Checkbox.\r\n * `inputProps` was deprecated in v6 and REMOVED in v9, so it is no longer\r\n * inherited from MuiCheckboxProps and must be re-declared here. The canonical\r\n * MUI v5 idiom `<Checkbox inputProps={{ 'aria-label': '...' }}/>`\r\n * would silently lose the aria contract without this routing.\r\n * Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.\r\n */\r\nexport interface CheckboxProps extends MuiCheckboxProps {\r\n label?: React.ReactNode | undefined;\r\n /** Native <input> attributes. Routed to slotProps.input (v9). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nexport const Checkbox = React.forwardRef<React.ComponentRef<typeof MuiCheckbox>, CheckboxProps>(function Checkbox(\r\n { checked, onChange, label, disabled, indeterminate, inputProps, sx, ...rest },\r\n ref,\r\n) {\r\n const cb = (\r\n <MuiCheckbox\r\n ref={ref}\r\n checked={!!checked}\r\n onChange={onChange}\r\n disabled={disabled}\r\n indeterminate={indeterminate}\r\n size=\"small\"\r\n // MUI v9: Checkbox inputProps -> slotProps.input. Emitted\r\n // conditionally so we don't pass `slotProps={{ input: undefined }}`\r\n // when the consumer supplies nothing (strict-mode bundler hygiene).\r\n slotProps={inputProps ? { input: inputProps } : undefined}\r\n sx={{\r\n padding: \"6px\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n if (!label) return cb;\r\n return (\r\n <FormControlLabel\r\n control={cb}\r\n label={label}\r\n disabled={disabled}\r\n sx={{\r\n margin: 0,\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"var(--text-sm, 13px)\" },\r\n }}\r\n />\r\n );\r\n});\r\n\r\n/**\r\n * CheckboxGroup - Portnet UI v2\r\n *\r\n * Layout + semantics container for a set of related checkboxes. row=false\r\n * (default) stacks vertically with a small gap; row=true lays out horizontally\r\n * with a larger gap.\r\n *\r\n * A11y (CC-6): renders an ARIA `role=\"group\"` and forwards an explicit set of\r\n * grouping attributes (id / aria-label / aria-labelledby / aria-describedby /\r\n * aria-invalid) so a wrapping <Field label group> can name and describe the\r\n * whole group. Field also broadcasts error/disabled/fullWidth into its child;\r\n * those are intentionally NOT forwarded here (they are not valid on a div and\r\n * do not apply to a layout group). Pass `role`/`aria-label` explicitly to name\r\n * the group when used outside <Field>.\r\n */\r\nexport interface CheckboxGroupProps {\r\n row?: boolean | undefined;\r\n children?: React.ReactNode | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n /** ARIA role for the container (default \"group\"). */\r\n role?: React.AriaRole | undefined;\r\n id?: string | undefined;\r\n \"aria-label\"?: string | undefined;\r\n \"aria-labelledby\"?: string | undefined;\r\n \"aria-describedby\"?: string | undefined;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"] | undefined;\r\n}\r\n\r\nexport function CheckboxGroup({\r\n row = false,\r\n children,\r\n sx,\r\n role = \"group\",\r\n id,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledby,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n}: CheckboxGroupProps) {\r\n return (\r\n <FormGroup\r\n row={row}\r\n role={role}\r\n id={id}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledby}\r\n aria-describedby={ariaDescribedby}\r\n aria-invalid={ariaInvalid}\r\n sx={{\r\n gap: row ? 2 : \"var(--s-1)\",\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </FormGroup>\r\n );\r\n}\r\n\r\nexport default Checkbox;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Checkbox.js","names":["React","MuiCheckbox","FormControlLabel","FormGroup","jsx","_jsx","Checkbox","forwardRef","checked","onChange","label","disabled","indeterminate","inputProps","sx","rest","ref","cb","size","slotProps","input","undefined","padding","outline","outlineOffset","control","margin","fontSize","CheckboxGroup","row","children","role","id","ariaLabel","ariaLabelledby","ariaDescribedby","ariaInvalid","gap"],"sources":["../../../../src/lib/v2/components/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiCheckbox from \"@mui/material/Checkbox\";\r\nimport type { CheckboxProps as MuiCheckboxProps } from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormGroup from \"@mui/material/FormGroup\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Checkbox - Portnet UI v2\r\n *\r\n * <Checkbox checked={v} onChange={e => set(e.target.checked)} label=\"Accepter\" />\r\n *\r\n * For groups:\r\n * <CheckboxGroup>\r\n * <Checkbox label=\"Option A\" />\r\n * <Checkbox label=\"Option B\" />\r\n * </CheckboxGroup>\r\n *\r\n * MUI v9 surface notes (audit Batch 2 external):\r\n * The public `inputProps` is routed internally to slotProps.input -\r\n * MUI v9 idiomatic location for native <input/> attributes on Checkbox.\r\n * `inputProps` was deprecated in v6 and REMOVED in v9, so it is no longer\r\n * inherited from MuiCheckboxProps and must be re-declared here. The canonical\r\n * MUI v5 idiom `<Checkbox inputProps={{ 'aria-label': '...' }}/>`\r\n * would silently lose the aria contract without this routing.\r\n * Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.\r\n */\r\nexport interface CheckboxProps extends MuiCheckboxProps {\r\n label?: React.ReactNode | undefined;\r\n /** Native <input> attributes. Routed to slotProps.input (v9). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nexport const Checkbox = React.forwardRef<React.ComponentRef<typeof MuiCheckbox>, CheckboxProps>(function Checkbox(\r\n { checked, onChange, label, disabled, indeterminate, inputProps, sx, ...rest },\r\n ref,\r\n) {\r\n const cb = (\r\n <MuiCheckbox\r\n ref={ref}\r\n checked={!!checked}\r\n onChange={onChange}\r\n disabled={disabled}\r\n indeterminate={indeterminate}\r\n size=\"small\"\r\n // MUI v9: Checkbox inputProps -> slotProps.input. Emitted\r\n // conditionally so we don't pass `slotProps={{ input: undefined }}`\r\n // when the consumer supplies nothing (strict-mode bundler hygiene).\r\n slotProps={inputProps ? { input: inputProps } : undefined}\r\n sx={{\r\n padding: \"6px\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n if (!label) return cb;\r\n return (\r\n <FormControlLabel\r\n control={cb}\r\n label={label}\r\n disabled={disabled}\r\n sx={{\r\n margin: 0,\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"var(--text-sm, 13px)\" },\r\n }}\r\n />\r\n );\r\n});\r\n\r\n/**\r\n * CheckboxGroup - Portnet UI v2\r\n *\r\n * Layout + semantics container for a set of related checkboxes. row=false\r\n * (default) stacks vertically with a small gap; row=true lays out horizontally\r\n * with a larger gap.\r\n *\r\n * A11y (CC-6): renders an ARIA `role=\"group\"` and forwards an explicit set of\r\n * grouping attributes (id / aria-label / aria-labelledby / aria-describedby /\r\n * aria-invalid) so a wrapping <Field label group> can name and describe the\r\n * whole group. Field also broadcasts error/disabled/fullWidth into its child;\r\n * those are intentionally NOT forwarded here (they are not valid on a div and\r\n * do not apply to a layout group). Pass `role`/`aria-label` explicitly to name\r\n * the group when used outside <Field>.\r\n */\r\nexport interface CheckboxGroupProps {\r\n row?: boolean | undefined;\r\n children?: React.ReactNode | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n /** ARIA role for the container (default \"group\"). */\r\n role?: React.AriaRole | undefined;\r\n id?: string | undefined;\r\n \"aria-label\"?: string | undefined;\r\n \"aria-labelledby\"?: string | undefined;\r\n \"aria-describedby\"?: string | undefined;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"] | undefined;\r\n}\r\n\r\nexport function CheckboxGroup({\r\n row = false,\r\n children,\r\n sx,\r\n role = \"group\",\r\n id,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledby,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n}: CheckboxGroupProps) {\r\n return (\r\n <FormGroup\r\n row={row}\r\n role={role}\r\n id={id}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledby}\r\n aria-describedby={ariaDescribedby}\r\n aria-invalid={ariaInvalid}\r\n sx={{\r\n gap: row ? 2 : \"var(--s-1)\",\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </FormGroup>\r\n );\r\n}\r\n\r\nexport default Checkbox;\r\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,WAAW,MAAM,wBAAwB;AAEhD,OAAOC,gBAAgB,MAAM,gCAAgC;AAC7D,OAAOC,SAAS,MAAM,yBAAyB;;AAG/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnBA,SAAAC,GAAA,IAAAC,IAAA;AA0BA,OAAO,MAAMC,QAAQ,gBAAGN,KAAK,CAACO,UAAU,CAAwD,SAASD,QAAQA,CAC/G;EAAEE,OAAO;EAAEC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,aAAa;EAAEC,UAAU;EAAEC,EAAE;EAAE,GAAGC;AAAK,CAAC,EAC9EC,GAAG,EACH;EACA,MAAMC,EAAE,gBACNZ,IAAA,CAACJ,WAAW;IACVe,GAAG,EAAEA,GAAI;IACTR,OAAO,EAAE,CAAC,CAACA,OAAQ;IACnBC,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBC,aAAa,EAAEA,aAAc;IAC7BM,IAAI,EAAC;IACL;IACA;IACA;IAAA;IACAC,SAAS,EAAEN,UAAU,GAAG;MAAEO,KAAK,EAAEP;IAAW,CAAC,GAAGQ,SAAU;IAC1DP,EAAE,EAAE;MACFQ,OAAO,EAAE,KAAK;MACd,iBAAiB,EAAE;QACjBC,OAAO,EAAE,yBAAyB;QAClCC,aAAa,EAAE;MACjB,CAAC;MACD,GAAGV;IACL,CAAE;IAAA,GACEC;EAAI,CACT,CACF;EACD,IAAI,CAACL,KAAK,EAAE,OAAOO,EAAE;EACrB,oBACEZ,IAAA,CAACH,gBAAgB;IACfuB,OAAO,EAAER,EAAG;IACZP,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBG,EAAE,EAAE;MACFY,MAAM,EAAE,CAAC;MACT,8BAA8B,EAAE;QAAEC,QAAQ,EAAE;MAAuB;IACrE;EAAE,CACH,CAAC;AAEN,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA,OAAO,SAASC,aAAaA,CAAC;EAC5BC,GAAG,GAAG,KAAK;EACXC,QAAQ;EACRhB,EAAE;EACFiB,IAAI,GAAG,OAAO;EACdC,EAAE;EACF,YAAY,EAAEC,SAAS;EACvB,iBAAiB,EAAEC,cAAc;EACjC,kBAAkB,EAAEC,eAAe;EACnC,cAAc,EAAEC;AACE,CAAC,EAAE;EACrB,oBACE/B,IAAA,CAACF,SAAS;IACR0B,GAAG,EAAEA,GAAI;IACTE,IAAI,EAAEA,IAAK;IACXC,EAAE,EAAEA,EAAG;IACP,cAAYC,SAAU;IACtB,mBAAiBC,cAAe;IAChC,oBAAkBC,eAAgB;IAClC,gBAAcC,WAAY;IAC1BtB,EAAE,EAAE;MACFuB,GAAG,EAAER,GAAG,GAAG,CAAC,GAAG,YAAY;MAC3B,GAAGf;IACL,CAAE;IAAAgB,QAAA,EAEDA;EAAQ,CACA,CAAC;AAEhB;AAEA,eAAexB,QAAQ","ignoreList":[]}
@@ -1,12 +1,3 @@
1
- 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); }
2
- var _excluded = ["active", "removable", "onRemove", "size", "labels", "children", "sx"];
3
- 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; }
4
- 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; }
5
- 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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- 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); }
8
- 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; }
9
- 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; }
10
1
  import * as React from "react";
11
2
  import MuiChip from "@mui/material/Chip";
12
3
  import CloseIcon from "@mui/icons-material/Close";
@@ -44,10 +35,8 @@ import { mergeLabels } from "../utils/mergeLabels";
44
35
  * for the same action.
45
36
  */
46
37
  import { jsx as _jsx } from "react/jsx-runtime";
47
- var DEFAULT_LABELS = Object.freeze({
48
- remove: function remove(text) {
49
- return "Retirer ".concat(text);
50
- },
38
+ const DEFAULT_LABELS = Object.freeze({
39
+ remove: text => `Retirer ${text}`,
51
40
  removeFallback: "Retirer ce filtre"
52
41
  });
53
42
 
@@ -63,26 +52,22 @@ function extractText(node) {
63
52
  }
64
53
  return "";
65
54
  }
66
- function Chip(_ref) {
67
- var _ref$active = _ref.active,
68
- active = _ref$active === void 0 ? false : _ref$active,
69
- _ref$removable = _ref.removable,
70
- removable = _ref$removable === void 0 ? false : _ref$removable,
71
- onRemove = _ref.onRemove,
72
- _ref$size = _ref.size,
73
- size = _ref$size === void 0 ? "md" : _ref$size,
74
- labels = _ref.labels,
75
- children = _ref.children,
76
- sx = _ref.sx,
77
- rest = _objectWithoutProperties(_ref, _excluded);
78
- var L = React.useMemo(function () {
79
- return mergeLabels(DEFAULT_LABELS, labels);
80
- }, [labels]);
55
+ function Chip({
56
+ active = false,
57
+ removable = false,
58
+ onRemove,
59
+ size = "md",
60
+ labels,
61
+ children,
62
+ sx,
63
+ ...rest
64
+ }) {
65
+ const L = React.useMemo(() => mergeLabels(DEFAULT_LABELS, labels), [labels]);
81
66
 
82
67
  // R-Ar.2 - derive a meaningful aria-label for the delete trigger.
83
- var removeLabel = React.useMemo(function () {
68
+ const removeLabel = React.useMemo(() => {
84
69
  if (!removable) return undefined;
85
- var text = extractText(children).trim();
70
+ const text = extractText(children).trim();
86
71
  return text ? L.remove(text) : L.removeFallback;
87
72
  }, [removable, children, L]);
88
73
 
@@ -90,7 +75,7 @@ function Chip(_ref) {
90
75
  // it into the delete trigger). NOT focusable on its own - keyboard
91
76
  // delete works via the chip itself (Backspace/Delete on focused chip
92
77
  // fires onDelete per MUI Chip semantics).
93
- var deleteIconNode = removable ? /*#__PURE__*/_jsx("span", {
78
+ const deleteIconNode = removable ? /*#__PURE__*/_jsx("span", {
94
79
  "aria-label": removeLabel,
95
80
  style: {
96
81
  display: "inline-flex",
@@ -101,12 +86,12 @@ function Chip(_ref) {
101
86
  "aria-hidden": "true"
102
87
  })
103
88
  }) : undefined;
104
- return /*#__PURE__*/_jsx(MuiChip, _objectSpread({
89
+ return /*#__PURE__*/_jsx(MuiChip, {
105
90
  label: children,
106
91
  size: size === "sm" ? "small" : "medium",
107
92
  onDelete: removable ? onRemove : undefined,
108
93
  deleteIcon: deleteIconNode,
109
- sx: _objectSpread({
94
+ sx: {
110
95
  backgroundColor: active ? "var(--accent-soft)" : "var(--bg-subtle)",
111
96
  color: active ? "var(--accent)" : "var(--fg-muted)",
112
97
  fontWeight: active ? "var(--fw-semibold, 600)" : "var(--fw-medium, 500)",
@@ -116,9 +101,11 @@ function Chip(_ref) {
116
101
  "&:hover": {
117
102
  color: "var(--danger)"
118
103
  }
119
- }
120
- }, sx)
121
- }, rest));
104
+ },
105
+ ...sx
106
+ },
107
+ ...rest
108
+ });
122
109
  }
123
110
  export default Chip;
124
111
  //# sourceMappingURL=Chip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","names":["React","MuiChip","CloseIcon","mergeLabels","jsx","_jsx","DEFAULT_LABELS","Object","freeze","remove","text","concat","removeFallback","extractText","node","String","Array","isArray","map","join","trim","isValidElement","props","children","Chip","_ref","_ref$active","active","_ref$removable","removable","onRemove","_ref$size","size","labels","sx","rest","_objectWithoutProperties","_excluded","L","useMemo","removeLabel","undefined","deleteIconNode","style","display","alignItems","fontSize","_objectSpread","label","onDelete","deleteIcon","backgroundColor","color","fontWeight","border"],"sources":["../../../../src/lib/v2/components/Chip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport type { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Chip - Portnet UI v2\r\n *\r\n * Generic filter / tag chip.\r\n * For workflow status, use <Status> instead - its colour palette is canonical.\r\n *\r\n * <Chip>Importateur</Chip>\r\n * <Chip active>Actif</Chip>\r\n * <Chip removable onRemove={() => …}>Banque · BMCE</Chip>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Chip removable\r\n * labels={{\r\n * remove: (text) => `Remove ${text}`,\r\n * removeFallback: \"Remove this filter\",\r\n * }}>\r\n * Bank · BMCE\r\n * </Chip>\r\n *\r\n * A11y note (R-Ar.2):\r\n * When `removable`, the delete trigger gets a derived aria-label\r\n * (\"Retirer X\" by default, or whatever `labels.remove(text)`\r\n * returns) so SR users hear a meaningful name instead of MUI's\r\n * default rendering (\"delete\" English / unnamed icon button).\r\n *\r\n * Keyboard delete is supported at the chip level (the chip itself is\r\n * focusable; Backspace / Delete fires onDelete per MUI Chip\r\n * semantics). The custom delete handle is therefore intentionally\r\n * non-focusable - duplicating focus on it would create two tab-stops\r\n * for the same action.\r\n */\r\n\r\nexport interface ChipLabels {\r\n remove?: ((text: string) => string) | undefined;\r\n removeFallback?: string | undefined;\r\n}\r\n\r\nexport interface ChipProps\r\n extends Omit<MuiChipProps, \"label\" | \"size\" | \"onDelete\" | \"deleteIcon\" | \"children\"> {\r\n active?: boolean | undefined;\r\n removable?: boolean | undefined;\r\n onRemove?: MuiChipProps[\"onDelete\"] | undefined;\r\n size?: \"sm\" | \"md\" | undefined;\r\n labels?: ChipLabels | undefined;\r\n children?: React.ReactNode | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n remove: (text: string): string => `Retirer ${text}`,\r\n removeFallback: \"Retirer ce filtre\",\r\n});\r\n\r\n// Best-effort plain-text extraction from a chip's children. Used to\r\n// build the delete-button aria-label. Falls back gracefully when the\r\n// children are non-text (e.g. an Avatar or a complex JSX tree).\r\nfunction extractText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction Chip({\r\n active = false,\r\n removable = false,\r\n onRemove,\r\n size = \"md\",\r\n labels,\r\n children,\r\n sx,\r\n ...rest\r\n}: ChipProps) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n // R-Ar.2 - derive a meaningful aria-label for the delete trigger.\r\n const removeLabel = React.useMemo(() => {\r\n if (!removable) return undefined;\r\n const text = extractText(children).trim();\r\n return text ? L.remove(text) : L.removeFallback;\r\n }, [removable, children, L]);\r\n\r\n // Plain aria-labeled span. MuiChip clones onClick onto it (turning\r\n // it into the delete trigger). NOT focusable on its own - keyboard\r\n // delete works via the chip itself (Backspace/Delete on focused chip\r\n // fires onDelete per MUI Chip semantics).\r\n const deleteIconNode = removable ? (\r\n <span\r\n aria-label={removeLabel}\r\n style={{ display: \"inline-flex\", alignItems: \"center\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" aria-hidden=\"true\" />\r\n </span>\r\n ) : undefined;\r\n\r\n return (\r\n <MuiChip\r\n label={children}\r\n size={size === \"sm\" ? \"small\" : \"medium\"}\r\n onDelete={removable ? onRemove : undefined}\r\n deleteIcon={deleteIconNode}\r\n sx={{\r\n backgroundColor: active ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n fontWeight: active ? \"var(--fw-semibold, 600)\" : \"var(--fw-medium, 500)\",\r\n border: active ? \"1px solid var(--accent)\" : \"1px solid var(--border)\",\r\n \"& .MuiChip-deleteIcon\": {\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n\r\nexport default Chip;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chip.js","names":["React","MuiChip","CloseIcon","mergeLabels","jsx","_jsx","DEFAULT_LABELS","Object","freeze","remove","text","removeFallback","extractText","node","String","Array","isArray","map","join","trim","isValidElement","props","children","Chip","active","removable","onRemove","size","labels","sx","rest","L","useMemo","removeLabel","undefined","deleteIconNode","style","display","alignItems","fontSize","label","onDelete","deleteIcon","backgroundColor","color","fontWeight","border"],"sources":["../../../../src/lib/v2/components/Chip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport type { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Chip - Portnet UI v2\r\n *\r\n * Generic filter / tag chip.\r\n * For workflow status, use <Status> instead - its colour palette is canonical.\r\n *\r\n * <Chip>Importateur</Chip>\r\n * <Chip active>Actif</Chip>\r\n * <Chip removable onRemove={() => …}>Banque · BMCE</Chip>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Chip removable\r\n * labels={{\r\n * remove: (text) => `Remove ${text}`,\r\n * removeFallback: \"Remove this filter\",\r\n * }}>\r\n * Bank · BMCE\r\n * </Chip>\r\n *\r\n * A11y note (R-Ar.2):\r\n * When `removable`, the delete trigger gets a derived aria-label\r\n * (\"Retirer X\" by default, or whatever `labels.remove(text)`\r\n * returns) so SR users hear a meaningful name instead of MUI's\r\n * default rendering (\"delete\" English / unnamed icon button).\r\n *\r\n * Keyboard delete is supported at the chip level (the chip itself is\r\n * focusable; Backspace / Delete fires onDelete per MUI Chip\r\n * semantics). The custom delete handle is therefore intentionally\r\n * non-focusable - duplicating focus on it would create two tab-stops\r\n * for the same action.\r\n */\r\n\r\nexport interface ChipLabels {\r\n remove?: ((text: string) => string) | undefined;\r\n removeFallback?: string | undefined;\r\n}\r\n\r\nexport interface ChipProps\r\n extends Omit<MuiChipProps, \"label\" | \"size\" | \"onDelete\" | \"deleteIcon\" | \"children\"> {\r\n active?: boolean | undefined;\r\n removable?: boolean | undefined;\r\n onRemove?: MuiChipProps[\"onDelete\"] | undefined;\r\n size?: \"sm\" | \"md\" | undefined;\r\n labels?: ChipLabels | undefined;\r\n children?: React.ReactNode | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n remove: (text: string): string => `Retirer ${text}`,\r\n removeFallback: \"Retirer ce filtre\",\r\n});\r\n\r\n// Best-effort plain-text extraction from a chip's children. Used to\r\n// build the delete-button aria-label. Falls back gracefully when the\r\n// children are non-text (e.g. an Avatar or a complex JSX tree).\r\nfunction extractText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction Chip({\r\n active = false,\r\n removable = false,\r\n onRemove,\r\n size = \"md\",\r\n labels,\r\n children,\r\n sx,\r\n ...rest\r\n}: ChipProps) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n // R-Ar.2 - derive a meaningful aria-label for the delete trigger.\r\n const removeLabel = React.useMemo(() => {\r\n if (!removable) return undefined;\r\n const text = extractText(children).trim();\r\n return text ? L.remove(text) : L.removeFallback;\r\n }, [removable, children, L]);\r\n\r\n // Plain aria-labeled span. MuiChip clones onClick onto it (turning\r\n // it into the delete trigger). NOT focusable on its own - keyboard\r\n // delete works via the chip itself (Backspace/Delete on focused chip\r\n // fires onDelete per MUI Chip semantics).\r\n const deleteIconNode = removable ? (\r\n <span\r\n aria-label={removeLabel}\r\n style={{ display: \"inline-flex\", alignItems: \"center\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" aria-hidden=\"true\" />\r\n </span>\r\n ) : undefined;\r\n\r\n return (\r\n <MuiChip\r\n label={children}\r\n size={size === \"sm\" ? \"small\" : \"medium\"}\r\n onDelete={removable ? onRemove : undefined}\r\n deleteIcon={deleteIconNode}\r\n sx={{\r\n backgroundColor: active ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n fontWeight: active ? \"var(--fw-semibold, 600)\" : \"var(--fw-medium, 500)\",\r\n border: active ? \"1px solid var(--accent)\" : \"1px solid var(--border)\",\r\n \"& .MuiChip-deleteIcon\": {\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n\r\nexport default Chip;\r\n"],"mappings":"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","ignoreList":[]}