@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
@@ -5,17 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PageBusy = PageBusy;
7
7
  exports.SectionBusy = SectionBusy;
8
- exports["default"] = void 0;
8
+ exports.default = void 0;
9
9
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
10
  var _Spinner = _interopRequireDefault(require("./Spinner"));
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
- 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); }
14
- 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; }
15
- 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; }
16
- 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; }
17
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
- 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); } /**
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ /**
19
14
  * Busy — Portnet UI v2
20
15
  *
21
16
  * Charter §04.4 · canonical loading-overlay primitive. Replaces the
@@ -53,52 +48,52 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
53
48
  *
54
49
  * // Full-page (e.g. wizard during create+navigate):
55
50
  * {isPageLoading && <PageBusy label="Création en cours" />}
56
- */
57
- var SHARED_OVERLAY_SX = Object.freeze({
51
+ */const SHARED_OVERLAY_SX = Object.freeze({
58
52
  display: "grid",
59
53
  placeItems: "center",
60
54
  background: "color-mix(in srgb, var(--bg) 70%, transparent)",
61
55
  pointerEvents: "auto"
62
56
  });
63
- function SectionBusy(_ref) {
64
- var _ref$label = _ref.label,
65
- label = _ref$label === void 0 ? "Chargement en cours" : _ref$label,
66
- _ref$surface = _ref.surface,
67
- surface = _ref$surface === void 0 ? true : _ref$surface;
68
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
57
+ function SectionBusy({
58
+ label = "Chargement en cours",
59
+ surface = true
60
+ }) {
61
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
69
62
  role: "status",
70
63
  "aria-live": "polite",
71
64
  "aria-busy": "true",
72
- sx: _objectSpread(_objectSpread({}, SHARED_OVERLAY_SX), {}, {
65
+ sx: {
66
+ ...SHARED_OVERLAY_SX,
73
67
  position: "absolute",
74
68
  inset: 0,
75
69
  background: surface ? SHARED_OVERLAY_SX.background : "transparent",
76
70
  borderRadius: "var(--r-lg)",
77
71
  zIndex: 1
78
- }),
79
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
72
+ },
73
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
80
74
  size: 20,
81
75
  label: label
82
76
  })
83
77
  });
84
78
  }
85
- function PageBusy(_ref2) {
86
- var _ref2$label = _ref2.label,
87
- label = _ref2$label === void 0 ? "Chargement en cours" : _ref2$label;
88
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
79
+ function PageBusy({
80
+ label = "Chargement en cours"
81
+ }) {
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
89
83
  role: "status",
90
84
  "aria-live": "polite",
91
85
  "aria-busy": "true",
92
- sx: _objectSpread(_objectSpread({}, SHARED_OVERLAY_SX), {}, {
86
+ sx: {
87
+ ...SHARED_OVERLAY_SX,
93
88
  position: "fixed",
94
89
  inset: 0,
95
90
  zIndex: "var(--z-modal, 9999)"
96
- }),
97
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {
91
+ },
92
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {
98
93
  size: 28,
99
94
  label: label
100
95
  })
101
96
  });
102
97
  }
