@portnet/ui 6.0.0 → 6.0.1

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 (748) hide show
  1. package/dist/esm/index.js +196 -0
  2. package/dist/esm/index.js.map +1 -0
  3. package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  5. package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
  6. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  7. package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
  8. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  9. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  10. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  11. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  12. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  13. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  14. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  15. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  16. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  17. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  18. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  19. package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
  20. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  21. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  22. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  23. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  24. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  25. package/dist/esm/v2/components/Accordion.js +230 -0
  26. package/dist/esm/v2/components/Accordion.js.map +1 -0
  27. package/dist/esm/v2/components/ActionStrip.js +146 -0
  28. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  29. package/dist/esm/v2/components/Banner.js +254 -0
  30. package/dist/esm/v2/components/Banner.js.map +1 -0
  31. package/dist/esm/v2/components/Busy.js +97 -0
  32. package/dist/esm/v2/components/Busy.js.map +1 -0
  33. package/dist/esm/v2/components/Button.js +114 -0
  34. package/dist/esm/v2/components/Button.js.map +1 -0
  35. package/dist/esm/v2/components/CategoryTag.js +81 -0
  36. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  37. package/dist/esm/v2/components/Checkbox.js +124 -0
  38. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  39. package/dist/esm/v2/components/Chip.js +124 -0
  40. package/dist/esm/v2/components/Chip.js.map +1 -0
  41. package/dist/esm/v2/components/Combobox.js +394 -0
  42. package/dist/esm/v2/components/Combobox.js.map +1 -0
  43. package/dist/esm/v2/components/CommandPalette.js +660 -0
  44. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  45. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  46. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  47. package/dist/esm/v2/components/DatePicker.js +200 -0
  48. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  49. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  50. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  51. package/dist/esm/v2/components/DateTimePicker.js +182 -0
  52. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  53. package/dist/esm/v2/components/Drawer.js +333 -0
  54. package/dist/esm/v2/components/Drawer.js.map +1 -0
  55. package/dist/esm/v2/components/Dropzone.js +540 -0
  56. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  57. package/dist/esm/v2/components/EmptyState.js +102 -0
  58. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  59. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  60. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  61. package/dist/esm/v2/components/Field.js +197 -0
  62. package/dist/esm/v2/components/Field.js.map +1 -0
  63. package/dist/esm/v2/components/FieldError.js +124 -0
  64. package/dist/esm/v2/components/FieldError.js.map +1 -0
  65. package/dist/esm/v2/components/FieldHelp.js +202 -0
  66. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  67. package/dist/esm/v2/components/FileCard.js +162 -0
  68. package/dist/esm/v2/components/FileCard.js.map +1 -0
  69. package/dist/esm/v2/components/FilterTab.js +138 -0
  70. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  71. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  72. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  73. package/dist/esm/v2/components/FormGrid.js +179 -0
  74. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  75. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  76. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  77. package/dist/esm/v2/components/Input.js +107 -0
  78. package/dist/esm/v2/components/Input.js.map +1 -0
  79. package/dist/esm/v2/components/KPICard.js +237 -0
  80. package/dist/esm/v2/components/KPICard.js.map +1 -0
  81. package/dist/esm/v2/components/KPIStrip.js +84 -0
  82. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  83. package/dist/esm/v2/components/KV.js +75 -0
  84. package/dist/esm/v2/components/KV.js.map +1 -0
  85. package/dist/esm/v2/components/KVGrid.js +74 -0
  86. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  87. package/dist/esm/v2/components/Layout.js +284 -0
  88. package/dist/esm/v2/components/Layout.js.map +1 -0
  89. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  90. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  91. package/dist/esm/v2/components/Modal.js +276 -0
  92. package/dist/esm/v2/components/Modal.js.map +1 -0
  93. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  94. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  95. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  96. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  97. package/dist/esm/v2/components/NumberInput.js +309 -0
  98. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  99. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  100. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  101. package/dist/esm/v2/components/PdfViewer.js +122 -0
  102. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  103. package/dist/esm/v2/components/ProgressBar.js +202 -0
  104. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  105. package/dist/esm/v2/components/Radio.js +228 -0
  106. package/dist/esm/v2/components/Radio.js.map +1 -0
  107. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  108. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  109. package/dist/esm/v2/components/SectionHeader.js +132 -0
  110. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  111. package/dist/esm/v2/components/Segmented.js +254 -0
  112. package/dist/esm/v2/components/Segmented.js.map +1 -0
  113. package/dist/esm/v2/components/Select.js +490 -0
  114. package/dist/esm/v2/components/Select.js.map +1 -0
  115. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  116. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  117. package/dist/esm/v2/components/Skeleton.js +269 -0
  118. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  119. package/dist/esm/v2/components/SkipLink.js +49 -0
  120. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  121. package/dist/esm/v2/components/Spinner.js +69 -0
  122. package/dist/esm/v2/components/Spinner.js.map +1 -0
  123. package/dist/esm/v2/components/Status.js +64 -0
  124. package/dist/esm/v2/components/Status.js.map +1 -0
  125. package/dist/esm/v2/components/Stepper.js +432 -0
  126. package/dist/esm/v2/components/Stepper.js.map +1 -0
  127. package/dist/esm/v2/components/Surface.js +159 -0
  128. package/dist/esm/v2/components/Surface.js.map +1 -0
  129. package/dist/esm/v2/components/Switch.js +128 -0
  130. package/dist/esm/v2/components/Switch.js.map +1 -0
  131. package/dist/esm/v2/components/Tabs.js +150 -0
  132. package/dist/esm/v2/components/Tabs.js.map +1 -0
  133. package/dist/esm/v2/components/TelInput.js +274 -0
  134. package/dist/esm/v2/components/TelInput.js.map +1 -0
  135. package/dist/esm/v2/components/Textarea.js +72 -0
  136. package/dist/esm/v2/components/Textarea.js.map +1 -0
  137. package/dist/esm/v2/components/TimePicker.js +134 -0
  138. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  139. package/dist/esm/v2/components/Toast.js +376 -0
  140. package/dist/esm/v2/components/Toast.js.map +1 -0
  141. package/dist/esm/v2/components/Tooltip.js +161 -0
  142. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  143. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  144. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  145. package/dist/esm/v2/components/_pickerShared.js +60 -0
  146. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  147. package/dist/esm/v2/components/index.js +244 -0
  148. package/dist/esm/v2/components/index.js.map +1 -0
  149. package/dist/esm/v2/hooks/index.js +10 -0
  150. package/dist/esm/v2/hooks/index.js.map +1 -0
  151. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  152. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  153. package/dist/esm/v2/hooks/useDensity.js +119 -0
  154. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  155. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  156. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  157. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  158. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  159. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  160. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  161. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  162. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  163. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  164. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  165. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  166. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  167. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  168. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  169. package/dist/esm/v2/index.js +121 -0
  170. package/dist/esm/v2/index.js.map +1 -0
  171. package/dist/esm/v2/modalContext.js +108 -0
  172. package/dist/esm/v2/modalContext.js.map +1 -0
  173. package/dist/esm/v2/models/favorite.js +2 -0
  174. package/dist/esm/v2/models/favorite.js.map +1 -0
  175. package/dist/esm/v2/models/index.js +12 -0
  176. package/dist/esm/v2/models/index.js.map +1 -0
  177. package/dist/esm/v2/models/personalization.js +2 -0
  178. package/dist/esm/v2/models/personalization.js.map +1 -0
  179. package/dist/esm/v2/models/referentiel.js +2 -0
  180. package/dist/esm/v2/models/referentiel.js.map +1 -0
  181. package/dist/esm/v2/models/savedFilter.js +2 -0
  182. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  183. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  184. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  185. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  186. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  187. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  188. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  189. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  190. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  191. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  192. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  193. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  194. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  195. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  196. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  197. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  198. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  199. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  200. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  201. package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
  202. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  203. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  204. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  205. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  206. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  207. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  208. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  209. package/dist/esm/v2/patterns/FormSection.js +190 -0
  210. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  211. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  212. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  213. package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
  214. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  215. package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
  216. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  217. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  218. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  219. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  220. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  221. package/dist/esm/v2/patterns/FormikInput.js +127 -0
  222. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  223. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  224. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  225. package/dist/esm/v2/patterns/FormikSelect.js +159 -0
  226. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  227. package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
  228. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  229. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
  230. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  231. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  232. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  233. package/dist/esm/v2/patterns/PageContent.js +62 -0
  234. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  235. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  236. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  237. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  238. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  239. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  240. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  241. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  242. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  243. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  244. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  245. package/dist/esm/v2/patterns/Tour.js +471 -0
  246. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  247. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  248. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  249. package/dist/esm/v2/patterns/_sort.js +112 -0
  250. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  251. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  252. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  253. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  254. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  255. package/dist/esm/v2/patterns/index.js +95 -0
  256. package/dist/esm/v2/patterns/index.js.map +1 -0
  257. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  258. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  259. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  260. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  261. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  262. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  263. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  264. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  265. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  266. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  267. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  268. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  269. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  270. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  271. package/dist/esm/v2/personalization/capabilities/index.js +17 -0
  272. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  273. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  274. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  275. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  276. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  277. package/dist/esm/v2/personalization/index.js +46 -0
  278. package/dist/esm/v2/personalization/index.js.map +1 -0
  279. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  280. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  281. package/dist/esm/v2/personalization/schema.js +92 -0
  282. package/dist/esm/v2/personalization/schema.js.map +1 -0
  283. package/dist/esm/v2/personalization/types.js +2 -0
  284. package/dist/esm/v2/personalization/types.js.map +1 -0
  285. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  286. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  287. package/dist/esm/v2/referentiel/index.js +15 -0
  288. package/dist/esm/v2/referentiel/index.js.map +1 -0
  289. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  290. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  291. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  292. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  293. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  294. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  295. package/dist/esm/v2/styles/base.css +425 -0
  296. package/dist/esm/v2/styles/css.d.ts +10 -0
  297. package/dist/esm/v2/styles/index.js +12 -0
  298. package/dist/esm/v2/styles/index.js.map +1 -0
  299. package/dist/esm/v2/theme/_brand.js +64 -0
  300. package/dist/esm/v2/theme/_brand.js.map +1 -0
  301. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  302. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  303. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  304. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  305. package/dist/esm/v2/theme/cssVariables.js +198 -0
  306. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  307. package/dist/esm/v2/theme/index.js +32 -0
  308. package/dist/esm/v2/theme/index.js.map +1 -0
  309. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  310. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  311. package/dist/esm/v2/tokens/colors.js +219 -0
  312. package/dist/esm/v2/tokens/colors.js.map +1 -0
  313. package/dist/esm/v2/tokens/density.js +98 -0
  314. package/dist/esm/v2/tokens/density.js.map +1 -0
  315. package/dist/esm/v2/tokens/index.js +80 -0
  316. package/dist/esm/v2/tokens/index.js.map +1 -0
  317. package/dist/esm/v2/tokens/motion.js +88 -0
  318. package/dist/esm/v2/tokens/motion.js.map +1 -0
  319. package/dist/esm/v2/tokens/radius.js +22 -0
  320. package/dist/esm/v2/tokens/radius.js.map +1 -0
  321. package/dist/esm/v2/tokens/shadows.js +40 -0
  322. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  323. package/dist/esm/v2/tokens/spacing.js +51 -0
  324. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  325. package/dist/esm/v2/tokens/state.js +41 -0
  326. package/dist/esm/v2/tokens/state.js.map +1 -0
  327. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  328. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  329. package/dist/esm/v2/tokens/tokens.json +153 -0
  330. package/dist/esm/v2/tokens/typography.js +149 -0
  331. package/dist/esm/v2/tokens/typography.js.map +1 -0
  332. package/dist/esm/v2/tokens/zIndex.js +44 -0
  333. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  334. package/dist/esm/v2/types/common.js +2 -0
  335. package/dist/esm/v2/types/common.js.map +1 -0
  336. package/dist/esm/v2/types/datagrid.js +2 -0
  337. package/dist/esm/v2/types/datagrid.js.map +1 -0
  338. package/dist/esm/v2/types/index.js +12 -0
  339. package/dist/esm/v2/types/index.js.map +1 -0
  340. package/dist/esm/v2/utils/apiError.js +281 -0
  341. package/dist/esm/v2/utils/apiError.js.map +1 -0
  342. package/dist/esm/v2/utils/contrast.js +157 -0
  343. package/dist/esm/v2/utils/contrast.js.map +1 -0
  344. package/dist/esm/v2/utils/cx.js +38 -0
  345. package/dist/esm/v2/utils/cx.js.map +1 -0
  346. package/dist/esm/v2/utils/fileDownload.js +226 -0
  347. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  348. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  349. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  350. package/dist/esm/v2/utils/index.js +43 -0
  351. package/dist/esm/v2/utils/index.js.map +1 -0
  352. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  353. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  354. package/dist/esm/v2/utils/networkStatus.js +114 -0
  355. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  356. package/dist/index.d.ts +3 -2
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/index.js +21 -0
  359. package/dist/index.js.map +1 -1
  360. package/dist/v2/__tests__/FieldError.test.js +164 -0
  361. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  362. package/dist/v2/__tests__/FileCard.test.js +148 -0
  363. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  364. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  365. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  366. package/dist/v2/components/Accordion.d.ts +6 -6
  367. package/dist/v2/components/Accordion.d.ts.map +1 -1
  368. package/dist/v2/components/Accordion.js.map +1 -1
  369. package/dist/v2/components/ActionStrip.d.ts +12 -12
  370. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  371. package/dist/v2/components/ActionStrip.js.map +1 -1
  372. package/dist/v2/components/Banner.d.ts +48 -9
  373. package/dist/v2/components/Banner.d.ts.map +1 -1
  374. package/dist/v2/components/Banner.js +116 -35
  375. package/dist/v2/components/Banner.js.map +1 -1
  376. package/dist/v2/components/Busy.d.ts +3 -3
  377. package/dist/v2/components/Busy.d.ts.map +1 -1
  378. package/dist/v2/components/Busy.js.map +1 -1
  379. package/dist/v2/components/Button.d.ts +6 -6
  380. package/dist/v2/components/Button.d.ts.map +1 -1
  381. package/dist/v2/components/Button.js.map +1 -1
  382. package/dist/v2/components/CategoryTag.d.ts +3 -3
  383. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  384. package/dist/v2/components/CategoryTag.js.map +1 -1
  385. package/dist/v2/components/Checkbox.d.ts +11 -11
  386. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  387. package/dist/v2/components/Checkbox.js.map +1 -1
  388. package/dist/v2/components/Chip.d.ts +8 -8
  389. package/dist/v2/components/Chip.d.ts.map +1 -1
  390. package/dist/v2/components/Chip.js +2 -1
  391. package/dist/v2/components/Chip.js.map +1 -1
  392. package/dist/v2/components/Combobox.d.ts +27 -27
  393. package/dist/v2/components/Combobox.d.ts.map +1 -1
  394. package/dist/v2/components/Combobox.js +3 -2
  395. package/dist/v2/components/Combobox.js.map +1 -1
  396. package/dist/v2/components/CommandPalette.d.ts +20 -20
  397. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  398. package/dist/v2/components/CommandPalette.js +2 -6
  399. package/dist/v2/components/CommandPalette.js.map +1 -1
  400. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  401. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  402. package/dist/v2/components/ConfirmDialog.js +2 -1
  403. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  404. package/dist/v2/components/DatePicker.d.ts +11 -11
  405. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  406. package/dist/v2/components/DatePicker.js.map +1 -1
  407. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  408. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  409. package/dist/v2/components/DateRangePicker.js +2 -1
  410. package/dist/v2/components/DateRangePicker.js.map +1 -1
  411. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  412. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  413. package/dist/v2/components/DateTimePicker.js.map +1 -1
  414. package/dist/v2/components/Drawer.d.ts +18 -18
  415. package/dist/v2/components/Drawer.d.ts.map +1 -1
  416. package/dist/v2/components/Drawer.js +2 -1
  417. package/dist/v2/components/Drawer.js.map +1 -1
  418. package/dist/v2/components/Dropzone.d.ts +34 -34
  419. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  420. package/dist/v2/components/Dropzone.js +11 -3
  421. package/dist/v2/components/Dropzone.js.map +1 -1
  422. package/dist/v2/components/EmptyState.d.ts +7 -7
  423. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  424. package/dist/v2/components/EmptyState.js.map +1 -1
  425. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  426. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  427. package/dist/v2/components/FavoriteToggle.js +2 -1
  428. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  429. package/dist/v2/components/Field.d.ts +17 -12
  430. package/dist/v2/components/Field.d.ts.map +1 -1
  431. package/dist/v2/components/Field.js +25 -7
  432. package/dist/v2/components/Field.js.map +1 -1
  433. package/dist/v2/components/FieldError.d.ts +78 -0
  434. package/dist/v2/components/FieldError.d.ts.map +1 -0
  435. package/dist/v2/components/FieldError.js +131 -0
  436. package/dist/v2/components/FieldError.js.map +1 -0
  437. package/dist/v2/components/FieldHelp.d.ts +7 -7
  438. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  439. package/dist/v2/components/FieldHelp.js.map +1 -1
  440. package/dist/v2/components/FileCard.d.ts +75 -0
  441. package/dist/v2/components/FileCard.d.ts.map +1 -0
  442. package/dist/v2/components/FileCard.js +169 -0
  443. package/dist/v2/components/FileCard.js.map +1 -0
  444. package/dist/v2/components/FilterTab.d.ts +9 -9
  445. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  446. package/dist/v2/components/FilterTab.js +2 -1
  447. package/dist/v2/components/FilterTab.js.map +1 -1
  448. package/dist/v2/components/FormGrid.d.ts +9 -4
  449. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  450. package/dist/v2/components/FormGrid.js +11 -1
  451. package/dist/v2/components/FormGrid.js.map +1 -1
  452. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  453. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  454. package/dist/v2/components/FormikDisplay.js.map +1 -1
  455. package/dist/v2/components/Input.d.ts +6 -6
  456. package/dist/v2/components/Input.d.ts.map +1 -1
  457. package/dist/v2/components/Input.js.map +1 -1
  458. package/dist/v2/components/KPICard.d.ts +43 -13
  459. package/dist/v2/components/KPICard.d.ts.map +1 -1
  460. package/dist/v2/components/KPICard.js +53 -14
  461. package/dist/v2/components/KPICard.js.map +1 -1
  462. package/dist/v2/components/KPIStrip.d.ts +68 -0
  463. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  464. package/dist/v2/components/KPIStrip.js +92 -0
  465. package/dist/v2/components/KPIStrip.js.map +1 -0
  466. package/dist/v2/components/KV.d.ts +3 -3
  467. package/dist/v2/components/KV.d.ts.map +1 -1
  468. package/dist/v2/components/KV.js.map +1 -1
  469. package/dist/v2/components/KVGrid.d.ts +2 -2
  470. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  471. package/dist/v2/components/KVGrid.js +8 -1
  472. package/dist/v2/components/KVGrid.js.map +1 -1
  473. package/dist/v2/components/Layout.d.ts +7 -7
  474. package/dist/v2/components/Layout.d.ts.map +1 -1
  475. package/dist/v2/components/Layout.js.map +1 -1
  476. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  477. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  478. package/dist/v2/components/MobileRowCard.js.map +1 -1
  479. package/dist/v2/components/Modal.d.ts +12 -12
  480. package/dist/v2/components/Modal.d.ts.map +1 -1
  481. package/dist/v2/components/Modal.js.map +1 -1
  482. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  483. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  484. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  485. package/dist/v2/components/NumberInput.d.ts +14 -14
  486. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  487. package/dist/v2/components/NumberInput.js +7 -6
  488. package/dist/v2/components/NumberInput.js.map +1 -1
  489. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  490. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  491. package/dist/v2/components/OverflowMenu.js +4 -8
  492. package/dist/v2/components/OverflowMenu.js.map +1 -1
  493. package/dist/v2/components/PdfViewer.d.ts +9 -9
  494. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  495. package/dist/v2/components/PdfViewer.js.map +1 -1
  496. package/dist/v2/components/ProgressBar.d.ts +10 -10
  497. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  498. package/dist/v2/components/ProgressBar.js.map +1 -1
  499. package/dist/v2/components/Radio.d.ts +7 -7
  500. package/dist/v2/components/Radio.d.ts.map +1 -1
  501. package/dist/v2/components/Radio.js.map +1 -1
  502. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  503. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  504. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  505. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  506. package/dist/v2/components/SectionHeader.d.ts +5 -5
  507. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  508. package/dist/v2/components/SectionHeader.js.map +1 -1
  509. package/dist/v2/components/Segmented.d.ts +11 -11
  510. package/dist/v2/components/Segmented.d.ts.map +1 -1
  511. package/dist/v2/components/Segmented.js.map +1 -1
  512. package/dist/v2/components/Select.d.ts +33 -15
  513. package/dist/v2/components/Select.d.ts.map +1 -1
  514. package/dist/v2/components/Select.js +147 -30
  515. package/dist/v2/components/Select.js.map +1 -1
  516. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  517. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  519. package/dist/v2/components/Skeleton.d.ts +15 -15
  520. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  521. package/dist/v2/components/Skeleton.js.map +1 -1
  522. package/dist/v2/components/SkipLink.d.ts +2 -2
  523. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  524. package/dist/v2/components/SkipLink.js.map +1 -1
  525. package/dist/v2/components/Status.d.ts +3 -3
  526. package/dist/v2/components/Status.d.ts.map +1 -1
  527. package/dist/v2/components/Status.js.map +1 -1
  528. package/dist/v2/components/Stepper.d.ts +28 -22
  529. package/dist/v2/components/Stepper.d.ts.map +1 -1
  530. package/dist/v2/components/Stepper.js +31 -5
  531. package/dist/v2/components/Stepper.js.map +1 -1
  532. package/dist/v2/components/Surface.d.ts +94 -0
  533. package/dist/v2/components/Surface.d.ts.map +1 -0
  534. package/dist/v2/components/Surface.js +163 -0
  535. package/dist/v2/components/Surface.js.map +1 -0
  536. package/dist/v2/components/Switch.d.ts +4 -4
  537. package/dist/v2/components/Switch.d.ts.map +1 -1
  538. package/dist/v2/components/Switch.js.map +1 -1
  539. package/dist/v2/components/Tabs.d.ts +6 -6
  540. package/dist/v2/components/Tabs.d.ts.map +1 -1
  541. package/dist/v2/components/Tabs.js.map +1 -1
  542. package/dist/v2/components/TelInput.d.ts +8 -8
  543. package/dist/v2/components/TelInput.d.ts.map +1 -1
  544. package/dist/v2/components/TelInput.js +18 -18
  545. package/dist/v2/components/TelInput.js.map +1 -1
  546. package/dist/v2/components/Textarea.d.ts +1 -1
  547. package/dist/v2/components/Textarea.d.ts.map +1 -1
  548. package/dist/v2/components/Textarea.js.map +1 -1
  549. package/dist/v2/components/TimePicker.d.ts +11 -11
  550. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  551. package/dist/v2/components/TimePicker.js.map +1 -1
  552. package/dist/v2/components/Toast.d.ts +6 -6
  553. package/dist/v2/components/Toast.d.ts.map +1 -1
  554. package/dist/v2/components/Toast.js +9 -8
  555. package/dist/v2/components/Toast.js.map +1 -1
  556. package/dist/v2/components/Tooltip.d.ts +1 -1
  557. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  558. package/dist/v2/components/Tooltip.js.map +1 -1
  559. package/dist/v2/components/index.d.ts +143 -0
  560. package/dist/v2/components/index.d.ts.map +1 -1
  561. package/dist/v2/components/index.js +35 -0
  562. package/dist/v2/components/index.js.map +1 -1
  563. package/dist/v2/models/favorite.d.ts +1 -1
  564. package/dist/v2/models/favorite.d.ts.map +1 -1
  565. package/dist/v2/models/favorite.js.map +1 -1
  566. package/dist/v2/models/personalization.d.ts +13 -13
  567. package/dist/v2/models/personalization.d.ts.map +1 -1
  568. package/dist/v2/models/personalization.js.map +1 -1
  569. package/dist/v2/models/referentiel.d.ts +11 -11
  570. package/dist/v2/models/referentiel.d.ts.map +1 -1
  571. package/dist/v2/models/referentiel.js.map +1 -1
  572. package/dist/v2/models/savedFilter.d.ts +8 -8
  573. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  574. package/dist/v2/models/savedFilter.js.map +1 -1
  575. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  576. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  577. package/dist/v2/patterns/ActionBar.js +2 -1
  578. package/dist/v2/patterns/ActionBar.js.map +1 -1
  579. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  580. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  581. package/dist/v2/patterns/BulkActionBar.js +2 -1
  582. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  583. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  584. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  585. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  586. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  587. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  588. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  589. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  590. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  591. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  592. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  593. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  594. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  595. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  596. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  597. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  598. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  599. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  600. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  601. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  602. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  603. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  604. package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
  605. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  606. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  607. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  608. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  609. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  610. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  611. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  612. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  613. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  614. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  615. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  616. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  617. package/dist/v2/patterns/FormSection.d.ts +19 -8
  618. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  619. package/dist/v2/patterns/FormSection.js +106 -71
  620. package/dist/v2/patterns/FormSection.js.map +1 -1
  621. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  622. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  623. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  624. package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
  625. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  626. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  627. package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
  628. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  629. package/dist/v2/patterns/FormikDatePicker.js +27 -1
  630. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  631. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  632. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  633. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  634. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  635. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  636. package/dist/v2/patterns/FormikFile.js.map +1 -1
  637. package/dist/v2/patterns/FormikInput.d.ts +41 -6
  638. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  639. package/dist/v2/patterns/FormikInput.js +49 -1
  640. package/dist/v2/patterns/FormikInput.js.map +1 -1
  641. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  642. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  643. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  644. package/dist/v2/patterns/FormikSelect.d.ts +33 -12
  645. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  646. package/dist/v2/patterns/FormikSelect.js +28 -2
  647. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  648. package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
  649. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  651. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
  652. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  653. package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
  654. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  655. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  656. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  657. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  658. package/dist/v2/patterns/PageContent.d.ts +3 -3
  659. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  660. package/dist/v2/patterns/PageContent.js.map +1 -1
  661. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  662. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  663. package/dist/v2/patterns/ReferentielField.js +2 -1
  664. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  665. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  666. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  667. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  668. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  669. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  670. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  671. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  672. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  673. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  674. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  675. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  676. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  677. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  678. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  679. package/dist/v2/patterns/Tour.d.ts +12 -12
  680. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  681. package/dist/v2/patterns/Tour.js +9 -8
  682. package/dist/v2/patterns/Tour.js.map +1 -1
  683. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  684. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  685. package/dist/v2/patterns/_dataGridShared.js +37 -3
  686. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  687. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  688. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  689. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  690. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  691. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  692. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  693. package/dist/v2/patterns/index.d.ts +27 -0
  694. package/dist/v2/patterns/index.d.ts.map +1 -1
  695. package/dist/v2/patterns/index.js.map +1 -1
  696. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  697. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  698. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  699. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  700. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  701. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  702. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  703. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  704. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  705. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  706. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  707. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  708. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  709. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  710. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  711. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  712. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  713. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  714. package/dist/v2/personalization/schema.d.ts +2 -2
  715. package/dist/v2/personalization/schema.d.ts.map +1 -1
  716. package/dist/v2/personalization/schema.js.map +1 -1
  717. package/dist/v2/personalization/types.d.ts +19 -19
  718. package/dist/v2/personalization/types.d.ts.map +1 -1
  719. package/dist/v2/personalization/types.js.map +1 -1
  720. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  721. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  722. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  723. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  724. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  725. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  726. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  727. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  728. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  729. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  730. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  731. package/dist/v2/theme/createPortnetTheme.js +25 -1
  732. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  733. package/dist/v2/types/datagrid.d.ts +59 -59
  734. package/dist/v2/types/datagrid.d.ts.map +1 -1
  735. package/dist/v2/types/datagrid.js.map +1 -1
  736. package/dist/v2/utils/apiError.d.ts +65 -4
  737. package/dist/v2/utils/apiError.d.ts.map +1 -1
  738. package/dist/v2/utils/apiError.js +69 -6
  739. package/dist/v2/utils/apiError.js.map +1 -1
  740. package/dist/v2/utils/index.d.ts +1 -0
  741. package/dist/v2/utils/index.d.ts.map +1 -1
  742. package/dist/v2/utils/index.js +7 -0
  743. package/dist/v2/utils/index.js.map +1 -1
  744. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  745. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  746. package/dist/v2/utils/mergeLabels.js +93 -0
  747. package/dist/v2/utils/mergeLabels.js.map +1 -0
  748. package/package.json +23 -15
