@portnet/ui 5.0.32 → 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 (1121) hide show
  1. package/CHANGELOG.md +524 -0
  2. package/README.md +101 -38
  3. package/dist/esm/index.js +196 -0
  4. package/dist/esm/index.js.map +1 -0
  5. package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
  6. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  7. package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  9. package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
  10. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  11. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  12. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  13. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  14. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  15. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  16. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  17. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  18. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  19. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  20. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  21. package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
  22. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  23. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  24. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  25. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  26. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  27. package/dist/esm/v2/components/Accordion.js +230 -0
  28. package/dist/esm/v2/components/Accordion.js.map +1 -0
  29. package/dist/esm/v2/components/ActionStrip.js +146 -0
  30. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  31. package/dist/esm/v2/components/Banner.js +254 -0
  32. package/dist/esm/v2/components/Banner.js.map +1 -0
  33. package/dist/esm/v2/components/Busy.js +97 -0
  34. package/dist/esm/v2/components/Busy.js.map +1 -0
  35. package/dist/esm/v2/components/Button.js +114 -0
  36. package/dist/esm/v2/components/Button.js.map +1 -0
  37. package/dist/esm/v2/components/CategoryTag.js +81 -0
  38. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  39. package/dist/esm/v2/components/Checkbox.js +124 -0
  40. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  41. package/dist/esm/v2/components/Chip.js +124 -0
  42. package/dist/esm/v2/components/Chip.js.map +1 -0
  43. package/dist/esm/v2/components/Combobox.js +394 -0
  44. package/dist/esm/v2/components/Combobox.js.map +1 -0
  45. package/dist/esm/v2/components/CommandPalette.js +660 -0
  46. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  47. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  48. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  49. package/dist/esm/v2/components/DatePicker.js +200 -0
  50. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  51. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  52. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  53. package/dist/esm/v2/components/DateTimePicker.js +182 -0
  54. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  55. package/dist/esm/v2/components/Drawer.js +333 -0
  56. package/dist/esm/v2/components/Drawer.js.map +1 -0
  57. package/dist/esm/v2/components/Dropzone.js +540 -0
  58. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  59. package/dist/esm/v2/components/EmptyState.js +102 -0
  60. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  61. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  62. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  63. package/dist/esm/v2/components/Field.js +197 -0
  64. package/dist/esm/v2/components/Field.js.map +1 -0
  65. package/dist/esm/v2/components/FieldError.js +124 -0
  66. package/dist/esm/v2/components/FieldError.js.map +1 -0
  67. package/dist/esm/v2/components/FieldHelp.js +202 -0
  68. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  69. package/dist/esm/v2/components/FileCard.js +162 -0
  70. package/dist/esm/v2/components/FileCard.js.map +1 -0
  71. package/dist/esm/v2/components/FilterTab.js +138 -0
  72. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  73. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  74. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  75. package/dist/esm/v2/components/FormGrid.js +179 -0
  76. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  77. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  78. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  79. package/dist/esm/v2/components/Input.js +107 -0
  80. package/dist/esm/v2/components/Input.js.map +1 -0
  81. package/dist/esm/v2/components/KPICard.js +237 -0
  82. package/dist/esm/v2/components/KPICard.js.map +1 -0
  83. package/dist/esm/v2/components/KPIStrip.js +84 -0
  84. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  85. package/dist/esm/v2/components/KV.js +75 -0
  86. package/dist/esm/v2/components/KV.js.map +1 -0
  87. package/dist/esm/v2/components/KVGrid.js +74 -0
  88. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  89. package/dist/esm/v2/components/Layout.js +284 -0
  90. package/dist/esm/v2/components/Layout.js.map +1 -0
  91. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  92. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  93. package/dist/esm/v2/components/Modal.js +276 -0
  94. package/dist/esm/v2/components/Modal.js.map +1 -0
  95. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  96. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  97. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  98. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  99. package/dist/esm/v2/components/NumberInput.js +309 -0
  100. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  101. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  102. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  103. package/dist/esm/v2/components/PdfViewer.js +122 -0
  104. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  105. package/dist/esm/v2/components/ProgressBar.js +202 -0
  106. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  107. package/dist/esm/v2/components/Radio.js +228 -0
  108. package/dist/esm/v2/components/Radio.js.map +1 -0
  109. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  110. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  111. package/dist/esm/v2/components/SectionHeader.js +132 -0
  112. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  113. package/dist/esm/v2/components/Segmented.js +254 -0
  114. package/dist/esm/v2/components/Segmented.js.map +1 -0
  115. package/dist/esm/v2/components/Select.js +490 -0
  116. package/dist/esm/v2/components/Select.js.map +1 -0
  117. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  118. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  119. package/dist/esm/v2/components/Skeleton.js +269 -0
  120. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  121. package/dist/esm/v2/components/SkipLink.js +49 -0
  122. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  123. package/dist/esm/v2/components/Spinner.js +69 -0
  124. package/dist/esm/v2/components/Spinner.js.map +1 -0
  125. package/dist/esm/v2/components/Status.js +64 -0
  126. package/dist/esm/v2/components/Status.js.map +1 -0
  127. package/dist/esm/v2/components/Stepper.js +432 -0
  128. package/dist/esm/v2/components/Stepper.js.map +1 -0
  129. package/dist/esm/v2/components/Surface.js +159 -0
  130. package/dist/esm/v2/components/Surface.js.map +1 -0
  131. package/dist/esm/v2/components/Switch.js +128 -0
  132. package/dist/esm/v2/components/Switch.js.map +1 -0
  133. package/dist/esm/v2/components/Tabs.js +150 -0
  134. package/dist/esm/v2/components/Tabs.js.map +1 -0
  135. package/dist/esm/v2/components/TelInput.js +274 -0
  136. package/dist/esm/v2/components/TelInput.js.map +1 -0
  137. package/dist/esm/v2/components/Textarea.js +72 -0
  138. package/dist/esm/v2/components/Textarea.js.map +1 -0
  139. package/dist/esm/v2/components/TimePicker.js +134 -0
  140. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  141. package/dist/esm/v2/components/Toast.js +376 -0
  142. package/dist/esm/v2/components/Toast.js.map +1 -0
  143. package/dist/esm/v2/components/Tooltip.js +161 -0
  144. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  145. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  146. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  147. package/dist/esm/v2/components/_pickerShared.js +60 -0
  148. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  149. package/dist/esm/v2/components/index.js +244 -0
  150. package/dist/esm/v2/components/index.js.map +1 -0
  151. package/dist/esm/v2/hooks/index.js +10 -0
  152. package/dist/esm/v2/hooks/index.js.map +1 -0
  153. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  154. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  155. package/dist/esm/v2/hooks/useDensity.js +119 -0
  156. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  157. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  158. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  159. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  160. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  161. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  162. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  163. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  164. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  165. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  166. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  167. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  168. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  169. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  170. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  171. package/dist/esm/v2/index.js +121 -0
  172. package/dist/esm/v2/index.js.map +1 -0
  173. package/dist/esm/v2/modalContext.js +108 -0
  174. package/dist/esm/v2/modalContext.js.map +1 -0
  175. package/dist/esm/v2/models/favorite.js +2 -0
  176. package/dist/esm/v2/models/favorite.js.map +1 -0
  177. package/dist/esm/v2/models/index.js +12 -0
  178. package/dist/esm/v2/models/index.js.map +1 -0
  179. package/dist/esm/v2/models/personalization.js +2 -0
  180. package/dist/esm/v2/models/personalization.js.map +1 -0
  181. package/dist/esm/v2/models/referentiel.js +2 -0
  182. package/dist/esm/v2/models/referentiel.js.map +1 -0
  183. package/dist/esm/v2/models/savedFilter.js +2 -0
  184. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  185. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  186. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  187. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  188. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  189. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  190. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  191. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  192. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  193. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  194. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  195. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  196. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  197. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  198. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  199. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  200. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  201. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  202. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  203. package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
  204. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  205. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  206. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  207. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  208. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  209. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  210. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  211. package/dist/esm/v2/patterns/FormSection.js +190 -0
  212. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  213. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  214. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  215. package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
  216. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  217. package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
  218. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  219. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  220. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  221. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  222. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  223. package/dist/esm/v2/patterns/FormikInput.js +127 -0
  224. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  225. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  226. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  227. package/dist/esm/v2/patterns/FormikSelect.js +159 -0
  228. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  229. package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
  230. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  231. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
  232. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  233. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  234. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  235. package/dist/esm/v2/patterns/PageContent.js +62 -0
  236. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  237. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  238. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  239. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  240. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  241. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  242. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  243. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  244. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  245. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  246. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  247. package/dist/esm/v2/patterns/Tour.js +471 -0
  248. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  249. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  250. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  251. package/dist/esm/v2/patterns/_sort.js +112 -0
  252. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  253. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  254. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  255. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  256. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  257. package/dist/esm/v2/patterns/index.js +95 -0
  258. package/dist/esm/v2/patterns/index.js.map +1 -0
  259. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  260. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  261. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  262. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  263. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  264. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  265. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  266. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  267. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  268. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  269. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  270. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  271. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  272. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  273. package/dist/esm/v2/personalization/capabilities/index.js +17 -0
  274. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  275. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  276. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  277. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  278. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  279. package/dist/esm/v2/personalization/index.js +46 -0
  280. package/dist/esm/v2/personalization/index.js.map +1 -0
  281. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  282. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  283. package/dist/esm/v2/personalization/schema.js +92 -0
  284. package/dist/esm/v2/personalization/schema.js.map +1 -0
  285. package/dist/esm/v2/personalization/types.js +2 -0
  286. package/dist/esm/v2/personalization/types.js.map +1 -0
  287. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  288. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  289. package/dist/esm/v2/referentiel/index.js +15 -0
  290. package/dist/esm/v2/referentiel/index.js.map +1 -0
  291. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  292. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  293. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  294. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  295. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  296. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  297. package/dist/esm/v2/styles/base.css +425 -0
  298. package/dist/esm/v2/styles/css.d.ts +10 -0
  299. package/dist/esm/v2/styles/index.js +12 -0
  300. package/dist/esm/v2/styles/index.js.map +1 -0
  301. package/dist/esm/v2/theme/_brand.js +64 -0
  302. package/dist/esm/v2/theme/_brand.js.map +1 -0
  303. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  304. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  305. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  306. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  307. package/dist/esm/v2/theme/cssVariables.js +198 -0
  308. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  309. package/dist/esm/v2/theme/index.js +32 -0
  310. package/dist/esm/v2/theme/index.js.map +1 -0
  311. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  312. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  313. package/dist/esm/v2/tokens/colors.js +219 -0
  314. package/dist/esm/v2/tokens/colors.js.map +1 -0
  315. package/dist/esm/v2/tokens/density.js +98 -0
  316. package/dist/esm/v2/tokens/density.js.map +1 -0
  317. package/dist/esm/v2/tokens/index.js +80 -0
  318. package/dist/esm/v2/tokens/index.js.map +1 -0
  319. package/dist/esm/v2/tokens/motion.js +88 -0
  320. package/dist/esm/v2/tokens/motion.js.map +1 -0
  321. package/dist/esm/v2/tokens/radius.js +22 -0
  322. package/dist/esm/v2/tokens/radius.js.map +1 -0
  323. package/dist/esm/v2/tokens/shadows.js +40 -0
  324. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  325. package/dist/esm/v2/tokens/spacing.js +51 -0
  326. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  327. package/dist/esm/v2/tokens/state.js +41 -0
  328. package/dist/esm/v2/tokens/state.js.map +1 -0
  329. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  330. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  331. package/dist/esm/v2/tokens/tokens.json +153 -0
  332. package/dist/esm/v2/tokens/typography.js +149 -0
  333. package/dist/esm/v2/tokens/typography.js.map +1 -0
  334. package/dist/esm/v2/tokens/zIndex.js +44 -0
  335. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  336. package/dist/esm/v2/types/common.js +2 -0
  337. package/dist/esm/v2/types/common.js.map +1 -0
  338. package/dist/esm/v2/types/datagrid.js +2 -0
  339. package/dist/esm/v2/types/datagrid.js.map +1 -0
  340. package/dist/esm/v2/types/index.js +12 -0
  341. package/dist/esm/v2/types/index.js.map +1 -0
  342. package/dist/esm/v2/utils/apiError.js +281 -0
  343. package/dist/esm/v2/utils/apiError.js.map +1 -0
  344. package/dist/esm/v2/utils/contrast.js +157 -0
  345. package/dist/esm/v2/utils/contrast.js.map +1 -0
  346. package/dist/esm/v2/utils/cx.js +38 -0
  347. package/dist/esm/v2/utils/cx.js.map +1 -0
  348. package/dist/esm/v2/utils/fileDownload.js +226 -0
  349. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  350. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  351. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  352. package/dist/esm/v2/utils/index.js +43 -0
  353. package/dist/esm/v2/utils/index.js.map +1 -0
  354. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  355. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  356. package/dist/esm/v2/utils/networkStatus.js +114 -0
  357. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  358. package/dist/index.d.ts +60 -0
  359. package/dist/index.d.ts.map +1 -0
  360. package/dist/index.js +183 -191
  361. package/dist/index.js.map +1 -0
  362. package/dist/v2/__tests__/FieldError.test.js +164 -0
  363. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  364. package/dist/v2/__tests__/FileCard.test.js +148 -0
  365. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  366. package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
  367. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
  368. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  369. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  370. package/dist/v2/__tests__/apiError.test.js +182 -0
  371. package/dist/v2/__tests__/apiError.test.js.map +1 -0
  372. package/dist/v2/__tests__/banned-patterns.test.js +272 -0
  373. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
  374. package/dist/v2/__tests__/contrast-palette.test.js +225 -0
  375. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
  376. package/dist/v2/__tests__/cssVariables.test.js +158 -0
  377. package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
  378. package/dist/v2/__tests__/labels-merge.test.js +153 -0
  379. package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
  380. package/dist/v2/__tests__/locale-fallback.test.js +111 -0
  381. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
  382. package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
  383. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
  384. package/dist/v2/components/Accordion.d.ts +56 -0
  385. package/dist/v2/components/Accordion.d.ts.map +1 -0
  386. package/dist/v2/components/Accordion.js +238 -0
  387. package/dist/v2/components/Accordion.js.map +1 -0
  388. package/dist/v2/components/ActionStrip.d.ts +67 -0
  389. package/dist/v2/components/ActionStrip.d.ts.map +1 -0
  390. package/dist/v2/components/ActionStrip.js +154 -0
  391. package/dist/v2/components/ActionStrip.js.map +1 -0
  392. package/dist/v2/components/Banner.d.ts +88 -0
  393. package/dist/v2/components/Banner.d.ts.map +1 -0
  394. package/dist/v2/components/Banner.js +264 -0
  395. package/dist/v2/components/Banner.js.map +1 -0
  396. package/dist/v2/components/Busy.d.ts +18 -0
  397. package/dist/v2/components/Busy.d.ts.map +1 -0
  398. package/dist/v2/components/Busy.js +104 -0
  399. package/dist/v2/components/Busy.js.map +1 -0
  400. package/dist/v2/components/Button.d.ts +36 -0
  401. package/dist/v2/components/Button.d.ts.map +1 -0
  402. package/dist/v2/components/Button.js +122 -0
  403. package/dist/v2/components/Button.js.map +1 -0
  404. package/dist/v2/components/CategoryTag.d.ts +45 -0
  405. package/dist/v2/components/CategoryTag.d.ts.map +1 -0
  406. package/dist/v2/components/CategoryTag.js +89 -0
  407. package/dist/v2/components/CategoryTag.js.map +1 -0
  408. package/dist/v2/components/Checkbox.d.ts +59 -0
  409. package/dist/v2/components/Checkbox.d.ts.map +1 -0
  410. package/dist/v2/components/Checkbox.js +134 -0
  411. package/dist/v2/components/Checkbox.js.map +1 -0
  412. package/dist/v2/components/Chip.d.ts +48 -0
  413. package/dist/v2/components/Chip.d.ts.map +1 -0
  414. package/dist/v2/components/Chip.js +132 -0
  415. package/dist/v2/components/Chip.js.map +1 -0
  416. package/dist/v2/components/Combobox.d.ts +134 -0
  417. package/dist/v2/components/Combobox.d.ts.map +1 -0
  418. package/dist/v2/components/Combobox.js +400 -0
  419. package/dist/v2/components/Combobox.js.map +1 -0
  420. package/dist/v2/components/CommandPalette.d.ts +36 -0
  421. package/dist/v2/components/CommandPalette.d.ts.map +1 -0
  422. package/dist/v2/components/CommandPalette.js +668 -0
  423. package/dist/v2/components/CommandPalette.js.map +1 -0
  424. package/dist/v2/components/ConfirmDialog.d.ts +23 -0
  425. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
  426. package/dist/v2/components/ConfirmDialog.js +151 -0
  427. package/dist/v2/components/ConfirmDialog.js.map +1 -0
  428. package/dist/v2/components/DatePicker.d.ts +21 -0
  429. package/dist/v2/components/DatePicker.d.ts.map +1 -0
  430. package/dist/v2/components/DatePicker.js +207 -0
  431. package/dist/v2/components/DatePicker.js.map +1 -0
  432. package/dist/v2/components/DateRangePicker.d.ts +81 -0
  433. package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
  434. package/dist/v2/components/DateRangePicker.js +296 -0
  435. package/dist/v2/components/DateRangePicker.js.map +1 -0
  436. package/dist/v2/components/DateTimePicker.d.ts +21 -0
  437. package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
  438. package/dist/v2/components/DateTimePicker.js +189 -0
  439. package/dist/v2/components/DateTimePicker.js.map +1 -0
  440. package/dist/v2/components/Drawer.d.ts +34 -0
  441. package/dist/v2/components/Drawer.d.ts.map +1 -0
  442. package/dist/v2/components/Drawer.js +340 -0
  443. package/dist/v2/components/Drawer.js.map +1 -0
  444. package/dist/v2/components/Dropzone.d.ts +150 -0
  445. package/dist/v2/components/Dropzone.d.ts.map +1 -0
  446. package/dist/v2/components/Dropzone.js +547 -0
  447. package/dist/v2/components/Dropzone.js.map +1 -0
  448. package/dist/v2/components/EmptyState.d.ts +36 -0
  449. package/dist/v2/components/EmptyState.d.ts.map +1 -0
  450. package/dist/v2/components/EmptyState.js +112 -0
  451. package/dist/v2/components/EmptyState.js.map +1 -0
  452. package/dist/v2/components/FavoriteToggle.d.ts +22 -0
  453. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
  454. package/dist/v2/components/FavoriteToggle.js +135 -0
  455. package/dist/v2/components/FavoriteToggle.js.map +1 -0
  456. package/dist/v2/components/Field.d.ts +63 -0
  457. package/dist/v2/components/Field.d.ts.map +1 -0
  458. package/dist/v2/components/Field.js +204 -0
  459. package/dist/v2/components/Field.js.map +1 -0
  460. package/dist/v2/components/FieldError.d.ts +78 -0
  461. package/dist/v2/components/FieldError.d.ts.map +1 -0
  462. package/dist/v2/components/FieldError.js +131 -0
  463. package/dist/v2/components/FieldError.js.map +1 -0
  464. package/dist/v2/components/FieldHelp.d.ts +54 -0
  465. package/dist/v2/components/FieldHelp.d.ts.map +1 -0
  466. package/dist/v2/components/FieldHelp.js +209 -0
  467. package/dist/v2/components/FieldHelp.js.map +1 -0
  468. package/dist/v2/components/FileCard.d.ts +75 -0
  469. package/dist/v2/components/FileCard.d.ts.map +1 -0
  470. package/dist/v2/components/FileCard.js +169 -0
  471. package/dist/v2/components/FileCard.js.map +1 -0
  472. package/dist/v2/components/FilterTab.d.ts +35 -0
  473. package/dist/v2/components/FilterTab.d.ts.map +1 -0
  474. package/dist/v2/components/FilterTab.js +145 -0
  475. package/dist/v2/components/FilterTab.js.map +1 -0
  476. package/dist/v2/components/ForbiddenPage.d.ts +40 -0
  477. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
  478. package/dist/v2/components/ForbiddenPage.js +81 -0
  479. package/dist/v2/components/ForbiddenPage.js.map +1 -0
  480. package/dist/v2/components/FormGrid.d.ts +81 -0
  481. package/dist/v2/components/FormGrid.d.ts.map +1 -0
  482. package/dist/v2/components/FormGrid.js +187 -0
  483. package/dist/v2/components/FormGrid.js.map +1 -0
  484. package/dist/v2/components/FormikDisplay.d.ts +38 -0
  485. package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
  486. package/dist/v2/components/FormikDisplay.js +125 -0
  487. package/dist/v2/components/FormikDisplay.js.map +1 -0
  488. package/dist/v2/components/Input.d.ts +62 -0
  489. package/dist/v2/components/Input.d.ts.map +1 -0
  490. package/dist/v2/components/Input.js +115 -0
  491. package/dist/v2/components/Input.js.map +1 -0
  492. package/dist/v2/components/KPICard.d.ts +52 -0
  493. package/dist/v2/components/KPICard.d.ts.map +1 -0
  494. package/dist/v2/components/KPICard.js +244 -0
  495. package/dist/v2/components/KPICard.js.map +1 -0
  496. package/dist/v2/components/KPIStrip.d.ts +68 -0
  497. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  498. package/dist/v2/components/KPIStrip.js +92 -0
  499. package/dist/v2/components/KPIStrip.js.map +1 -0
  500. package/dist/v2/components/KV.d.ts +25 -0
  501. package/dist/v2/components/KV.d.ts.map +1 -0
  502. package/dist/v2/components/KV.js +82 -0
  503. package/dist/v2/components/KV.js.map +1 -0
  504. package/dist/v2/components/KVGrid.d.ts +44 -0
  505. package/dist/v2/components/KVGrid.d.ts.map +1 -0
  506. package/dist/v2/components/KVGrid.js +80 -0
  507. package/dist/v2/components/KVGrid.js.map +1 -0
  508. package/dist/v2/components/Layout.d.ts +78 -0
  509. package/dist/v2/components/Layout.d.ts.map +1 -0
  510. package/dist/v2/components/Layout.js +284 -0
  511. package/dist/v2/components/Layout.js.map +1 -0
  512. package/dist/v2/components/MobileRowCard.d.ts +63 -0
  513. package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
  514. package/dist/v2/components/MobileRowCard.js +321 -0
  515. package/dist/v2/components/MobileRowCard.js.map +1 -0
  516. package/dist/v2/components/Modal.d.ts +21 -0
  517. package/dist/v2/components/Modal.d.ts.map +1 -0
  518. package/dist/v2/components/Modal.js +281 -0
  519. package/dist/v2/components/Modal.js.map +1 -0
  520. package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
  521. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
  522. package/dist/v2/components/NetworkErrorPage.js +86 -0
  523. package/dist/v2/components/NetworkErrorPage.js.map +1 -0
  524. package/dist/v2/components/NotFoundPage.d.ts +9 -0
  525. package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
  526. package/dist/v2/components/NotFoundPage.js +66 -0
  527. package/dist/v2/components/NotFoundPage.js.map +1 -0
  528. package/dist/v2/components/NumberInput.d.ts +83 -0
  529. package/dist/v2/components/NumberInput.d.ts.map +1 -0
  530. package/dist/v2/components/NumberInput.js +317 -0
  531. package/dist/v2/components/NumberInput.js.map +1 -0
  532. package/dist/v2/components/OverflowMenu.d.ts +55 -0
  533. package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
  534. package/dist/v2/components/OverflowMenu.js +192 -0
  535. package/dist/v2/components/OverflowMenu.js.map +1 -0
  536. package/dist/v2/components/PdfViewer.d.ts +56 -0
  537. package/dist/v2/components/PdfViewer.d.ts.map +1 -0
  538. package/dist/v2/components/PdfViewer.js +132 -0
  539. package/dist/v2/components/PdfViewer.js.map +1 -0
  540. package/dist/v2/components/ProgressBar.d.ts +53 -0
  541. package/dist/v2/components/ProgressBar.d.ts.map +1 -0
  542. package/dist/v2/components/ProgressBar.js +209 -0
  543. package/dist/v2/components/ProgressBar.js.map +1 -0
  544. package/dist/v2/components/Radio.d.ts +78 -0
  545. package/dist/v2/components/Radio.d.ts.map +1 -0
  546. package/dist/v2/components/Radio.js +238 -0
  547. package/dist/v2/components/Radio.js.map +1 -0
  548. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  549. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  550. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  551. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  552. package/dist/v2/components/SectionHeader.d.ts +53 -0
  553. package/dist/v2/components/SectionHeader.d.ts.map +1 -0
  554. package/dist/v2/components/SectionHeader.js +140 -0
  555. package/dist/v2/components/SectionHeader.js.map +1 -0
  556. package/dist/v2/components/Segmented.d.ts +61 -0
  557. package/dist/v2/components/Segmented.d.ts.map +1 -0
  558. package/dist/v2/components/Segmented.js +261 -0
  559. package/dist/v2/components/Segmented.js.map +1 -0
  560. package/dist/v2/components/Select.d.ts +90 -0
  561. package/dist/v2/components/Select.d.ts.map +1 -0
  562. package/dist/v2/components/Select.js +499 -0
  563. package/dist/v2/components/Select.js.map +1 -0
  564. package/dist/v2/components/ServerErrorPage.d.ts +11 -0
  565. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
  566. package/dist/v2/components/ServerErrorPage.js +82 -0
  567. package/dist/v2/components/ServerErrorPage.js.map +1 -0
  568. package/dist/v2/components/Skeleton.d.ts +56 -0
  569. package/dist/v2/components/Skeleton.d.ts.map +1 -0
  570. package/dist/v2/components/Skeleton.js +281 -0
  571. package/dist/v2/components/Skeleton.js.map +1 -0
  572. package/dist/v2/components/SkipLink.d.ts +30 -0
  573. package/dist/v2/components/SkipLink.d.ts.map +1 -0
  574. package/dist/v2/components/SkipLink.js +58 -0
  575. package/dist/v2/components/SkipLink.js.map +1 -0
  576. package/dist/v2/components/Spinner.d.ts +40 -0
  577. package/dist/v2/components/Spinner.d.ts.map +1 -0
  578. package/dist/v2/components/Spinner.js +76 -0
  579. package/dist/v2/components/Spinner.js.map +1 -0
  580. package/dist/v2/components/Status.d.ts +42 -0
  581. package/dist/v2/components/Status.d.ts.map +1 -0
  582. package/dist/v2/components/Status.js +71 -0
  583. package/dist/v2/components/Status.js.map +1 -0
  584. package/dist/v2/components/Stepper.d.ts +142 -0
  585. package/dist/v2/components/Stepper.d.ts.map +1 -0
  586. package/dist/v2/components/Stepper.js +441 -0
  587. package/dist/v2/components/Stepper.js.map +1 -0
  588. package/dist/v2/components/Surface.d.ts +94 -0
  589. package/dist/v2/components/Surface.d.ts.map +1 -0
  590. package/dist/v2/components/Surface.js +163 -0
  591. package/dist/v2/components/Surface.js.map +1 -0
  592. package/dist/v2/components/Switch.d.ts +30 -0
  593. package/dist/v2/components/Switch.d.ts.map +1 -0
  594. package/dist/v2/components/Switch.js +136 -0
  595. package/dist/v2/components/Switch.js.map +1 -0
  596. package/dist/v2/components/Tabs.d.ts +49 -0
  597. package/dist/v2/components/Tabs.d.ts.map +1 -0
  598. package/dist/v2/components/Tabs.js +160 -0
  599. package/dist/v2/components/Tabs.js.map +1 -0
  600. package/dist/v2/components/TelInput.d.ts +33 -0
  601. package/dist/v2/components/TelInput.d.ts.map +1 -0
  602. package/dist/v2/components/TelInput.js +282 -0
  603. package/dist/v2/components/TelInput.js.map +1 -0
  604. package/dist/v2/components/Textarea.d.ts +23 -0
  605. package/dist/v2/components/Textarea.d.ts.map +1 -0
  606. package/dist/v2/components/Textarea.js +80 -0
  607. package/dist/v2/components/Textarea.js.map +1 -0
  608. package/dist/v2/components/TimePicker.d.ts +21 -0
  609. package/dist/v2/components/TimePicker.d.ts.map +1 -0
  610. package/dist/v2/components/TimePicker.js +141 -0
  611. package/dist/v2/components/TimePicker.js.map +1 -0
  612. package/dist/v2/components/Toast.d.ts +32 -0
  613. package/dist/v2/components/Toast.d.ts.map +1 -0
  614. package/dist/v2/components/Toast.js +385 -0
  615. package/dist/v2/components/Toast.js.map +1 -0
  616. package/dist/v2/components/Tooltip.d.ts +9 -0
  617. package/dist/v2/components/Tooltip.d.ts.map +1 -0
  618. package/dist/v2/components/Tooltip.js +169 -0
  619. package/dist/v2/components/Tooltip.js.map +1 -0
  620. package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
  621. package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
  622. package/dist/v2/components/_ErrorPageBody.js +96 -0
  623. package/dist/v2/components/_ErrorPageBody.js.map +1 -0
  624. package/dist/v2/components/_pickerShared.d.ts +47 -0
  625. package/dist/v2/components/_pickerShared.d.ts.map +1 -0
  626. package/dist/v2/components/_pickerShared.js +68 -0
  627. package/dist/v2/components/_pickerShared.js.map +1 -0
  628. package/dist/v2/components/index.d.ts +226 -0
  629. package/dist/v2/components/index.d.ts.map +1 -0
  630. package/dist/v2/components/index.js +512 -0
  631. package/dist/v2/components/index.js.map +1 -0
  632. package/dist/v2/hooks/index.d.ts +11 -0
  633. package/dist/v2/hooks/index.d.ts.map +1 -0
  634. package/dist/v2/hooks/index.js +85 -0
  635. package/dist/v2/hooks/index.js.map +1 -0
  636. package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
  637. package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
  638. package/dist/v2/hooks/useDelayedFlag.js +60 -0
  639. package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
  640. package/dist/v2/hooks/useDensity.d.ts +23 -0
  641. package/dist/v2/hooks/useDensity.d.ts.map +1 -0
  642. package/dist/v2/hooks/useDensity.js +124 -0
  643. package/dist/v2/hooks/useDensity.js.map +1 -0
  644. package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
  645. package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
  646. package/dist/v2/hooks/useFocusFirstError.js +203 -0
  647. package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
  648. package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
  649. package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
  650. package/dist/v2/hooks/useFocusTrap.js +207 -0
  651. package/dist/v2/hooks/useFocusTrap.js.map +1 -0
  652. package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
  653. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
  654. package/dist/v2/hooks/useFormAutoSave.js +186 -0
  655. package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
  656. package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
  657. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
  658. package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
  659. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
  660. package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
  661. package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
  662. package/dist/v2/hooks/useResolvedDensity.js +50 -0
  663. package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
  664. package/dist/v2/hooks/useSortedRows.d.ts +25 -0
  665. package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
  666. package/dist/v2/hooks/useSortedRows.js +38 -0
  667. package/dist/v2/hooks/useSortedRows.js.map +1 -0
  668. package/dist/v2/hooks/useTabLoading.d.ts +39 -0
  669. package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
  670. package/dist/v2/hooks/useTabLoading.js +85 -0
  671. package/dist/v2/hooks/useTabLoading.js.map +1 -0
  672. package/dist/v2/index.d.ts +115 -0
  673. package/dist/v2/index.d.ts.map +1 -0
  674. package/dist/v2/index.js +1127 -0
  675. package/dist/v2/index.js.map +1 -0
  676. package/dist/v2/modalContext.d.ts +96 -0
  677. package/dist/v2/modalContext.d.ts.map +1 -0
  678. package/dist/v2/modalContext.js +113 -0
  679. package/dist/v2/modalContext.js.map +1 -0
  680. package/dist/v2/models/favorite.d.ts +14 -0
  681. package/dist/v2/models/favorite.d.ts.map +1 -0
  682. package/dist/v2/models/favorite.js +6 -0
  683. package/dist/v2/models/favorite.js.map +1 -0
  684. package/dist/v2/models/index.d.ts +11 -0
  685. package/dist/v2/models/index.d.ts.map +1 -0
  686. package/dist/v2/models/index.js +50 -0
  687. package/dist/v2/models/index.js.map +1 -0
  688. package/dist/v2/models/personalization.d.ts +65 -0
  689. package/dist/v2/models/personalization.d.ts.map +1 -0
  690. package/dist/v2/models/personalization.js +6 -0
  691. package/dist/v2/models/personalization.js.map +1 -0
  692. package/dist/v2/models/referentiel.d.ts +67 -0
  693. package/dist/v2/models/referentiel.d.ts.map +1 -0
  694. package/dist/v2/models/referentiel.js +6 -0
  695. package/dist/v2/models/referentiel.js.map +1 -0
  696. package/dist/v2/models/savedFilter.d.ts +22 -0
  697. package/dist/v2/models/savedFilter.d.ts.map +1 -0
  698. package/dist/v2/models/savedFilter.js +6 -0
  699. package/dist/v2/models/savedFilter.js.map +1 -0
  700. package/dist/v2/patterns/ActionBar.d.ts +137 -0
  701. package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
  702. package/dist/v2/patterns/ActionBar.js +602 -0
  703. package/dist/v2/patterns/ActionBar.js.map +1 -0
  704. package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
  705. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
  706. package/dist/v2/patterns/BulkActionBar.js +154 -0
  707. package/dist/v2/patterns/BulkActionBar.js.map +1 -0
  708. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
  709. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
  710. package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
  711. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  712. package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
  713. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
  714. package/dist/v2/patterns/ColumnsToggle.js +310 -0
  715. package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
  716. package/dist/v2/patterns/DataGrid.d.ts +7 -0
  717. package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
  718. package/dist/v2/patterns/DataGrid.js +834 -0
  719. package/dist/v2/patterns/DataGrid.js.map +1 -0
  720. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
  721. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
  722. package/dist/v2/patterns/DataGridSettingsMenu.js +382 -0
  723. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  724. package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
  725. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
  726. package/dist/v2/patterns/DataGridToolbar.js +256 -0
  727. package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
  728. package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
  729. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
  730. package/dist/v2/patterns/DataGridVirtualized.js +528 -0
  731. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
  732. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
  733. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
  734. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
  735. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  736. package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
  737. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
  738. package/dist/v2/patterns/FavoriteColumn.js +171 -0
  739. package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
  740. package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
  741. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
  742. package/dist/v2/patterns/FavoritesFilter.js +98 -0
  743. package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
  744. package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
  745. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
  746. package/dist/v2/patterns/FormErrorSummary.js +111 -0
  747. package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
  748. package/dist/v2/patterns/FormPageShell.d.ts +55 -0
  749. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
  750. package/dist/v2/patterns/FormPageShell.js +133 -0
  751. package/dist/v2/patterns/FormPageShell.js.map +1 -0
  752. package/dist/v2/patterns/FormSection.d.ts +64 -0
  753. package/dist/v2/patterns/FormSection.d.ts.map +1 -0
  754. package/dist/v2/patterns/FormSection.js +197 -0
  755. package/dist/v2/patterns/FormSection.js.map +1 -0
  756. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
  757. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
  758. package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
  759. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  760. package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
  761. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
  762. package/dist/v2/patterns/FormikCombobox.js +121 -0
  763. package/dist/v2/patterns/FormikCombobox.js.map +1 -0
  764. package/dist/v2/patterns/FormikDatePicker.d.ts +115 -0
  765. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
  766. package/dist/v2/patterns/FormikDatePicker.js +203 -0
  767. package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
  768. package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
  769. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
  770. package/dist/v2/patterns/FormikErrorFocus.js +83 -0
  771. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
  772. package/dist/v2/patterns/FormikFile.d.ts +43 -0
  773. package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
  774. package/dist/v2/patterns/FormikFile.js +156 -0
  775. package/dist/v2/patterns/FormikFile.js.map +1 -0
  776. package/dist/v2/patterns/FormikInput.d.ts +72 -0
  777. package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
  778. package/dist/v2/patterns/FormikInput.js +135 -0
  779. package/dist/v2/patterns/FormikInput.js.map +1 -0
  780. package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
  781. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
  782. package/dist/v2/patterns/FormikReferentielField.js +124 -0
  783. package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
  784. package/dist/v2/patterns/FormikSelect.d.ts +61 -0
  785. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
  786. package/dist/v2/patterns/FormikSelect.js +165 -0
  787. package/dist/v2/patterns/FormikSelect.js.map +1 -0
  788. package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
  789. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikTextarea.js +84 -0
  791. package/dist/v2/patterns/FormikTextarea.js.map +1 -0
  792. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
  793. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +203 -0
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  796. package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
  797. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
  798. package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
  799. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
  800. package/dist/v2/patterns/PageContent.d.ts +40 -0
  801. package/dist/v2/patterns/PageContent.d.ts.map +1 -0
  802. package/dist/v2/patterns/PageContent.js +69 -0
  803. package/dist/v2/patterns/PageContent.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +118 -0
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
  806. package/dist/v2/patterns/ReferentielField.js +618 -0
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -0
  808. package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
  809. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
  810. package/dist/v2/patterns/SaveFilterDialog.js +204 -0
  811. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
  812. package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
  813. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
  814. package/dist/v2/patterns/SavedFiltersMenu.js +413 -0
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
  816. package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
  817. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
  818. package/dist/v2/patterns/SkeletonPageShell.js +347 -0
  819. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
  820. package/dist/v2/patterns/SortableHeader.d.ts +47 -0
  821. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
  822. package/dist/v2/patterns/SortableHeader.js +193 -0
  823. package/dist/v2/patterns/SortableHeader.js.map +1 -0
  824. package/dist/v2/patterns/Tour.d.ts +55 -0
  825. package/dist/v2/patterns/Tour.d.ts.map +1 -0
  826. package/dist/v2/patterns/Tour.js +474 -0
  827. package/dist/v2/patterns/Tour.js.map +1 -0
  828. package/dist/v2/patterns/_dataGridShared.d.ts +144 -0
  829. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
  830. package/dist/v2/patterns/_dataGridShared.js +440 -0
  831. package/dist/v2/patterns/_dataGridShared.js.map +1 -0
  832. package/dist/v2/patterns/_sort.d.ts +22 -0
  833. package/dist/v2/patterns/_sort.d.ts.map +1 -0
  834. package/dist/v2/patterns/_sort.js +118 -0
  835. package/dist/v2/patterns/_sort.js.map +1 -0
  836. package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
  837. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
  838. package/dist/v2/patterns/_useColumnReorder.js +264 -0
  839. package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
  840. package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
  841. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
  842. package/dist/v2/patterns/_useColumnResize.js +198 -0
  843. package/dist/v2/patterns/_useColumnResize.js.map +1 -0
  844. package/dist/v2/patterns/index.d.ts +89 -0
  845. package/dist/v2/patterns/index.d.ts.map +1 -0
  846. package/dist/v2/patterns/index.js +246 -0
  847. package/dist/v2/patterns/index.js.map +1 -0
  848. package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
  849. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
  850. package/dist/v2/personalization/PersonalizationProvider.js +177 -0
  851. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
  852. package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
  853. package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
  854. package/dist/v2/personalization/adapters/_storageKey.js +69 -0
  855. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
  856. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
  857. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
  858. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
  859. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  860. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
  861. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
  862. package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
  863. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  864. package/dist/v2/personalization/adapters/index.d.ts +10 -0
  865. package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
  866. package/dist/v2/personalization/adapters/index.js +21 -0
  867. package/dist/v2/personalization/adapters/index.js.map +1 -0
  868. package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
  869. package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
  870. package/dist/v2/personalization/capabilities/favorites.js +223 -0
  871. package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
  872. package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
  873. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
  874. package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
  875. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
  876. package/dist/v2/personalization/capabilities/index.d.ts +16 -0
  877. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
  878. package/dist/v2/personalization/capabilities/index.js +69 -0
  879. package/dist/v2/personalization/capabilities/index.js.map +1 -0
  880. package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
  881. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
  882. package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
  883. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
  884. package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
  885. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
  886. package/dist/v2/personalization/createPersonalizationStore.js +475 -0
  887. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
  888. package/dist/v2/personalization/index.d.ts +33 -0
  889. package/dist/v2/personalization/index.d.ts.map +1 -0
  890. package/dist/v2/personalization/index.js +111 -0
  891. package/dist/v2/personalization/index.js.map +1 -0
  892. package/dist/v2/personalization/personalizationContext.d.ts +78 -0
  893. package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
  894. package/dist/v2/personalization/personalizationContext.js +121 -0
  895. package/dist/v2/personalization/personalizationContext.js.map +1 -0
  896. package/dist/v2/personalization/schema.d.ts +60 -0
  897. package/dist/v2/personalization/schema.d.ts.map +1 -0
  898. package/dist/v2/personalization/schema.js +102 -0
  899. package/dist/v2/personalization/schema.js.map +1 -0
  900. package/dist/v2/personalization/types.d.ts +81 -0
  901. package/dist/v2/personalization/types.d.ts.map +1 -0
  902. package/dist/v2/personalization/types.js +6 -0
  903. package/dist/v2/personalization/types.js.map +1 -0
  904. package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
  905. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
  906. package/dist/v2/referentiel/ReferentielProvider.js +94 -0
  907. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
  908. package/dist/v2/referentiel/index.d.ts +18 -0
  909. package/dist/v2/referentiel/index.d.ts.map +1 -0
  910. package/dist/v2/referentiel/index.js +44 -0
  911. package/dist/v2/referentiel/index.js.map +1 -0
  912. package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
  913. package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
  914. package/dist/v2/referentiel/useReferentielClient.js +46 -0
  915. package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
  916. package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
  917. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
  918. package/dist/v2/referentiel/useReferentielOptions.js +177 -0
  919. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
  920. package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
  921. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
  922. package/dist/v2/referentiel/useReferentielSearch.js +140 -0
  923. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
  924. package/dist/v2/styles/base.css +425 -0
  925. package/dist/v2/styles/css.d.ts +10 -0
  926. package/dist/v2/styles/index.d.ts +12 -0
  927. package/dist/v2/styles/index.d.ts.map +1 -0
  928. package/dist/v2/styles/index.js +4 -0
  929. package/dist/v2/styles/index.js.map +1 -0
  930. package/dist/v2/theme/_brand.d.ts +29 -0
  931. package/dist/v2/theme/_brand.d.ts.map +1 -0
  932. package/dist/v2/theme/_brand.js +69 -0
  933. package/dist/v2/theme/_brand.js.map +1 -0
  934. package/dist/v2/theme/_brandSecondary.d.ts +26 -0
  935. package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
  936. package/dist/v2/theme/_brandSecondary.js +65 -0
  937. package/dist/v2/theme/_brandSecondary.js.map +1 -0
  938. package/dist/v2/theme/createPortnetTheme.d.ts +75 -0
  939. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
  940. package/dist/v2/theme/createPortnetTheme.js +553 -0
  941. package/dist/v2/theme/createPortnetTheme.js.map +1 -0
  942. package/dist/v2/theme/cssVariables.d.ts +41 -0
  943. package/dist/v2/theme/cssVariables.d.ts.map +1 -0
  944. package/dist/v2/theme/cssVariables.js +205 -0
  945. package/dist/v2/theme/cssVariables.js.map +1 -0
  946. package/dist/v2/theme/index.d.ts +33 -0
  947. package/dist/v2/theme/index.d.ts.map +1 -0
  948. package/dist/v2/theme/index.js +60 -0
  949. package/dist/v2/theme/index.js.map +1 -0
  950. package/dist/v2/tokens/breakpoints.d.ts +74 -0
  951. package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
  952. package/dist/v2/tokens/breakpoints.js +114 -0
  953. package/dist/v2/tokens/breakpoints.js.map +1 -0
  954. package/dist/v2/tokens/colors.d.ts +228 -0
  955. package/dist/v2/tokens/colors.d.ts.map +1 -0
  956. package/dist/v2/tokens/colors.js +225 -0
  957. package/dist/v2/tokens/colors.js.map +1 -0
  958. package/dist/v2/tokens/density.d.ts +142 -0
  959. package/dist/v2/tokens/density.d.ts.map +1 -0
  960. package/dist/v2/tokens/density.js +111 -0
  961. package/dist/v2/tokens/density.js.map +1 -0
  962. package/dist/v2/tokens/index.d.ts +556 -0
  963. package/dist/v2/tokens/index.d.ts.map +1 -0
  964. package/dist/v2/tokens/index.js +313 -0
  965. package/dist/v2/tokens/index.js.map +1 -0
  966. package/dist/v2/tokens/motion.d.ts +85 -0
  967. package/dist/v2/tokens/motion.d.ts.map +1 -0
  968. package/dist/v2/tokens/motion.js +94 -0
  969. package/dist/v2/tokens/motion.js.map +1 -0
  970. package/dist/v2/tokens/radius.d.ts +18 -0
  971. package/dist/v2/tokens/radius.d.ts.map +1 -0
  972. package/dist/v2/tokens/radius.js +28 -0
  973. package/dist/v2/tokens/radius.js.map +1 -0
  974. package/dist/v2/tokens/shadows.d.ts +25 -0
  975. package/dist/v2/tokens/shadows.d.ts.map +1 -0
  976. package/dist/v2/tokens/shadows.js +46 -0
  977. package/dist/v2/tokens/shadows.js.map +1 -0
  978. package/dist/v2/tokens/spacing.d.ts +38 -0
  979. package/dist/v2/tokens/spacing.d.ts.map +1 -0
  980. package/dist/v2/tokens/spacing.js +57 -0
  981. package/dist/v2/tokens/spacing.js.map +1 -0
  982. package/dist/v2/tokens/state.d.ts +40 -0
  983. package/dist/v2/tokens/state.d.ts.map +1 -0
  984. package/dist/v2/tokens/state.js +47 -0
  985. package/dist/v2/tokens/state.js.map +1 -0
  986. package/dist/v2/tokens/statusPalette.d.ts +54 -0
  987. package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
  988. package/dist/v2/tokens/statusPalette.js +72 -0
  989. package/dist/v2/tokens/statusPalette.js.map +1 -0
  990. package/dist/v2/tokens/tokens.json +153 -0
  991. package/dist/v2/tokens/typography.d.ts +206 -0
  992. package/dist/v2/tokens/typography.d.ts.map +1 -0
  993. package/dist/v2/tokens/typography.js +155 -0
  994. package/dist/v2/tokens/typography.js.map +1 -0
  995. package/dist/v2/tokens/zIndex.d.ts +33 -0
  996. package/dist/v2/tokens/zIndex.d.ts.map +1 -0
  997. package/dist/v2/tokens/zIndex.js +50 -0
  998. package/dist/v2/tokens/zIndex.js.map +1 -0
  999. package/dist/v2/types/common.d.ts +24 -0
  1000. package/dist/v2/types/common.d.ts.map +1 -0
  1001. package/dist/v2/types/common.js +6 -0
  1002. package/dist/v2/types/common.js.map +1 -0
  1003. package/dist/v2/types/datagrid.d.ts +131 -0
  1004. package/dist/v2/types/datagrid.d.ts.map +1 -0
  1005. package/dist/v2/types/datagrid.js +6 -0
  1006. package/dist/v2/types/datagrid.js.map +1 -0
  1007. package/dist/v2/types/index.d.ts +11 -0
  1008. package/dist/v2/types/index.d.ts.map +1 -0
  1009. package/dist/v2/types/index.js +28 -0
  1010. package/dist/v2/types/index.js.map +1 -0
  1011. package/dist/v2/utils/apiError.d.ts +151 -0
  1012. package/dist/v2/utils/apiError.d.ts.map +1 -0
  1013. package/dist/v2/utils/apiError.js +290 -0
  1014. package/dist/v2/utils/apiError.js.map +1 -0
  1015. package/dist/v2/utils/contrast.d.ts +68 -0
  1016. package/dist/v2/utils/contrast.d.ts.map +1 -0
  1017. package/dist/v2/utils/contrast.js +167 -0
  1018. package/dist/v2/utils/contrast.js.map +1 -0
  1019. package/dist/v2/utils/cx.d.ts +9 -0
  1020. package/dist/v2/utils/cx.d.ts.map +1 -0
  1021. package/dist/v2/utils/cx.js +45 -0
  1022. package/dist/v2/utils/cx.js.map +1 -0
  1023. package/dist/v2/utils/fileDownload.d.ts +94 -0
  1024. package/dist/v2/utils/fileDownload.d.ts.map +1 -0
  1025. package/dist/v2/utils/fileDownload.js +236 -0
  1026. package/dist/v2/utils/fileDownload.js.map +1 -0
  1027. package/dist/v2/utils/fmtMoney.d.ts +28 -0
  1028. package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
  1029. package/dist/v2/utils/fmtMoney.js +84 -0
  1030. package/dist/v2/utils/fmtMoney.js.map +1 -0
  1031. package/dist/v2/utils/index.d.ts +9 -0
  1032. package/dist/v2/utils/index.d.ts.map +1 -0
  1033. package/dist/v2/utils/index.js +97 -0
  1034. package/dist/v2/utils/index.js.map +1 -0
  1035. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  1036. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  1037. package/dist/v2/utils/mergeLabels.js +93 -0
  1038. package/dist/v2/utils/mergeLabels.js.map +1 -0
  1039. package/dist/v2/utils/networkStatus.d.ts +88 -0
  1040. package/dist/v2/utils/networkStatus.d.ts.map +1 -0
  1041. package/dist/v2/utils/networkStatus.js +121 -0
  1042. package/dist/v2/utils/networkStatus.js.map +1 -0
  1043. package/package.json +198 -76
  1044. package/dist/api/guideApi.js +0 -12
  1045. package/dist/api/guideImageService.js +0 -119
  1046. package/dist/api/reclamationApi.js +0 -119
  1047. package/dist/assets/guides/FAQ.json +0 -118
  1048. package/dist/assets/guides/index.js +0 -11
  1049. package/dist/assets/images/tijariaLogo.ico +0 -0
  1050. package/dist/components/buttons/PuiButton.js +0 -217
  1051. package/dist/components/buttons/PuiIconButton.js +0 -98
  1052. package/dist/components/common/PuiAlertContext.js +0 -12
  1053. package/dist/components/common/PuiHelpWidgetContext.js +0 -17
  1054. package/dist/components/common/StyledMuiButton.js +0 -48
  1055. package/dist/components/common/StyledMuiTextField.js +0 -180
  1056. package/dist/components/inputs/PuiAutocomplete.js +0 -352
  1057. package/dist/components/inputs/PuiCheckbox.js +0 -308
  1058. package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
  1059. package/dist/components/inputs/PuiCheckboxItem.js +0 -162
  1060. package/dist/components/inputs/PuiDateField.js +0 -280
  1061. package/dist/components/inputs/PuiDateTimeField.js +0 -276
  1062. package/dist/components/inputs/PuiFileField.js +0 -265
  1063. package/dist/components/inputs/PuiRadioGroup.js +0 -197
  1064. package/dist/components/inputs/PuiRadioItem.js +0 -100
  1065. package/dist/components/inputs/PuiSelect.js +0 -427
  1066. package/dist/components/inputs/PuiTextField.js +0 -263
  1067. package/dist/components/others/PuiBadge.js +0 -58
  1068. package/dist/components/others/PuiChip.js +0 -150
  1069. package/dist/components/others/PuiDialog.js +0 -102
  1070. package/dist/components/others/PuiFormikForm.js +0 -70
  1071. package/dist/components/others/PuiGrid.js +0 -23
  1072. package/dist/components/others/PuiIcon.js +0 -92
  1073. package/dist/components/others/PuiLoadingBackdrop.js +0 -32
  1074. package/dist/components/others/PuiMainContainer.js +0 -41
  1075. package/dist/components/others/PuiNavigation.js +0 -68
  1076. package/dist/components/others/PuiSection.js +0 -187
  1077. package/dist/components/others/PuiTooltip.js +0 -86
  1078. package/dist/components/providers/PuiAlertProvider.js +0 -134
  1079. package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
  1080. package/dist/components/providers/PuiLocalizationProvider.js +0 -34
  1081. package/dist/components/referentiel/common/ReferetielContext.js +0 -12
  1082. package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
  1083. package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
  1084. package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
  1085. package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
  1086. package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
  1087. package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
  1088. package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
  1089. package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
  1090. package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
  1091. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
  1092. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
  1093. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
  1094. package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
  1095. package/dist/components/tab/PuiTab.js +0 -25
  1096. package/dist/components/tab/PuiTabs.js +0 -148
  1097. package/dist/components/table/PuiTable.js +0 -643
  1098. package/dist/components/table/PuiTableAction.js +0 -75
  1099. package/dist/components/typography/PuiDefinition.js +0 -42
  1100. package/dist/components/typography/PuiIndication.js +0 -80
  1101. package/dist/components/typography/PuiMainTitle.js +0 -144
  1102. package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
  1103. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
  1104. package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
  1105. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
  1106. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
  1107. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
  1108. package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
  1109. package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
  1110. package/dist/components/widgets/GuideImage.js +0 -251
  1111. package/dist/components/widgets/PuiHelpWidget.js +0 -4276
  1112. package/dist/config/apperance.js +0 -26
  1113. package/dist/config/mapping.js +0 -26
  1114. package/dist/config/referentiel.js +0 -10
  1115. package/dist/general/yupValidationErrors.js +0 -8
  1116. package/dist/hooks/useAlert.js +0 -19
  1117. package/dist/hooks/useAxios.js +0 -23
  1118. package/dist/hooks/useQuery.js +0 -21
  1119. package/dist/hooks/useReclamation.js +0 -116
  1120. package/dist/styles/ReclamationFormModal.css +0 -629
  1121. package/dist/styles/help-widget.css +0 -621
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionBar.js","names":["React","Box","Typography","IconButton","ArrowBackIcon","ChevronRightIcon","HomeIcon","useMediaQuery","useTheme","Button","OverflowMenu","zIndex","mergeLabels","jsx","_jsx","jsxs","_jsxs","DEFAULT_LABELS","Object","freeze","back","breadcrumb","home","expandCrumbs","CRUMB_LINK_BASE_SX","display","alignItems","gap","textDecoration","cursor","borderRadius","padding","margin","background","outline","outlineOffset","CRUMB_ELLIPSIS_SX","_objectSpread","border","font","fontSize","lineHeight","isStructuredCrumb","entry","_typeof","isValidElement","getCrumbColor","isLast","useAccent","renderCrumbContent","baseColor","baseFontWeight","component","undefined","sx","color","fontWeight","children","label","icon","onClick","href","ariaLabel","computedAria","type","ActionBar","_ref","title","subtitle","primary","_ref$secondary","secondary","_ref$overflow","overflow","_ref$maxVisible","maxVisible","meta","_ref$sticky","sticky","_ref$surface","surface","_ref$collapseAfter","collapseAfter","labels","L","theme","isMobile","breakpoints","down","_React$useState","useState","_React$useState2","_slicedToArray","crumbsExpanded","setCrumbsExpanded","effectiveBreadcrumb","useMemo","base","homeItem","concat","_toConsumableArray","shouldCollapse","length","Math","max","orderedAll","list","push","_slot","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","err","e","f","_iterator2","_step2","o","visibleActions","slice","hiddenActions","visiblePrimary","filter","a","visibleOthers","hasNavRow","accentOrFgMuted","accentOrFg","resolveVariant","action","variant","renderButton","i","actionIcon","iconRight","disabled","loading","_variant","rest","_objectWithoutProperties","_excluded","size","lastCrumbIndex","chevron","transform","renderCrumbItems","map","b","first","last","borderBottom","xs","sm","lg","position","top","marginBottom","minWidth","listStyle","flexWrap","justifyContent","flex","whiteSpace","textOverflow","width","flexShrink","actions","_ref2","_s","_excluded2","WebkitBoxOrient","WebkitLineClamp","marginTop"],"sources":["../../../../src/lib/v2/patterns/ActionBar.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport ArrowBackIcon from \"@mui/icons-material/ArrowBack\";\r\nimport ChevronRightIcon from \"@mui/icons-material/ChevronRight\";\r\nimport HomeIcon from \"@mui/icons-material/Home\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport Button from \"../components/Button\";\r\nimport type { ButtonProps } from \"../components/Button\";\r\nimport OverflowMenu from \"../components/OverflowMenu\";\r\nimport { zIndex } from \"../tokens\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * ActionBar - Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 — render order (left → right):\r\n *\r\n * [ghost/secondary…] [primary] […overflow]\r\n *\r\n * Slot-based variant resolution:\r\n * slot=\"primary\" → Button variant=\"primary\"\r\n * slot=\"secondary\" → Button variant={action.variant || \"secondary\"}\r\n * slot=\"overflow\" → Button variant={action.variant || \"ghost\"}\r\n *\r\n * maxVisible (default 2):\r\n * orderedAll = [primary, ...secondary, ...overflow]\r\n * first maxVisible → visible buttons / rest → \"…\"\r\n *\r\n * Breadcrumb collapse (R-RS.5):\r\n * Below the `sm` breakpoint TOKEN (< 481px) a long trail used to\r\n * flex-wrap onto several lines, pushing the page title down. When the\r\n * trail has more than `collapseAfter` crumbs (default 3) the middle is\r\n * collapsed to a single \"…\" toggle that shows [first] › … › [last];\r\n * pressing it expands the full trail in place. Desktop always renders\r\n * the full trail. Keeps the nav to one line on phones (WCAG 1.4.10\r\n * Reflow) without hiding navigation from AT — the toggle is a real\r\n * button with an accessible name.\r\n *\r\n * ── `surface` DEFAULTS TO false — A PAGE HEADER IS NOT A CARD ────────\r\n *\r\n * The platform rule is that a page header sits on the page background, never\r\n * on a white card. This default used to be `true`, which meant every call site\r\n * that did not opt out rendered a --surface card with a bottom border — making\r\n * the exception the norm across the GU modules.\r\n *\r\n * Note that `surface` drives TWO things, because `useAccent` is derived from\r\n * it: the background/border AND the colour of the title, icon, back-arrow and\r\n * crumb trail (--accent when non-surface, --fg / --fg-subtle when surfaced).\r\n * They are deliberately coupled — an accent title on a white card reads as a\r\n * link, and a near-black title on the page background loses the visual anchor\r\n * the header needs. Decoupling them would need a separate prop and a design\r\n * decision, not a default change.\r\n *\r\n * Pass surface={true} to opt back in to the card treatment where a header is\r\n * genuinely nested inside a panel rather than heading a page.\r\n *\r\n * ── Subtitle visibility (S-01) ───────────────────────────────────────\r\n *\r\n * The subtitle renders at EVERY breakpoint. It used to be hidden below the `sm`\r\n * token via `display: none`, which made every consuming module fail the\r\n * mandatory \"Never omit subtitles\" pattern on phones — and removed the text from\r\n * the accessibility tree, not just from the layout. On `xs` it is now bounded to\r\n * two lines with a line-clamp instead; `sm` and above are unchanged. See the\r\n * inline note at the render site for the full rationale.\r\n */\r\n\r\n/** Variant union, derived from Button (single source of truth). */\r\ntype ActionVariant = NonNullable<ButtonProps[\"variant\"]>;\r\n\r\n/** Structured breadcrumb entry (as opposed to a plain renderable node). */\r\nexport interface BreadcrumbItem {\r\n label?: React.ReactNode | undefined;\r\n icon?: React.ReactNode | undefined;\r\n onClick?: (() => void) | undefined;\r\n href?: string | undefined;\r\n ariaLabel?: string | undefined;\r\n}\r\n\r\n/** A breadcrumb entry is either a plain node or a structured item. */\r\nexport type CrumbEntry = React.ReactNode | BreadcrumbItem;\r\n\r\n/** Action descriptor for primary / secondary / overflow slots. */\r\nexport interface ActionBarAction {\r\n label?: React.ReactNode | undefined;\r\n icon?: React.ReactNode | undefined;\r\n iconRight?: React.ReactNode | undefined;\r\n onClick?: (() => void) | undefined;\r\n disabled?: boolean | undefined;\r\n loading?: boolean | undefined;\r\n variant?: ActionVariant | undefined;\r\n /** Overflow-only (surfaced when the action falls into the OverflowMenu). */\r\n shortcut?: React.ReactNode | undefined;\r\n danger?: boolean | undefined;\r\n divider?: boolean | undefined;\r\n /**\r\n * ARIA attributes, forwarded verbatim to the rendered `<Button>`.\r\n *\r\n * `renderButton` destructures the known fields above and spreads the\r\n * REMAINDER onto the Button (`{...rest}`), so any `aria-*` key a host supplies\r\n * already reaches the DOM at runtime. This pattern index signature declares\r\n * that contract, which was previously implemented but undeclared — forcing\r\n * strict-mode consumers to either drop the attribute (losing the behaviour) or\r\n * assert their way past the type.\r\n *\r\n * Primary use case: `aria-keyshortcuts` on a page's create CTA, so screen\r\n * reader users discover a keyboard shortcut on focus (WCAG 2.1.4).\r\n */\r\n [ariaAttribute: `aria-${string}`]: string | undefined;\r\n}\r\n\r\ntype SlotName = \"primary\" | \"secondary\" | \"overflow\";\r\ntype SlottedAction = ActionBarAction & { _slot: SlotName };\r\n\r\nexport interface ActionBarLabels {\r\n back?: string | undefined;\r\n breadcrumb?: string | undefined;\r\n home?: string | undefined;\r\n expandCrumbs?: string | undefined;\r\n}\r\n\r\nexport interface ActionBarProps {\r\n /** Home crumb: a callback (onClick) or an href string. */\r\n home?: string | (() => void) | undefined;\r\n /** Back-arrow callback (top-bar). */\r\n back?: (() => void) | undefined;\r\n breadcrumb?: CrumbEntry[] | undefined;\r\n title: React.ReactNode;\r\n subtitle?: React.ReactNode | undefined;\r\n icon?: React.ReactNode | undefined;\r\n primary?: ActionBarAction | undefined;\r\n secondary?: ActionBarAction[] | undefined;\r\n overflow?: ActionBarAction[] | undefined;\r\n /** Number of actions shown before the rest collapse into the menu. @default 2 */\r\n maxVisible?: number | undefined;\r\n meta?: React.ReactNode | undefined;\r\n sticky?: boolean | undefined;\r\n /**\r\n * Render the header as a raised white card instead of on the page\r\n * background.\r\n *\r\n * @default false — a page header sits on the background (platform rule).\r\n *\r\n * Also governs text colour: when false, the title, icon, back-arrow and\r\n * crumbs render in --accent; when true they render in --fg / --fg-subtle.\r\n * See the note in the module docstring for why the two are coupled.\r\n *\r\n * Pass true only where the header genuinely heads a panel rather than a page.\r\n */\r\n surface?: boolean | undefined;\r\n /** Collapse the breadcrumb middle on mobile past this many crumbs. @default 3 */\r\n collapseAfter?: number | undefined;\r\n labels?: ActionBarLabels | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n back: \"Retour\",\r\n breadcrumb: \"Fil d'Ariane\",\r\n home: \"Accueil\",\r\n expandCrumbs: \"Afficher le chemin complet\",\r\n});\r\n\r\nconst CRUMB_LINK_BASE_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n textDecoration: \"none\",\r\n cursor: \"pointer\",\r\n borderRadius: \"var(--r-sm)\",\r\n padding: \"2px 4px\",\r\n margin: \"-2px -4px\",\r\n \"&:hover\": { background: \"var(--bg-hover)\" },\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset-inset, 0)\" },\r\n});\r\n\r\nconst CRUMB_ELLIPSIS_SX = Object.freeze({\r\n ...CRUMB_LINK_BASE_SX,\r\n background: \"none\",\r\n border: \"none\",\r\n font: \"inherit\",\r\n fontSize: \"var(--text-xs)\",\r\n lineHeight: 1,\r\n});\r\n\r\nfunction isStructuredCrumb(entry: CrumbEntry): entry is BreadcrumbItem {\r\n return entry != null && typeof entry === \"object\" && !React.isValidElement(entry);\r\n}\r\n\r\nfunction getCrumbColor(isLast: boolean, useAccent: boolean): string {\r\n if (useAccent) return \"var(--accent)\";\r\n return isLast ? \"var(--fg)\" : \"var(--fg-subtle)\";\r\n}\r\n\r\nfunction renderCrumbContent(entry: CrumbEntry, isLast: boolean, useAccent: boolean) {\r\n const baseColor = getCrumbColor(isLast, useAccent);\r\n const baseFontWeight = isLast ? \"var(--fw-semibold)\" : \"var(--fw-regular)\";\r\n\r\n if (!isStructuredCrumb(entry)) {\r\n return (\r\n <Box component=\"span\" aria-current={isLast ? \"page\" : undefined}\r\n sx={{ color: baseColor, fontWeight: baseFontWeight }}>\r\n {entry}\r\n </Box>\r\n );\r\n }\r\n\r\n const { label, icon, onClick, href, ariaLabel } = entry;\r\n const computedAria = ariaLabel || (typeof label === \"string\" ? label : undefined);\r\n\r\n if (isLast) {\r\n return (\r\n <Box component=\"span\" aria-current=\"page\"\r\n sx={{ color: baseColor, fontWeight: baseFontWeight, display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}>\r\n {icon}{label}\r\n </Box>\r\n );\r\n }\r\n\r\n if (href) {\r\n return (\r\n <Box component=\"a\" href={href} onClick={onClick} aria-label={computedAria}\r\n sx={{ ...CRUMB_LINK_BASE_SX, color: baseColor }}>\r\n {icon}{label}\r\n </Box>\r\n );\r\n }\r\n\r\n if (onClick) {\r\n return (\r\n <Box component=\"button\" type=\"button\" onClick={onClick} aria-label={computedAria}\r\n sx={{ ...CRUMB_LINK_BASE_SX, color: baseColor, background: \"none\", border: \"none\", font: \"inherit\", fontSize: \"var(--text-xs)\" }}>\r\n {icon}{label}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box component=\"span\"\r\n sx={{ color: baseColor, fontWeight: baseFontWeight, display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}>\r\n {icon}{label}\r\n </Box>\r\n );\r\n}\r\n\r\nfunction ActionBar({\r\n home,\r\n back,\r\n breadcrumb,\r\n title,\r\n subtitle,\r\n icon,\r\n primary,\r\n secondary = [],\r\n overflow = [],\r\n maxVisible = 2,\r\n meta,\r\n sticky = true,\r\n /*\r\n * DEFAULT FLIPPED TO false. A page header sits on the page background, never\r\n * on a white card — see the note in the module docstring. Opt back in with\r\n * surface={true} for a header that heads a panel rather than a page.\r\n */\r\n surface = false,\r\n collapseAfter = 3,\r\n labels,\r\n}: ActionBarProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n // R-RS.5 — collapse the middle of a long breadcrumb on mobile (< sm\r\n // token, 481px). Reads the live theme so a host breakpoint override is\r\n // honoured. `crumbsExpanded` lets the user reveal the full trail in place.\r\n const theme = useTheme();\r\n const isMobile = useMediaQuery(theme.breakpoints.down(\"sm\"));\r\n const [crumbsExpanded, setCrumbsExpanded] = React.useState(false);\r\n\r\n const effectiveBreadcrumb = React.useMemo<CrumbEntry[]>(() => {\r\n const base = breadcrumb || [];\r\n if (!home) return base;\r\n const homeItem: BreadcrumbItem = {\r\n icon: <HomeIcon fontSize=\"small\" />,\r\n ariaLabel: L.home,\r\n ...(typeof home === \"function\" ? { onClick: home } : { href: home }),\r\n };\r\n return [homeItem, ...base];\r\n }, [home, breadcrumb, L.home]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // Decide whether to collapse: only on mobile, only when the trail is\r\n // longer than collapseAfter, and only while not user-expanded.\r\n const shouldCollapse =\r\n isMobile &&\r\n !crumbsExpanded &&\r\n effectiveBreadcrumb.length > Math.max(2, collapseAfter);\r\n\r\n const orderedAll = React.useMemo<SlottedAction[]>(() => {\r\n const list: SlottedAction[] = [];\r\n if (primary) list.push({ ...primary, _slot: \"primary\" });\r\n for (const s of (secondary || [])) list.push({ ...s, _slot: \"secondary\" });\r\n for (const o of (overflow || [])) list.push({ ...o, _slot: \"overflow\" });\r\n return list;\r\n }, [primary, secondary, overflow]);\r\n\r\n const visibleActions = orderedAll.slice(0, maxVisible);\r\n const hiddenActions = orderedAll.slice(maxVisible);\r\n\r\n const visiblePrimary = visibleActions.filter((a) => a._slot === \"primary\");\r\n const visibleOthers = visibleActions.filter((a) => a._slot !== \"primary\");\r\n\r\n const hasNavRow = !!(back || effectiveBreadcrumb.length > 0);\r\n const useAccent = !surface;\r\n const accentOrFgMuted = useAccent ? \"var(--accent)\" : \"var(--fg-muted)\";\r\n const accentOrFg = useAccent ? \"var(--accent)\" : \"var(--fg)\";\r\n\r\n function resolveVariant(action: SlottedAction): ActionVariant {\r\n if (action._slot === \"primary\") return \"primary\";\r\n if (action._slot === \"overflow\") return action.variant || \"ghost\";\r\n return action.variant || \"secondary\";\r\n }\r\n\r\n function renderButton(action: SlottedAction, i: React.Key) {\r\n const { _slot, label, icon: actionIcon, iconRight, onClick, disabled, loading, variant: _variant, ...rest } = action;\r\n return (\r\n <Button key={i} variant={resolveVariant(action)} size=\"sm\"\r\n icon={actionIcon} iconRight={iconRight}\r\n onClick={onClick} disabled={disabled} {...rest}\r\n {...(loading !== undefined ? { loading } : {})}>\r\n {label}\r\n </Button>\r\n );\r\n }\r\n\r\n const lastCrumbIndex = effectiveBreadcrumb.length - 1;\r\n const chevron = (\r\n <ChevronRightIcon aria-hidden=\"true\"\r\n sx={{ fontSize: \"var(--text-xs)\", color: useAccent ? \"var(--accent)\" : \"var(--fg-subtle)\", transform: \"scaleX(var(--pui-rtl-flip, 1))\" }} />\r\n );\r\n\r\n /* Render either the full trail or the collapsed [first] › … › [last].\r\n * Each branch returns an array of <li> rows so the <ol> stays valid. */\r\n function renderCrumbItems() {\r\n if (!shouldCollapse) {\r\n return effectiveBreadcrumb.map((b, i) => {\r\n const isLast = i === lastCrumbIndex;\r\n return (\r\n <Box component=\"li\" key={i} sx={{ display: \"inline-flex\", alignItems: \"center\", gap: 0.5 }}>\r\n {renderCrumbContent(b, isLast, useAccent)}\r\n {!isLast && chevron}\r\n </Box>\r\n );\r\n });\r\n }\r\n\r\n // Collapsed: first crumb, an expand toggle, then the last crumb.\r\n const first = effectiveBreadcrumb[0];\r\n const last = effectiveBreadcrumb[lastCrumbIndex];\r\n return [\r\n <Box component=\"li\" key=\"first\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: 0.5 }}>\r\n {renderCrumbContent(first, false, useAccent)}\r\n {chevron}\r\n </Box>,\r\n <Box component=\"li\" key=\"ellipsis\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: 0.5 }}>\r\n <Box component=\"button\" type=\"button\"\r\n onClick={() => setCrumbsExpanded(true)}\r\n aria-label={L.expandCrumbs} aria-expanded=\"false\"\r\n sx={{ ...CRUMB_ELLIPSIS_SX, color: useAccent ? \"var(--accent)\" : \"var(--fg-subtle)\" }}>\r\n …\r\n </Box>\r\n {chevron}\r\n </Box>,\r\n <Box component=\"li\" key=\"last\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: 0.5 }}>\r\n {renderCrumbContent(last, true, useAccent)}\r\n </Box>,\r\n ];\r\n }\r\n\r\n return (\r\n <Box\r\n sx={{\r\n background: surface ? \"var(--surface)\" : \"var(--bg)\",\r\n borderBottom: surface ? \"1px solid var(--border)\" : \"none\",\r\n padding: { xs: \"var(--s-3)\", sm: \"var(--s-3) var(--s-4)\", lg: \"var(--s-3) var(--s-6)\" },\r\n position: sticky ? \"sticky\" : \"static\",\r\n top: 0,\r\n zIndex: zIndex.sticky,\r\n }}\r\n >\r\n {/* Breadcrumb / back row */}\r\n {hasNavRow && (\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1, marginBottom: 1 }}>\r\n {back && (\r\n <IconButton size=\"small\" onClick={back} aria-label={L.back}\r\n sx={{ color: accentOrFgMuted, \"& svg\": { transform: \"scaleX(var(--pui-rtl-flip, 1))\" } }}>\r\n <ArrowBackIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n {effectiveBreadcrumb.length > 0 && (\r\n <Box component=\"nav\" aria-label={L.breadcrumb} sx={{ minWidth: 0 }}>\r\n <Box component=\"ol\"\r\n sx={{ listStyle: \"none\", margin: 0, padding: 0, display: \"flex\", alignItems: \"center\", flexWrap: { xs: \"nowrap\", sm: \"wrap\" }, gap: 0.5, fontSize: \"var(--text-xs)\", color: useAccent ? \"var(--accent)\" : \"var(--fg-subtle)\", minWidth: 0 }}>\r\n {renderCrumbItems()}\r\n </Box>\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Main row */}\r\n <Box sx={{ display: \"flex\", alignItems: { xs: \"flex-start\", sm: \"center\" }, justifyContent: \"space-between\", flexWrap: { xs: \"wrap\", sm: \"nowrap\" }, gap: { xs: \"var(--s-2)\", sm: 2 } }}>\r\n <Box sx={{ minWidth: 0, flex: 1, display: \"flex\", alignItems: \"center\", gap: 1, color: accentOrFg, \"& svg\": { color: \"inherit\" } }}>\r\n {icon}\r\n <Typography component=\"h1\"\r\n sx={{ fontSize: { xs: 18, sm: 22 }, fontWeight: \"var(--fw-bold)\", color: accentOrFg, lineHeight: \"var(--lh-tight)\", whiteSpace: { xs: \"normal\", sm: \"nowrap\" }, overflow: { xs: \"visible\", sm: \"hidden\" }, textOverflow: { xs: \"clip\", sm: \"ellipsis\" } }}>\r\n {title}\r\n </Typography>\r\n {meta}\r\n </Box>\r\n\r\n {/* Actions: [secondary/ghost] [primary] [...] */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: 1, width: { xs: \"100%\", sm: \"auto\" }, justifyContent: { xs: \"flex-end\", sm: \"flex-start\" }, flexShrink: 0 }}>\r\n {visibleOthers.map((action, i) => renderButton(action, i))}\r\n {visiblePrimary.map((action, i) => renderButton(action, `p${i}`))}\r\n {hiddenActions.length > 0 && (\r\n <OverflowMenu actions={hiddenActions.map(({ _slot: _s, ...a }) => a)} />\r\n )}\r\n </Box>\r\n </Box>\r\n\r\n {subtitle && (\r\n <Typography\r\n sx={{\r\n /* ── S-01 — THE SUBTITLE IS RENDERED AT EVERY BREAKPOINT ──────────\r\n *\r\n * This was `display: { xs: \"none\", sm: \"block\" }`, which removed the\r\n * subtitle below the sm token (481 px) from the layout AND from the\r\n * accessibility tree. On a 320-414 px viewport it did not exist for\r\n * any user, sighted or not.\r\n *\r\n * That conflicted with three normative rules at once:\r\n * - Platform Mandatory UX Patterns / Page Subtitle: \"Mandatory.\r\n * Every page must contain a meaningful subtitle describing the\r\n * purpose of the page. NEVER OMIT SUBTITLES.\"\r\n * - the same document lists `missing subtitle` under Forbidden\r\n * Practices, i.e. a certification failure;\r\n * - Responsive Pattern mandates support from 320 px, so `xs` is the\r\n * primary mobile range, not an edge case.\r\n *\r\n * Charter 7.1 bis also puts \"Page title (H1) + subtitle + CTA\" in the\r\n * canonical vertical order, with no breakpoint exemption.\r\n *\r\n * The original motivation was presumably vertical space on phones.\r\n * That concern is met by BOUNDING the height instead of deleting the\r\n * content -- two lines, mirroring the EmptyState rule already in this\r\n * library (\"description <= 2 lignes\"). Clamped text stays in the\r\n * accessibility tree, so screen-reader users get the full string.\r\n *\r\n * SCOPED TO xs ON PURPOSE. At sm and above `display: block` makes\r\n * line-clamp inert, so the rendering is byte-identical to before this\r\n * fix. Clamping desktop too would be a NEW restriction on existing\r\n * behaviour and could truncate a long subtitle that a module renders\r\n * over three lines today. Zero regression surface for the ~150\r\n * services consuming this component.\r\n *\r\n * Raised from procuration-portnet-fe (Batch 3), fixed here rather\r\n * than worked around locally: a module-side subtitle would duplicate\r\n * a shared component's responsibility (R-2.1 / R-AI.2) and would need\r\n * local breakpoint logic to avoid doubling at >= sm.\r\n * ──────────────────────────────────────────────────────────────── */\r\n display: { xs: \"-webkit-box\", sm: \"block\" },\r\n WebkitBoxOrient: \"vertical\",\r\n WebkitLineClamp: 2,\r\n overflow: { xs: \"hidden\", sm: \"visible\" },\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n marginTop: 0.5,\r\n }}\r\n >\r\n {subtitle}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default ActionBar;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,147 @@
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 * as React from "react";
8
+ import Box from "@mui/material/Box";
9
+ import Button from "../components/Button";
10
+ import { mergeLabels } from "../utils/mergeLabels";
11
+
12
+ /**
13
+ * BulkActionBar - Portnet UI v2 (pattern)
14
+ *
15
+ * Charter R-DG.8 - sélection multiple → bulk bar sticky bottom-center.
16
+ * Affiche le compteur d'éléments sélectionnés + boutons d'actions + désélection.
17
+ *
18
+ * <BulkActionBar
19
+ * count={selected.size}
20
+ * onClear={() => setSelected(new Set())}
21
+ * actions={[
22
+ * { label: "Exporter", icon: <DownloadIcon />, onClick: exportSel },
23
+ * { label: "Archiver", icon: <ArchiveIcon />, onClick: archiveSel },
24
+ * { label: "Supprimer", icon: <DeleteIcon />, onClick: deleteSel, variant: "danger" },
25
+ * ]}
26
+ * />
27
+ *
28
+ * Localisation (FR / EN / AR):
29
+ * <BulkActionBar labels={{
30
+ * selection: (n) => `${n} item${n === 1 ? "" : "s"} selected`,
31
+ * toolbarAria: "Bulk actions",
32
+ * clear: "Clear selection",
33
+ * }} ... />
34
+ *
35
+ * `selection` is a function so consumers can plug in proper plural
36
+ * rules (Intl.PluralRules, ICU MessageFormat, i18next, …).
37
+ *
38
+ * A11y note (R-A.1):
39
+ * The selection count is rendered inside a polite live region so that
40
+ * updates ("3 éléments sélectionnés" → "5 éléments sélectionnés") are
41
+ * announced to screen-reader users without stealing focus.
42
+ *
43
+ * Responsive note (R-RS / WCAG 1.4.10):
44
+ * The bar is centre-anchored (left:50% / translateX(-50%)). Without a
45
+ * width cap a long action set would push its ends off both screen
46
+ * edges on a phone. maxWidth caps it to the viewport and flexWrap lets
47
+ * surplus actions wrap to a second centred row instead of overflowing.
48
+ */
49
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
50
+ var DEFAULT_LABELS = Object.freeze({
51
+ selection: function selection(n) {
52
+ return "".concat(n, " \xE9l\xE9ment").concat(n > 1 ? "s" : "", " s\xE9lectionn\xE9").concat(n > 1 ? "s" : "");
53
+ },
54
+ toolbarAria: "Actions sur la sélection",
55
+ clear: "Désélectionner"
56
+ });
57
+ function BulkActionBar(_ref) {
58
+ var _ref$count = _ref.count,
59
+ count = _ref$count === void 0 ? 0 : _ref$count,
60
+ onClear = _ref.onClear,
61
+ _ref$actions = _ref.actions,
62
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
63
+ label = _ref.label,
64
+ labels = _ref.labels;
65
+ if (count <= 0) return null;
66
+ var L = mergeLabels(DEFAULT_LABELS, labels);
67
+ // Legacy `label` prop wins over labels.selection for back-compat.
68
+ var text = label != null ? label : L.selection(count);
69
+
70
+ // R-AI.1 - currentColor-derived overlays so hover & divider auto-adapt
71
+ // to the bar's fg-inverse value (was hard-coded white rgba).
72
+ var overlayHover = "color-mix(in srgb, currentColor 15%, transparent)";
73
+ var dividerOverlay = "color-mix(in srgb, currentColor 22%, transparent)";
74
+ return /*#__PURE__*/_jsxs(Box, {
75
+ role: "toolbar",
76
+ "aria-label": L.toolbarAria,
77
+ sx: {
78
+ position: "fixed",
79
+ bottom: "var(--s-5)",
80
+ left: "50%",
81
+ transform: "translateX(-50%)",
82
+ zIndex: "var(--z-bulk)",
83
+ display: "flex",
84
+ alignItems: "center",
85
+ // R-RS — centre-anchored bar must never exceed the viewport, and
86
+ // surplus actions wrap rather than spilling past the screen edges.
87
+ flexWrap: "wrap",
88
+ justifyContent: "center",
89
+ maxWidth: "calc(100vw - var(--s-4) * 2)",
90
+ gap: 1.5,
91
+ padding: "var(--s-2) var(--s-2) var(--s-2) var(--s-4)",
92
+ background: "var(--fg)",
93
+ color: "var(--fg-inverse)",
94
+ borderRadius: "var(--r-full)",
95
+ boxShadow: "var(--shadow-lg)"
96
+ },
97
+ children: [/*#__PURE__*/_jsx(Box
98
+ // R-A.1 - polite live region so SR users hear each count change
99
+ // without losing context. aria-atomic ensures the full sentence is
100
+ // re-read on update, not just the diff.
101
+ , {
102
+ role: "status",
103
+ "aria-live": "polite",
104
+ "aria-atomic": "true",
105
+ sx: {
106
+ fontSize: "var(--text-sm)",
107
+ fontWeight: "var(--fw-semibold)",
108
+ fontVariantNumeric: "tabular-nums"
109
+ },
110
+ children: text
111
+ }), /*#__PURE__*/_jsx(Box, {
112
+ sx: {
113
+ width: 1,
114
+ height: 24,
115
+ background: dividerOverlay
116
+ }
117
+ }), actions.map(function (a, i) {
118
+ return /*#__PURE__*/_jsx(Button, {
119
+ size: "sm",
120
+ variant: a.variant || "ghost",
121
+ icon: a.icon,
122
+ onClick: a.onClick,
123
+ disabled: a.disabled,
124
+ sx: _objectSpread({}, a.variant !== "danger" ? {
125
+ color: "var(--fg-inverse) !important",
126
+ "&:hover": {
127
+ background: overlayHover
128
+ }
129
+ } : {}),
130
+ children: a.label
131
+ }, i);
132
+ }), onClear && /*#__PURE__*/_jsx(Button, {
133
+ size: "sm",
134
+ variant: "ghost",
135
+ onClick: onClear,
136
+ sx: {
137
+ color: "var(--fg-inverse) !important",
138
+ "&:hover": {
139
+ background: overlayHover
140
+ }
141
+ },
142
+ children: L.clear
143
+ })]
144
+ });
145
+ }
146
+ export default BulkActionBar;
147
+ //# sourceMappingURL=BulkActionBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BulkActionBar.js","names":["React","Box","Button","mergeLabels","jsx","_jsx","jsxs","_jsxs","DEFAULT_LABELS","Object","freeze","selection","n","concat","toolbarAria","clear","BulkActionBar","_ref","_ref$count","count","onClear","_ref$actions","actions","label","labels","L","text","overlayHover","dividerOverlay","role","sx","position","bottom","left","transform","zIndex","display","alignItems","flexWrap","justifyContent","maxWidth","gap","padding","background","color","borderRadius","boxShadow","children","fontSize","fontWeight","fontVariantNumeric","width","height","map","a","i","size","variant","icon","onClick","disabled","_objectSpread"],"sources":["../../../../src/lib/v2/patterns/BulkActionBar.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"../components/Button\";\r\nimport type { ButtonProps } from \"../components/Button\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * BulkActionBar - Portnet UI v2 (pattern)\r\n *\r\n * Charter R-DG.8 - sélection multiple → bulk bar sticky bottom-center.\r\n * Affiche le compteur d'éléments sélectionnés + boutons d'actions + désélection.\r\n *\r\n * <BulkActionBar\r\n * count={selected.size}\r\n * onClear={() => setSelected(new Set())}\r\n * actions={[\r\n * { label: \"Exporter\", icon: <DownloadIcon />, onClick: exportSel },\r\n * { label: \"Archiver\", icon: <ArchiveIcon />, onClick: archiveSel },\r\n * { label: \"Supprimer\", icon: <DeleteIcon />, onClick: deleteSel, variant: \"danger\" },\r\n * ]}\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <BulkActionBar labels={{\r\n * selection: (n) => `${n} item${n === 1 ? \"\" : \"s\"} selected`,\r\n * toolbarAria: \"Bulk actions\",\r\n * clear: \"Clear selection\",\r\n * }} ... />\r\n *\r\n * `selection` is a function so consumers can plug in proper plural\r\n * rules (Intl.PluralRules, ICU MessageFormat, i18next, …).\r\n *\r\n * A11y note (R-A.1):\r\n * The selection count is rendered inside a polite live region so that\r\n * updates (\"3 éléments sélectionnés\" → \"5 éléments sélectionnés\") are\r\n * announced to screen-reader users without stealing focus.\r\n *\r\n * Responsive note (R-RS / WCAG 1.4.10):\r\n * The bar is centre-anchored (left:50% / translateX(-50%)). Without a\r\n * width cap a long action set would push its ends off both screen\r\n * edges on a phone. maxWidth caps it to the viewport and flexWrap lets\r\n * surplus actions wrap to a second centred row instead of overflowing.\r\n */\r\n\r\nexport interface BulkAction {\r\n label: React.ReactNode;\r\n onClick?: (() => void) | undefined;\r\n icon?: React.ReactElement | undefined;\r\n variant?: ButtonProps[\"variant\"] | undefined;\r\n disabled?: boolean | undefined;\r\n}\r\n\r\nexport interface BulkActionBarLabels {\r\n selection?: ((n: number) => React.ReactNode) | undefined;\r\n toolbarAria?: string | undefined;\r\n clear?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface BulkActionBarProps {\r\n count?: number | undefined;\r\n onClear?: (() => void) | undefined;\r\n actions?: BulkAction[] | undefined;\r\n /** Legacy prop: a pre-formatted node override of the count text.\r\n * Wins over labels.selection when both are passed. */\r\n label?: React.ReactNode | undefined;\r\n labels?: BulkActionBarLabels | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n selection: (n: number) => `${n} élément${n > 1 ? \"s\" : \"\"} sélectionné${n > 1 ? \"s\" : \"\"}`,\r\n toolbarAria: \"Actions sur la sélection\",\r\n clear: \"Désélectionner\",\r\n});\r\n\r\nfunction BulkActionBar({ count = 0, onClear, actions = [], label, labels }: BulkActionBarProps) {\r\n if (count <= 0) return null;\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n // Legacy `label` prop wins over labels.selection for back-compat.\r\n const text = label != null ? label : L.selection(count);\r\n\r\n // R-AI.1 - currentColor-derived overlays so hover & divider auto-adapt\r\n // to the bar's fg-inverse value (was hard-coded white rgba).\r\n const overlayHover = \"color-mix(in srgb, currentColor 15%, transparent)\";\r\n const dividerOverlay = \"color-mix(in srgb, currentColor 22%, transparent)\";\r\n\r\n return (\r\n <Box\r\n role=\"toolbar\"\r\n aria-label={L.toolbarAria}\r\n sx={{\r\n position: \"fixed\",\r\n bottom: \"var(--s-5)\",\r\n left: \"50%\",\r\n transform: \"translateX(-50%)\",\r\n zIndex: \"var(--z-bulk)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n // R-RS — centre-anchored bar must never exceed the viewport, and\r\n // surplus actions wrap rather than spilling past the screen edges.\r\n flexWrap: \"wrap\",\r\n justifyContent: \"center\",\r\n maxWidth: \"calc(100vw - var(--s-4) * 2)\",\r\n gap: 1.5,\r\n padding: \"var(--s-2) var(--s-2) var(--s-2) var(--s-4)\",\r\n background: \"var(--fg)\",\r\n color: \"var(--fg-inverse)\",\r\n borderRadius: \"var(--r-full)\",\r\n boxShadow: \"var(--shadow-lg)\",\r\n }}\r\n >\r\n <Box\r\n // R-A.1 - polite live region so SR users hear each count change\r\n // without losing context. aria-atomic ensures the full sentence is\r\n // re-read on update, not just the diff.\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n }}\r\n >\r\n {text}\r\n </Box>\r\n {/* Vertical divider — width:1 / height:24 are divider geometry,\r\n not a spacing concern. */}\r\n <Box sx={{ width: 1, height: 24, background: dividerOverlay }} />\r\n {actions.map((a, i) => (\r\n <Button\r\n key={i}\r\n size=\"sm\"\r\n variant={a.variant || \"ghost\"}\r\n icon={a.icon}\r\n onClick={a.onClick}\r\n disabled={a.disabled}\r\n sx={{\r\n // Danger keeps its own palette; every other variant is forced\r\n // to the inverse foreground with a currentColor hover overlay.\r\n // (JS set color/\"&:hover\" to undefined on danger; under\r\n // exactOptionalPropertyTypes that's present-with-undefined for\r\n // the csstype color + selector value, so it's folded into one\r\n // conditional spread — behaviour-identical.)\r\n ...(a.variant !== \"danger\"\r\n ? {\r\n color: \"var(--fg-inverse) !important\",\r\n \"&:hover\": { background: overlayHover },\r\n }\r\n : {}),\r\n }}\r\n >\r\n {a.label}\r\n </Button>\r\n ))}\r\n {onClear && (\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n onClick={onClear}\r\n sx={{\r\n color: \"var(--fg-inverse) !important\",\r\n \"&:hover\": { background: overlayHover },\r\n }}\r\n >\r\n {L.clear}\r\n </Button>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default BulkActionBar;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,303 @@
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ 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); }
5
+ 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; }
6
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
7
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8
+ 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; }
9
+ 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; }
10
+ 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; }
11
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
12
+ 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); }
13
+ import * as React from "react";
14
+ import Box from "@mui/material/Box";
15
+ import Table from "@mui/material/Table";
16
+ import TableHead from "@mui/material/TableHead";
17
+ import TableBody from "@mui/material/TableBody";
18
+ import TableRow from "@mui/material/TableRow";
19
+ import TableCell from "@mui/material/TableCell";
20
+ import IconButton from "@mui/material/IconButton";
21
+ import Collapse from "@mui/material/Collapse";
22
+ import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
23
+ import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
24
+ import { mergeLabels, TABLE_BY_DENSITY, CONTAINER_SX, DEFAULT_MAX_BODY_HEIGHT, ROW_STATIC_SX, Pagination } from "./_dataGridShared";
25
+
26
+ /**
27
+ * CollapsibleDataGrid — Portnet UI v2 (pattern)
28
+ *
29
+ * Charter §03 · master/detail table with per-row expansion. Companion to
30
+ * DataGrid for the case DataGrid intentionally does not cover: a row that
31
+ * expands to reveal a secondary record (e.g. a decision and its visa
32
+ * detail). Refactor of the legacy host-local CollapsibleTableClientSide
33
+ * (ms-dfd-fe), lifted into the lib so modules consume it instead of
34
+ * re-implementing an expandable MUI Table.
35
+ *
36
+ * Columns use the v2-native shape, identical to DataGrid:
37
+ * { key, header, render(row), getValue(row), width, align, numeric, mono }
38
+ *
39
+ * `columns` master row cells (the first cell hosts the expand toggle).
40
+ * `detailColumns` the expanded panel; values are read from the SAME row
41
+ * object (a row carries both its master and detail fields).
42
+ *
43
+ * A row is expandable when `hasDetail(row)` is true. Default: the first
44
+ * detail column resolves to a non-nullish value. Pass `hasDetail` to override.
45
+ *
46
+ * Pagination is client-side (the host passes the full row set) and uses the
47
+ * shared v2 Pagination — 1-based, tabular range, optional page-size select.
48
+ *
49
+ * Accessibility (WCAG 2.2 AA · Charter R-DG):
50
+ * - the expand control is a real <button> with aria-expanded +
51
+ * aria-controls pointing at the detail region id;
52
+ * - the detail region is labelled (labels.detailAria);
53
+ * - the table carries a contextual name (ariaLabel | labels.tableAria).
54
+ */
55
+
56
+ /** The read subset of the DataGrid column contract that this pattern honours. */
57
+
58
+ /** DataGrid labels + the expansion-specific names. */
59
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
60
+ var EMPTY = "—";
61
+
62
+ /* Default value accessor for an unconstrained row type — typed against
63
+ * `unknown` so the single assertion is legal (mirrors DataGrid). */
64
+ function readCellValue(row, key) {
65
+ return row[key];
66
+ }
67
+
68
+ /* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to
69
+ * the declared `(row: T) => RowId` by parameter contravariance. */
70
+ var defaultGetRowId = function defaultGetRowId(row) {
71
+ return row.id;
72
+ };
73
+ function resolveCell(col, row) {
74
+ if (col.render) return col.render(row);
75
+ var value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);
76
+ return value == null || value === "" ? EMPTY : value;
77
+ }
78
+ function alignOf(col) {
79
+ return col.align || (col.numeric ? "right" : "left");
80
+ }
81
+ function numericSx(col) {
82
+ return _objectSpread(_objectSpread({}, col.mono ? {
83
+ fontFamily: "var(--font-mono)"
84
+ } : {}), col.numeric || col.mono ? {
85
+ fontVariantNumeric: "tabular-nums"
86
+ } : {});
87
+ }
88
+ function CollapsibleDataGrid(_ref) {
89
+ var _labels$expandRow, _labels$collapseRow, _labels$detailAria;
90
+ var _ref$rows = _ref.rows,
91
+ rows = _ref$rows === void 0 ? [] : _ref$rows,
92
+ _ref$columns = _ref.columns,
93
+ columns = _ref$columns === void 0 ? [] : _ref$columns,
94
+ _ref$detailColumns = _ref.detailColumns,
95
+ detailColumns = _ref$detailColumns === void 0 ? [] : _ref$detailColumns,
96
+ _ref$getRowId = _ref.getRowId,
97
+ getRowId = _ref$getRowId === void 0 ? defaultGetRowId : _ref$getRowId,
98
+ hasDetail = _ref.hasDetail,
99
+ _ref$density = _ref.density,
100
+ density = _ref$density === void 0 ? "comfortable" : _ref$density,
101
+ ariaLabel = _ref.ariaLabel,
102
+ _ref$locale = _ref.locale,
103
+ locale = _ref$locale === void 0 ? "fr-FR" : _ref$locale,
104
+ labels = _ref.labels,
105
+ _ref$loading = _ref.loading,
106
+ loading = _ref$loading === void 0 ? false : _ref$loading,
107
+ _ref$pageSize = _ref.pageSize,
108
+ pageSizeProp = _ref$pageSize === void 0 ? 10 : _ref$pageSize,
109
+ _ref$pageSizes = _ref.pageSizes,
110
+ pageSizes = _ref$pageSizes === void 0 ? [10, 25, 100] : _ref$pageSizes,
111
+ _ref$maxBodyHeight = _ref.maxBodyHeight,
112
+ maxBodyHeight = _ref$maxBodyHeight === void 0 ? DEFAULT_MAX_BODY_HEIGHT : _ref$maxBodyHeight;
113
+ var L = React.useMemo(function () {
114
+ return mergeLabels(labels);
115
+ }, [labels]);
116
+ var tableAria = ariaLabel != null ? ariaLabel : L.tableAria;
117
+ var expandLabel = (_labels$expandRow = labels === null || labels === void 0 ? void 0 : labels.expandRow) !== null && _labels$expandRow !== void 0 ? _labels$expandRow : "Afficher le détail";
118
+ var collapseLabel = (_labels$collapseRow = labels === null || labels === void 0 ? void 0 : labels.collapseRow) !== null && _labels$collapseRow !== void 0 ? _labels$collapseRow : "Réduire le détail";
119
+ var detailAria = (_labels$detailAria = labels === null || labels === void 0 ? void 0 : labels.detailAria) !== null && _labels$detailAria !== void 0 ? _labels$detailAria : "Détail de la ligne";
120
+ var rowHasDetail = React.useCallback(function (row) {
121
+ if (typeof hasDetail === "function") return hasDetail(row);
122
+ if (!detailColumns.length) return false;
123
+ var first = detailColumns[0];
124
+ if (!first) return false;
125
+ var v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);
126
+ return v != null && v !== "";
127
+ }, [hasDetail, detailColumns]);
128
+ var _React$useState = React.useState(1),
129
+ _React$useState2 = _slicedToArray(_React$useState, 2),
130
+ page = _React$useState2[0],
131
+ setPage = _React$useState2[1];
132
+ var _React$useState3 = React.useState(pageSizeProp),
133
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
134
+ pageSize = _React$useState4[0],
135
+ setPageSize = _React$useState4[1];
136
+ var _React$useState5 = React.useState({}),
137
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
138
+ open = _React$useState6[0],
139
+ setOpen = _React$useState6[1];
140
+
141
+ // Reset to the first page when the data set size changes so the slice
142
+ // never lands past the end of a shrunken list.
143
+ var total = rows.length;
144
+ React.useEffect(function () {
145
+ setPage(1);
146
+ }, [total]);
147
+ var tableSx = React.useMemo(function () {
148
+ return _objectSpread(_objectSpread({}, TABLE_BY_DENSITY[density] || TABLE_BY_DENSITY.comfortable), {}, {
149
+ width: "100%"
150
+ });
151
+ }, [density]);
152
+ var detailTableSx = React.useMemo(function () {
153
+ return _objectSpread(_objectSpread({}, TABLE_BY_DENSITY.compact), {}, {
154
+ width: "100%"
155
+ });
156
+ }, []);
157
+ var start = (page - 1) * pageSize;
158
+ var paged = rows.slice(start, start + pageSize);
159
+ var masterColCount = columns.length;
160
+ var toggle = function toggle(id) {
161
+ return setOpen(function (prev) {
162
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, !prev[id]));
163
+ });
164
+ };
165
+ return /*#__PURE__*/_jsxs(Box, {
166
+ sx: CONTAINER_SX,
167
+ children: [/*#__PURE__*/_jsx(Box, {
168
+ sx: {
169
+ overflow: "auto",
170
+ maxHeight: maxBodyHeight,
171
+ width: "100%"
172
+ },
173
+ children: /*#__PURE__*/_jsxs(Table, {
174
+ "aria-label": tableAria,
175
+ stickyHeader: true,
176
+ sx: tableSx,
177
+ children: [/*#__PURE__*/_jsx(TableHead, {
178
+ children: /*#__PURE__*/_jsx(TableRow, {
179
+ children: columns.map(function (col) {
180
+ return /*#__PURE__*/_jsx(TableCell, {
181
+ align: alignOf(col),
182
+ sx: _objectSpread({
183
+ position: "sticky",
184
+ top: 0,
185
+ zIndex: 1
186
+ }, col.width != null ? {
187
+ width: col.width
188
+ } : {}),
189
+ children: col.header
190
+ }, col.key);
191
+ })
192
+ })
193
+ }), /*#__PURE__*/_jsx(TableBody, {
194
+ children: paged.map(function (row) {
195
+ var id = getRowId(row);
196
+ var expandable = rowHasDetail(row);
197
+ var isOpen = Boolean(open[id]);
198
+ var detailId = "pui-cdg-detail-".concat(id);
199
+ return /*#__PURE__*/_jsxs(React.Fragment, {
200
+ children: [/*#__PURE__*/_jsx(TableRow, {
201
+ hover: true,
202
+ sx: ROW_STATIC_SX,
203
+ children: columns.map(function (col, index) {
204
+ return /*#__PURE__*/_jsx(TableCell, {
205
+ align: alignOf(col),
206
+ sx: _objectSpread(_objectSpread({}, numericSx(col)), col.width != null ? {
207
+ width: col.width
208
+ } : {}),
209
+ children: /*#__PURE__*/_jsxs(Box, {
210
+ sx: {
211
+ display: "flex",
212
+ alignItems: "center",
213
+ gap: "var(--s-1)"
214
+ },
215
+ children: [index === 0 && expandable && /*#__PURE__*/_jsx(IconButton, {
216
+ size: "small",
217
+ "aria-label": isOpen ? collapseLabel : expandLabel,
218
+ "aria-expanded": isOpen,
219
+ "aria-controls": detailId,
220
+ onClick: function onClick() {
221
+ return toggle(id);
222
+ },
223
+ children: isOpen ? /*#__PURE__*/_jsx(KeyboardArrowUpIcon, {
224
+ fontSize: "small"
225
+ }) : /*#__PURE__*/_jsx(KeyboardArrowDownIcon, {
226
+ fontSize: "small"
227
+ })
228
+ }), resolveCell(col, row)]
229
+ })
230
+ }, col.key);
231
+ })
232
+ }), expandable && /*#__PURE__*/_jsx(TableRow, {
233
+ children: /*#__PURE__*/_jsx(TableCell, {
234
+ colSpan: masterColCount,
235
+ sx: {
236
+ paddingTop: 0,
237
+ paddingBottom: 0
238
+ },
239
+ children: /*#__PURE__*/_jsx(Collapse, {
240
+ id: detailId,
241
+ "in": isOpen,
242
+ timeout: "auto",
243
+ unmountOnExit: true,
244
+ children: /*#__PURE__*/_jsx(Box, {
245
+ sx: {
246
+ paddingTop: "var(--s-3)",
247
+ paddingBottom: "var(--s-3)"
248
+ },
249
+ children: /*#__PURE__*/_jsxs(Table, {
250
+ size: "small",
251
+ "aria-label": detailAria,
252
+ sx: detailTableSx,
253
+ children: [/*#__PURE__*/_jsx(TableHead, {
254
+ children: /*#__PURE__*/_jsx(TableRow, {
255
+ children: detailColumns.map(function (col) {
256
+ return /*#__PURE__*/_jsx(TableCell, {
257
+ align: alignOf(col),
258
+ sx: col.width != null ? {
259
+ width: col.width
260
+ } : {},
261
+ children: col.header
262
+ }, col.key);
263
+ })
264
+ })
265
+ }), /*#__PURE__*/_jsx(TableBody, {
266
+ children: /*#__PURE__*/_jsx(TableRow, {
267
+ sx: ROW_STATIC_SX,
268
+ children: detailColumns.map(function (col) {
269
+ return /*#__PURE__*/_jsx(TableCell, {
270
+ align: alignOf(col),
271
+ sx: numericSx(col),
272
+ children: resolveCell(col, row)
273
+ }, col.key);
274
+ })
275
+ })
276
+ })]
277
+ })
278
+ })
279
+ })
280
+ })
281
+ })]
282
+ }, id);
283
+ })
284
+ })]
285
+ })
286
+ }), /*#__PURE__*/_jsx(Pagination, {
287
+ page: page,
288
+ pageSize: pageSize,
289
+ total: total,
290
+ onPageChange: setPage,
291
+ onPageSizeChange: function onPageSizeChange(s) {
292
+ setPageSize(s);
293
+ setPage(1);
294
+ },
295
+ pageSizes: pageSizes,
296
+ loading: loading,
297
+ locale: locale,
298
+ labels: L.pagination
299
+ })]
300
+ });
301
+ }
302
+ export default CollapsibleDataGrid;
303
+ //# sourceMappingURL=CollapsibleDataGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsibleDataGrid.js","names":["React","Box","Table","TableHead","TableBody","TableRow","TableCell","IconButton","Collapse","KeyboardArrowDownIcon","KeyboardArrowUpIcon","mergeLabels","TABLE_BY_DENSITY","CONTAINER_SX","DEFAULT_MAX_BODY_HEIGHT","ROW_STATIC_SX","Pagination","jsx","_jsx","jsxs","_jsxs","EMPTY","readCellValue","row","key","defaultGetRowId","id","resolveCell","col","render","value","getValue","alignOf","align","numeric","numericSx","_objectSpread","mono","fontFamily","fontVariantNumeric","CollapsibleDataGrid","_ref","_labels$expandRow","_labels$collapseRow","_labels$detailAria","_ref$rows","rows","_ref$columns","columns","_ref$detailColumns","detailColumns","_ref$getRowId","getRowId","hasDetail","_ref$density","density","ariaLabel","_ref$locale","locale","labels","_ref$loading","loading","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$maxBodyHeight","maxBodyHeight","L","useMemo","tableAria","expandLabel","expandRow","collapseLabel","collapseRow","detailAria","rowHasDetail","useCallback","length","first","v","_React$useState","useState","_React$useState2","_slicedToArray","page","setPage","_React$useState3","_React$useState4","setPageSize","_React$useState5","_React$useState6","open","setOpen","total","useEffect","tableSx","comfortable","width","detailTableSx","compact","start","paged","slice","masterColCount","toggle","prev","_defineProperty","sx","children","overflow","maxHeight","stickyHeader","map","position","top","zIndex","header","expandable","isOpen","Boolean","detailId","concat","Fragment","hover","index","display","alignItems","gap","size","onClick","fontSize","colSpan","paddingTop","paddingBottom","timeout","unmountOnExit","onPageChange","onPageSizeChange","s","pagination"],"sources":["../../../../src/lib/v2/patterns/CollapsibleDataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\n\r\nimport {\r\n mergeLabels,\r\n TABLE_BY_DENSITY,\r\n CONTAINER_SX,\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n ROW_STATIC_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport type { DataGridColumn, DataGridLabels } from \"../types/datagrid\";\r\nimport type { Alignment, Density, RowId } from \"../types/common\";\r\n\r\n/**\r\n * CollapsibleDataGrid — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · master/detail table with per-row expansion. Companion to\r\n * DataGrid for the case DataGrid intentionally does not cover: a row that\r\n * expands to reveal a secondary record (e.g. a decision and its visa\r\n * detail). Refactor of the legacy host-local CollapsibleTableClientSide\r\n * (ms-dfd-fe), lifted into the lib so modules consume it instead of\r\n * re-implementing an expandable MUI Table.\r\n *\r\n * Columns use the v2-native shape, identical to DataGrid:\r\n * { key, header, render(row), getValue(row), width, align, numeric, mono }\r\n *\r\n * `columns` master row cells (the first cell hosts the expand toggle).\r\n * `detailColumns` the expanded panel; values are read from the SAME row\r\n * object (a row carries both its master and detail fields).\r\n *\r\n * A row is expandable when `hasDetail(row)` is true. Default: the first\r\n * detail column resolves to a non-nullish value. Pass `hasDetail` to override.\r\n *\r\n * Pagination is client-side (the host passes the full row set) and uses the\r\n * shared v2 Pagination — 1-based, tabular range, optional page-size select.\r\n *\r\n * Accessibility (WCAG 2.2 AA · Charter R-DG):\r\n * - the expand control is a real <button> with aria-expanded +\r\n * aria-controls pointing at the detail region id;\r\n * - the detail region is labelled (labels.detailAria);\r\n * - the table carries a contextual name (ariaLabel | labels.tableAria).\r\n */\r\n\r\n/** The read subset of the DataGrid column contract that this pattern honours. */\r\nexport type CollapsibleColumn<T> = Pick<\r\n DataGridColumn<T>,\r\n \"key\" | \"header\" | \"align\" | \"numeric\" | \"mono\" | \"width\" | \"render\" | \"getValue\"\r\n>;\r\n\r\n/** DataGrid labels + the expansion-specific names. */\r\nexport interface CollapsibleDataGridLabels extends DataGridLabels {\r\n expandRow?: string | undefined;\r\n collapseRow?: string | undefined;\r\n detailAria?: string | undefined;\r\n}\r\n\r\nexport interface CollapsibleDataGridProps<T> {\r\n rows?: T[] | undefined;\r\n columns: CollapsibleColumn<T>[];\r\n detailColumns?: CollapsibleColumn<T>[] | undefined;\r\n /** Row identity (default `(row) => row.id`). */\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n /** Override the \"row is expandable\" test (default: first detail value is non-nullish). */\r\n hasDetail?: ((row: T) => boolean) | undefined;\r\n density?: Density | undefined;\r\n /** Contextual accessible table name (WCAG 1.3.1 / Charter R-DG). */\r\n ariaLabel?: string | undefined;\r\n /** BCP-47 locale for pagination number formatting (default \"fr-FR\"). */\r\n locale?: string | undefined;\r\n labels?: CollapsibleDataGridLabels | undefined;\r\n loading?: boolean | undefined;\r\n pageSize?: number | undefined;\r\n pageSizes?: number[] | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n}\r\n\r\nconst EMPTY = \"—\";\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction resolveCell<T>(col: CollapsibleColumn<T>, row: T): React.ReactNode {\r\n if (col.render) return col.render(row);\r\n const value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);\r\n return value == null || value === \"\" ? EMPTY : (value as React.ReactNode);\r\n}\r\n\r\nfunction alignOf(col: Pick<DataGridColumn<unknown>, \"align\" | \"numeric\">): Alignment {\r\n return col.align || (col.numeric ? \"right\" : \"left\");\r\n}\r\n\r\nfunction numericSx(\r\n col: Pick<DataGridColumn<unknown>, \"numeric\" | \"mono\">\r\n): SystemStyleObject<Theme> {\r\n return {\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono ? { fontVariantNumeric: \"tabular-nums\" } : {}),\r\n };\r\n}\r\n\r\nfunction CollapsibleDataGrid<T>({\r\n rows = [],\r\n columns = [],\r\n detailColumns = [],\r\n getRowId = defaultGetRowId,\r\n hasDetail,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n loading = false,\r\n pageSize: pageSizeProp = 10,\r\n pageSizes = [10, 25, 100],\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n}: CollapsibleDataGridProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n const expandLabel = labels?.expandRow ?? \"Afficher le détail\";\r\n const collapseLabel = labels?.collapseRow ?? \"Réduire le détail\";\r\n const detailAria = labels?.detailAria ?? \"Détail de la ligne\";\r\n\r\n const rowHasDetail = React.useCallback(\r\n (row: T): boolean => {\r\n if (typeof hasDetail === \"function\") return hasDetail(row);\r\n if (!detailColumns.length) return false;\r\n const first = detailColumns[0];\r\n if (!first) return false;\r\n const v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);\r\n return v != null && v !== \"\";\r\n },\r\n [hasDetail, detailColumns]\r\n );\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n const [open, setOpen] = React.useState<Record<RowId, boolean>>({});\r\n\r\n // Reset to the first page when the data set size changes so the slice\r\n // never lands past the end of a shrunken list.\r\n const total = rows.length;\r\n React.useEffect(() => {\r\n setPage(1);\r\n }, [total]);\r\n\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n [density]\r\n );\r\n const detailTableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...(TABLE_BY_DENSITY.compact as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n []\r\n );\r\n\r\n const start = (page - 1) * pageSize;\r\n const paged = rows.slice(start, start + pageSize);\r\n const masterColCount = columns.length;\r\n\r\n const toggle = (id: RowId) =>\r\n setOpen((prev) => ({ ...prev, [id]: !prev[id] }));\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box sx={{ overflow: \"auto\", maxHeight: maxBodyHeight, width: \"100%\" }}>\r\n <Table aria-label={tableAria} stickyHeader sx={tableSx}>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {paged.map((row) => {\r\n const id = getRowId(row);\r\n const expandable = rowHasDetail(row);\r\n const isOpen = Boolean(open[id]);\r\n const detailId = `pui-cdg-detail-${id}`;\r\n return (\r\n <React.Fragment key={id}>\r\n <TableRow hover sx={ROW_STATIC_SX}>\r\n {columns.map((col, index) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n ...numericSx(col),\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {index === 0 && expandable && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label={isOpen ? collapseLabel : expandLabel}\r\n aria-expanded={isOpen}\r\n aria-controls={detailId}\r\n onClick={() => toggle(id)}\r\n >\r\n {isOpen ? (\r\n <KeyboardArrowUpIcon fontSize=\"small\" />\r\n ) : (\r\n <KeyboardArrowDownIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n )}\r\n {resolveCell(col, row)}\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {expandable && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={masterColCount}\r\n sx={{ paddingTop: 0, paddingBottom: 0 }}\r\n >\r\n <Collapse\r\n id={detailId}\r\n in={isOpen}\r\n timeout=\"auto\"\r\n unmountOnExit\r\n >\r\n <Box\r\n sx={{\r\n paddingTop: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n <Table\r\n size=\"small\"\r\n aria-label={detailAria}\r\n sx={detailTableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={\r\n col.width != null\r\n ? { width: col.width }\r\n : {}\r\n }\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow sx={ROW_STATIC_SX}>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={numericSx(col)}\r\n >\r\n {resolveCell(col, row)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </Collapse>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n <Pagination\r\n page={page}\r\n pageSize={pageSize}\r\n total={total}\r\n onPageChange={setPage}\r\n onPageSizeChange={(s) => {\r\n setPageSize(s);\r\n setPage(1);\r\n }}\r\n pageSizes={pageSizes}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CollapsibleDataGrid;\r\n"],"mappings":"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","ignoreList":[]}