@portnet/ui 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +81 -86
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +155 -59
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +37 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +2 -3
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +152 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -3,18 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
  exports.resolveBrandSecondary = resolveBrandSecondary;
8
8
  var _colors = require("../tokens/colors");
9
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
10
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
- 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; }
13
- 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; }
14
- 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; }
15
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
- 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); }
17
- 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); } /**
9
+ /**
18
10
  * Internal: brandSecondary override resolver — Portnet UI v2.
19
11
  *
20
12
  * Mirrors _brand.ts for the secondary palette. createPortnetTheme
@@ -29,6 +21,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
29
21
  *
30
22
  * Charter ref: R-AI.1 (consistent visual layers).
31
23
  */
24
+
32
25
  /** The brand-secondary token group shape (secondary / secondaryFg). */
33
26
 
34
27
  /**
@@ -36,7 +29,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
36
29
  * spreading the override) prevents extra keys from leaking into the
37
30
  * runtime palette object.
38
31
  */
39
- var BRAND_SECONDARY_KEYS = Object.freeze(["secondary", "secondaryFg"]);
32
+ const BRAND_SECONDARY_KEYS = Object.freeze(["secondary", "secondaryFg"]);
40
33
 
41
34
  /**
42
35
  * Deep-merge a partial brandSecondary override onto the default.
@@ -44,22 +37,15 @@ var BRAND_SECONDARY_KEYS = Object.freeze(["secondary", "secondaryFg"]);
44
37
  * supplied, so callers comparing by reference can short-circuit.
45
38
  */
46
39
  function resolveBrandSecondary(override) {
47
- if (!override || _typeof(override) !== "object") return _colors.brandSecondary;
48
- var out = _objectSpread({}, _colors.brandSecondary);
49
- var _iterator = _createForOfIteratorHelper(BRAND_SECONDARY_KEYS),
50
- _step;
51
- try {
52
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
53
- var k = _step.value;
54
- var v = override[k];
55
- if (v != null) out[k] = v;
56
- }
57
- } catch (err) {
58
- _iterator.e(err);
59
- } finally {
60
- _iterator.f();
40
+ if (!override || typeof override !== "object") return _colors.brandSecondary;
41
+ const out = {
42
+ ..._colors.brandSecondary
43
+ };
44
+ for (const k of BRAND_SECONDARY_KEYS) {
45
+ const v = override[k];
46
+ if (v != null) out[k] = v;
61
47
  }
62
48
  return out;
63
49
  }
64
- var _default = exports["default"] = resolveBrandSecondary;
50
+ var _default = exports.default = resolveBrandSecondary;
65
51
  //# sourceMappingURL=_brandSecondary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_brandSecondary.js","names":["_colors","require","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","toPrimitive","undefined","res","Number","BRAND_SECONDARY_KEYS","freeze","resolveBrandSecondary","override","defaultBrandSecondary","out","_iterator","_step","k","v","_default","exports"],"sources":["../../../src/lib/v2/theme/_brandSecondary.ts"],"sourcesContent":["/**\r\n * Internal: brandSecondary override resolver — Portnet UI v2.\r\n *\r\n * Mirrors _brand.ts for the secondary palette. createPortnetTheme\r\n * (MUI palette.secondary) and cssVariables (--secondary /\r\n * --secondary-fg CSS variables) BOTH consume this resolver so the\r\n * two layers cannot drift when a host supplies a partial override.\r\n *\r\n * NOT part of the public surface — the underscore prefix and the\r\n * absence of a re-export from theme/index.js make this clear.\r\n *\r\n * import { resolveBrandSecondary } from \"./_brandSecondary\";\r\n *\r\n * Charter ref: R-AI.1 (consistent visual layers).\r\n */\r\nimport { brandSecondary as defaultBrandSecondary } from \"../tokens/colors\";\r\n\r\n/** The brand-secondary token group shape (secondary / secondaryFg). */\r\nexport type BrandSecondaryTokens = typeof defaultBrandSecondary;\r\n\r\n/**\r\n * Whitelisted brandSecondary fields. Enumerating (rather than\r\n * spreading the override) prevents extra keys from leaking into the\r\n * runtime palette object.\r\n */\r\nconst BRAND_SECONDARY_KEYS = Object.freeze([\"secondary\", \"secondaryFg\"] as const);\r\n\r\n/**\r\n * Deep-merge a partial brandSecondary override onto the default.\r\n * Returns the default reference unchanged when no override is\r\n * supplied, so callers comparing by reference can short-circuit.\r\n */\r\nexport function resolveBrandSecondary(\r\n override?: Partial<BrandSecondaryTokens>\r\n): BrandSecondaryTokens {\r\n if (!override || typeof override !== \"object\") return defaultBrandSecondary;\r\n const out = { ...defaultBrandSecondary };\r\n for (const k of BRAND_SECONDARY_KEYS) {\r\n const v = override[k];\r\n if (v != null) out[k] = v;\r\n }\r\n return out;\r\n}\r\n\r\nexport default resolveBrandSecondary;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_brandSecondary.js","names":["_colors","require","BRAND_SECONDARY_KEYS","Object","freeze","resolveBrandSecondary","override","defaultBrandSecondary","out","k","v","_default","exports","default"],"sources":["../../../src/lib/v2/theme/_brandSecondary.ts"],"sourcesContent":["/**\r\n * Internal: brandSecondary override resolver — Portnet UI v2.\r\n *\r\n * Mirrors _brand.ts for the secondary palette. createPortnetTheme\r\n * (MUI palette.secondary) and cssVariables (--secondary /\r\n * --secondary-fg CSS variables) BOTH consume this resolver so the\r\n * two layers cannot drift when a host supplies a partial override.\r\n *\r\n * NOT part of the public surface — the underscore prefix and the\r\n * absence of a re-export from theme/index.js make this clear.\r\n *\r\n * import { resolveBrandSecondary } from \"./_brandSecondary\";\r\n *\r\n * Charter ref: R-AI.1 (consistent visual layers).\r\n */\r\nimport { brandSecondary as defaultBrandSecondary } from \"../tokens/colors\";\r\n\r\n/** The brand-secondary token group shape (secondary / secondaryFg). */\r\nexport type BrandSecondaryTokens = typeof defaultBrandSecondary;\r\n\r\n/**\r\n * Whitelisted brandSecondary fields. Enumerating (rather than\r\n * spreading the override) prevents extra keys from leaking into the\r\n * runtime palette object.\r\n */\r\nconst BRAND_SECONDARY_KEYS = Object.freeze([\"secondary\", \"secondaryFg\"] as const);\r\n\r\n/**\r\n * Deep-merge a partial brandSecondary override onto the default.\r\n * Returns the default reference unchanged when no override is\r\n * supplied, so callers comparing by reference can short-circuit.\r\n */\r\nexport function resolveBrandSecondary(\r\n override?: Partial<BrandSecondaryTokens>\r\n): BrandSecondaryTokens {\r\n if (!override || typeof override !== \"object\") return defaultBrandSecondary;\r\n const out = { ...defaultBrandSecondary };\r\n for (const k of BRAND_SECONDARY_KEYS) {\r\n const v = override[k];\r\n if (v != null) out[k] = v;\r\n }\r\n return out;\r\n}\r\n\r\nexport default resolveBrandSecondary;\r\n"],"mappings":";;;;;;;AAeA,IAAAA,OAAA,GAAAC,OAAA;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,CAAU,CAAC;;AAEjF;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CACnCC,QAAwC,EAClB;EACtB,IAAI,CAACA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAOC,sBAAqB;EAC3E,MAAMC,GAAG,GAAG;IAAE,GAAGD;EAAsB,CAAC;EACxC,KAAK,MAAME,CAAC,IAAIP,oBAAoB,EAAE;IACpC,MAAMQ,CAAC,GAAGJ,QAAQ,CAACG,CAAC,CAAC;IACrB,IAAIC,CAAC,IAAI,IAAI,EAAEF,GAAG,CAACC,CAAC,CAAC,GAAGC,CAAC;EAC3B;EACA,OAAOF,GAAG;AACZ;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcR,qBAAqB","ignoreList":[]}
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createPortnetTheme = createPortnetTheme;
7
- exports["default"] = void 0;
7
+ exports.default = void 0;
8
8
  var _styles = require("@mui/material/styles");
9
9
  var _tokens = require("../tokens");
10
10
  var _brand = require("./_brand");
11
11
  var _brandSecondary = require("./_brandSecondary");
12
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
16
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
17
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } /**
12
+ /**
18
13
  * createPortnetTheme(options) — Portnet UI v2
19
14
  *
20
15
  * MUI 9 theme factory built on v2 tokens. Pass it to <ThemeProvider>:
@@ -43,6 +38,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
43
38
  * brandSecondary: { secondary: "#4FB8CF" },
44
39
  * });
45
40
  */