@@ -0,0 +1,342 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ import Box from "@mui/material/Box";
8
+ import { Skeleton, SkeletonDetailHero } from "../components/Skeleton";
9
+
10
+ /**
11
+ * SkeletonPageShell — Portnet UI v2 (pattern)
12
+ *
13
+ * Route-level `Suspense` fallback: a skeleton of the canonical page skeleton
14
+ * (Charter §07 / §7.1 bis), sized to match `ActionBar` + `PageContent`.
15
+ *
16
+ * ─────────────────────────────────────────────────────────────────────────────
17
+ * WHY THIS BELONGS IN THE LIBRARY (capability gap G-02)
18
+ *
19
+ * R-P.1 MUST: "Routing avec `React.lazy` + `Suspense`, **fallback skeleton
20
+ * page**". The library shipped every skeleton PART — `Skeleton`, `SkeletonRow`,
21
+ * `SkeletonKPI`, `SkeletonDetailHero`, `SkeletonTabContent`, `SkeletonText` —
22
+ * and `PageBusy`, but nothing that satisfies R-P.1 directly:
23
+ *
24
+ * - `PageBusy` is a full-viewport spinner, and R-8.1 MUST forbids exactly that
25
+ * for navigation ("jamais de spinner full-screen sur navigation"). It cannot
26
+ * be the route fallback.
27
+ * - the parts are shaped for *inside* a page, not for the page frame.
28
+ *
29
+ * So every module hand-built a `RoutePageFallback` — observed in
30
+ * `procuration-portnet-fe` and `procuration-fe`, independently written.
31
+ *
32
+ * THE COUPLING IS THE ARGUMENT. To avoid the layout shift a skeleton exists to
33
+ * prevent, the fallback's padding must equal `ActionBar`'s and `PageContent`'s
34
+ * exactly. A module can only get that by reading this library's source and
35
+ * copying literals — which then silently rot the next time either component's
36
+ * padding changes. Only the library can keep them in lockstep, so only the
37
+ * library should own it. Values below are copied from the two components in this
38
+ * same directory; a change there must change them here.
39
+ * ─────────────────────────────────────────────────────────────────────────────
40
+ *
41
+ * Accessibility (R-Sk.3). ONE labelled `aria-busy` region wraps the whole
42
+ * shell, and every child is an `aria-hidden` `Skeleton` primitive. This
43
+ * deliberately does NOT compose `SkeletonText` / `SkeletonTabContent`, because
44
+ * each of those carries its own `aria-busy` + `aria-label`, and nesting live
45
+ * regions makes a screen reader announce a page load two or three times.
46
+ *
47
+ * Dimensions come from density tokens (`--btn-h`, `--input-h`, `--row-h`)
48
+ * rather than px literals, so the reserved space follows a
49
+ * `data-density="compact"` switch instead of being 6–8 px wrong under it.
50
+ *
51
+ * Usage:
52
+ * <Suspense fallback={<SkeletonPageShell variant="list" />}>
53
+ * <Outlet />
54
+ * </Suspense>
55
+ */
56
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
57
+ /* ── Copied from ActionBar.tsx / PageContent.tsx in this directory ──────────
58
+ * If either changes, change these with it. */
59
+ var ACTION_BAR_PADDING = Object.freeze({
60
+ xs: "var(--s-3)",
61
+ sm: "var(--s-3) var(--s-4)",
62
+ lg: "var(--s-3) var(--s-6)"
63
+ });
64
+ var PAGE_CONTENT_PADDING = Object.freeze({
65
+ xs: "var(--s-3)",
66
+ sm: "var(--s-4)",
67
+ lg: "var(--s-6)"
68
+ });
69
+ var FILTER_STRIP_SX = Object.freeze({
70
+ display: "flex",
71
+ flexWrap: "wrap",
72
+ gap: "var(--s-3)",
73
+ padding: "var(--s-4)",
74
+ background: "var(--surface)",
75
+ border: "1px solid var(--border)",
76
+ borderRadius: "var(--r-lg)"
77
+ });
78
+ var TABLE_SHELL_SX = Object.freeze({
79
+ background: "var(--surface)",
80
+ border: "1px solid var(--border)",
81
+ borderRadius: "var(--r-lg)",
82
+ overflow: "hidden"
83
+ });
84
+
85
+ /** Filter strip + table rows. */
86
+ function ListBody(_ref) {
87
+ var rows = _ref.rows;
88
+ return /*#__PURE__*/_jsxs(_Fragment, {
89
+ children: [/*#__PURE__*/_jsx(Box, {
90
+ sx: FILTER_STRIP_SX,
91
+ children: [0, 1, 2].map(function (i) {
92
+ return /*#__PURE__*/_jsxs(Box, {
93
+ sx: {
94
+ flex: "1 1 240px",
95
+ minWidth: 0
96
+ },
97
+ children: [/*#__PURE__*/_jsx(Skeleton, {
98
+ width: "42%",
99
+ height: 11,
100
+ style: {
101
+ marginBottom: "var(--s-2)"
102
+ }
103
+ }), /*#__PURE__*/_jsx(Skeleton, {
104
+ height: "var(--input-h)",
105
+ radius: 8
106
+ })]
107
+ }, i);
108
+ })
109
+ }), /*#__PURE__*/_jsxs(Box, {
110
+ sx: TABLE_SHELL_SX,
111
+ children: [/*#__PURE__*/_jsx(Box, {
112
+ sx: {
113
+ display: "flex",
114
+ gap: "var(--s-4)",
115
+ padding: "var(--s-3) var(--s-4)",
116
+ borderBottom: "1px solid var(--border)",
117
+ background: "var(--bg-subtle)"
118
+ },
119
+ children: ["18%", "26%", "14%", "16%", "12%"].map(function (w) {
120
+ return /*#__PURE__*/_jsx(Skeleton, {
121
+ width: w,
122
+ height: 11
123
+ }, w);
124
+ })
125
+ }), Array.from({
126
+ length: rows
127
+ }, function (_, i) {
128
+ return /*#__PURE__*/_jsx(Box, {
129
+ sx: {
130
+ display: "flex",
131
+ alignItems: "center",
132
+ gap: "var(--s-4)",
133
+ padding: "0 var(--s-4)",
134
+ height: "var(--row-h)",
135
+ borderBottom: "1px solid var(--border)"
136
+ },
137
+ children: ["18%", "26%", "14%", "16%", "12%"].map(function (w) {
138
+ return /*#__PURE__*/_jsx(Skeleton, {
139
+ width: w,
140
+ height: 13
141
+ }, w);
142
+ })
143
+ }, i);
144
+ })]
145
+ })]
146
+ });
147
+ }
148
+
149
+ /** Horizontal stepper + two-column field grid. */
150
+ function FormBody(_ref2) {
151
+ var rows = _ref2.rows;
152
+ return /*#__PURE__*/_jsxs(_Fragment, {
153
+ children: [/*#__PURE__*/_jsx(Box, {
154
+ sx: {
155
+ display: "flex",
156
+ alignItems: "center",
157
+ gap: "var(--s-4)",
158
+ padding: "var(--s-4)",
159
+ background: "var(--surface)",
160
+ border: "1px solid var(--border)",
161
+ borderRadius: "var(--r-lg)"
162
+ },
163
+ children: [0, 1, 2].map(function (i) {
164
+ return /*#__PURE__*/_jsxs(Box, {
165
+ sx: {
166
+ display: "flex",
167
+ alignItems: "center",
168
+ gap: "var(--s-2)",
169
+ flex: 1
170
+ },
171
+ children: [/*#__PURE__*/_jsx(Skeleton, {
172
+ width: 24,
173
+ height: 24,
174
+ radius: 9999
175
+ }), /*#__PURE__*/_jsx(Skeleton, {
176
+ width: "60%",
177
+ height: 12
178
+ })]
179
+ }, i);
180
+ })
181
+ }), /*#__PURE__*/_jsx(Box, {
182
+ sx: {
183
+ display: "grid",
184
+ gridTemplateColumns: {
185
+ xs: "1fr",
186
+ md: "1fr 1fr"
187
+ },
188
+ gap: "var(--s-4)",
189
+ padding: "var(--s-5)",
190
+ background: "var(--surface)",
191
+ border: "1px solid var(--border)",
192
+ borderRadius: "var(--r-lg)"
193
+ },
194
+ children: Array.from({
195
+ length: rows
196
+ }, function (_, i) {
197
+ return /*#__PURE__*/_jsxs(Box, {
198
+ children: [/*#__PURE__*/_jsx(Skeleton, {
199
+ width: "38%",
200
+ height: 11,
201
+ style: {
202
+ marginBottom: "var(--s-2)"
203
+ }
204
+ }), /*#__PURE__*/_jsx(Skeleton, {
205
+ height: "var(--input-h)",
206
+ radius: 8
207
+ })]
208
+ }, i);
209
+ })
210
+ })]
211
+ });
212
+ }
213
+
214
+ /** Hero card + tab strip + tab content. */
215
+ function DetailBody(_ref3) {
216
+ var rows = _ref3.rows;
217
+ return /*#__PURE__*/_jsxs(_Fragment, {
218
+ children: [/*#__PURE__*/_jsx(SkeletonDetailHero, {}), /*#__PURE__*/_jsx(Box, {
219
+ sx: {
220
+ display: "flex",
221
+ gap: "var(--s-4)"
222
+ },
223
+ children: [0, 1, 2].map(function (i) {
224
+ return /*#__PURE__*/_jsx(Skeleton, {
225
+ width: 96,
226
+ height: 14
227
+ }, i);
228
+ })
229
+ }), /*#__PURE__*/_jsx(Box, {
230
+ sx: {
231
+ display: "flex",
232
+ flexDirection: "column",
233
+ gap: "var(--s-3)",
234
+ padding: "var(--s-5)",
235
+ background: "var(--surface)",
236
+ border: "1px solid var(--border)",
237
+ borderRadius: "var(--r-lg)"
238
+ },
239
+ children: Array.from({
240
+ length: rows
241
+ }, function (_, i) {
242
+ return /*#__PURE__*/_jsxs(Box, {
243
+ sx: {
244
+ display: "flex",
245
+ gap: "var(--s-4)"
246
+ },
247
+ children: [/*#__PURE__*/_jsx(Skeleton, {
248
+ width: "22%",
249
+ height: 12
250
+ }), /*#__PURE__*/_jsx(Skeleton, {
251
+ width: "".concat(44 + i % 3 * 10, "%"),
252
+ height: 12
253
+ })]
254
+ }, i);
255
+ })
256
+ })]
257
+ });
258
+ }
259
+ function SkeletonPageShell(_ref4) {
260
+ var _ref4$variant = _ref4.variant,
261
+ variant = _ref4$variant === void 0 ? "list" : _ref4$variant,
262
+ _ref4$breadcrumb = _ref4.breadcrumb,
263
+ breadcrumb = _ref4$breadcrumb === void 0 ? true : _ref4$breadcrumb,
264
+ _ref4$subtitle = _ref4.subtitle,
265
+ subtitle = _ref4$subtitle === void 0 ? true : _ref4$subtitle,
266
+ _ref4$action = _ref4.action,
267
+ action = _ref4$action === void 0 ? true : _ref4$action,
268
+ _ref4$rows = _ref4.rows,
269
+ rows = _ref4$rows === void 0 ? 6 : _ref4$rows,
270
+ _ref4$loadingLabel = _ref4.loadingLabel,
271
+ loadingLabel = _ref4$loadingLabel === void 0 ? "Chargement de la page…" : _ref4$loadingLabel,
272
+ sx = _ref4.sx;
273
+ var safeRows = Math.max(1, Math.floor(rows));
274
+ return /*#__PURE__*/_jsxs(Box, {
275
+ "aria-busy": "true",
276
+ "aria-label": loadingLabel,
277
+ sx: _objectSpread({
278
+ minWidth: 0
279
+ }, sx),
280
+ children: [/*#__PURE__*/_jsxs(Box, {
281
+ sx: {
282
+ background: "var(--bg)",
283
+ padding: ACTION_BAR_PADDING
284
+ },
285
+ children: [breadcrumb && /*#__PURE__*/_jsx(Skeleton, {
286
+ width: "34%",
287
+ height: 12,
288
+ style: {
289
+ marginBottom: "var(--s-2)"
290
+ }
291
+ }), /*#__PURE__*/_jsxs(Box, {
292
+ sx: {
293
+ display: "flex",
294
+ alignItems: {
295
+ xs: "flex-start",
296
+ sm: "center"
297
+ },
298
+ justifyContent: "space-between",
299
+ flexWrap: {
300
+ xs: "wrap",
301
+ sm: "nowrap"
302
+ },
303
+ gap: {
304
+ xs: "var(--s-2)",
305
+ sm: "var(--s-4)"
306
+ }
307
+ },
308
+ children: [/*#__PURE__*/_jsx(Skeleton, {
309
+ width: "42%",
310
+ height: 22
311
+ }), action && /*#__PURE__*/_jsx(Skeleton, {
312
+ width: 148,
313
+ height: "var(--btn-h)",
314
+ radius: 8
315
+ })]
316
+ }), subtitle && /*#__PURE__*/_jsx(Skeleton, {
317
+ width: "56%",
318
+ height: 13,
319
+ style: {
320
+ marginTop: "var(--s-1)"
321
+ }
322
+ })]
323
+ }), /*#__PURE__*/_jsxs(Box, {
324
+ sx: {
325
+ padding: PAGE_CONTENT_PADDING,
326
+ display: "flex",
327
+ flexDirection: "column",
328
+ gap: "var(--s-4)",
329
+ minWidth: 0
330
+ },
331
+ children: [variant === "list" && /*#__PURE__*/_jsx(ListBody, {
332
+ rows: safeRows
333
+ }), variant === "form" && /*#__PURE__*/_jsx(FormBody, {
334
+ rows: safeRows
335
+ }), variant === "detail" && /*#__PURE__*/_jsx(DetailBody, {
336
+ rows: safeRows
337
+ })]
338
+ })]
339
+ });
340
+ }
341
+ export default SkeletonPageShell;
342
+ //# sourceMappingURL=SkeletonPageShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkeletonPageShell.js","names":["Box","Skeleton","SkeletonDetailHero","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ACTION_BAR_PADDING","Object","freeze","xs","sm","lg","PAGE_CONTENT_PADDING","FILTER_STRIP_SX","display","flexWrap","gap","padding","background","border","borderRadius","TABLE_SHELL_SX","overflow","ListBody","_ref","rows","children","sx","map","i","flex","minWidth","width","height","style","marginBottom","radius","borderBottom","w","Array","from","length","_","alignItems","FormBody","_ref2","gridTemplateColumns","md","DetailBody","_ref3","flexDirection","concat","SkeletonPageShell","_ref4","_ref4$variant","variant","_ref4$breadcrumb","breadcrumb","_ref4$subtitle","subtitle","_ref4$action","action","_ref4$rows","_ref4$loadingLabel","loadingLabel","safeRows","Math","max","floor","_objectSpread","justifyContent","marginTop"],"sources":["../../../../src/lib/v2/patterns/SkeletonPageShell.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { Skeleton, SkeletonDetailHero } from \"../components/Skeleton\";\r\n\r\n/**\r\n * SkeletonPageShell — Portnet UI v2 (pattern)\r\n *\r\n * Route-level `Suspense` fallback: a skeleton of the canonical page skeleton\r\n * (Charter §07 / §7.1 bis), sized to match `ActionBar` + `PageContent`.\r\n *\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n * WHY THIS BELONGS IN THE LIBRARY (capability gap G-02)\r\n *\r\n * R-P.1 MUST: \"Routing avec `React.lazy` + `Suspense`, **fallback skeleton\r\n * page**\". The library shipped every skeleton PART — `Skeleton`, `SkeletonRow`,\r\n * `SkeletonKPI`, `SkeletonDetailHero`, `SkeletonTabContent`, `SkeletonText` —\r\n * and `PageBusy`, but nothing that satisfies R-P.1 directly:\r\n *\r\n * - `PageBusy` is a full-viewport spinner, and R-8.1 MUST forbids exactly that\r\n * for navigation (\"jamais de spinner full-screen sur navigation\"). It cannot\r\n * be the route fallback.\r\n * - the parts are shaped for *inside* a page, not for the page frame.\r\n *\r\n * So every module hand-built a `RoutePageFallback` — observed in\r\n * `procuration-portnet-fe` and `procuration-fe`, independently written.\r\n *\r\n * THE COUPLING IS THE ARGUMENT. To avoid the layout shift a skeleton exists to\r\n * prevent, the fallback's padding must equal `ActionBar`'s and `PageContent`'s\r\n * exactly. A module can only get that by reading this library's source and\r\n * copying literals — which then silently rot the next time either component's\r\n * padding changes. Only the library can keep them in lockstep, so only the\r\n * library should own it. Values below are copied from the two components in this\r\n * same directory; a change there must change them here.\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n *\r\n * Accessibility (R-Sk.3). ONE labelled `aria-busy` region wraps the whole\r\n * shell, and every child is an `aria-hidden` `Skeleton` primitive. This\r\n * deliberately does NOT compose `SkeletonText` / `SkeletonTabContent`, because\r\n * each of those carries its own `aria-busy` + `aria-label`, and nesting live\r\n * regions makes a screen reader announce a page load two or three times.\r\n *\r\n * Dimensions come from density tokens (`--btn-h`, `--input-h`, `--row-h`)\r\n * rather than px literals, so the reserved space follows a\r\n * `data-density=\"compact\"` switch instead of being 6–8 px wrong under it.\r\n *\r\n * Usage:\r\n * <Suspense fallback={<SkeletonPageShell variant=\"list\" />}>\r\n * <Outlet />\r\n * </Suspense>\r\n */\r\n\r\nexport type SkeletonPageShellVariant = \"list\" | \"form\" | \"detail\";\r\n\r\nexport interface SkeletonPageShellProps {\r\n /**\r\n * Which page archetype to mime (R-Sk.2 — \"forme et nombre miment le contenu\r\n * réel\").\r\n *\r\n * - `list` — filter strip + table rows (listing screens)\r\n * - `form` — stepper + two-column field grid (create / edit screens)\r\n * - `detail` — hero card + tab content (consultation screens)\r\n *\r\n * @default \"list\"\r\n */\r\n variant?: SkeletonPageShellVariant | undefined;\r\n /** Reserve the breadcrumb row. @default true */\r\n breadcrumb?: boolean | undefined;\r\n /** Reserve the subtitle line. @default true */\r\n subtitle?: boolean | undefined;\r\n /** Reserve a primary CTA in the header. @default true */\r\n action?: boolean | undefined;\r\n /** Rows in the `list` variant / field pairs in `form`. @default 6 */\r\n rows?: number | undefined;\r\n /** Accessible name of the busy region. Localise per host. */\r\n loadingLabel?: string | undefined;\r\n /** sx overrides applied to the outer region. */\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\n/* ── Copied from ActionBar.tsx / PageContent.tsx in this directory ──────────\r\n * If either changes, change these with it. */\r\nconst ACTION_BAR_PADDING = Object.freeze({\r\n xs: \"var(--s-3)\",\r\n sm: \"var(--s-3) var(--s-4)\",\r\n lg: \"var(--s-3) var(--s-6)\",\r\n});\r\n\r\nconst PAGE_CONTENT_PADDING = Object.freeze({\r\n xs: \"var(--s-3)\",\r\n sm: \"var(--s-4)\",\r\n lg: \"var(--s-6)\",\r\n});\r\n\r\nconst FILTER_STRIP_SX = Object.freeze({\r\n display: \"flex\",\r\n flexWrap: \"wrap\",\r\n gap: \"var(--s-3)\",\r\n padding: \"var(--s-4)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n});\r\n\r\nconst TABLE_SHELL_SX = Object.freeze({\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n overflow: \"hidden\",\r\n});\r\n\r\n/** Filter strip + table rows. */\r\nfunction ListBody({ rows }: { rows: number }) {\r\n return (\r\n <>\r\n <Box sx={FILTER_STRIP_SX}>\r\n {[0, 1, 2].map((i) => (\r\n <Box key={i} sx={{ flex: \"1 1 240px\", minWidth: 0 }}>\r\n <Skeleton\r\n width=\"42%\"\r\n height={11}\r\n style={{ marginBottom: \"var(--s-2)\" }}\r\n />\r\n <Skeleton height=\"var(--input-h)\" radius={8} />\r\n </Box>\r\n ))}\r\n </Box>\r\n\r\n <Box sx={TABLE_SHELL_SX}>\r\n {/* Header band, then rows at the live row height. */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: \"var(--s-4)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n background: \"var(--bg-subtle)\",\r\n }}\r\n >\r\n {[\"18%\", \"26%\", \"14%\", \"16%\", \"12%\"].map((w) => (\r\n <Skeleton key={w} width={w} height={11} />\r\n ))}\r\n </Box>\r\n\r\n {Array.from({ length: rows }, (_, i) => (\r\n <Box\r\n key={i}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-4)\",\r\n padding: \"0 var(--s-4)\",\r\n height: \"var(--row-h)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n }}\r\n >\r\n {[\"18%\", \"26%\", \"14%\", \"16%\", \"12%\"].map((w) => (\r\n <Skeleton key={w} width={w} height={13} />\r\n ))}\r\n </Box>\r\n ))}\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\n/** Horizontal stepper + two-column field grid. */\r\nfunction FormBody({ rows }: { rows: number }) {\r\n return (\r\n <>\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-4)\",\r\n padding: \"var(--s-4)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {[0, 1, 2].map((i) => (\r\n <Box\r\n key={i}\r\n sx={{ display: \"flex\", alignItems: \"center\", gap: \"var(--s-2)\", flex: 1 }}\r\n >\r\n <Skeleton width={24} height={24} radius={9999} />\r\n <Skeleton width=\"60%\" height={12} />\r\n </Box>\r\n ))}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: { xs: \"1fr\", md: \"1fr 1fr\" },\r\n gap: \"var(--s-4)\",\r\n padding: \"var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {Array.from({ length: rows }, (_, i) => (\r\n <Box key={i}>\r\n <Skeleton\r\n width=\"38%\"\r\n height={11}\r\n style={{ marginBottom: \"var(--s-2)\" }}\r\n />\r\n <Skeleton height=\"var(--input-h)\" radius={8} />\r\n </Box>\r\n ))}\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\n/** Hero card + tab strip + tab content. */\r\nfunction DetailBody({ rows }: { rows: number }) {\r\n return (\r\n <>\r\n <SkeletonDetailHero />\r\n\r\n <Box sx={{ display: \"flex\", gap: \"var(--s-4)\" }}>\r\n {[0, 1, 2].map((i) => (\r\n <Skeleton key={i} width={96} height={14} />\r\n ))}\r\n </Box>\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-3)\",\r\n padding: \"var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {Array.from({ length: rows }, (_, i) => (\r\n <Box key={i} sx={{ display: \"flex\", gap: \"var(--s-4)\" }}>\r\n <Skeleton width=\"22%\" height={12} />\r\n <Skeleton width={`${44 + (i % 3) * 10}%`} height={12} />\r\n </Box>\r\n ))}\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nfunction SkeletonPageShell({\r\n variant = \"list\",\r\n breadcrumb = true,\r\n subtitle = true,\r\n action = true,\r\n rows = 6,\r\n loadingLabel = \"Chargement de la page…\",\r\n sx,\r\n}: SkeletonPageShellProps) {\r\n const safeRows = Math.max(1, Math.floor(rows));\r\n\r\n return (\r\n <Box\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n sx={{ minWidth: 0, ...(sx as SystemStyleObject<Theme>) }}\r\n >\r\n {/* ── ActionBar zone ── */}\r\n <Box sx={{ background: \"var(--bg)\", padding: ACTION_BAR_PADDING }}>\r\n {breadcrumb && (\r\n <Skeleton\r\n width=\"34%\"\r\n height={12}\r\n style={{ marginBottom: \"var(--s-2)\" }}\r\n />\r\n )}\r\n\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: { xs: \"flex-start\", sm: \"center\" },\r\n justifyContent: \"space-between\",\r\n flexWrap: { xs: \"wrap\", sm: \"nowrap\" },\r\n gap: { xs: \"var(--s-2)\", sm: \"var(--s-4)\" },\r\n }}\r\n >\r\n {/* Title: 18px on xs, 22px on sm+, matching ActionBar's h1. */}\r\n <Skeleton width=\"42%\" height={22} />\r\n {action && (\r\n <Skeleton width={148} height=\"var(--btn-h)\" radius={8} />\r\n )}\r\n </Box>\r\n\r\n {subtitle && (\r\n <Skeleton\r\n width=\"56%\"\r\n height={13}\r\n style={{ marginTop: \"var(--s-1)\" }}\r\n />\r\n )}\r\n </Box>\r\n\r\n {/* ── PageContent zone ── */}\r\n <Box\r\n sx={{\r\n padding: PAGE_CONTENT_PADDING,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-4)\",\r\n minWidth: 0,\r\n }}\r\n >\r\n {variant === \"list\" && <ListBody rows={safeRows} />}\r\n {variant === \"form\" && <FormBody rows={safeRows} />}\r\n {variant === \"detail\" && <DetailBody rows={safeRows} />}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SkeletonPageShell;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,179 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ 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."); }
9
+ 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); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ 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; }
13
+ import * as React from "react";
14
+ import Box from "@mui/material/Box";
15
+ import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
16
+ import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
17
+ import UnfoldMoreIcon from "@mui/icons-material/UnfoldMore";
18
+
19
+ /**
20
+ * SortableHeader - Portnet UI v2 (pattern)
21
+ *
22
+ * Charter R-DG.7 - clickable header, ↑/↓ indicator, multi-sort with order badge.
23
+ *
24
+ * Single-sort: click → asc, click again → desc, click again → off.
25
+ * Multi-sort: shift+click adds a sort, badge shows priority.
26
+ *
27
+ * const [sort, setSort] = useState([{ key: "date", dir: "desc" }]);
28
+ * <th>
29
+ * <SortableHeader sortKey="date" sort={sort} setSort={setSort}>
30
+ * Date
31
+ * </SortableHeader>
32
+ * </th>
33
+ *
34
+ * A11y note (R-Ar.1):
35
+ * The trigger is a real <button>, not <div role="button">. WAI-ARIA's
36
+ * sortable column header pattern is <th aria-sort="..."><button>Label</button>;
37
+ * DataGrid already hoists aria-sort onto the <th> (see getAriaSort below),
38
+ * so this component only needs to be a real button.
39
+ *
40
+ * NOTE on aria-sort: SortableHeader does NOT set aria-sort. The aria-sort
41
+ * attribute belongs on the column header element (<th> / <TableCell>) per
42
+ * WAI-ARIA, NOT on a child interactive element. DataGrid (the canonical
43
+ * caller) hoists aria-sort onto the TableCell. Custom integrators wrapping
44
+ * SortableHeader directly in their own <th> must set aria-sort themselves
45
+ * - see `getAriaSort()` exported below.
46
+ */
47
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
48
+ function SortableHeader(_ref) {
49
+ var children = _ref.children,
50
+ sortKey = _ref.sortKey,
51
+ sort = _ref.sort,
52
+ setSort = _ref.setSort,
53
+ _ref$align = _ref.align,
54
+ align = _ref$align === void 0 ? "left" : _ref$align;
55
+ var entry = sort.find(function (s) {
56
+ return s.key === sortKey;
57
+ });
58
+ var idx = entry ? sort.findIndex(function (s) {
59
+ return s.key === sortKey;
60
+ }) : -1;
61
+ var dir = entry === null || entry === void 0 ? void 0 : entry.dir;
62
+ var click = function click(e) {
63
+ var multi = e.shiftKey;
64
+ setSort(function (prev) {
65
+ var exists = prev.find(function (s) {
66
+ return s.key === sortKey;
67
+ });
68
+ if (!multi) {
69
+ if (exists) return exists.dir === "asc" ? [{
70
+ key: sortKey,
71
+ dir: "desc"
72
+ }] : [];
73
+ return [{
74
+ key: sortKey,
75
+ dir: "asc"
76
+ }];
77
+ }
78
+ if (!exists) return [].concat(_toConsumableArray(prev), [{
79
+ key: sortKey,
80
+ dir: "asc"
81
+ }]);
82
+ if (exists.dir === "asc") return prev.map(function (s) {
83
+ return s.key === sortKey ? _objectSpread(_objectSpread({}, s), {}, {
84
+ dir: "desc"
85
+ }) : s;
86
+ });
87
+ return prev.filter(function (s) {
88
+ return s.key !== sortKey;
89
+ });
90
+ });
91
+ };
92
+ return /*#__PURE__*/_jsxs(Box, {
93
+ component: "button",
94
+ type: "button",
95
+ onClick: click,
96
+ sx: {
97
+ // <button> reset - neutralise UA defaults so the look matches the
98
+ // surrounding <th> styling.
99
+ background: "transparent",
100
+ border: 0,
101
+ padding: 0,
102
+ font: "inherit",
103
+ color: "inherit",
104
+ // Layout (unchanged from the previous Box-as-div version).
105
+ display: "inline-flex",
106
+ alignItems: "center",
107
+ gap: 0.5,
108
+ cursor: "pointer",
109
+ userSelect: "none",
110
+ justifyContent: align === "right" ? "flex-end" : "flex-start",
111
+ "&:focus-visible": {
112
+ outline: "2px solid var(--accent)",
113
+ outlineOffset: "var(--pui-outline-offset)",
114
+ borderRadius: "var(--r-sm)"
115
+ }
116
+ },
117
+ children: [/*#__PURE__*/_jsx("span", {
118
+ children: children
119
+ }), /*#__PURE__*/_jsxs(Box, {
120
+ component: "span",
121
+ "aria-hidden": "true",
122
+ sx: {
123
+ display: "inline-flex",
124
+ alignItems: "center",
125
+ color: dir ? "var(--accent)" : "var(--fg-subtle)"
126
+ },
127
+ children: [dir === "asc" && /*#__PURE__*/_jsx(ArrowUpwardIcon, {
128
+ sx: {
129
+ fontSize: 12
130
+ }
131
+ }), dir === "desc" && /*#__PURE__*/_jsx(ArrowDownwardIcon, {
132
+ sx: {
133
+ fontSize: 12
134
+ }
135
+ }), !dir && /*#__PURE__*/_jsx(UnfoldMoreIcon, {
136
+ sx: {
137
+ fontSize: 12
138
+ }
139
+ }), sort.length > 1 && idx >= 0 && /*#__PURE__*/_jsx(Box, {
140
+ component: "span",
141
+ sx: {
142
+ // R-T.1 - was 9 px (below charter floor even for captions). 11 px
143
+ // is the legible-caption sweet spot; the badge is a 1-digit
144
+ // integer so width impact is negligible.
145
+ fontSize: 11,
146
+ fontWeight: "var(--fw-bold)",
147
+ padding: "1px 5px",
148
+ marginLeft: 0.25,
149
+ borderRadius: "var(--r-full)",
150
+ background: "var(--accent)",
151
+ color: "var(--accent-fg)",
152
+ lineHeight: 1.4
153
+ },
154
+ children: idx + 1
155
+ })]
156
+ })]
157
+ });
158
+ }
159
+
160
+ /**
161
+ * Helper - returns the WAI-ARIA aria-sort token for a column header,
162
+ * given the current sort state and the column key. Set this on the <th>
163
+ * (or MUI TableCell) that wraps the SortableHeader.
164
+ */
165
+ export function getAriaSort(sort, sortKey) {
166
+ var entry = sort.find(function (s) {
167
+ return s.key === sortKey;
168
+ });
169
+ if (!entry) return "none";
170
+ return entry.dir === "asc" ? "ascending" : "descending";
171
+ }
172
+
173
+ /* ── applySort — locale-correct sorting ──────────────────────────────
174
+ * Extracted to ./_sort (shared with the useSortedRows hook). Re-exported
175
+ * here so the public call site `import { applySort } from ".../SortableHeader"`
176
+ * and the patterns barrel are unchanged. */
177
+ export { applySort } from "./_sort";
178
+ export default SortableHeader;
179
+ //# sourceMappingURL=SortableHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortableHeader.js","names":["React","Box","ArrowUpwardIcon","ArrowDownwardIcon","UnfoldMoreIcon","jsx","_jsx","jsxs","_jsxs","SortableHeader","_ref","children","sortKey","sort","setSort","_ref$align","align","entry","find","s","key","idx","findIndex","dir","click","e","multi","shiftKey","prev","exists","concat","_toConsumableArray","map","_objectSpread","filter","component","type","onClick","sx","background","border","padding","font","color","display","alignItems","gap","cursor","userSelect","justifyContent","outline","outlineOffset","borderRadius","fontSize","length","fontWeight","marginLeft","lineHeight","getAriaSort","applySort"],"sources":["../../../../src/lib/v2/patterns/SortableHeader.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\r\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\r\nimport UnfoldMoreIcon from \"@mui/icons-material/UnfoldMore\";\r\nimport type { Alignment, AriaSort, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * SortableHeader - Portnet UI v2 (pattern)\r\n *\r\n * Charter R-DG.7 - clickable header, ↑/↓ indicator, multi-sort with order badge.\r\n *\r\n * Single-sort: click → asc, click again → desc, click again → off.\r\n * Multi-sort: shift+click adds a sort, badge shows priority.\r\n *\r\n * const [sort, setSort] = useState([{ key: \"date\", dir: \"desc\" }]);\r\n * <th>\r\n * <SortableHeader sortKey=\"date\" sort={sort} setSort={setSort}>\r\n * Date\r\n * </SortableHeader>\r\n * </th>\r\n *\r\n * A11y note (R-Ar.1):\r\n * The trigger is a real <button>, not <div role=\"button\">. WAI-ARIA's\r\n * sortable column header pattern is <th aria-sort=\"...\"><button>Label</button>;\r\n * DataGrid already hoists aria-sort onto the <th> (see getAriaSort below),\r\n * so this component only needs to be a real button.\r\n *\r\n * NOTE on aria-sort: SortableHeader does NOT set aria-sort. The aria-sort\r\n * attribute belongs on the column header element (<th> / <TableCell>) per\r\n * WAI-ARIA, NOT on a child interactive element. DataGrid (the canonical\r\n * caller) hoists aria-sort onto the TableCell. Custom integrators wrapping\r\n * SortableHeader directly in their own <th> must set aria-sort themselves\r\n * - see `getAriaSort()` exported below.\r\n */\r\n\r\nexport interface SortableHeaderProps {\r\n children: React.ReactNode;\r\n sortKey: string;\r\n sort: SortDescriptor[];\r\n setSort: React.Dispatch<React.SetStateAction<SortDescriptor[]>>;\r\n align?: Alignment | undefined;\r\n}\r\n\r\nfunction SortableHeader({ children, sortKey, sort, setSort, align = \"left\" }: SortableHeaderProps) {\r\n const entry = sort.find((s) => s.key === sortKey);\r\n const idx = entry ? sort.findIndex((s) => s.key === sortKey) : -1;\r\n const dir = entry?.dir;\r\n\r\n const click = (e: React.MouseEvent) => {\r\n const multi = e.shiftKey;\r\n setSort((prev) => {\r\n const exists = prev.find((s) => s.key === sortKey);\r\n if (!multi) {\r\n if (exists) return exists.dir === \"asc\" ? [{ key: sortKey, dir: \"desc\" }] : [];\r\n return [{ key: sortKey, dir: \"asc\" }];\r\n }\r\n if (!exists) return [...prev, { key: sortKey, dir: \"asc\" }];\r\n if (exists.dir === \"asc\") return prev.map((s) => (s.key === sortKey ? { ...s, dir: \"desc\" } : s));\r\n return prev.filter((s) => s.key !== sortKey);\r\n });\r\n };\r\n\r\n return (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={click}\r\n sx={{\r\n // <button> reset - neutralise UA defaults so the look matches the\r\n // surrounding <th> styling.\r\n background: \"transparent\",\r\n border: 0,\r\n padding: 0,\r\n font: \"inherit\",\r\n color: \"inherit\",\r\n // Layout (unchanged from the previous Box-as-div version).\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: 0.5,\r\n cursor: \"pointer\",\r\n userSelect: \"none\",\r\n justifyContent: align === \"right\" ? \"flex-end\" : \"flex-start\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n borderRadius: \"var(--r-sm)\",\r\n },\r\n }}\r\n >\r\n <span>{children}</span>\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n color: dir ? \"var(--accent)\" : \"var(--fg-subtle)\",\r\n }}\r\n >\r\n {dir === \"asc\" && <ArrowUpwardIcon sx={{ fontSize: 12 }} />}\r\n {dir === \"desc\" && <ArrowDownwardIcon sx={{ fontSize: 12 }} />}\r\n {!dir && <UnfoldMoreIcon sx={{ fontSize: 12 }} />}\r\n {sort.length > 1 && idx >= 0 && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n // R-T.1 - was 9 px (below charter floor even for captions). 11 px\r\n // is the legible-caption sweet spot; the badge is a 1-digit\r\n // integer so width impact is negligible.\r\n fontSize: 11,\r\n fontWeight: \"var(--fw-bold)\",\r\n padding: \"1px 5px\",\r\n marginLeft: 0.25,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n lineHeight: 1.4,\r\n }}\r\n >\r\n {idx + 1}\r\n </Box>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\n/**\r\n * Helper - returns the WAI-ARIA aria-sort token for a column header,\r\n * given the current sort state and the column key. Set this on the <th>\r\n * (or MUI TableCell) that wraps the SortableHeader.\r\n */\r\nexport function getAriaSort(sort: SortDescriptor[], sortKey: string): AriaSort {\r\n const entry = sort.find((s) => s.key === sortKey);\r\n if (!entry) return \"none\";\r\n return entry.dir === \"asc\" ? \"ascending\" : \"descending\";\r\n}\r\n\r\n/* ── applySort — locale-correct sorting ──────────────────────────────\r\n * Extracted to ./_sort (shared with the useSortedRows hook). Re-exported\r\n * here so the public call site `import { applySort } from \".../SortableHeader\"`\r\n * and the patterns barrel are unchanged. */\r\nexport { applySort } from \"./_sort\";\r\n\r\nexport default SortableHeader;\r\n"],"mappings":"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","ignoreList":[]}