103
- var _default = exports["default"] = SectionBusy;
98
+ var _default = exports.default = SectionBusy;
104
99
  //# sourceMappingURL=Busy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Busy.js","names":["_Box","_interopRequireDefault","require","_Spinner","_jsxRuntime","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","SHARED_OVERLAY_SX","freeze","display","placeItems","background","pointerEvents","SectionBusy","_ref","_ref$label","label","_ref$surface","surface","jsx","role","sx","position","inset","borderRadius","zIndex","children","size","PageBusy","_ref2","_ref2$label","_default","exports"],"sources":["../../../src/lib/v2/components/Busy.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Spinner from \"./Spinner\";\r\n\r\n/**\r\n * Busy — Portnet UI v2\r\n *\r\n * Charter §04.4 · canonical loading-overlay primitive. Replaces the\r\n * inline PAGE_OVERLAY_SX block that host modules previously froze\r\n * in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift\r\n * pattern catalogued under \"Spinner overlay block\").\r\n *\r\n * Two variants:\r\n *\r\n * <SectionBusy />\r\n * covers the nearest positioned ancestor (parent must have\r\n * `position: relative`). Use when a section/card is waiting on\r\n * data but the rest of the page is still usable.\r\n *\r\n * <PageBusy />\r\n * fixed full-viewport variant. Use when the whole page is\r\n * blocked (e.g. initial fetch, submit-in-flight on a wizard).\r\n *\r\n * Both expose role=\"status\" + aria-live=\"polite\" + aria-busy=\"true\"\r\n * so screen-reader users hear the loading state, and they forward\r\n * the `label` prop to the inner Spinner — that text is announced\r\n * via aria-label on the SVG (R-Ar.1).\r\n *\r\n * Reduced-motion: the Spinner's CSS animation is suppressed under\r\n * `prefers-reduced-motion: reduce` (handled in pui-spinner base\r\n * stylesheet — no per-component duplication).\r\n *\r\n * Usage:\r\n *\r\n * // Section-level (parent has position: relative):\r\n * <Box sx={{ position: \"relative\" }}>\r\n * <ContentThatCanLoad />\r\n * {isLoading && <SectionBusy label=\"Chargement des marchandises\" />}\r\n * </Box>\r\n *\r\n * // Full-page (e.g. wizard during create+navigate):\r\n * {isPageLoading && <PageBusy label=\"Création en cours\" />}\r\n */\r\n\r\nconst SHARED_OVERLAY_SX = Object.freeze({\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n background: \"color-mix(in srgb, var(--bg) 70%, transparent)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SectionBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n /**\r\n * If false, the overlay backdrop is transparent (still blocks\r\n * clicks, still announces busy). Use when the section already\r\n * has a subtle bg and you don't want a double scrim.\r\n */\r\n surface?: boolean | undefined;\r\n}\r\n\r\nexport function SectionBusy({ label = \"Chargement en cours\", surface = true }: SectionBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"absolute\",\r\n inset: 0,\r\n background: surface\r\n ? SHARED_OVERLAY_SX.background\r\n : \"transparent\",\r\n borderRadius: \"var(--r-lg)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <Spinner size={20} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport interface PageBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n}\r\n\r\nexport function PageBusy({ label = \"Chargement en cours\" }: PageBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"fixed\",\r\n inset: 0,\r\n zIndex: \"var(--z-modal, 9999)\",\r\n }}\r\n >\r\n <Spinner size={28} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionBusy;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Busy.js","names":["_Box","_interopRequireDefault","require","_Spinner","_jsxRuntime","e","__esModule","default","SHARED_OVERLAY_SX","Object","freeze","display","placeItems","background","pointerEvents","SectionBusy","label","surface","jsx","role","sx","position","inset","borderRadius","zIndex","children","size","PageBusy","_default","exports"],"sources":["../../../src/lib/v2/components/Busy.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Spinner from \"./Spinner\";\r\n\r\n/**\r\n * Busy — Portnet UI v2\r\n *\r\n * Charter §04.4 · canonical loading-overlay primitive. Replaces the\r\n * inline PAGE_OVERLAY_SX block that host modules previously froze\r\n * in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift\r\n * pattern catalogued under \"Spinner overlay block\").\r\n *\r\n * Two variants:\r\n *\r\n * <SectionBusy />\r\n * covers the nearest positioned ancestor (parent must have\r\n * `position: relative`). Use when a section/card is waiting on\r\n * data but the rest of the page is still usable.\r\n *\r\n * <PageBusy />\r\n * fixed full-viewport variant. Use when the whole page is\r\n * blocked (e.g. initial fetch, submit-in-flight on a wizard).\r\n *\r\n * Both expose role=\"status\" + aria-live=\"polite\" + aria-busy=\"true\"\r\n * so screen-reader users hear the loading state, and they forward\r\n * the `label` prop to the inner Spinner — that text is announced\r\n * via aria-label on the SVG (R-Ar.1).\r\n *\r\n * Reduced-motion: the Spinner's CSS animation is suppressed under\r\n * `prefers-reduced-motion: reduce` (handled in pui-spinner base\r\n * stylesheet — no per-component duplication).\r\n *\r\n * Usage:\r\n *\r\n * // Section-level (parent has position: relative):\r\n * <Box sx={{ position: \"relative\" }}>\r\n * <ContentThatCanLoad />\r\n * {isLoading && <SectionBusy label=\"Chargement des marchandises\" />}\r\n * </Box>\r\n *\r\n * // Full-page (e.g. wizard during create+navigate):\r\n * {isPageLoading && <PageBusy label=\"Création en cours\" />}\r\n */\r\n\r\nconst SHARED_OVERLAY_SX = Object.freeze({\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n background: \"color-mix(in srgb, var(--bg) 70%, transparent)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SectionBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n /**\r\n * If false, the overlay backdrop is transparent (still blocks\r\n * clicks, still announces busy). Use when the section already\r\n * has a subtle bg and you don't want a double scrim.\r\n */\r\n surface?: boolean | undefined;\r\n}\r\n\r\nexport function SectionBusy({ label = \"Chargement en cours\", surface = true }: SectionBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"absolute\",\r\n inset: 0,\r\n background: surface\r\n ? SHARED_OVERLAY_SX.background\r\n : \"transparent\",\r\n borderRadius: \"var(--r-lg)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <Spinner size={20} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport interface PageBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n}\r\n\r\nexport function PageBusy({ label = \"Chargement en cours\" }: PageBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"fixed\",\r\n inset: 0,\r\n zIndex: \"var(--z-modal, 9999)\",\r\n }}\r\n >\r\n <Spinner size={28} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionBusy;\r\n"],"mappings":";;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAgC,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAEA,MAAMG,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAAC;EACtCC,OAAO,EAAQ,MAAM;EACrBC,UAAU,EAAK,QAAQ;EACvBC,UAAU,EAAK,gDAAgD;EAC/DC,aAAa,EAAE;AACjB,CAA0B,CAAC;AAapB,SAASC,WAAWA,CAAC;EAAEC,KAAK,GAAG,qBAAqB;EAAEC,OAAO,GAAG;AAAuB,CAAC,EAAE;EAC/F,oBACE,IAAAb,WAAA,CAAAc,GAAA,EAAClB,IAAA,CAAAO,OAAG;IACFY,IAAI,EAAC,QAAQ;IACb,aAAU,QAAQ;IAClB,aAAU,MAAM;IAChBC,EAAE,EAAE;MACF,GAAGZ,iBAAiB;MACpBa,QAAQ,EAAM,UAAU;MACxBC,KAAK,EAAS,CAAC;MACfT,UAAU,EAAII,OAAO,GACjBT,iBAAiB,CAACK,UAAU,GAC5B,aAAa;MACjBU,YAAY,EAAE,aAAa;MAC3BC,MAAM,EAAQ;IAChB,CAAE;IAAAC,QAAA,eAEF,IAAArB,WAAA,CAAAc,GAAA,EAACf,QAAA,CAAAI,OAAO;MAACmB,IAAI,EAAE,EAAG;MAACV,KAAK,EAAEA;IAAM,CAAE;EAAC,CAChC,CAAC;AAEV;AAOO,SAASW,QAAQA,CAAC;EAAEX,KAAK,GAAG;AAAqC,CAAC,EAAE;EACzE,oBACE,IAAAZ,WAAA,CAAAc,GAAA,EAAClB,IAAA,CAAAO,OAAG;IACFY,IAAI,EAAC,QAAQ;IACb,aAAU,QAAQ;IAClB,aAAU,MAAM;IAChBC,EAAE,EAAE;MACF,GAAGZ,iBAAiB;MACpBa,QAAQ,EAAE,OAAO;MACjBC,KAAK,EAAK,CAAC;MACXE,MAAM,EAAI;IACZ,CAAE;IAAAC,QAAA,eAEF,IAAArB,WAAA,CAAAc,GAAA,EAACf,QAAA,CAAAI,OAAO;MAACmB,IAAI,EAAE,EAAG;MAACV,KAAK,EAAEA;IAAM,CAAE;EAAC,CAChC,CAAC;AAEV;AAAC,IAAAY,QAAA,GAAAC,OAAA,CAAAtB,OAAA,GAEcQ,WAAW","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