41
+
46
42
  /**
47
43
  * Public options for the Portnet theme factory.
48
44
  *
@@ -88,18 +84,18 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
88
84
 
89
85
  // Button minWidth carry-over from MUI's own default. Keeps icon-only
90
86
  // buttons squarish without forcing 64px on every short-label button.
91
- var BUTTON_MIN_WIDTH = 64;
87
+ const BUTTON_MIN_WIDTH = 64;
92
88
 
93
89
  // Overline runs ONE step below fontSize.xs (12px) by deliberate
94
90
  // design — it's a label-on-label scale used in section headers.
95
91
  // Promote to fontSize.overline if a second use site appears.
96
- var OVERLINE_FONT_SIZE = 11;
97
- var OVERLINE_LETTER_SPACE = "0.06em";
92
+ const OVERLINE_FONT_SIZE = 11;
93
+ const OVERLINE_LETTER_SPACE = "0.06em";
98
94
 
99
95
  // Tooltip max width: empirically the longest charter-allowed help
100
96
  // text (~40 chars × ~6.5 px/char). Wider tooltips trigger reading
101
97
  // fatigue and should be redesigned as a popover.
102
- var TOOLTIP_MAX_WIDTH = 260;
98
+ const TOOLTIP_MAX_WIDTH = 260;
103
99
 
104
100
  /* ── Fluid heading sizing (R-RS.3 / WCAG 1.4.10) ──────────────────────
105
101
  * Only the two largest headings (H1/display = 26, H2 = 20) overpower a
@@ -116,18 +112,14 @@ var TOOLTIP_MAX_WIDTH = 260;
116
112
  * and 1024 is a couple of px, never a jarring jump, and the max clamp
117
113
  * caps it at the token. min is kept ≥ 18px (H1) / 16px (H2) so headings
118
114
  * stay clearly larger than body (14px) even on the smallest target. */