10
9
  var _Spinner = _interopRequireDefault(require("./Spinner"));
11
10
  var _tokens = require("../tokens");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
- var _excluded = ["variant", "size", "icon", "iconRight", "iconOnly", "loading", "disabled", "children", "sx", "type"];
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
14
  /**
15
15
  * Button - Portnet UI v2
16
16
  *
@@ -26,17 +26,8 @@ var _excluded = ["variant", "size", "icon", "iconRight", "iconOnly", "loading",
26
26
  * Variants: "primary" | "secondary" | "ghost" | "danger"
27
27
  * Sizes: "md" (40px visual) | "sm" (32px visual), tactile min 44px.
28
28
  */
29
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
32
- 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; }
33
- 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; }
34
- 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; }
35
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
- 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); }
37
- 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; }
38
- 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; }
39
- var VARIANT_TO_MUI = {
29
+
30
+ const VARIANT_TO_MUI = {
40
31
  primary: {
41
32
  variant: "contained",
42
33
  color: "primary"
@@ -54,41 +45,37 @@ var VARIANT_TO_MUI = {
54
45
  color: "error"
55
46
  }
56
47
  };
57
- var VISUAL_HEIGHT_BY_SIZE = {
48
+ const VISUAL_HEIGHT_BY_SIZE = {
58
49
  md: _tokens.density.comfortable.btn,
59
50
  // 40
60
51
  sm: _tokens.density.compact.btn // 32
61
52
  };
62
- var Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {
63
- var _ref$variant = _ref.variant,
64
- variant = _ref$variant === void 0 ? "secondary" : _ref$variant,
65
- _ref$size = _ref.size,
66
- size = _ref$size === void 0 ? "md" : _ref$size,
67
- icon = _ref.icon,
68
- iconRight = _ref.iconRight,
69
- _ref$iconOnly = _ref.iconOnly,
70
- iconOnly = _ref$iconOnly === void 0 ? false : _ref$iconOnly,
71
- _ref$loading = _ref.loading,
72
- loading = _ref$loading === void 0 ? false : _ref$loading,
73
- disabled = _ref.disabled,
74
- children = _ref.children,
75
- sx = _ref.sx,
76
- _ref$type = _ref.type,
77
- type = _ref$type === void 0 ? "button" : _ref$type,
78
- rest = _objectWithoutProperties(_ref, _excluded);
79
- var muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;
80
- var muiSize = size === "sm" ? "small" : "medium";
53
+ const Button = /*#__PURE__*/React.forwardRef(function Button({
54
+ variant = "secondary",
55
+ size = "md",
56
+ icon,
57
+ iconRight,
58
+ iconOnly = false,
59
+ loading = false,
60
+ disabled,
61
+ children,
62
+ sx,
63
+ type = "button",
64
+ ...rest
65
+ }, ref) {
66
+ const muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;
67
+ const muiSize = size === "sm" ? "small" : "medium";
81
68
  if (process.env["NODE_ENV"] !== "production" && iconOnly && !rest["aria-label"]) {
82
69
  // eslint-disable-next-line no-console
83
70
  console.warn("[@portnet/ui v2] <Button iconOnly> is missing required `aria-label` (charter R-B.5).");
84
71
  }
85
- var isLoading = !!loading;
86
- var startNode = isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner["default"], {}) : icon;
87
- var endNode = isLoading ? null : iconRight;
88
- var visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;
89
- var tactile = _tokens.layout.tactileMin;
90
- var extension = Math.max(0, (tactile - visualSize) / 2);
91
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], _objectSpread(_objectSpread({
72
+ const isLoading = !!loading;
73
+ const startNode = isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.default, {}) : icon;
74
+ const endNode = isLoading ? null : iconRight;
75
+ const visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;
76
+ const tactile = _tokens.layout.tactileMin;
77
+ const extension = Math.max(0, (tactile - visualSize) / 2);
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
92
79
  ref: ref,
93
80
  type: type,
94
81
  disabled: isLoading || disabled,
@@ -98,7 +85,7 @@ var Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {
98
85
  color: muiProps.color,
99
86
  startIcon: iconOnly ? undefined : startNode,
100
87
  endIcon: iconOnly ? undefined : endNode,
101
- sx: _objectSpread(_objectSpread({
88
+ sx: {
102
89
  minHeight: visualSize,
103
90
  position: "relative",
104
91
  "&::before": {
@@ -109,14 +96,16 @@ var Button = /*#__PURE__*/React.forwardRef(function Button(_ref, ref) {
109
96
  left: -extension,
110
97
  right: -extension,
111
98
  pointerEvents: "auto"
112
- }
113
- }, iconOnly && {
114
- minWidth: visualSize,
115
- padding: 0
116
- }), sx)
117
- }, rest), {}, {
99
+ },
100
+ ...(iconOnly && {
101
+ minWidth: visualSize,
102
+ padding: 0
103
+ }),
104
+ ...sx
105
+ },
106
+ ...rest,
118
107
  children: iconOnly ? startNode || children : children
119
- }));
108
+ });
120
109
  });
121
- var _default = exports["default"] = Button;
110
+ var _default = exports.default = Button;
122
111
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","_interopRequireWildcard","require","_Button","_interopRequireDefault","_Spinner","_tokens","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","VARIANT_TO_MUI","primary","variant","color","secondary","ghost","danger","VISUAL_HEIGHT_BY_SIZE","md","density","comfortable","btn","sm","compact","Button","forwardRef","_ref","ref","_ref$variant","_ref$size","size","icon","iconRight","_ref$iconOnly","iconOnly","_ref$loading","loading","disabled","children","sx","_ref$type","type","rest","muiProps","muiSize","process","env","console","warn","isLoading","startNode","jsx","endNode","visualSize","tactile","layout","tactileMin","extension","Math","max","startIcon","endIcon","minHeight","position","content","top","bottom","left","right","pointerEvents","minWidth","padding","_default","exports"],"sources":["../../../src/lib/v2/components/Button.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiButton from \"@mui/material/Button\";\r\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\r\nimport Spinner from \"./Spinner\";\r\nimport { layout, density } from \"../tokens\";\r\n\r\n/**\r\n * Button - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Button\". DS-aligned MUI wrapper.\r\n *\r\n * R-B.1 - Only ONE primary per screen (host-enforced).\r\n * R-B.2 - Charter target visual height 40 / 32 px.\r\n * R-B.3 - Label = verb + object (\"Créer un titre\"), never \"OK\" alone.\r\n * R-B.4 - `loading` disables interaction and shows inline spinner.\r\n * R-B.5 - Icon-only requires `aria-label`.\r\n * R-B.6 - Destructive action → variant=\"danger\", never primary.\r\n *\r\n * Variants: \"primary\" | \"secondary\" | \"ghost\" | \"danger\"\r\n * Sizes: \"md\" (40px visual) | \"sm\" (32px visual), tactile min 44px.\r\n */\r\ntype ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\r\ntype ButtonSize = \"sm\" | \"md\";\r\n\r\nconst VARIANT_TO_MUI: Record<\r\n ButtonVariant,\r\n { variant: MuiButtonProps[\"variant\"]; color: MuiButtonProps[\"color\"] }\r\n> = {\r\n primary: { variant: \"contained\", color: \"primary\" },\r\n secondary: { variant: \"outlined\", color: \"primary\" },\r\n ghost: { variant: \"text\", color: \"primary\" },\r\n danger: { variant: \"contained\", color: \"error\" },\r\n};\r\n\r\nconst VISUAL_HEIGHT_BY_SIZE: Record<ButtonSize, number> = {\r\n md: density.comfortable.btn, // 40\r\n sm: density.compact.btn, // 32\r\n};\r\n\r\nexport interface ButtonProps extends Omit<MuiButtonProps, \"variant\" | \"size\"> {\r\n /** Visual variant. @default \"secondary\" */\r\n variant?: ButtonVariant | undefined;\r\n /** Charter size — \"md\" (40px visual) or \"sm\" (32px visual). @default \"md\" */\r\n size?: ButtonSize | undefined;\r\n /** Leading icon (start adornment). */\r\n icon?: React.ReactNode | undefined;\r\n /** Trailing icon (end adornment). */\r\n iconRight?: React.ReactNode | undefined;\r\n /** Icon-only button — requires `aria-label` (charter R-B.5). @default false */\r\n iconOnly?: boolean | undefined;\r\n /** Show an inline spinner and disable interaction. @default false */\r\n loading?: boolean | undefined;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(\r\n {\r\n variant = \"secondary\",\r\n size = \"md\",\r\n icon,\r\n iconRight,\r\n iconOnly = false,\r\n loading = false,\r\n disabled,\r\n children,\r\n sx,\r\n type = \"button\",\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;\r\n const muiSize = size === \"sm\" ? \"small\" : \"medium\";\r\n\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && iconOnly && !rest[\"aria-label\"]) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] <Button iconOnly> is missing required `aria-label` (charter R-B.5).\",\r\n );\r\n }\r\n\r\n const isLoading = !!loading;\r\n const startNode = isLoading ? <Spinner /> : icon;\r\n const endNode = isLoading ? null : iconRight;\r\n\r\n const visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;\r\n const tactile = layout.tactileMin;\r\n const extension = Math.max(0, (tactile - visualSize) / 2);\r\n\r\n return (\r\n <MuiButton\r\n ref={ref}\r\n type={type}\r\n disabled={isLoading || disabled}\r\n aria-busy={isLoading || undefined}\r\n size={muiSize}\r\n variant={muiProps.variant}\r\n color={muiProps.color}\r\n startIcon={iconOnly ? undefined : startNode}\r\n endIcon={iconOnly ? undefined : endNode}\r\n sx={{\r\n minHeight: visualSize,\r\n position: \"relative\",\r\n \"&::before\": {\r\n content: '\"\"',\r\n position: \"absolute\",\r\n top: -extension,\r\n bottom: -extension,\r\n left: -extension,\r\n right: -extension,\r\n pointerEvents: \"auto\",\r\n },\r\n ...(iconOnly && {\r\n minWidth: visualSize,\r\n padding: 0,\r\n }),\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {iconOnly ? (startNode || children) : children}\r\n </MuiButton>\r\n );\r\n});\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Button.js","names":["React","_interopRequireWildcard","require","_Button","_interopRequireDefault","_Spinner","_tokens","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","VARIANT_TO_MUI","primary","variant","color","secondary","ghost","danger","VISUAL_HEIGHT_BY_SIZE","md","density","comfortable","btn","sm","compact","Button","forwardRef","size","icon","iconRight","iconOnly","loading","disabled","children","sx","type","rest","ref","muiProps","muiSize","process","env","console","warn","isLoading","startNode","jsx","endNode","visualSize","tactile","layout","tactileMin","extension","Math","max","undefined","startIcon","endIcon","minHeight","position","content","top","bottom","left","right","pointerEvents","minWidth","padding","_default","exports"],"sources":["../../../src/lib/v2/components/Button.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiButton from \"@mui/material/Button\";\r\nimport type { ButtonProps as MuiButtonProps } from \"@mui/material/Button\";\r\nimport Spinner from \"./Spinner\";\r\nimport { layout, density } from \"../tokens\";\r\n\r\n/**\r\n * Button - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Button\". DS-aligned MUI wrapper.\r\n *\r\n * R-B.1 - Only ONE primary per screen (host-enforced).\r\n * R-B.2 - Charter target visual height 40 / 32 px.\r\n * R-B.3 - Label = verb + object (\"Créer un titre\"), never \"OK\" alone.\r\n * R-B.4 - `loading` disables interaction and shows inline spinner.\r\n * R-B.5 - Icon-only requires `aria-label`.\r\n * R-B.6 - Destructive action → variant=\"danger\", never primary.\r\n *\r\n * Variants: \"primary\" | \"secondary\" | \"ghost\" | \"danger\"\r\n * Sizes: \"md\" (40px visual) | \"sm\" (32px visual), tactile min 44px.\r\n */\r\ntype ButtonVariant = \"primary\" | \"secondary\" | \"ghost\" | \"danger\";\r\ntype ButtonSize = \"sm\" | \"md\";\r\n\r\nconst VARIANT_TO_MUI: Record<\r\n ButtonVariant,\r\n { variant: MuiButtonProps[\"variant\"]; color: MuiButtonProps[\"color\"] }\r\n> = {\r\n primary: { variant: \"contained\", color: \"primary\" },\r\n secondary: { variant: \"outlined\", color: \"primary\" },\r\n ghost: { variant: \"text\", color: \"primary\" },\r\n danger: { variant: \"contained\", color: \"error\" },\r\n};\r\n\r\nconst VISUAL_HEIGHT_BY_SIZE: Record<ButtonSize, number> = {\r\n md: density.comfortable.btn, // 40\r\n sm: density.compact.btn, // 32\r\n};\r\n\r\nexport interface ButtonProps extends Omit<MuiButtonProps, \"variant\" | \"size\"> {\r\n /** Visual variant. @default \"secondary\" */\r\n variant?: ButtonVariant | undefined;\r\n /** Charter size — \"md\" (40px visual) or \"sm\" (32px visual). @default \"md\" */\r\n size?: ButtonSize | undefined;\r\n /** Leading icon (start adornment). */\r\n icon?: React.ReactNode | undefined;\r\n /** Trailing icon (end adornment). */\r\n iconRight?: React.ReactNode | undefined;\r\n /** Icon-only button — requires `aria-label` (charter R-B.5). @default false */\r\n iconOnly?: boolean | undefined;\r\n /** Show an inline spinner and disable interaction. @default false */\r\n loading?: boolean | undefined;\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(function Button(\r\n {\r\n variant = \"secondary\",\r\n size = \"md\",\r\n icon,\r\n iconRight,\r\n iconOnly = false,\r\n loading = false,\r\n disabled,\r\n children,\r\n sx,\r\n type = \"button\",\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const muiProps = VARIANT_TO_MUI[variant] || VARIANT_TO_MUI.secondary;\r\n const muiSize = size === \"sm\" ? \"small\" : \"medium\";\r\n\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && iconOnly && !rest[\"aria-label\"]) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] <Button iconOnly> is missing required `aria-label` (charter R-B.5).\",\r\n );\r\n }\r\n\r\n const isLoading = !!loading;\r\n const startNode = isLoading ? <Spinner /> : icon;\r\n const endNode = isLoading ? null : iconRight;\r\n\r\n const visualSize = VISUAL_HEIGHT_BY_SIZE[size] || VISUAL_HEIGHT_BY_SIZE.md;\r\n const tactile = layout.tactileMin;\r\n const extension = Math.max(0, (tactile - visualSize) / 2);\r\n\r\n return (\r\n <MuiButton\r\n ref={ref}\r\n type={type}\r\n disabled={isLoading || disabled}\r\n aria-busy={isLoading || undefined}\r\n size={muiSize}\r\n variant={muiProps.variant}\r\n color={muiProps.color}\r\n startIcon={iconOnly ? undefined : startNode}\r\n endIcon={iconOnly ? undefined : endNode}\r\n sx={{\r\n minHeight: visualSize,\r\n position: \"relative\",\r\n \"&::before\": {\r\n content: '\"\"',\r\n position: \"absolute\",\r\n top: -extension,\r\n bottom: -extension,\r\n left: -extension,\r\n right: -extension,\r\n pointerEvents: \"auto\",\r\n },\r\n ...(iconOnly && {\r\n minWidth: visualSize,\r\n padding: 0,\r\n }),\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {iconOnly ? (startNode || children) : children}\r\n </MuiButton>\r\n );\r\n});\r\n\r\nexport default Button;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryTag.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/CategoryTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAS9D,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAClC;AAED,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,qBA2BtF;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"CategoryTag.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/CategoryTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAsC9D,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,oDAAoD;IACpD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,0EAA0E;IAC1E,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAClC;AAED,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,gBAAgB,qBAyBtF;AAED,eAAe,WAAW,CAAC"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
9
  var _statusPalette = require("../tokens/statusPalette");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
- var _excluded = ["category", "label", "tone", "children", "sx"];
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
13
  /**
14
14
  * CategoryTag — Portnet UI v2
15
15
  *
@@ -40,36 +40,52 @@ var _excluded = ["category", "label", "tone", "children", "sx"];
40
40
  * DPI → new (violet)
41
41
  * any other / unknown → neutral
42
42
  */
43
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
44
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
46
- 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; }
47
- 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; }
48
- 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; }
49
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
50
- 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); }
51
- 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; }
52
- 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; }
53
- var TI_CATEGORY_TONE = Object.freeze({
43
+
44
+ /**
45
+ * TI category -> palette tone. Lookup is CASE-INSENSITIVE (see `resolveTone`).
46
+ */
47
+ const TI_CATEGORY_TONE = Object.freeze({
54
48
  EI: "sent",
55
49
  LI: "approved",
56
50
  LSP: "pending",
57
51
  DPI: "new"
58
52
  });
59
- function CategoryTag(_ref) {
60
- var _ref2;
61
- var category = _ref.category,
62
- label = _ref.label,
63
- tone = _ref.tone,
64
- children = _ref.children,
65
- sx = _ref.sx,
66
- rest = _objectWithoutProperties(_ref, _excluded);
67
- var resolvedTone = tone || TI_CATEGORY_TONE[category !== null && category !== void 0 ? category : ""] || "neutral";
68
- var token = (0, _statusPalette.statusToken)(resolvedTone);
69
- var text = (_ref2 = children !== null && children !== void 0 ? children : label) !== null && _ref2 !== void 0 ? _ref2 : category;
70
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], _objectSpread(_objectSpread({
53
+
54
+ /**
55
+ * Resolve the colour tone for a category code.
56
+ *
57
+ * The map above is keyed on UPPERCASE codes while `category` arrives from an
58
+ * API payload, so a lowercase or mixed-case code ("ei", "Lsp") missed every
59
+ * entry and fell through to `neutral` — grey, indistinguishable from a genuinely
60
+ * unknown category, with nothing to signal the near-miss. Every host module
61
+ * that consumed this component had independently defended against it by
62
+ * upper-casing at the call site (ms-ti-fe's local CategoryTag adapter did
63
+ * exactly that, in four places), which is the usual sign the normalisation
64
+ * belongs here instead.
65
+ *
66
+ * Only the TONE lookup is normalised. The DISPLAYED text stays exactly as the
67
+ * caller passed it: `category` doubles as the default label, and silently
68
+ * upper-casing a caller's `tone`-driven custom category would be a visual
69
+ * change no consumer asked for.
70
+ */
71
+ function resolveTone(category, tone) {
72
+ if (tone) return tone;
73
+ const key = (category ?? "").trim().toUpperCase();
74
+ return TI_CATEGORY_TONE[key] ?? "neutral";
75
+ }
76
+ function CategoryTag({
77
+ category,
78
+ label,
79
+ tone,
80
+ children,
81
+ sx,
82
+ ...rest
83
+ }) {
84
+ const token = (0, _statusPalette.statusToken)(resolveTone(category, tone));
85
+ const text = children ?? label ?? category;
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
71
87
  component: "span",
72
- sx: _objectSpread({
88
+ sx: {
73
89
  display: "inline-flex",
74
90
  alignItems: "center",
75
91
  fontSize: "var(--text-xs)",
@@ -79,11 +95,12 @@ function CategoryTag(_ref) {
79
95
  borderRadius: "var(--r-full)",
80
96
  background: token.soft,
81
97
  color: token.fg,
82
- whiteSpace: "nowrap"
83
- }, sx)
84
- }, rest), {}, {
98
+ whiteSpace: "nowrap",
99
+ ...sx
100
+ },
101
+ ...rest,
85
102
  children: text
86
- }));
103
+ });
87
104
  }
88
- var _default = exports["default"] = CategoryTag;
105
+ var _default = exports.default = CategoryTag;
89
106
  //# sourceMappingURL=CategoryTag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryTag.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_statusPalette","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","TI_CATEGORY_TONE","freeze","EI","LI","LSP","DPI","CategoryTag","_ref","_ref2","category","label","tone","children","sx","rest","resolvedTone","token","statusToken","text","jsx","component","display","alignItems","fontSize","fontWeight","lineHeight","padding","borderRadius","background","soft","color","fg","whiteSpace","_default","exports"],"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":"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","ignoreList":[]}
1
+ {"version":3,"file":"CategoryTag.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_statusPalette","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TI_CATEGORY_TONE","freeze","EI","LI","LSP","DPI","resolveTone","category","tone","key","trim","toUpperCase","CategoryTag","label","children","sx","rest","token","statusToken","text","jsx","component","display","alignItems","fontSize","fontWeight","lineHeight","padding","borderRadius","background","soft","color","fg","whiteSpace","_default","exports"],"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":"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","ignoreList":[]}