119
- var fluidPx = function fluidPx(min, max) {
120
- return "clamp(".concat(min, "px, calc(1rem + 0.9vw), ").concat(max, "px)");
121
- };
122
- function createPortnetTheme() {
123
- var _zIndex$snackbar, _zIndex$tooltip;
124
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
125
- var mode = options.mode || "light";
126
- var dens = options.density || "comfortable";
127
- var D = _tokens.density[dens] || _tokens.density.comfortable;
128
- var isDark = mode === "dark";
129
- var brand = (0, _brand.resolveBrand)(options.brand);
130
- var brandSecondary = (0, _brandSecondary.resolveBrandSecondary)(options.brandSecondary);
115
+ const fluidPx = (min, max) => `clamp(${min}px, calc(1rem + 0.9vw), ${max}px)`;
116
+ function createPortnetTheme(options = {}) {
117
+ const mode = options.mode || "light";
118
+ const dens = options.density || "comfortable";
119
+ const D = _tokens.density[dens] || _tokens.density.comfortable;
120
+ const isDark = mode === "dark";
121
+ const brand = (0, _brand.resolveBrand)(options.brand);
122
+ const brandSecondary = (0, _brandSecondary.resolveBrandSecondary)(options.brandSecondary);
131
123
 
132
124
  /* ── Palette ─────────────────────────────────────────────── */
133
125
  // NOTE on `light` / `dark` semantics:
@@ -143,8 +135,8 @@ function createPortnetTheme() {
143
135
  // - error/warning/success/info `.dark` ← *.fg tokens. *.fg is the
144
136
  // darker, accessible variant of the saturated fill; safe as `dark`
145
137
  // because MUI uses it for hover/active states (R-T.2 contrast).
146
- var palette = {
147
- mode: mode,
138
+ const palette = {
139
+ mode,
148
140
  primary: {
149
141
  main: brand.accent,
150
142
  dark: brand.accentHover,
@@ -183,7 +175,7 @@ function createPortnetTheme() {
183
175
  contrastText: _tokens.ink.fgInverse
184
176
  },
185
177
  background: {
186
- "default": isDark ? _tokens.dark.bg : _tokens.surface.bg,
178
+ default: isDark ? _tokens.dark.bg : _tokens.surface.bg,
187
179
  paper: isDark ? _tokens.dark.bgElev : _tokens.surface.bgElev
188
180
  },
189
181
  text: {
@@ -204,7 +196,7 @@ function createPortnetTheme() {
204
196
  };
205
197
 
206
198
  /* ── Typography ──────────────────────────────────────────── */
207
- var typography = {
199
+ const typography = {
208
200
  fontFamily: _tokens.fontFamily.sans,
209
201
  fontSize: D.fontSize,
210
202
  htmlFontSize: 16,
@@ -264,14 +256,14 @@ function createPortnetTheme() {
264
256
  lineHeight: _tokens.lineHeight.normal
265
257
  }
266
258
  };
267
- var shape = {
259
+ const shape = {
268
260
  borderRadius: _tokens.radius.md
269
261
  };
270
- var transitions = {
262
+ const transitions = {
271
263
  duration: {
272
264
  shortest: _tokens.duration.fast,
273
265
  shorter: _tokens.duration.fast,
274
- "short": _tokens.duration.fast,
266
+ short: _tokens.duration.fast,
275
267
  standard: _tokens.duration.base,
276
268
  complex: _tokens.duration.base,
277
269
  enteringScreen: _tokens.duration.base,
@@ -280,8 +272,8 @@ function createPortnetTheme() {
280
272
  easing: {
281
273
  easeInOut: _tokens.easing.out,
282
274
  easeOut: _tokens.easing.out,
283
- easeIn: _tokens.easing["in"],
284
- sharp: _tokens.easing["in"]
275
+ easeIn: _tokens.easing.in,
276
+ sharp: _tokens.easing.in
285
277
  }
286
278
  };
287
279
 
@@ -291,12 +283,12 @@ function createPortnetTheme() {
291
283
  * where a host pins an older v2 tokens build that pre-dates the
292
284
  * additions.
293
285
  * ──────────────────────────────────────────────────────────── */
294
- var muiZIndex = {
286
+ const muiZIndex = {
295
287
  appBar: _tokens.zIndex.topbar,
296
288
  drawer: _tokens.zIndex.drawer,
297
289
  modal: _tokens.zIndex.modal,
298
- snackbar: (_zIndex$snackbar = _tokens.zIndex.snackbar) !== null && _zIndex$snackbar !== void 0 ? _zIndex$snackbar : _tokens.zIndex.toast,
299
- tooltip: (_zIndex$tooltip = _tokens.zIndex.tooltip) !== null && _zIndex$tooltip !== void 0 ? _zIndex$tooltip : _tokens.zIndex.overflow + 1
290
+ snackbar: _tokens.zIndex.snackbar ?? _tokens.zIndex.toast,
291
+ tooltip: _tokens.zIndex.tooltip ?? _tokens.zIndex.overflow + 1
300
292
  };
301
293
 
302
294
  /* ── Focus halo ──────────────────────────────────────────────
@@ -304,8 +296,8 @@ function createPortnetTheme() {
304
296
  * propagates to focus rings — keeps the MUI side in sync with
305
297
  * the CSS-variable side via the shared resolveBrand resolver.
306
298
  * ──────────────────────────────────────────────────────────── */
307
- var focusHalo = "0 0 0 3px color-mix(in srgb, ".concat(brand.accent, " 22%, transparent)");
308
- var components = {
299
+ const focusHalo = `0 0 0 3px color-mix(in srgb, ${brand.accent} 22%, transparent)`;
300
+ const components = {
309
301
  MuiCssBaseline: {
310
302
  // base.css owns `:focus { outline: none }` and `:focus-visible`
311
303
  // outline styling — single source of truth (Charter §07.1).
@@ -381,7 +373,7 @@ function createPortnetTheme() {
381
373
  backgroundColor: isDark ? _tokens.dark.surface : _tokens.surface.surface
382
374
  },
383
375
  "& .MuiOutlinedInput-input": {
384
- padding: "".concat(_tokens.spacing.s2, "px ").concat(_tokens.spacing.s3, "px"),
376
+ padding: `${_tokens.spacing.s2}px ${_tokens.spacing.s3}px`,
385
377
  // 8 / 12
386
378
  fontSize: D.fontSize
387
379
  },
@@ -456,7 +448,7 @@ function createPortnetTheme() {
456
448
  color: isDark ? _tokens.dark.bg : _tokens.ink.fgInverse,
457
449
  fontSize: _tokens.fontSize.xs,
458
450
  // 6 / 10 — tooltip is intentionally tight (s1+2 / s2+2).
459
- padding: "".concat(_tokens.spacing.s1 + 2, "px ").concat(_tokens.spacing.s2 + 2, "px"),
451
+ padding: `${_tokens.spacing.s1 + 2}px ${_tokens.spacing.s2 + 2}px`,
460
452
  borderRadius: _tokens.radius.md,
461
453
  maxWidth: TOOLTIP_MAX_WIDTH
462
454
  },
@@ -496,7 +488,7 @@ function createPortnetTheme() {
496
488
  }
497
489
  }
498
490
  };
499
- return _styles.createTheme.apply(void 0, [{
491
+ return (0, _styles.createTheme)({
500
492
  // ── Breakpoints (R-RS.1) ───────────────────────────────────
501
493
  // Wire the design-system breakpoint TOKENS into the MUI runtime.
502
494
  // Without this, every `sx={{ ...: { xs, sm, md, lg } }}` object in
@@ -511,14 +503,14 @@ function createPortnetTheme() {
511
503
  breakpoints: {
512
504
  values: _tokens.breakpoints
513
505
  },
514
- palette: palette,
515
- typography: typography,
516
- shape: shape,
506
+ palette,
507
+ typography,
508
+ shape,
517
509
  spacing: _tokens.spacingBase,
518
510
  shadows: _tokens.muiShadows,
519
- transitions: transitions,
511
+ transitions,
520
512
  zIndex: muiZIndex,
521
- components: components,
513
+ components,
522
514
  // Custom slot for v2 consumers — read tokens directly off the theme.
523
515
  // - `brand` : the EFFECTIVE brand (default + override merged).
524
516
  // - `brandSecondary` : the EFFECTIVE brandSecondary (same contract).
@@ -529,8 +521,8 @@ function createPortnetTheme() {
529
521
  // - `layout` : exposes layout.tactileMin (44) for components
530
522
  // enforcing WCAG 2.5.5 hit-area floors.
531
523
  tokens: {
532
- brand: brand,
533
- brandSecondary: brandSecondary,
524
+ brand,
525
+ brandSecondary,
534
526
  ink: _tokens.ink,
535
527
  surface: _tokens.surface,
536
528
  border: _tokens.border,
@@ -547,7 +539,7 @@ function createPortnetTheme() {
547
539
  densityLayout: _tokens.densityLayout,
548
540
  layout: _tokens.layout
549
541
  }
550
- }].concat(_toConsumableArray(options.locale ? [options.locale] : [])));
542
+ }, ...(options.locale ? [options.locale] : []));
551
543
  }
552
- var _default = exports["default"] = createPortnetTheme;
544
+ var _default = exports.default = createPortnetTheme;
553
545
  //# sourceMappingURL=createPortnetTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createPortnetTheme.js","names":["_styles","require","_tokens","_brand","_brandSecondary","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","length","i","arr2","BUTTON_MIN_WIDTH","OVERLINE_FONT_SIZE","OVERLINE_LETTER_SPACE","TOOLTIP_MAX_WIDTH","fluidPx","min","max","concat","createPortnetTheme","_zIndex$snackbar","_zIndex$tooltip","options","arguments","undefined","mode","dens","density","D","comfortable","isDark","brand","resolveBrand","brandSecondary","resolveBrandSecondary","palette","primary","main","accent","dark","accentHover","light","accentSoft","contrastText","accentFg","secondary","secondaryFg","error","semantic","danger","dangerSoft","dangerFg","ink","fgInverse","warning","warningSoft","warningFg","success","successSoft","successFg","info","infoSoft","infoFg","background","bg","surface","paper","bgElev","text","fg","fgMuted","disabled","fgSubtle","divider","border","grey","bgSubtle","bgHover","borderStrong","typography","fontFamily","sans","fontSize","htmlFontSize","fontWeightLight","fontWeight","regular","fontWeightRegular","fontWeightMedium","medium","fontWeightBold","bold","h1","display","lineHeight","tight","h2","h3","snug","h4","semibold","body1","body","normal","body2","sm","caption","xs","button","textTransform","letterSpacing","overline","shape","borderRadius","radius","md","transitions","duration","shortest","fast","shorter","standard","base","complex","enteringScreen","leavingScreen","easing","easeInOut","out","easeOut","easeIn","sharp","muiZIndex","appBar","zIndex","topbar","drawer","modal","snackbar","toast","tooltip","overflow","focusHalo","components","MuiCssBaseline","styleOverrides","animationDuration","animationIterationCount","transitionDuration","scrollBehavior","MuiButton","defaultProps","disableElevation","root","minHeight","btn","minWidth","paddingInline","spacing","s3","boxShadow","outline","sizeSmall","compact","s2","MuiTextField","variant","size","slotProps","inputLabel","shrink","input","backgroundColor","padding","color","MuiOutlinedInput","notchedOutline","borderColor","borderWidth","MuiPaper","elevation","backgroundImage","outlined","MuiCard","lg","MuiTooltip","s1","maxWidth","arrow","MuiTableCell","borderBottomColor","head","MuiChip","full","MuiDialog","createTheme","apply","breakpoints","values","spacingBase","shadows","muiShadows","tokens","densityLayout","layout","locale","_default","exports"],"sources":["../../../src/lib/v2/theme/createPortnetTheme.ts"],"sourcesContent":["/**\r\n * createPortnetTheme(options) — Portnet UI v2\r\n *\r\n * MUI 9 theme factory built on v2 tokens. Pass it to <ThemeProvider>:\r\n *\r\n * import { createPortnetTheme } from \"@portnet/ui/v2/theme\";\r\n * const theme = createPortnetTheme({ mode: \"light\", density: \"comfortable\" });\r\n * <ThemeProvider theme={theme}><App /></ThemeProvider>\r\n *\r\n * Options\r\n * mode : \"light\" | \"dark\" (default \"light\")\r\n * density : \"comfortable\" | \"compact\" (default \"comfortable\")\r\n * locale : MUI locale object (e.g. frFR)\r\n * brand : optional partial override of the brand token group:\r\n * { accent, accentHover, accentSoft, accentFg }\r\n * Any field omitted falls back to the default brand from\r\n * tokens. Pass the SAME `brand` to injectCssVariables()\r\n * so CSS variables and MUI palette stay in sync.\r\n * brandSecondary : optional partial override of the brand secondary group:\r\n * { secondary, secondaryFg }\r\n * Drives palette.secondary. Same sync rule as brand:\r\n * pass the SAME object to injectCssVariables().\r\n *\r\n * const theme = createPortnetTheme({\r\n * mode: \"light\",\r\n * brand: { accent: \"#2962FF\", accentSoft: \"#EEF3FF\" },\r\n * brandSecondary: { secondary: \"#4FB8CF\" },\r\n * });\r\n */\r\nimport { createTheme } from \"@mui/material/styles\";\r\nimport type { Localization } from \"@mui/material/locale\";\r\nimport type {\r\n Theme,\r\n ThemeOptions,\r\n PaletteOptions,\r\n TransitionsOptions,\r\n Components,\r\n Shadows,\r\n} from \"@mui/material/styles\";\r\nimport {\r\n ink, surface, border, semantic,\r\n fontFamily, fontSize, fontWeight, lineHeight,\r\n spacing, spacingBase, radius, muiShadows,\r\n duration, easing, zIndex, density, densityLayout, layout,\r\n breakpoints,\r\n dark,\r\n} from \"../tokens\";\r\nimport { resolveBrand, type BrandTokens } from \"./_brand\";\r\nimport { resolveBrandSecondary, type BrandSecondaryTokens } from \"./_brandSecondary\";\r\n\r\n/**\r\n * Public options for the Portnet theme factory.\r\n *\r\n * Every member is declared `?: T | undefined` rather than `?: T`, and that is\r\n * load-bearing rather than cosmetic. The Platform TypeScript Guidelines make\r\n * `exactOptionalPropertyTypes` MANDATORY in every consuming module, and under\r\n * that flag a plain `?: T` REJECTS an explicitly-passed `undefined`. A host\r\n * building its options from optional inputs — which is the normal case, since\r\n * `brand` / `density` come from a runtime host-shell payload — therefore could\r\n * not write the obvious code:\r\n *\r\n * createPortnetTheme({ mode, density, brand, brandSecondary, locale })\r\n *\r\n * and every audited module independently reinvented the same incremental\r\n * work-around (build an object, then `if (x !== undefined) options.x = x`).\r\n * Widening the members here removes that boilerplate platform-wide, and is\r\n * purely additive: a call site that omits a key still type-checks exactly as\r\n * before. Capability gap G-09.\r\n *\r\n * `locale` is typed as MUI's own `Localization` (the shape of `frFR` &c. from\r\n * \"@mui/material/locale\"), not `object`. `object` is on the Platform\r\n * TypeScript Guidelines' FORBIDDEN list, and it accepted any non-primitive —\r\n * including a plain `{}` — while the value is forwarded straight into\r\n * `createTheme(base, locale)`, which needs the real contract.\r\n */\r\nexport type CreatePortnetThemeOptions = {\r\n mode?: \"light\" | \"dark\" | undefined;\r\n density?: \"comfortable\" | \"compact\" | undefined;\r\n /** MUI locale object (e.g. `frFR` from \"@mui/material/locale\"). */\r\n locale?: Localization | undefined;\r\n brand?: Partial<BrandTokens> | undefined;\r\n brandSecondary?: Partial<BrandSecondaryTokens> | undefined;\r\n};\r\n\r\n/** One resolved density bucket (comfortable | compact | …) — all pixel metrics. */\r\ntype DensityBucket = (typeof density)[keyof typeof density];\r\n\r\n/**\r\n * The custom `tokens` slot attached to the MUI theme so v2 consumers can read\r\n * design tokens straight off the theme (`useTheme().tokens.*`). Declared onto\r\n * MUI's Theme / ThemeOptions via the module augmentation below.\r\n */\r\ntype PortnetThemeTokens = {\r\n brand: BrandTokens;\r\n brandSecondary: BrandSecondaryTokens;\r\n ink: typeof ink;\r\n surface: typeof surface;\r\n border: typeof border;\r\n semantic: typeof semantic;\r\n fontFamily: typeof fontFamily;\r\n fontSize: typeof fontSize;\r\n fontWeight: typeof fontWeight;\r\n lineHeight: typeof lineHeight;\r\n radius: typeof radius;\r\n duration: typeof duration;\r\n easing: typeof easing;\r\n zIndex: typeof zIndex;\r\n density: DensityBucket;\r\n densityLayout: typeof densityLayout;\r\n layout: typeof layout;\r\n};\r\n\r\ndeclare module \"@mui/material/styles\" {\r\n interface Theme {\r\n tokens: PortnetThemeTokens;\r\n }\r\n interface ThemeOptions {\r\n tokens?: PortnetThemeTokens;\r\n }\r\n}\r\n\r\n/* ────────────────────────────────────────────────────────────\r\n * Component-level dimensional constants.\r\n *\r\n * Kept as named locals (not promoted to tokens) because they are\r\n * scoped to MUI's button/tooltip/overline contract and have no\r\n * cross-component meaning. Each carries a comment explaining why\r\n * it deviates from the base spacing/fontSize scale.\r\n * ──────────────────────────────────────────────────────────── */\r\n\r\n// Button minWidth carry-over from MUI's own default. Keeps icon-only\r\n// buttons squarish without forcing 64px on every short-label button.\r\nconst BUTTON_MIN_WIDTH = 64;\r\n\r\n// Overline runs ONE step below fontSize.xs (12px) by deliberate\r\n// design — it's a label-on-label scale used in section headers.\r\n// Promote to fontSize.overline if a second use site appears.\r\nconst OVERLINE_FONT_SIZE = 11;\r\nconst OVERLINE_LETTER_SPACE = \"0.06em\";\r\n\r\n// Tooltip max width: empirically the longest charter-allowed help\r\n// text (~40 chars × ~6.5 px/char). Wider tooltips trigger reading\r\n// fatigue and should be redesigned as a popover.\r\nconst TOOLTIP_MAX_WIDTH = 260;\r\n\r\n/* ── Fluid heading sizing (R-RS.3 / WCAG 1.4.10) ──────────────────────\r\n * Only the two largest headings (H1/display = 26, H2 = 20) overpower a\r\n * 320px viewport at their fixed token size. `fluidPx(min, max)` returns a\r\n * CSS clamp() that starts at `min` on the smallest phones and scales with\r\n * the viewport up to the token `max` — capped so DESKTOP rendering is\r\n * byte-for-byte unchanged (the upper clamp bound is the existing token).\r\n * The static fontSize tokens stay integer-typed (typography.js) for any\r\n * non-fluid / measurement consumer; the fluid form lives only in the\r\n * theme variant where it drives <Typography variant=\"h1|h2\">.\r\n *\r\n * Preferred term: 1rem (16px @ root) + a small vw component. The vw\r\n * coefficient is deliberately gentle (0.9vw) so the growth between 320\r\n * and 1024 is a couple of px, never a jarring jump, and the max clamp\r\n * caps it at the token. min is kept ≥ 18px (H1) / 16px (H2) so headings\r\n * stay clearly larger than body (14px) even on the smallest target. */\r\nconst fluidPx = (min: number, max: number): string =>\r\n `clamp(${min}px, calc(1rem + 0.9vw), ${max}px)`;\r\n\r\nexport function createPortnetTheme(options: CreatePortnetThemeOptions = {}): Theme {\r\n const mode = options.mode || \"light\";\r\n const dens = options.density || \"comfortable\";\r\n const D = density[dens] || density.comfortable;\r\n const isDark = mode === \"dark\";\r\n const brand = resolveBrand(options.brand);\r\n const brandSecondary = resolveBrandSecondary(options.brandSecondary);\r\n\r\n /* ── Palette ─────────────────────────────────────────────── */\r\n // NOTE on `light` / `dark` semantics:\r\n // - primary.dark ← brand.accentHover : intentional darker brand,\r\n // used by MUI for hover/active states. Correct.\r\n // - primary.light ← brand.accentSoft : pragmatic — MUI mainly\r\n // reads `light` for hover BACKGROUNDS where a tinted soft works.\r\n // - secondary.main ← brandSecondary.secondary : PORTNET teal.\r\n // contrastText kept as the brandSecondary.secondaryFg the host\r\n // supplies. Note: the default secondaryFg = white on teal is\r\n // ~1.96:1 which fails AA for body text — see colors.js for the\r\n // R-T.2 follow-up. Safe for chip/badge fills today.\r\n // - error/warning/success/info `.dark` ← *.fg tokens. *.fg is the\r\n // darker, accessible variant of the saturated fill; safe as `dark`\r\n // because MUI uses it for hover/active states (R-T.2 contrast).\r\n const palette: PaletteOptions = {\r\n mode,\r\n primary: {\r\n main: brand.accent,\r\n dark: brand.accentHover,\r\n light: brand.accentSoft,\r\n contrastText: brand.accentFg,\r\n },\r\n secondary: {\r\n main: brandSecondary.secondary,\r\n contrastText: brandSecondary.secondaryFg,\r\n },\r\n error: {\r\n main: semantic.danger,\r\n light: semantic.dangerSoft,\r\n dark: semantic.dangerFg,\r\n contrastText: ink.fgInverse,\r\n },\r\n warning: {\r\n main: semantic.warning,\r\n light: semantic.warningSoft,\r\n dark: semantic.warningFg, // was missing → MUI auto-derived off-charter\r\n contrastText: ink.fgInverse,\r\n },\r\n success: {\r\n main: semantic.success,\r\n light: semantic.successSoft,\r\n dark: semantic.successFg, // ditto\r\n contrastText: ink.fgInverse,\r\n },\r\n info: {\r\n main: semantic.info,\r\n light: semantic.infoSoft,\r\n dark: semantic.infoFg, // ditto\r\n contrastText: ink.fgInverse,\r\n },\r\n background: {\r\n default: isDark ? dark.bg : surface.bg,\r\n paper: isDark ? dark.bgElev : surface.bgElev,\r\n },\r\n text: {\r\n primary: isDark ? dark.fg : ink.fg,\r\n secondary: isDark ? dark.fgMuted : ink.fgMuted,\r\n disabled: isDark ? dark.fgSubtle : ink.fgSubtle,\r\n },\r\n divider: isDark ? dark.border : border.border,\r\n grey: {\r\n 50: isDark ? dark.bgSubtle : surface.bgSubtle,\r\n 100: isDark ? dark.bgHover : surface.bgHover,\r\n 200: isDark ? dark.border : border.border,\r\n 300: isDark ? dark.borderStrong : border.borderStrong,\r\n 500: isDark ? dark.fgSubtle : ink.fgSubtle,\r\n 700: isDark ? dark.fgMuted : ink.fgMuted,\r\n 900: isDark ? dark.fg : ink.fg,\r\n },\r\n };\r\n\r\n /* ── Typography ──────────────────────────────────────────── */\r\n const typography: ThemeOptions[\"typography\"] = {\r\n fontFamily: fontFamily.sans,\r\n fontSize: D.fontSize,\r\n htmlFontSize: 16,\r\n fontWeightLight: fontWeight.regular,\r\n fontWeightRegular: fontWeight.regular,\r\n fontWeightMedium: fontWeight.medium,\r\n fontWeightBold: fontWeight.bold,\r\n\r\n // R-RS.3 — H1/H2 use fluid clamp() so they don't overflow a 320px\r\n // viewport; the clamp upper bound is the existing token, so desktop\r\n // is unchanged. H3/H4/body keep their fixed token sizes (already\r\n // comfortable down to 320).\r\n h1: { fontSize: fluidPx(18, fontSize.display), fontWeight: fontWeight.bold, lineHeight: lineHeight.tight },\r\n h2: { fontSize: fluidPx(16, fontSize.h2), fontWeight: fontWeight.bold, lineHeight: lineHeight.tight },\r\n h3: { fontSize: fontSize.h3, fontWeight: fontWeight.bold, lineHeight: lineHeight.snug },\r\n h4: { fontSize: fontSize.h4, fontWeight: fontWeight.semibold, lineHeight: lineHeight.snug },\r\n body1: { fontSize: fontSize.body, fontWeight: fontWeight.regular, lineHeight: lineHeight.normal },\r\n body2: { fontSize: fontSize.sm, fontWeight: fontWeight.regular, lineHeight: lineHeight.normal },\r\n caption: {\r\n fontSize: fontSize.xs,\r\n fontWeight: fontWeight.medium,\r\n lineHeight: lineHeight.normal,\r\n },\r\n button: {\r\n fontWeight: fontWeight.semibold,\r\n textTransform: \"none\",\r\n letterSpacing: 0,\r\n },\r\n overline: {\r\n fontSize: OVERLINE_FONT_SIZE,\r\n fontWeight: fontWeight.semibold,\r\n letterSpacing: OVERLINE_LETTER_SPACE,\r\n textTransform: \"uppercase\",\r\n lineHeight: lineHeight.normal,\r\n },\r\n };\r\n\r\n const shape = { borderRadius: radius.md };\r\n\r\n const transitions: TransitionsOptions = {\r\n duration: {\r\n shortest: duration.fast,\r\n shorter: duration.fast,\r\n short: duration.fast,\r\n standard: duration.base,\r\n complex: duration.base,\r\n enteringScreen: duration.base,\r\n leavingScreen: duration.fast,\r\n },\r\n easing: {\r\n easeInOut: easing.out,\r\n easeOut: easing.out,\r\n easeIn: easing.in,\r\n sharp: easing.in,\r\n },\r\n };\r\n\r\n /* ── z-index ─────────────────────────────────────────────────\r\n * Use the explicit slots added in v2 tokens (Batch 1: popover,\r\n * snackbar, tooltip). Defensive `??` fallback covers the case\r\n * where a host pins an older v2 tokens build that pre-dates the\r\n * additions.\r\n * ──────────────────────────────────────────────────────────── */\r\n const muiZIndex: ThemeOptions[\"zIndex\"] = {\r\n appBar: zIndex.topbar,\r\n drawer: zIndex.drawer,\r\n modal: zIndex.modal,\r\n snackbar: zIndex.snackbar ?? zIndex.toast,\r\n tooltip: zIndex.tooltip ?? (zIndex.overflow + 1),\r\n };\r\n\r\n /* ── Focus halo ──────────────────────────────────────────────\r\n * Derived from the EFFECTIVE accent so a host brand override\r\n * propagates to focus rings — keeps the MUI side in sync with\r\n * the CSS-variable side via the shared resolveBrand resolver.\r\n * ──────────────────────────────────────────────────────────── */\r\n const focusHalo = `0 0 0 3px color-mix(in srgb, ${brand.accent} 22%, transparent)`;\r\n\r\n const components: Components = {\r\n MuiCssBaseline: {\r\n // base.css owns `:focus { outline: none }` and `:focus-visible`\r\n // outline styling — single source of truth (Charter §07.1).\r\n // DUPLICATING those rules here was producing non-deterministic\r\n // cascade ordering between MUI-injected styles and the imported\r\n // stylesheet (intermittent double focus rings in Storybook).\r\n styleOverrides: {\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n \"*, *::before, *::after\": {\r\n animationDuration: \"0.01ms !important\",\r\n animationIterationCount: \"1 !important\",\r\n transitionDuration: \"0.01ms !important\",\r\n scrollBehavior: \"auto !important\",\r\n },\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n defaultProps: { disableElevation: true },\r\n styleOverrides: {\r\n root: {\r\n // R-7.4 — visual baseline (40 in comfortable, 32 in compact).\r\n // The 44px tactile minimum (WCAG 2.5.5) is enforced at the\r\n // component level by Button.js for icon-only variants — the\r\n // theme keeps the visual size and lets layout add the floor\r\n // via min-width/min-height. See Button.js (Batch 5) for impl.\r\n minHeight: D.btn,\r\n minWidth: BUTTON_MIN_WIDTH,\r\n fontWeight: fontWeight.semibold,\r\n letterSpacing: 0,\r\n // 14 = spacing.s3 (12) + 2 — deliberate +2px button offset\r\n // from the base grid for visual button-text breathing room.\r\n paddingInline: spacing.s3 + 2,\r\n borderRadius: radius.md,\r\n textTransform: \"none\",\r\n \"&:focus-visible\": { boxShadow: focusHalo, outline: \"none\" },\r\n },\r\n sizeSmall: {\r\n minHeight: density.compact.btn,\r\n paddingInline: spacing.s2 + 2, // 10 = s2 (8) + 2\r\n fontSize: fontSize.sm,\r\n },\r\n },\r\n },\r\n MuiTextField: {\r\n // MUI v9 migration (Batch 2):\r\n // InputLabelProps was deprecated in v6 and REMOVED in v9\r\n // in favor of the unified `slotProps` API. The visual\r\n // contract is unchanged — the CSS class names\r\n // (.MuiInputLabel-root, .MuiOutlinedInput-root, etc.)\r\n // are preserved in v9, so all styleOverrides below stay\r\n // identical to the v5 baseline.\r\n defaultProps: {\r\n variant: \"outlined\",\r\n size: \"small\",\r\n slotProps: { inputLabel: { shrink: true } },\r\n },\r\n styleOverrides: {\r\n root: {\r\n \"& .MuiOutlinedInput-root\": {\r\n minHeight: D.input,\r\n borderRadius: radius.md,\r\n backgroundColor: isDark ? dark.surface : surface.surface,\r\n },\r\n \"& .MuiOutlinedInput-input\": {\r\n padding: `${spacing.s2}px ${spacing.s3}px`, // 8 / 12\r\n fontSize: D.fontSize,\r\n },\r\n \"& .MuiInputLabel-root\": {\r\n fontSize: fontSize.sm,\r\n fontWeight: fontWeight.medium,\r\n color: isDark ? dark.fgMuted : ink.fgMuted,\r\n },\r\n // Label colour states — were missing, label stayed muted\r\n // in all states which contradicted the focus-visible\r\n // feedback contract (R-F.1).\r\n \"& .MuiInputLabel-root.Mui-focused\": { color: brand.accent },\r\n \"& .MuiInputLabel-root.Mui-error\": { color: semantic.danger },\r\n },\r\n },\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n notchedOutline: { borderColor: isDark ? dark.border : border.border },\r\n root: {\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: isDark ? dark.borderStrong : border.borderStrong,\r\n },\r\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: brand.accent,\r\n borderWidth: 1,\r\n },\r\n \"&.Mui-error .MuiOutlinedInput-notchedOutline\": { borderColor: semantic.danger },\r\n },\r\n },\r\n },\r\n MuiPaper: {\r\n defaultProps: { elevation: 0 },\r\n styleOverrides: {\r\n root: { backgroundImage: \"none\" }, // disable MUI dark-mode tint\r\n outlined: { borderColor: isDark ? dark.border : border.border },\r\n },\r\n },\r\n MuiCard: {\r\n defaultProps: { elevation: 0, variant: \"outlined\" },\r\n styleOverrides: {\r\n root: {\r\n borderRadius: radius.lg,\r\n borderColor: isDark ? dark.border : border.border,\r\n },\r\n },\r\n },\r\n MuiTooltip: {\r\n // Prototype v4 — fg as background, bg as text. Avoids the legacy\r\n // \"transparent on light grey\" misconfiguration noted in the audit.\r\n styleOverrides: {\r\n tooltip: {\r\n backgroundColor: isDark ? dark.fg : ink.fg,\r\n color: isDark ? dark.bg : ink.fgInverse,\r\n fontSize: fontSize.xs,\r\n // 6 / 10 — tooltip is intentionally tight (s1+2 / s2+2).\r\n padding: `${spacing.s1 + 2}px ${spacing.s2 + 2}px`,\r\n borderRadius: radius.md,\r\n maxWidth: TOOLTIP_MAX_WIDTH,\r\n },\r\n arrow: { color: isDark ? dark.fg : ink.fg },\r\n },\r\n },\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderBottomColor: isDark ? dark.border : border.border,\r\n fontSize: D.fontSize,\r\n },\r\n head: {\r\n fontWeight: fontWeight.semibold,\r\n color: isDark ? dark.fgMuted : ink.fgMuted,\r\n backgroundColor: isDark ? dark.bgSubtle : surface.bgSubtle,\r\n textTransform: \"none\",\r\n },\r\n },\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n borderRadius: radius.full,\r\n fontWeight: fontWeight.semibold,\r\n fontSize: fontSize.xs,\r\n },\r\n },\r\n },\r\n MuiDialog: {\r\n styleOverrides: { paper: { borderRadius: radius.lg } },\r\n },\r\n };\r\n\r\n return createTheme(\r\n {\r\n // ── Breakpoints (R-RS.1) ───────────────────────────────────\r\n // Wire the design-system breakpoint TOKENS into the MUI runtime.\r\n // Without this, every `sx={{ ...: { xs, sm, md, lg } }}` object in\r\n // the library resolves against MUI's DEFAULT breakpoints\r\n // (sm:600 / md:900 / lg:1200), NOT the charter values declared in\r\n // tokens/density.js (sm:481 / md:768 / lg:1024 / xl:1280). That\r\n // silent divergence meant components were authored against the\r\n // charter breakpoints but evaluated at MUI defaults — e.g.\r\n // PageContent applied tablet padding at the 1024 desktop target,\r\n // and the DataGrid card view triggered at 600 instead of 481.\r\n // Single source of truth: tokens.breakpoints.\r\n breakpoints: { values: breakpoints },\r\n palette,\r\n typography,\r\n shape,\r\n spacing: spacingBase,\r\n shadows: muiShadows as Shadows,\r\n transitions,\r\n zIndex: muiZIndex,\r\n components,\r\n // Custom slot for v2 consumers — read tokens directly off the theme.\r\n // - `brand` : the EFFECTIVE brand (default + override merged).\r\n // - `brandSecondary` : the EFFECTIVE brandSecondary (same contract).\r\n // - `density` : the resolved bucket (one of comfortable/compact).\r\n // - `densityLayout` : the FULL density set (lets a component switch\r\n // on the fly, e.g. compact rows inside a\r\n // comfortable page).\r\n // - `layout` : exposes layout.tactileMin (44) for components\r\n // enforcing WCAG 2.5.5 hit-area floors.\r\n tokens: {\r\n brand, brandSecondary, ink, surface, border, semantic,\r\n fontFamily, fontSize, fontWeight, lineHeight,\r\n radius, duration, easing, zIndex,\r\n density: D, densityLayout, layout,\r\n },\r\n },\r\n ...(options.locale ? [options.locale] : []),\r\n );\r\n}\r\n\r\nexport default createPortnetTheme;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"createPortnetTheme.js","names":["_styles","require","_tokens","_brand","_brandSecondary","BUTTON_MIN_WIDTH","OVERLINE_FONT_SIZE","OVERLINE_LETTER_SPACE","TOOLTIP_MAX_WIDTH","fluidPx","min","max","createPortnetTheme","options","mode","dens","density","D","comfortable","isDark","brand","resolveBrand","brandSecondary","resolveBrandSecondary","palette","primary","main","accent","dark","accentHover","light","accentSoft","contrastText","accentFg","secondary","secondaryFg","error","semantic","danger","dangerSoft","dangerFg","ink","fgInverse","warning","warningSoft","warningFg","success","successSoft","successFg","info","infoSoft","infoFg","background","default","bg","surface","paper","bgElev","text","fg","fgMuted","disabled","fgSubtle","divider","border","grey","bgSubtle","bgHover","borderStrong","typography","fontFamily","sans","fontSize","htmlFontSize","fontWeightLight","fontWeight","regular","fontWeightRegular","fontWeightMedium","medium","fontWeightBold","bold","h1","display","lineHeight","tight","h2","h3","snug","h4","semibold","body1","body","normal","body2","sm","caption","xs","button","textTransform","letterSpacing","overline","shape","borderRadius","radius","md","transitions","duration","shortest","fast","shorter","short","standard","base","complex","enteringScreen","leavingScreen","easing","easeInOut","out","easeOut","easeIn","in","sharp","muiZIndex","appBar","zIndex","topbar","drawer","modal","snackbar","toast","tooltip","overflow","focusHalo","components","MuiCssBaseline","styleOverrides","animationDuration","animationIterationCount","transitionDuration","scrollBehavior","MuiButton","defaultProps","disableElevation","root","minHeight","btn","minWidth","paddingInline","spacing","s3","boxShadow","outline","sizeSmall","compact","s2","MuiTextField","variant","size","slotProps","inputLabel","shrink","input","backgroundColor","padding","color","MuiOutlinedInput","notchedOutline","borderColor","borderWidth","MuiPaper","elevation","backgroundImage","outlined","MuiCard","lg","MuiTooltip","s1","maxWidth","arrow","MuiTableCell","borderBottomColor","head","MuiChip","full","MuiDialog","createTheme","breakpoints","values","spacingBase","shadows","muiShadows","tokens","densityLayout","layout","locale","_default","exports"],"sources":["../../../src/lib/v2/theme/createPortnetTheme.ts"],"sourcesContent":["/**\r\n * createPortnetTheme(options) — Portnet UI v2\r\n *\r\n * MUI 9 theme factory built on v2 tokens. Pass it to <ThemeProvider>:\r\n *\r\n * import { createPortnetTheme } from \"@portnet/ui/v2/theme\";\r\n * const theme = createPortnetTheme({ mode: \"light\", density: \"comfortable\" });\r\n * <ThemeProvider theme={theme}><App /></ThemeProvider>\r\n *\r\n * Options\r\n * mode : \"light\" | \"dark\" (default \"light\")\r\n * density : \"comfortable\" | \"compact\" (default \"comfortable\")\r\n * locale : MUI locale object (e.g. frFR)\r\n * brand : optional partial override of the brand token group:\r\n * { accent, accentHover, accentSoft, accentFg }\r\n * Any field omitted falls back to the default brand from\r\n * tokens. Pass the SAME `brand` to injectCssVariables()\r\n * so CSS variables and MUI palette stay in sync.\r\n * brandSecondary : optional partial override of the brand secondary group:\r\n * { secondary, secondaryFg }\r\n * Drives palette.secondary. Same sync rule as brand:\r\n * pass the SAME object to injectCssVariables().\r\n *\r\n * const theme = createPortnetTheme({\r\n * mode: \"light\",\r\n * brand: { accent: \"#2962FF\", accentSoft: \"#EEF3FF\" },\r\n * brandSecondary: { secondary: \"#4FB8CF\" },\r\n * });\r\n */\r\nimport { createTheme } from \"@mui/material/styles\";\r\nimport type { Localization } from \"@mui/material/locale\";\r\nimport type {\r\n Theme,\r\n ThemeOptions,\r\n PaletteOptions,\r\n TransitionsOptions,\r\n Components,\r\n Shadows,\r\n} from \"@mui/material/styles\";\r\nimport {\r\n ink, surface, border, semantic,\r\n fontFamily, fontSize, fontWeight, lineHeight,\r\n spacing, spacingBase, radius, muiShadows,\r\n duration, easing, zIndex, density, densityLayout, layout,\r\n breakpoints,\r\n dark,\r\n} from \"../tokens\";\r\nimport { resolveBrand, type BrandTokens } from \"./_brand\";\r\nimport { resolveBrandSecondary, type BrandSecondaryTokens } from \"./_brandSecondary\";\r\n\r\n/**\r\n * Public options for the Portnet theme factory.\r\n *\r\n * Every member is declared `?: T | undefined` rather than `?: T`, and that is\r\n * load-bearing rather than cosmetic. The Platform TypeScript Guidelines make\r\n * `exactOptionalPropertyTypes` MANDATORY in every consuming module, and under\r\n * that flag a plain `?: T` REJECTS an explicitly-passed `undefined`. A host\r\n * building its options from optional inputs — which is the normal case, since\r\n * `brand` / `density` come from a runtime host-shell payload — therefore could\r\n * not write the obvious code:\r\n *\r\n * createPortnetTheme({ mode, density, brand, brandSecondary, locale })\r\n *\r\n * and every audited module independently reinvented the same incremental\r\n * work-around (build an object, then `if (x !== undefined) options.x = x`).\r\n * Widening the members here removes that boilerplate platform-wide, and is\r\n * purely additive: a call site that omits a key still type-checks exactly as\r\n * before. Capability gap G-09.\r\n *\r\n * `locale` is typed as MUI's own `Localization` (the shape of `frFR` &c. from\r\n * \"@mui/material/locale\"), not `object`. `object` is on the Platform\r\n * TypeScript Guidelines' FORBIDDEN list, and it accepted any non-primitive —\r\n * including a plain `{}` — while the value is forwarded straight into\r\n * `createTheme(base, locale)`, which needs the real contract.\r\n */\r\nexport type CreatePortnetThemeOptions = {\r\n mode?: \"light\" | \"dark\" | undefined;\r\n density?: \"comfortable\" | \"compact\" | undefined;\r\n /** MUI locale object (e.g. `frFR` from \"@mui/material/locale\"). */\r\n locale?: Localization | undefined;\r\n brand?: Partial<BrandTokens> | undefined;\r\n brandSecondary?: Partial<BrandSecondaryTokens> | undefined;\r\n};\r\n\r\n/** One resolved density bucket (comfortable | compact | …) — all pixel metrics. */\r\ntype DensityBucket = (typeof density)[keyof typeof density];\r\n\r\n/**\r\n * The custom `tokens` slot attached to the MUI theme so v2 consumers can read\r\n * design tokens straight off the theme (`useTheme().tokens.*`). Declared onto\r\n * MUI's Theme / ThemeOptions via the module augmentation below.\r\n */\r\ntype PortnetThemeTokens = {\r\n brand: BrandTokens;\r\n brandSecondary: BrandSecondaryTokens;\r\n ink: typeof ink;\r\n surface: typeof surface;\r\n border: typeof border;\r\n semantic: typeof semantic;\r\n fontFamily: typeof fontFamily;\r\n fontSize: typeof fontSize;\r\n fontWeight: typeof fontWeight;\r\n lineHeight: typeof lineHeight;\r\n radius: typeof radius;\r\n duration: typeof duration;\r\n easing: typeof easing;\r\n zIndex: typeof zIndex;\r\n density: DensityBucket;\r\n densityLayout: typeof densityLayout;\r\n layout: typeof layout;\r\n};\r\n\r\ndeclare module \"@mui/material/styles\" {\r\n interface Theme {\r\n tokens: PortnetThemeTokens;\r\n }\r\n interface ThemeOptions {\r\n tokens?: PortnetThemeTokens;\r\n }\r\n}\r\n\r\n/* ────────────────────────────────────────────────────────────\r\n * Component-level dimensional constants.\r\n *\r\n * Kept as named locals (not promoted to tokens) because they are\r\n * scoped to MUI's button/tooltip/overline contract and have no\r\n * cross-component meaning. Each carries a comment explaining why\r\n * it deviates from the base spacing/fontSize scale.\r\n * ──────────────────────────────────────────────────────────── */\r\n\r\n// Button minWidth carry-over from MUI's own default. Keeps icon-only\r\n// buttons squarish without forcing 64px on every short-label button.\r\nconst BUTTON_MIN_WIDTH = 64;\r\n\r\n// Overline runs ONE step below fontSize.xs (12px) by deliberate\r\n// design — it's a label-on-label scale used in section headers.\r\n// Promote to fontSize.overline if a second use site appears.\r\nconst OVERLINE_FONT_SIZE = 11;\r\nconst OVERLINE_LETTER_SPACE = \"0.06em\";\r\n\r\n// Tooltip max width: empirically the longest charter-allowed help\r\n// text (~40 chars × ~6.5 px/char). Wider tooltips trigger reading\r\n// fatigue and should be redesigned as a popover.\r\nconst TOOLTIP_MAX_WIDTH = 260;\r\n\r\n/* ── Fluid heading sizing (R-RS.3 / WCAG 1.4.10) ──────────────────────\r\n * Only the two largest headings (H1/display = 26, H2 = 20) overpower a\r\n * 320px viewport at their fixed token size. `fluidPx(min, max)` returns a\r\n * CSS clamp() that starts at `min` on the smallest phones and scales with\r\n * the viewport up to the token `max` — capped so DESKTOP rendering is\r\n * byte-for-byte unchanged (the upper clamp bound is the existing token).\r\n * The static fontSize tokens stay integer-typed (typography.js) for any\r\n * non-fluid / measurement consumer; the fluid form lives only in the\r\n * theme variant where it drives <Typography variant=\"h1|h2\">.\r\n *\r\n * Preferred term: 1rem (16px @ root) + a small vw component. The vw\r\n * coefficient is deliberately gentle (0.9vw) so the growth between 320\r\n * and 1024 is a couple of px, never a jarring jump, and the max clamp\r\n * caps it at the token. min is kept ≥ 18px (H1) / 16px (H2) so headings\r\n * stay clearly larger than body (14px) even on the smallest target. */\r\nconst fluidPx = (min: number, max: number): string =>\r\n `clamp(${min}px, calc(1rem + 0.9vw), ${max}px)`;\r\n\r\nexport function createPortnetTheme(options: CreatePortnetThemeOptions = {}): Theme {\r\n const mode = options.mode || \"light\";\r\n const dens = options.density || \"comfortable\";\r\n const D = density[dens] || density.comfortable;\r\n const isDark = mode === \"dark\";\r\n const brand = resolveBrand(options.brand);\r\n const brandSecondary = resolveBrandSecondary(options.brandSecondary);\r\n\r\n /* ── Palette ─────────────────────────────────────────────── */\r\n // NOTE on `light` / `dark` semantics:\r\n // - primary.dark ← brand.accentHover : intentional darker brand,\r\n // used by MUI for hover/active states. Correct.\r\n // - primary.light ← brand.accentSoft : pragmatic — MUI mainly\r\n // reads `light` for hover BACKGROUNDS where a tinted soft works.\r\n // - secondary.main ← brandSecondary.secondary : PORTNET teal.\r\n // contrastText kept as the brandSecondary.secondaryFg the host\r\n // supplies. Note: the default secondaryFg = white on teal is\r\n // ~1.96:1 which fails AA for body text — see colors.js for the\r\n // R-T.2 follow-up. Safe for chip/badge fills today.\r\n // - error/warning/success/info `.dark` ← *.fg tokens. *.fg is the\r\n // darker, accessible variant of the saturated fill; safe as `dark`\r\n // because MUI uses it for hover/active states (R-T.2 contrast).\r\n const palette: PaletteOptions = {\r\n mode,\r\n primary: {\r\n main: brand.accent,\r\n dark: brand.accentHover,\r\n light: brand.accentSoft,\r\n contrastText: brand.accentFg,\r\n },\r\n secondary: {\r\n main: brandSecondary.secondary,\r\n contrastText: brandSecondary.secondaryFg,\r\n },\r\n error: {\r\n main: semantic.danger,\r\n light: semantic.dangerSoft,\r\n dark: semantic.dangerFg,\r\n contrastText: ink.fgInverse,\r\n },\r\n warning: {\r\n main: semantic.warning,\r\n light: semantic.warningSoft,\r\n dark: semantic.warningFg, // was missing → MUI auto-derived off-charter\r\n contrastText: ink.fgInverse,\r\n },\r\n success: {\r\n main: semantic.success,\r\n light: semantic.successSoft,\r\n dark: semantic.successFg, // ditto\r\n contrastText: ink.fgInverse,\r\n },\r\n info: {\r\n main: semantic.info,\r\n light: semantic.infoSoft,\r\n dark: semantic.infoFg, // ditto\r\n contrastText: ink.fgInverse,\r\n },\r\n background: {\r\n default: isDark ? dark.bg : surface.bg,\r\n paper: isDark ? dark.bgElev : surface.bgElev,\r\n },\r\n text: {\r\n primary: isDark ? dark.fg : ink.fg,\r\n secondary: isDark ? dark.fgMuted : ink.fgMuted,\r\n disabled: isDark ? dark.fgSubtle : ink.fgSubtle,\r\n },\r\n divider: isDark ? dark.border : border.border,\r\n grey: {\r\n 50: isDark ? dark.bgSubtle : surface.bgSubtle,\r\n 100: isDark ? dark.bgHover : surface.bgHover,\r\n 200: isDark ? dark.border : border.border,\r\n 300: isDark ? dark.borderStrong : border.borderStrong,\r\n 500: isDark ? dark.fgSubtle : ink.fgSubtle,\r\n 700: isDark ? dark.fgMuted : ink.fgMuted,\r\n 900: isDark ? dark.fg : ink.fg,\r\n },\r\n };\r\n\r\n /* ── Typography ──────────────────────────────────────────── */\r\n const typography: ThemeOptions[\"typography\"] = {\r\n fontFamily: fontFamily.sans,\r\n fontSize: D.fontSize,\r\n htmlFontSize: 16,\r\n fontWeightLight: fontWeight.regular,\r\n fontWeightRegular: fontWeight.regular,\r\n fontWeightMedium: fontWeight.medium,\r\n fontWeightBold: fontWeight.bold,\r\n\r\n // R-RS.3 — H1/H2 use fluid clamp() so they don't overflow a 320px\r\n // viewport; the clamp upper bound is the existing token, so desktop\r\n // is unchanged. H3/H4/body keep their fixed token sizes (already\r\n // comfortable down to 320).\r\n h1: { fontSize: fluidPx(18, fontSize.display), fontWeight: fontWeight.bold, lineHeight: lineHeight.tight },\r\n h2: { fontSize: fluidPx(16, fontSize.h2), fontWeight: fontWeight.bold, lineHeight: lineHeight.tight },\r\n h3: { fontSize: fontSize.h3, fontWeight: fontWeight.bold, lineHeight: lineHeight.snug },\r\n h4: { fontSize: fontSize.h4, fontWeight: fontWeight.semibold, lineHeight: lineHeight.snug },\r\n body1: { fontSize: fontSize.body, fontWeight: fontWeight.regular, lineHeight: lineHeight.normal },\r\n body2: { fontSize: fontSize.sm, fontWeight: fontWeight.regular, lineHeight: lineHeight.normal },\r\n caption: {\r\n fontSize: fontSize.xs,\r\n fontWeight: fontWeight.medium,\r\n lineHeight: lineHeight.normal,\r\n },\r\n button: {\r\n fontWeight: fontWeight.semibold,\r\n textTransform: \"none\",\r\n letterSpacing: 0,\r\n },\r\n overline: {\r\n fontSize: OVERLINE_FONT_SIZE,\r\n fontWeight: fontWeight.semibold,\r\n letterSpacing: OVERLINE_LETTER_SPACE,\r\n textTransform: \"uppercase\",\r\n lineHeight: lineHeight.normal,\r\n },\r\n };\r\n\r\n const shape = { borderRadius: radius.md };\r\n\r\n const transitions: TransitionsOptions = {\r\n duration: {\r\n shortest: duration.fast,\r\n shorter: duration.fast,\r\n short: duration.fast,\r\n standard: duration.base,\r\n complex: duration.base,\r\n enteringScreen: duration.base,\r\n leavingScreen: duration.fast,\r\n },\r\n easing: {\r\n easeInOut: easing.out,\r\n easeOut: easing.out,\r\n easeIn: easing.in,\r\n sharp: easing.in,\r\n },\r\n };\r\n\r\n /* ── z-index ─────────────────────────────────────────────────\r\n * Use the explicit slots added in v2 tokens (Batch 1: popover,\r\n * snackbar, tooltip). Defensive `??` fallback covers the case\r\n * where a host pins an older v2 tokens build that pre-dates the\r\n * additions.\r\n * ──────────────────────────────────────────────────────────── */\r\n const muiZIndex: ThemeOptions[\"zIndex\"] = {\r\n appBar: zIndex.topbar,\r\n drawer: zIndex.drawer,\r\n modal: zIndex.modal,\r\n snackbar: zIndex.snackbar ?? zIndex.toast,\r\n tooltip: zIndex.tooltip ?? (zIndex.overflow + 1),\r\n };\r\n\r\n /* ── Focus halo ──────────────────────────────────────────────\r\n * Derived from the EFFECTIVE accent so a host brand override\r\n * propagates to focus rings — keeps the MUI side in sync with\r\n * the CSS-variable side via the shared resolveBrand resolver.\r\n * ──────────────────────────────────────────────────────────── */\r\n const focusHalo = `0 0 0 3px color-mix(in srgb, ${brand.accent} 22%, transparent)`;\r\n\r\n const components: Components = {\r\n MuiCssBaseline: {\r\n // base.css owns `:focus { outline: none }` and `:focus-visible`\r\n // outline styling — single source of truth (Charter §07.1).\r\n // DUPLICATING those rules here was producing non-deterministic\r\n // cascade ordering between MUI-injected styles and the imported\r\n // stylesheet (intermittent double focus rings in Storybook).\r\n styleOverrides: {\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n \"*, *::before, *::after\": {\r\n animationDuration: \"0.01ms !important\",\r\n animationIterationCount: \"1 !important\",\r\n transitionDuration: \"0.01ms !important\",\r\n scrollBehavior: \"auto !important\",\r\n },\r\n },\r\n },\r\n },\r\n MuiButton: {\r\n defaultProps: { disableElevation: true },\r\n styleOverrides: {\r\n root: {\r\n // R-7.4 — visual baseline (40 in comfortable, 32 in compact).\r\n // The 44px tactile minimum (WCAG 2.5.5) is enforced at the\r\n // component level by Button.js for icon-only variants — the\r\n // theme keeps the visual size and lets layout add the floor\r\n // via min-width/min-height. See Button.js (Batch 5) for impl.\r\n minHeight: D.btn,\r\n minWidth: BUTTON_MIN_WIDTH,\r\n fontWeight: fontWeight.semibold,\r\n letterSpacing: 0,\r\n // 14 = spacing.s3 (12) + 2 — deliberate +2px button offset\r\n // from the base grid for visual button-text breathing room.\r\n paddingInline: spacing.s3 + 2,\r\n borderRadius: radius.md,\r\n textTransform: \"none\",\r\n \"&:focus-visible\": { boxShadow: focusHalo, outline: \"none\" },\r\n },\r\n sizeSmall: {\r\n minHeight: density.compact.btn,\r\n paddingInline: spacing.s2 + 2, // 10 = s2 (8) + 2\r\n fontSize: fontSize.sm,\r\n },\r\n },\r\n },\r\n MuiTextField: {\r\n // MUI v9 migration (Batch 2):\r\n // InputLabelProps was deprecated in v6 and REMOVED in v9\r\n // in favor of the unified `slotProps` API. The visual\r\n // contract is unchanged — the CSS class names\r\n // (.MuiInputLabel-root, .MuiOutlinedInput-root, etc.)\r\n // are preserved in v9, so all styleOverrides below stay\r\n // identical to the v5 baseline.\r\n defaultProps: {\r\n variant: \"outlined\",\r\n size: \"small\",\r\n slotProps: { inputLabel: { shrink: true } },\r\n },\r\n styleOverrides: {\r\n root: {\r\n \"& .MuiOutlinedInput-root\": {\r\n minHeight: D.input,\r\n borderRadius: radius.md,\r\n backgroundColor: isDark ? dark.surface : surface.surface,\r\n },\r\n \"& .MuiOutlinedInput-input\": {\r\n padding: `${spacing.s2}px ${spacing.s3}px`, // 8 / 12\r\n fontSize: D.fontSize,\r\n },\r\n \"& .MuiInputLabel-root\": {\r\n fontSize: fontSize.sm,\r\n fontWeight: fontWeight.medium,\r\n color: isDark ? dark.fgMuted : ink.fgMuted,\r\n },\r\n // Label colour states — were missing, label stayed muted\r\n // in all states which contradicted the focus-visible\r\n // feedback contract (R-F.1).\r\n \"& .MuiInputLabel-root.Mui-focused\": { color: brand.accent },\r\n \"& .MuiInputLabel-root.Mui-error\": { color: semantic.danger },\r\n },\r\n },\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n notchedOutline: { borderColor: isDark ? dark.border : border.border },\r\n root: {\r\n \"&:hover .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: isDark ? dark.borderStrong : border.borderStrong,\r\n },\r\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\r\n borderColor: brand.accent,\r\n borderWidth: 1,\r\n },\r\n \"&.Mui-error .MuiOutlinedInput-notchedOutline\": { borderColor: semantic.danger },\r\n },\r\n },\r\n },\r\n MuiPaper: {\r\n defaultProps: { elevation: 0 },\r\n styleOverrides: {\r\n root: { backgroundImage: \"none\" }, // disable MUI dark-mode tint\r\n outlined: { borderColor: isDark ? dark.border : border.border },\r\n },\r\n },\r\n MuiCard: {\r\n defaultProps: { elevation: 0, variant: \"outlined\" },\r\n styleOverrides: {\r\n root: {\r\n borderRadius: radius.lg,\r\n borderColor: isDark ? dark.border : border.border,\r\n },\r\n },\r\n },\r\n MuiTooltip: {\r\n // Prototype v4 — fg as background, bg as text. Avoids the legacy\r\n // \"transparent on light grey\" misconfiguration noted in the audit.\r\n styleOverrides: {\r\n tooltip: {\r\n backgroundColor: isDark ? dark.fg : ink.fg,\r\n color: isDark ? dark.bg : ink.fgInverse,\r\n fontSize: fontSize.xs,\r\n // 6 / 10 — tooltip is intentionally tight (s1+2 / s2+2).\r\n padding: `${spacing.s1 + 2}px ${spacing.s2 + 2}px`,\r\n borderRadius: radius.md,\r\n maxWidth: TOOLTIP_MAX_WIDTH,\r\n },\r\n arrow: { color: isDark ? dark.fg : ink.fg },\r\n },\r\n },\r\n MuiTableCell: {\r\n styleOverrides: {\r\n root: {\r\n borderBottomColor: isDark ? dark.border : border.border,\r\n fontSize: D.fontSize,\r\n },\r\n head: {\r\n fontWeight: fontWeight.semibold,\r\n color: isDark ? dark.fgMuted : ink.fgMuted,\r\n backgroundColor: isDark ? dark.bgSubtle : surface.bgSubtle,\r\n textTransform: \"none\",\r\n },\r\n },\r\n },\r\n MuiChip: {\r\n styleOverrides: {\r\n root: {\r\n borderRadius: radius.full,\r\n fontWeight: fontWeight.semibold,\r\n fontSize: fontSize.xs,\r\n },\r\n },\r\n },\r\n MuiDialog: {\r\n styleOverrides: { paper: { borderRadius: radius.lg } },\r\n },\r\n };\r\n\r\n return createTheme(\r\n {\r\n // ── Breakpoints (R-RS.1) ───────────────────────────────────\r\n // Wire the design-system breakpoint TOKENS into the MUI runtime.\r\n // Without this, every `sx={{ ...: { xs, sm, md, lg } }}` object in\r\n // the library resolves against MUI's DEFAULT breakpoints\r\n // (sm:600 / md:900 / lg:1200), NOT the charter values declared in\r\n // tokens/density.js (sm:481 / md:768 / lg:1024 / xl:1280). That\r\n // silent divergence meant components were authored against the\r\n // charter breakpoints but evaluated at MUI defaults — e.g.\r\n // PageContent applied tablet padding at the 1024 desktop target,\r\n // and the DataGrid card view triggered at 600 instead of 481.\r\n // Single source of truth: tokens.breakpoints.\r\n breakpoints: { values: breakpoints },\r\n palette,\r\n typography,\r\n shape,\r\n spacing: spacingBase,\r\n shadows: muiShadows as Shadows,\r\n transitions,\r\n zIndex: muiZIndex,\r\n components,\r\n // Custom slot for v2 consumers — read tokens directly off the theme.\r\n // - `brand` : the EFFECTIVE brand (default + override merged).\r\n // - `brandSecondary` : the EFFECTIVE brandSecondary (same contract).\r\n // - `density` : the resolved bucket (one of comfortable/compact).\r\n // - `densityLayout` : the FULL density set (lets a component switch\r\n // on the fly, e.g. compact rows inside a\r\n // comfortable page).\r\n // - `layout` : exposes layout.tactileMin (44) for components\r\n // enforcing WCAG 2.5.5 hit-area floors.\r\n tokens: {\r\n brand, brandSecondary, ink, surface, border, semantic,\r\n fontFamily, fontSize, fontWeight, lineHeight,\r\n radius, duration, easing, zIndex,\r\n density: D, densityLayout, layout,\r\n },\r\n },\r\n ...(options.locale ? [options.locale] : []),\r\n );\r\n}\r\n\r\nexport default createPortnetTheme;\r\n"],"mappings":";;;;;;;AA6BA,IAAAA,OAAA,GAAAC,OAAA;AAUA,IAAAC,OAAA,GAAAD,OAAA;AAQA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAhDA;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;;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;;AAGA;AACA;AACA;AACA;AACA;;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAMI,gBAAgB,GAAQ,EAAE;;AAEhC;AACA;AACA;AACA,MAAMC,kBAAkB,GAAM,EAAE;AAChC,MAAMC,qBAAqB,GAAG,QAAQ;;AAEtC;AACA;AACA;AACA,MAAMC,iBAAiB,GAAO,GAAG;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,OAAO,GAAGA,CAACC,GAAW,EAAEC,GAAW,KACvC,SAASD,GAAG,2BAA2BC,GAAG,KAAK;AAE1C,SAASC,kBAAkBA,CAACC,OAAkC,GAAG,CAAC,CAAC,EAAS;EACjF,MAAMC,IAAI,GAAQD,OAAO,CAACC,IAAI,IAAO,OAAO;EAC5C,MAAMC,IAAI,GAAQF,OAAO,CAACG,OAAO,IAAI,aAAa;EAClD,MAAMC,CAAC,GAAWD,eAAO,CAACD,IAAI,CAAC,IAAIC,eAAO,CAACE,WAAW;EACtD,MAAMC,MAAM,GAAML,IAAI,KAAK,MAAM;EACjC,MAAMM,KAAK,GAAO,IAAAC,mBAAY,EAACR,OAAO,CAACO,KAAK,CAAC;EAC7C,MAAME,cAAc,GAAG,IAAAC,qCAAqB,EAACV,OAAO,CAACS,cAAc,CAAC;;EAEpE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA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","ignoreList":[]}
@@ -2,9 +2,9 @@ import { type BrandTokens } from "./_brand";
2
2
  import { type BrandSecondaryTokens } from "./_brandSecondary";
3
3
  /** Options for the CSS-variable emitter / injector. */
4
4
  type CssVariablesOptions = {
5
- id?: string;
6
- brand?: Partial<BrandTokens>;
7
- brandSecondary?: Partial<BrandSecondaryTokens>;
5
+ id?: string | undefined;
6
+ brand?: Partial<BrandTokens> | undefined;
7
+ brandSecondary?: Partial<BrandSecondaryTokens> | undefined;
8
8
  };
9
9
  /**
10
10
  * Emits the canonical :root block + sidebar / density / dark-mode overrides.
@@ -1 +1 @@
1
- {"version":3,"file":"cssVariables.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/theme/cssVariables.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,uDAAuD;AACvD,KAAK,mBAAmB,GAAG;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAiBF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAqSzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAY3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAO3E;AAED,QAAA,MAAM,eAAe;;;;CAA8D,CAAC;AACpF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"cssVariables.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/theme/cssVariables.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErF,uDAAuD;AACvD,KAAK,mBAAmB,GAAG;IACzB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;CAC5D,CAAC;AAiBF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,mBAAwB,GAAG,MAAM,CAkUzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAY3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAO3E;AAED,QAAA,MAAM,eAAe;;;;CAA8D,CAAC;AACpF,eAAe,eAAe,CAAC"}