@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,237 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
+ import * as React from "react";
14
+ import Box from "@mui/material/Box";
15
+ import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward";
16
+ import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
17
+ import { mergeLabels } from "../utils/mergeLabels";
18
+
19
+ /**
20
+ * KPICard - Portnet UI v2
21
+ *
22
+ * Charter §03 · Component "KPI Card".
23
+ * Label uppercase 11 px + valeur 24 px + delta % vs période · tabular-nums.
24
+ *
25
+ * <KPICard label="Titres en attente" value={42} delta={+12.5} period="vs mois dernier" />
26
+ *
27
+ * Localisation (FR / EN / AR):
28
+ * <KPICard
29
+ * label="Pending titles"
30
+ * value={42}
31
+ * delta={+12.5}
32
+ * period="vs last month"
33
+ * locale="en-US"
34
+ * labels={{ up: "up by ", down: "down by " }}
35
+ * />
36
+ *
37
+ * - `locale` controls the delta percentage's separator (12.5 vs 12,5).
38
+ * - `labels.up` / `labels.down` are SR-only direction prefixes; default
39
+ * French preserved for back-compat.
40
+ *
41
+ * Variants (capability gap G-11)
42
+ * ------------------------------
43
+ * <KPICard label="Type" value="Importation matières premières" variant="text" />
44
+ * <KPICard label="Articles" value={4} size="compact" />
45
+ *
46
+ * `variant` says what the value IS (a metric vs a text descriptor); `size` says
47
+ * how big it renders (dashboard tile vs narrow drawer). They are independent and
48
+ * both were observed as host-side `sx` overrides reaching into `"& > p"` — the
49
+ * text one byte-identical in two files of the same module, which is what a
50
+ * missing variant looks like from the outside.
51
+ *
52
+ * NOTE (finding G-21 — charter contradiction, NOT resolved here). The label
53
+ * renders at a raw `11` and the default value at a raw `24`. Both are quoted
54
+ * from Charter §03's KPI Card row. But §02.2 R-T.1 is a MUST — « Font-size
55
+ * minimum 12 px » — and the type scale is 12/13/14/16/20/26: neither 11 nor 24
56
+ * exists in it, so R-2.3 (« aucune valeur magique ») is violated too. Two MUSTs
57
+ * against one line of component prose. Tokenising them is a typography change on
58
+ * every KPI of every module and needs a visual gate plus a charter amendment, so
59
+ * it is raised rather than silently applied. The `compact` and `text` sizes added
60
+ * here are token-based; only the untouched default carries the literals.
61
+ *
62
+ * A11y note (WCAG 1.4.1 + 1.4.3):
63
+ * The delta is conveyed by THREE channels:
64
+ * - icon (visual, non-text - uses --success / --danger, 1.4.11)
65
+ * - colour (visual reinforcement only)
66
+ * - text (uses --success-fg / --danger-fg for 4.5:1 contrast, 1.4.3)
67
+ * The direction is also announced to screen readers via a SR-only
68
+ * "en hausse de" / "en baisse de" prefix (1.4.1).
69
+ */
70
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
71
+ var DEFAULT_LABELS = Object.freeze({
72
+ up: "en hausse de ",
73
+ down: "en baisse de "
74
+ });
75
+ function formatDelta(n, locale) {
76
+ var opts = {
77
+ maximumFractionDigits: 2
78
+ };
79
+ try {
80
+ return new Intl.NumberFormat(locale, opts).format(n);
81
+ } catch (_unused) {
82
+ // Invalid BCP-47 tag → fall back to fr-FR rather than throwing.
83
+ return new Intl.NumberFormat("fr-FR", opts).format(n);
84
+ }
85
+ }
86
+ function KPICard(_ref) {
87
+ var label = _ref.label,
88
+ value = _ref.value,
89
+ delta = _ref.delta,
90
+ period = _ref.period,
91
+ helper = _ref.helper,
92
+ _ref$variant = _ref.variant,
93
+ variant = _ref$variant === void 0 ? "default" : _ref$variant,
94
+ _ref$size = _ref.size,
95
+ size = _ref$size === void 0 ? "default" : _ref$size,
96
+ icon = _ref.icon,
97
+ _ref$locale = _ref.locale,
98
+ locale = _ref$locale === void 0 ? "fr-FR" : _ref$locale,
99
+ labels = _ref.labels,
100
+ sx = _ref.sx;
101
+ var isText = variant === "text";
102
+ var isCompact = size === "compact";
103
+ var L = mergeLabels(DEFAULT_LABELS, labels);
104
+
105
+ // Parse delta into a definite `number | null` so the sign checks and
106
+ // Math.abs below narrow cleanly under strictNullChecks.
107
+ var parsed = delta == null || delta === "" ? null : Number(delta);
108
+ var deltaNum = parsed !== null && Number.isFinite(parsed) ? parsed : null;
109
+ var isPositive = deltaNum !== null && deltaNum > 0;
110
+ var isNegative = deltaNum !== null && deltaNum < 0;
111
+
112
+ // R-G.1 - split icon vs text colour so the icon stays vivid (1.4.11)
113
+ // while the numeric text meets 1.4.3 (4.5:1 against white).
114
+ var iconColor = isPositive ? "var(--success)" : isNegative ? "var(--danger)" : "var(--fg-subtle)";
115
+ var textColor = isPositive ? "var(--success-fg)" : isNegative ? "var(--danger-fg)" : "var(--fg-subtle)";
116
+
117
+ // SR-only direction prefix - empty for zero or missing deltas (the bare
118
+ // "0 %" already reads correctly without a direction word).
119
+ var directionLabel = isPositive ? L.up : isNegative ? L.down : "";
120
+ return /*#__PURE__*/_jsxs(Box, {
121
+ sx: [{
122
+ padding: "var(--s-4) var(--s-5)",
123
+ background: "var(--surface)",
124
+ border: "1px solid var(--border)",
125
+ borderRadius: "var(--r-lg)",
126
+ boxShadow: "var(--shadow-xs)",
127
+ minWidth: 0
128
+ }].concat(_toConsumableArray(Array.isArray(sx) ? sx : sx ? [sx] : [])),
129
+ children: [/*#__PURE__*/_jsxs(Box, {
130
+ sx: {
131
+ display: "flex",
132
+ alignItems: "center",
133
+ justifyContent: "space-between",
134
+ marginBottom: 1
135
+ },
136
+ children: [/*#__PURE__*/_jsx(Box, {
137
+ component: "p",
138
+ sx: {
139
+ margin: 0,
140
+ // Charter §03 KPI Card - explicit literal "label uppercase 11 px"
141
+ fontSize: 11,
142
+ fontWeight: "var(--fw-semibold)",
143
+ letterSpacing: "0.06em",
144
+ textTransform: "uppercase",
145
+ color: "var(--fg-subtle)"
146
+ },
147
+ children: label
148
+ }), icon && /*#__PURE__*/_jsx(Box, {
149
+ sx: {
150
+ color: "var(--fg-subtle)"
151
+ },
152
+ children: icon
153
+ })]
154
+ }), /*#__PURE__*/_jsx(Box, {
155
+ component: "p",
156
+ sx: _objectSpread({
157
+ margin: 0,
158
+ /* variant/size resolution — gap G-11.
159
+ *
160
+ * "default" keeps the Charter §03 literal ("valeur 24 px"); see the
161
+ * G-21 note below on why that literal is itself contested.
162
+ * "compact" steps down to --text-h2 (20px) for narrow containers.
163
+ * "text" drops to --text-body and behaves like prose. */
164
+ fontSize: isText ? "var(--text-body)" : isCompact ? "var(--text-h2)" : 24,
165
+ // Heaviest weight in the post-Batch-1 scale (700). The black-weight
166
+ // custom property this once referenced was dropped from the
167
+ // typography tokens and resolved to undefined in CSS, silently
168
+ // flattening the weight on every dashboard KPI.
169
+ //
170
+ // The old name is deliberately NOT spelled out here: the
171
+ // banned-patterns guard is a raw text scan with no comment
172
+ // awareness, so writing it - even to document its removal - trips
173
+ // the very rule that protects this line. See banned-patterns.test.ts.
174
+ //
175
+ // A text descriptor takes semibold instead: bold at body size reads
176
+ // as a heading and competes with the label above it.
177
+ fontWeight: isText ? "var(--fw-semibold)" : "var(--fw-bold)",
178
+ color: "var(--fg)"
179
+ }, isText ? {
180
+ lineHeight: "var(--lh-normal)"
181
+ } : {
182
+ fontVariantNumeric: "tabular-nums",
183
+ letterSpacing: "-0.01em",
184
+ lineHeight: "var(--lh-tight)"
185
+ }),
186
+ children: value !== null && value !== void 0 ? value : "—"
187
+ }), (deltaNum !== null || helper) && /*#__PURE__*/_jsxs(Box, {
188
+ sx: {
189
+ display: "flex",
190
+ alignItems: "center",
191
+ gap: 1,
192
+ marginTop: 1,
193
+ fontSize: "var(--text-xs)"
194
+ },
195
+ children: [deltaNum !== null && /*#__PURE__*/_jsxs(Box, {
196
+ sx: {
197
+ display: "inline-flex",
198
+ alignItems: "center",
199
+ gap: 0.25,
200
+ // Default colour for the block = textColor. The icon
201
+ // overrides to iconColor below for a vivid arrow against
202
+ // a darker numeric label.
203
+ color: textColor,
204
+ fontWeight: "var(--fw-semibold)",
205
+ // R-T.3 - tabular-nums on delta so percentages align across cards
206
+ fontVariantNumeric: "tabular-nums"
207
+ },
208
+ children: [directionLabel && /*#__PURE__*/_jsx("span", {
209
+ className: "pui-sr-only",
210
+ children: directionLabel
211
+ }), isPositive ? /*#__PURE__*/_jsx(ArrowUpwardIcon, {
212
+ "aria-hidden": "true",
213
+ sx: {
214
+ fontSize: "var(--text-xs)",
215
+ color: iconColor
216
+ }
217
+ }) : isNegative ? /*#__PURE__*/_jsx(ArrowDownwardIcon, {
218
+ "aria-hidden": "true",
219
+ sx: {
220
+ fontSize: "var(--text-xs)",
221
+ color: iconColor
222
+ }
223
+ }) : null, /*#__PURE__*/_jsxs("span", {
224
+ children: [formatDelta(Math.abs(deltaNum), locale), " %"]
225
+ })]
226
+ }), (period || helper) && /*#__PURE__*/_jsx(Box, {
227
+ component: "span",
228
+ sx: {
229
+ color: "var(--fg-subtle)"
230
+ },
231
+ children: helper || period
232
+ })]
233
+ })]
234
+ });
235
+ }
236
+ export default KPICard;
237
+ //# sourceMappingURL=KPICard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KPICard.js","names":["React","Box","ArrowUpwardIcon","ArrowDownwardIcon","mergeLabels","jsx","_jsx","jsxs","_jsxs","DEFAULT_LABELS","Object","freeze","up","down","formatDelta","n","locale","opts","maximumFractionDigits","Intl","NumberFormat","format","_unused","KPICard","_ref","label","value","delta","period","helper","_ref$variant","variant","_ref$size","size","icon","_ref$locale","labels","sx","isText","isCompact","L","parsed","Number","deltaNum","isFinite","isPositive","isNegative","iconColor","textColor","directionLabel","padding","background","border","borderRadius","boxShadow","minWidth","concat","_toConsumableArray","Array","isArray","children","display","alignItems","justifyContent","marginBottom","component","margin","fontSize","fontWeight","letterSpacing","textTransform","color","_objectSpread","lineHeight","fontVariantNumeric","gap","marginTop","className","Math","abs"],"sources":["../../../../src/lib/v2/components/KPICard.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\r\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * KPICard - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"KPI Card\".\r\n * Label uppercase 11 px + valeur 24 px + delta % vs période · tabular-nums.\r\n *\r\n * <KPICard label=\"Titres en attente\" value={42} delta={+12.5} period=\"vs mois dernier\" />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <KPICard\r\n * label=\"Pending titles\"\r\n * value={42}\r\n * delta={+12.5}\r\n * period=\"vs last month\"\r\n * locale=\"en-US\"\r\n * labels={{ up: \"up by \", down: \"down by \" }}\r\n * />\r\n *\r\n * - `locale` controls the delta percentage's separator (12.5 vs 12,5).\r\n * - `labels.up` / `labels.down` are SR-only direction prefixes; default\r\n * French preserved for back-compat.\r\n *\r\n * Variants (capability gap G-11)\r\n * ------------------------------\r\n * <KPICard label=\"Type\" value=\"Importation matières premières\" variant=\"text\" />\r\n * <KPICard label=\"Articles\" value={4} size=\"compact\" />\r\n *\r\n * `variant` says what the value IS (a metric vs a text descriptor); `size` says\r\n * how big it renders (dashboard tile vs narrow drawer). They are independent and\r\n * both were observed as host-side `sx` overrides reaching into `\"& > p\"` — the\r\n * text one byte-identical in two files of the same module, which is what a\r\n * missing variant looks like from the outside.\r\n *\r\n * NOTE (finding G-21 — charter contradiction, NOT resolved here). The label\r\n * renders at a raw `11` and the default value at a raw `24`. Both are quoted\r\n * from Charter §03's KPI Card row. But §02.2 R-T.1 is a MUST — « Font-size\r\n * minimum 12 px » — and the type scale is 12/13/14/16/20/26: neither 11 nor 24\r\n * exists in it, so R-2.3 (« aucune valeur magique ») is violated too. Two MUSTs\r\n * against one line of component prose. Tokenising them is a typography change on\r\n * every KPI of every module and needs a visual gate plus a charter amendment, so\r\n * it is raised rather than silently applied. The `compact` and `text` sizes added\r\n * here are token-based; only the untouched default carries the literals.\r\n *\r\n * A11y note (WCAG 1.4.1 + 1.4.3):\r\n * The delta is conveyed by THREE channels:\r\n * - icon (visual, non-text - uses --success / --danger, 1.4.11)\r\n * - colour (visual reinforcement only)\r\n * - text (uses --success-fg / --danger-fg for 4.5:1 contrast, 1.4.3)\r\n * The direction is also announced to screen readers via a SR-only\r\n * \"en hausse de\" / \"en baisse de\" prefix (1.4.1).\r\n */\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n up: \"en hausse de \",\r\n down: \"en baisse de \",\r\n});\r\n\r\nfunction formatDelta(n: number, locale: string): string {\r\n const opts: Intl.NumberFormatOptions = { maximumFractionDigits: 2 };\r\n try {\r\n return new Intl.NumberFormat(locale, opts).format(n);\r\n } catch {\r\n // Invalid BCP-47 tag → fall back to fr-FR rather than throwing.\r\n return new Intl.NumberFormat(\"fr-FR\", opts).format(n);\r\n }\r\n}\r\n\r\nexport interface KPICardLabels {\r\n up?: string | undefined;\r\n down?: string | undefined;\r\n}\r\n\r\nexport interface KPICardProps {\r\n label: React.ReactNode;\r\n value?: React.ReactNode | undefined;\r\n delta?: number | string | undefined;\r\n period?: React.ReactNode | undefined;\r\n helper?: React.ReactNode | undefined;\r\n /**\r\n * What the `value` slot HOLDS — not how big it is (see `size`).\r\n *\r\n * \"default\" : a numeric metric. Display type size, tight leading,\r\n * tabular numerals, negative letter-spacing.\r\n * \"text\" : a TEXT descriptor (« Importation matières premières »).\r\n * Body size, semibold, normal leading, free to wrap.\r\n *\r\n * Capability gap G-11. This prop previously accepted only \"default\" and was\r\n * marked \"reserved for future visual variants\" — so a card whose value was a\r\n * long label had no supported shape, and every module patched it from the\r\n * outside with an `sx` override reaching into `\"& > p\"`. addpe-fe carries that\r\n * override BYTE-IDENTICAL in two files, which is the signature of a missing\r\n * variant rather than of a local design decision.\r\n *\r\n * The distinction is not cosmetic: at display size a descriptor wraps and\r\n * breaks the strip's row rhythm, and `tabular-nums` + negative tracking are\r\n * meaningless — actively wrong — on prose.\r\n */\r\n variant?: \"default\" | \"text\" | undefined;\r\n /**\r\n * Type scale of the `value` slot.\r\n *\r\n * \"default\" : the charter's dashboard tile size.\r\n * \"compact\" : one step down (--text-h2), for a NARROW container — a 480 px\r\n * drawer, a 2×2 grid at ~220 px per tile — where the default\r\n * reads oversized against the 11 px label.\r\n *\r\n * Same origin as `variant`: addpe-fe's `KPI_VALUE_COMPACT_SX`, applied to\r\n * three cards of its preview drawer.\r\n */\r\n size?: \"default\" | \"compact\" | undefined;\r\n icon?: React.ReactElement | undefined;\r\n locale?: string | undefined;\r\n labels?: KPICardLabels | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction KPICard({\r\n label,\r\n value,\r\n delta,\r\n period,\r\n helper,\r\n variant = \"default\",\r\n size = \"default\",\r\n icon,\r\n locale = \"fr-FR\",\r\n labels,\r\n sx,\r\n}: KPICardProps) {\r\n const isText = variant === \"text\";\r\n const isCompact = size === \"compact\";\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n // Parse delta into a definite `number | null` so the sign checks and\r\n // Math.abs below narrow cleanly under strictNullChecks.\r\n const parsed = delta == null || delta === \"\" ? null : Number(delta);\r\n const deltaNum: number | null =\r\n parsed !== null && Number.isFinite(parsed) ? parsed : null;\r\n const isPositive = deltaNum !== null && deltaNum > 0;\r\n const isNegative = deltaNum !== null && deltaNum < 0;\r\n\r\n // R-G.1 - split icon vs text colour so the icon stays vivid (1.4.11)\r\n // while the numeric text meets 1.4.3 (4.5:1 against white).\r\n const iconColor =\r\n isPositive ? \"var(--success)\" :\r\n isNegative ? \"var(--danger)\" : \"var(--fg-subtle)\";\r\n const textColor =\r\n isPositive ? \"var(--success-fg)\" :\r\n isNegative ? \"var(--danger-fg)\" : \"var(--fg-subtle)\";\r\n\r\n // SR-only direction prefix - empty for zero or missing deltas (the bare\r\n // \"0 %\" already reads correctly without a direction word).\r\n const directionLabel =\r\n isPositive ? L.up :\r\n isNegative ? L.down : \"\";\r\n\r\n return (\r\n <Box\r\n sx={[\r\n {\r\n padding: \"var(--s-4) var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-xs)\",\r\n minWidth: 0,\r\n },\r\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\r\n ]}\r\n >\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", justifyContent: \"space-between\", marginBottom: 1 }}>\r\n <Box\r\n component=\"p\"\r\n sx={{\r\n margin: 0,\r\n // Charter §03 KPI Card - explicit literal \"label uppercase 11 px\"\r\n fontSize: 11,\r\n fontWeight: \"var(--fw-semibold)\",\r\n letterSpacing: \"0.06em\",\r\n textTransform: \"uppercase\",\r\n color: \"var(--fg-subtle)\",\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n {icon && <Box sx={{ color: \"var(--fg-subtle)\" }}>{icon}</Box>}\r\n </Box>\r\n <Box\r\n component=\"p\"\r\n sx={{\r\n margin: 0,\r\n /* variant/size resolution — gap G-11.\r\n *\r\n * \"default\" keeps the Charter §03 literal (\"valeur 24 px\"); see the\r\n * G-21 note below on why that literal is itself contested.\r\n * \"compact\" steps down to --text-h2 (20px) for narrow containers.\r\n * \"text\" drops to --text-body and behaves like prose. */\r\n fontSize: isText\r\n ? \"var(--text-body)\"\r\n : isCompact\r\n ? \"var(--text-h2)\"\r\n : 24,\r\n // Heaviest weight in the post-Batch-1 scale (700). The black-weight\r\n // custom property this once referenced was dropped from the\r\n // typography tokens and resolved to undefined in CSS, silently\r\n // flattening the weight on every dashboard KPI.\r\n //\r\n // The old name is deliberately NOT spelled out here: the\r\n // banned-patterns guard is a raw text scan with no comment\r\n // awareness, so writing it - even to document its removal - trips\r\n // the very rule that protects this line. See banned-patterns.test.ts.\r\n //\r\n // A text descriptor takes semibold instead: bold at body size reads\r\n // as a heading and competes with the label above it.\r\n fontWeight: isText ? \"var(--fw-semibold)\" : \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n /* Both of these are FIGURE typography and are actively wrong on prose:\r\n * tabular numerals force uniform digit widths (pointless without\r\n * digits) and negative tracking tightens words that need their normal\r\n * spacing to stay legible at body size. */\r\n ...(isText\r\n ? { lineHeight: \"var(--lh-normal)\" }\r\n : {\r\n fontVariantNumeric: \"tabular-nums\",\r\n letterSpacing: \"-0.01em\",\r\n lineHeight: \"var(--lh-tight)\",\r\n }),\r\n }}\r\n >\r\n {value ?? \"—\"}\r\n </Box>\r\n {(deltaNum !== null || helper) && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n marginTop: 1,\r\n fontSize: \"var(--text-xs)\",\r\n }}\r\n >\r\n {deltaNum !== null && (\r\n <Box\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: 0.25,\r\n // Default colour for the block = textColor. The icon\r\n // overrides to iconColor below for a vivid arrow against\r\n // a darker numeric label.\r\n color: textColor,\r\n fontWeight: \"var(--fw-semibold)\",\r\n // R-T.3 - tabular-nums on delta so percentages align across cards\r\n fontVariantNumeric: \"tabular-nums\",\r\n }}\r\n >\r\n {/* WCAG 1.4.1 - direction is announced to SR only; sighted\r\n users get the arrow + colour. */}\r\n {directionLabel && (\r\n <span className=\"pui-sr-only\">{directionLabel}</span>\r\n )}\r\n {isPositive ? (\r\n <ArrowUpwardIcon\r\n aria-hidden=\"true\"\r\n sx={{ fontSize: \"var(--text-xs)\", color: iconColor }}\r\n />\r\n ) : isNegative ? (\r\n <ArrowDownwardIcon\r\n aria-hidden=\"true\"\r\n sx={{ fontSize: \"var(--text-xs)\", color: iconColor }}\r\n />\r\n ) : null}\r\n <span>{formatDelta(Math.abs(deltaNum), locale)} %</span>\r\n </Box>\r\n )}\r\n {(period || helper) && (\r\n <Box component=\"span\" sx={{ color: \"var(--fg-subtle)\" }}>\r\n {helper || period}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default KPICard;\r\n"],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;AAEnC,OAAOC,eAAe,MAAM,iCAAiC;AAC7D,OAAOC,iBAAiB,MAAM,mCAAmC;AACjE,SAASC,WAAW,QAAQ,sBAAsB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlDA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAoDA,IAAMC,cAAc,GAAGC,MAAM,CAACC,MAAM,CAAC;EACnCC,EAAE,EAAI,eAAe;EACrBC,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,SAASC,WAAWA,CAACC,CAAS,EAAEC,MAAc,EAAU;EACtD,IAAMC,IAA8B,GAAG;IAAEC,qBAAqB,EAAE;EAAE,CAAC;EACnE,IAAI;IACF,OAAO,IAAIC,IAAI,CAACC,YAAY,CAACJ,MAAM,EAAEC,IAAI,CAAC,CAACI,MAAM,CAACN,CAAC,CAAC;EACtD,CAAC,CAAC,OAAAO,OAAA,EAAM;IACN;IACA,OAAO,IAAIH,IAAI,CAACC,YAAY,CAAC,OAAO,EAAEH,IAAI,CAAC,CAACI,MAAM,CAACN,CAAC,CAAC;EACvD;AACF;AAmDA,SAASQ,OAAOA,CAAAC,IAAA,EAYC;EAAA,IAXfC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,KAAK,GAAAF,IAAA,CAALE,KAAK;IACLC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,MAAM,GAAAL,IAAA,CAANK,MAAM;IAAAC,YAAA,GAAAN,IAAA,CACNO,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,SAAS,GAAAA,YAAA;IAAAE,SAAA,GAAAR,IAAA,CACnBS,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,SAAS,GAAAA,SAAA;IAChBE,IAAI,GAAAV,IAAA,CAAJU,IAAI;IAAAC,WAAA,GAAAX,IAAA,CACJR,MAAM;IAANA,MAAM,GAAAmB,WAAA,cAAG,OAAO,GAAAA,WAAA;IAChBC,MAAM,GAAAZ,IAAA,CAANY,MAAM;IACNC,EAAE,GAAAb,IAAA,CAAFa,EAAE;EAEF,IAAMC,MAAM,GAAGP,OAAO,KAAK,MAAM;EACjC,IAAMQ,SAAS,GAAGN,IAAI,KAAK,SAAS;EACpC,IAAMO,CAAC,GAAGpC,WAAW,CAACK,cAAc,EAAE2B,MAAM,CAAC;;EAE7C;EACA;EACA,IAAMK,MAAM,GAAGd,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,GAAG,IAAI,GAAGe,MAAM,CAACf,KAAK,CAAC;EACnE,IAAMgB,QAAuB,GAC3BF,MAAM,KAAK,IAAI,IAAIC,MAAM,CAACE,QAAQ,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,IAAI;EAC5D,IAAMI,UAAU,GAAGF,QAAQ,KAAK,IAAI,IAAIA,QAAQ,GAAG,CAAC;EACpD,IAAMG,UAAU,GAAGH,QAAQ,KAAK,IAAI,IAAIA,QAAQ,GAAG,CAAC;;EAEpD;EACA;EACA,IAAMI,SAAS,GACbF,UAAU,GAAG,gBAAgB,GAC7BC,UAAU,GAAG,eAAe,GAAQ,kBAAkB;EACxD,IAAME,SAAS,GACbH,UAAU,GAAG,mBAAmB,GAChCC,UAAU,GAAG,kBAAkB,GAAK,kBAAkB;;EAExD;EACA;EACA,IAAMG,cAAc,GAClBJ,UAAU,GAAGL,CAAC,CAAC5B,EAAE,GACjBkC,UAAU,GAAGN,CAAC,CAAC3B,IAAI,GAAG,EAAE;EAE1B,oBACEL,KAAA,CAACP,GAAG;IACFoC,EAAE,GACA;MACEa,OAAO,EAAE,uBAAuB;MAChCC,UAAU,EAAE,gBAAgB;MAC5BC,MAAM,EAAE,yBAAyB;MACjCC,YAAY,EAAE,aAAa;MAC3BC,SAAS,EAAE,kBAAkB;MAC7BC,QAAQ,EAAE;IACZ,CAAC,EAAAC,MAAA,CAAAC,kBAAA,CACGC,KAAK,CAACC,OAAO,CAACtB,EAAE,CAAC,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAACA,EAAE,CAAC,GAAG,EAAE,EAC3C;IAAAuB,QAAA,gBAEFpD,KAAA,CAACP,GAAG;MAACoC,EAAE,EAAE;QAAEwB,OAAO,EAAE,MAAM;QAAEC,UAAU,EAAE,QAAQ;QAAEC,cAAc,EAAE,eAAe;QAAEC,YAAY,EAAE;MAAE,CAAE;MAAAJ,QAAA,gBACnGtD,IAAA,CAACL,GAAG;QACFgE,SAAS,EAAC,GAAG;QACb5B,EAAE,EAAE;UACF6B,MAAM,EAAE,CAAC;UACT;UACAC,QAAQ,EAAE,EAAE;UACZC,UAAU,EAAE,oBAAoB;UAChCC,aAAa,EAAE,QAAQ;UACvBC,aAAa,EAAE,WAAW;UAC1BC,KAAK,EAAE;QACT,CAAE;QAAAX,QAAA,EAEDnC;MAAK,CACH,CAAC,EACLS,IAAI,iBAAI5B,IAAA,CAACL,GAAG;QAACoC,EAAE,EAAE;UAAEkC,KAAK,EAAE;QAAmB,CAAE;QAAAX,QAAA,EAAE1B;MAAI,CAAM,CAAC;IAAA,CAC1D,CAAC,eACN5B,IAAA,CAACL,GAAG;MACFgE,SAAS,EAAC,GAAG;MACb5B,EAAE,EAAAmC,aAAA;QACAN,MAAM,EAAE,CAAC;QACT;AACV;AACA;AACA;AACA;AACA;QACUC,QAAQ,EAAE7B,MAAM,GACZ,kBAAkB,GAClBC,SAAS,GACP,gBAAgB,GAChB,EAAE;QACR;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA6B,UAAU,EAAE9B,MAAM,GAAG,oBAAoB,GAAG,gBAAgB;QAC5DiC,KAAK,EAAE;MAAW,GAKdjC,MAAM,GACN;QAAEmC,UAAU,EAAE;MAAmB,CAAC,GAClC;QACEC,kBAAkB,EAAE,cAAc;QAClCL,aAAa,EAAE,SAAS;QACxBI,UAAU,EAAE;MACd,CAAC,CACL;MAAAb,QAAA,EAEDlC,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI;IAAG,CACV,CAAC,EACL,CAACiB,QAAQ,KAAK,IAAI,IAAId,MAAM,kBAC3BrB,KAAA,CAACP,GAAG;MACFoC,EAAE,EAAE;QACFwB,OAAO,EAAE,MAAM;QACfC,UAAU,EAAE,QAAQ;QACpBa,GAAG,EAAE,CAAC;QACNC,SAAS,EAAE,CAAC;QACZT,QAAQ,EAAE;MACZ,CAAE;MAAAP,QAAA,GAEDjB,QAAQ,KAAK,IAAI,iBAChBnC,KAAA,CAACP,GAAG;QACFoC,EAAE,EAAE;UACFwB,OAAO,EAAE,aAAa;UACtBC,UAAU,EAAE,QAAQ;UACpBa,GAAG,EAAE,IAAI;UACT;UACA;UACA;UACAJ,KAAK,EAAEvB,SAAS;UAChBoB,UAAU,EAAE,oBAAoB;UAChC;UACAM,kBAAkB,EAAE;QACtB,CAAE;QAAAd,QAAA,GAIDX,cAAc,iBACb3C,IAAA;UAAMuE,SAAS,EAAC,aAAa;UAAAjB,QAAA,EAAEX;QAAc,CAAO,CACrD,EACAJ,UAAU,gBACTvC,IAAA,CAACJ,eAAe;UACd,eAAY,MAAM;UAClBmC,EAAE,EAAE;YAAE8B,QAAQ,EAAE,gBAAgB;YAAEI,KAAK,EAAExB;UAAU;QAAE,CACtD,CAAC,GACAD,UAAU,gBACZxC,IAAA,CAACH,iBAAiB;UAChB,eAAY,MAAM;UAClBkC,EAAE,EAAE;YAAE8B,QAAQ,EAAE,gBAAgB;YAAEI,KAAK,EAAExB;UAAU;QAAE,CACtD,CAAC,GACA,IAAI,eACRvC,KAAA;UAAAoD,QAAA,GAAO9C,WAAW,CAACgE,IAAI,CAACC,GAAG,CAACpC,QAAQ,CAAC,EAAE3B,MAAM,CAAC,EAAC,IAAE;QAAA,CAAM,CAAC;MAAA,CACrD,CACN,EACA,CAACY,MAAM,IAAIC,MAAM,kBAChBvB,IAAA,CAACL,GAAG;QAACgE,SAAS,EAAC,MAAM;QAAC5B,EAAE,EAAE;UAAEkC,KAAK,EAAE;QAAmB,CAAE;QAAAX,QAAA,EACrD/B,MAAM,IAAID;MAAM,CACd,CACN;IAAA,CACE,CACN;EAAA,CACE,CAAC;AAEV;AAEA,eAAeL,OAAO","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ 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); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ import * as React from "react";
8
+ import Box from "@mui/material/Box";
9
+
10
+ /**
11
+ * KPIStrip — Portnet UI v2
12
+ *
13
+ * The row of metric tiles. Charter §07 names this zone explicitly in the
14
+ * canonical page template: « ③ FILTERS / KPI STRIP — FilterTabs ou KPI cards
15
+ * selon contexte ».
16
+ *
17
+ * ─────────────────────────────────────────────────────────────────────────────
18
+ * WHY THIS BELONGS IN THE LIBRARY (capability gap G-11)
19
+ *
20
+ * The charter names the zone; the library shipped the tile (`KPICard`) and not
21
+ * the zone. So every screen wrote the grid, and the two written in addpe-fe
22
+ * disagree on the breakpoint ladder:
23
+ *
24
+ * AutorisationDetail (hero) { xs: "1fr 1fr", md: "repeat(4, 1fr)" }
25
+ * AutorisationPreviewDrawer "1fr 1fr" (fixed, no ladder at all)
26
+ *
27
+ * Neither is wrong in isolation; together they mean a KPI row reflows
28
+ * differently depending on which screen you are on, for no reason a user could
29
+ * name. A named zone with an unnamed container is an invitation to that.
30
+ * ─────────────────────────────────────────────────────────────────────────────
31
+ *
32
+ * <KPIStrip columns={4}>
33
+ * <KPICard label="Type" value={type} variant="text" />
34
+ * <KPICard label="Poids Net Total" value={poids} helper="kg" />
35
+ * <KPICard label="Articles" value={count} helper={helper} />
36
+ * <KPICard label="Validité" value={date} helper={emission} />
37
+ * </KPIStrip>
38
+ *
39
+ * // Narrow container (480 px drawer): 2-up, one size down on the values.
40
+ * <KPIStrip columns={2}>
41
+ * <KPICard … size="compact" />
42
+ * </KPIStrip>
43
+ *
44
+ * Mobile is always 2-up, deliberately, and this is the one opinion the component
45
+ * imposes. A KPI is a short figure under a short label: one per row wastes half
46
+ * a phone's width and turns a four-tile strip into a full screen of scrolling
47
+ * before the user reaches the content the tiles describe. Both local copies had
48
+ * independently reached the same conclusion — the ladder they disagreed on was
49
+ * the DESKTOP end, not this one.
50
+ *
51
+ * Accessibility: no `role` and no landmark. The strip is a visual grouping of
52
+ * cards that each carry their own label/value pair; wrapping it in a `role="group"`
53
+ * without an accessible name adds an unnamed group to the SR tree, which is
54
+ * noise. A host that needs the strip announced should give the surrounding
55
+ * section a heading — which the page template already does.
56
+ */
57
+ import { jsx as _jsx } from "react/jsx-runtime";
58
+ function KPIStrip(_ref) {
59
+ var _ref$columns = _ref.columns,
60
+ columns = _ref$columns === void 0 ? 4 : _ref$columns,
61
+ gap = _ref.gap,
62
+ children = _ref.children,
63
+ sx = _ref.sx;
64
+ return /*#__PURE__*/_jsx(Box
65
+ /* ARRAY form, not an object spread — see gap G-23. SxProps admits arrays and
66
+ * functions, which an object spread destroys silently. Same shape KPICard
67
+ * uses, and the tiles inside this strip ARE KPICards. */, {
68
+ sx: [{
69
+ display: "grid",
70
+ gridTemplateColumns: {
71
+ xs: "repeat(2, minmax(0, 1fr))",
72
+ md: "repeat(".concat(columns, ", minmax(0, 1fr))")
73
+ },
74
+ // `minmax(0, 1fr)` rather than `1fr`: a tile whose value is a long text
75
+ // descriptor (KPICard variant="text") would otherwise refuse to shrink
76
+ // below its content width and overflow the strip (WCAG 1.4.10 Reflow).
77
+ gap: gap !== null && gap !== void 0 ? gap : "var(--s-3)",
78
+ minWidth: 0
79
+ }].concat(_toConsumableArray(Array.isArray(sx) ? sx : sx ? [sx] : [])),
80
+ children: children
81
+ });
82
+ }
83
+ export default KPIStrip;
84
+ //# sourceMappingURL=KPIStrip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KPIStrip.js","names":["React","Box","jsx","_jsx","KPIStrip","_ref","_ref$columns","columns","gap","children","sx","display","gridTemplateColumns","xs","md","concat","minWidth","_toConsumableArray","Array","isArray"],"sources":["../../../../src/lib/v2/components/KPIStrip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * KPIStrip — Portnet UI v2\r\n *\r\n * The row of metric tiles. Charter §07 names this zone explicitly in the\r\n * canonical page template: « ③ FILTERS / KPI STRIP — FilterTabs ou KPI cards\r\n * selon contexte ».\r\n *\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n * WHY THIS BELONGS IN THE LIBRARY (capability gap G-11)\r\n *\r\n * The charter names the zone; the library shipped the tile (`KPICard`) and not\r\n * the zone. So every screen wrote the grid, and the two written in addpe-fe\r\n * disagree on the breakpoint ladder:\r\n *\r\n * AutorisationDetail (hero) { xs: \"1fr 1fr\", md: \"repeat(4, 1fr)\" }\r\n * AutorisationPreviewDrawer \"1fr 1fr\" (fixed, no ladder at all)\r\n *\r\n * Neither is wrong in isolation; together they mean a KPI row reflows\r\n * differently depending on which screen you are on, for no reason a user could\r\n * name. A named zone with an unnamed container is an invitation to that.\r\n * ─────────────────────────────────────────────────────────────────────────────\r\n *\r\n * <KPIStrip columns={4}>\r\n * <KPICard label=\"Type\" value={type} variant=\"text\" />\r\n * <KPICard label=\"Poids Net Total\" value={poids} helper=\"kg\" />\r\n * <KPICard label=\"Articles\" value={count} helper={helper} />\r\n * <KPICard label=\"Validité\" value={date} helper={emission} />\r\n * </KPIStrip>\r\n *\r\n * // Narrow container (480 px drawer): 2-up, one size down on the values.\r\n * <KPIStrip columns={2}>\r\n * <KPICard … size=\"compact\" />\r\n * </KPIStrip>\r\n *\r\n * Mobile is always 2-up, deliberately, and this is the one opinion the component\r\n * imposes. A KPI is a short figure under a short label: one per row wastes half\r\n * a phone's width and turns a four-tile strip into a full screen of scrolling\r\n * before the user reaches the content the tiles describe. Both local copies had\r\n * independently reached the same conclusion — the ladder they disagreed on was\r\n * the DESKTOP end, not this one.\r\n *\r\n * Accessibility: no `role` and no landmark. The strip is a visual grouping of\r\n * cards that each carry their own label/value pair; wrapping it in a `role=\"group\"`\r\n * without an accessible name adds an unnamed group to the SR tree, which is\r\n * noise. A host that needs the strip announced should give the surrounding\r\n * section a heading — which the page template already does.\r\n */\r\n\r\nexport interface KPIStripProps {\r\n /**\r\n * Tiles per row at md+ (≥ 768 px, the charter breakpoint token — not MUI's\r\n * default). Below md the strip is always 2-up; see the component note.\r\n * @default 4\r\n */\r\n columns?: 2 | 3 | 4 | undefined;\r\n /**\r\n * Grid gap. Defaults to `--s-3` (12px) — the value both local copies used, and\r\n * the charter's « Padding cards compact » step, which is the right density\r\n * between tiles that each already carry their own padding and border.\r\n */\r\n gap?: string | number | undefined;\r\n children: React.ReactNode;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction KPIStrip({ columns = 4, gap, children, sx }: KPIStripProps) {\r\n return (\r\n <Box\r\n /* ARRAY form, not an object spread — see gap G-23. SxProps admits arrays and\r\n * functions, which an object spread destroys silently. Same shape KPICard\r\n * uses, and the tiles inside this strip ARE KPICards. */\r\n sx={[\r\n {\r\n display: \"grid\",\r\n gridTemplateColumns: {\r\n xs: \"repeat(2, minmax(0, 1fr))\",\r\n md: `repeat(${columns}, minmax(0, 1fr))`,\r\n },\r\n // `minmax(0, 1fr)` rather than `1fr`: a tile whose value is a long text\r\n // descriptor (KPICard variant=\"text\") would otherwise refuse to shrink\r\n // below its content width and overflow the strip (WCAG 1.4.10 Reflow).\r\n gap: gap ?? \"var(--s-3)\",\r\n minWidth: 0,\r\n },\r\n ...(Array.isArray(sx) ? sx : sx ? [sx] : []),\r\n ]}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default KPIStrip;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;;AAGnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9CA,SAAAC,GAAA,IAAAC,IAAA;AAiEA,SAASC,QAAQA,CAAAC,IAAA,EAAoD;EAAA,IAAAC,YAAA,GAAAD,IAAA,CAAjDE,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,CAAC,GAAAA,YAAA;IAAEE,GAAG,GAAAH,IAAA,CAAHG,GAAG;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAEC,EAAE,GAAAL,IAAA,CAAFK,EAAE;EAChD,oBACEP,IAAA,CAACF;EACC;AACN;AACA,2DAFM;IAGAS,EAAE,GACA;MACEC,OAAO,EAAE,MAAM;MACfC,mBAAmB,EAAE;QACnBC,EAAE,EAAE,2BAA2B;QAC/BC,EAAE,YAAAC,MAAA,CAAYR,OAAO;MACvB,CAAC;MACD;MACA;MACA;MACAC,GAAG,EAAEA,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI,YAAY;MACxBQ,QAAQ,EAAE;IACZ,CAAC,EAAAD,MAAA,CAAAE,kBAAA,CACGC,KAAK,CAACC,OAAO,CAACT,EAAE,CAAC,GAAGA,EAAE,GAAGA,EAAE,GAAG,CAACA,EAAE,CAAC,GAAG,EAAE,EAC3C;IAAAD,QAAA,EAEDA;EAAQ,CACN,CAAC;AAEV;AAEA,eAAeL,QAAQ","ignoreList":[]}
@@ -0,0 +1,75 @@
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
+
10
+ /**
11
+ * KV — Label / value pair for detail panes.
12
+ *
13
+ * The label and value are explicitly paired via `aria-labelledby` so
14
+ * screen readers announce them as one semantic unit (e.g. "IMPORTATEUR
15
+ * SOFRANE SA") instead of two adjacent-but-unrelated text nodes.
16
+ *
17
+ * Density-aware: the value renders at var(--text-fs), tracking the
18
+ * surrounding density tier (comfortable=14 / compact=13 / spacious=15
19
+ * / ultraCompact=12). The label stays at 11 px — its size is a
20
+ * semantic property of the eyebrow-text role, not body density.
21
+ *
22
+ * <KV label="Importateur" value="SOFRANE SA" />
23
+ * <KV label="Référence" value="2025-IM-0042" mono />
24
+ */
25
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ function KV(_ref) {
27
+ var label = _ref.label,
28
+ value = _ref.value,
29
+ _ref$mono = _ref.mono,
30
+ mono = _ref$mono === void 0 ? false : _ref$mono,
31
+ _ref$fallback = _ref.fallback,
32
+ fallback = _ref$fallback === void 0 ? "—" : _ref$fallback;
33
+ var display = value === null || value === undefined || value === "" ? fallback : value;
34
+ var isMissing = display === fallback;
35
+ var labelId = React.useId();
36
+ return /*#__PURE__*/_jsxs(Box, {
37
+ sx: {
38
+ minWidth: 0
39
+ },
40
+ children: [/*#__PURE__*/_jsx(Box, {
41
+ id: labelId,
42
+ sx: {
43
+ fontSize: 11,
44
+ color: "var(--fg-subtle)",
45
+ fontWeight: "var(--fw-medium)",
46
+ marginBottom: 0.5,
47
+ textTransform: "uppercase",
48
+ /* A7-02 — was a raw "0.04em". This component is one of the two places
49
+ * the value was hardcoded INSIDE the library, which is what
50
+ * established it as platform vocabulary and justified promoting the
51
+ * letter-spacing scale rather than stripping the tracking. */
52
+ letterSpacing: "var(--ls-wide)"
53
+ },
54
+ children: label
55
+ }), /*#__PURE__*/_jsx(Box, {
56
+ "aria-labelledby": labelId,
57
+ sx: _objectSpread(_objectSpread({
58
+ // B1 — density-aware body font size, tracking the host's
59
+ // data-density attribute. Aligns KV cells with DataGrid
60
+ // body cells (which already use --text-fs).
61
+ fontSize: "var(--text-fs)",
62
+ fontWeight: "var(--fw-medium)",
63
+ color: isMissing ? "var(--fg-subtle)" : "var(--fg)"
64
+ }, mono ? {
65
+ fontFamily: "var(--font-mono)",
66
+ fontVariantNumeric: "tabular-nums"
67
+ } : {}), {}, {
68
+ wordBreak: "break-word"
69
+ }),
70
+ children: display
71
+ })]
72
+ });
73
+ }
74
+ export default KV;
75
+ //# sourceMappingURL=KV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KV.js","names":["React","Box","jsx","_jsx","jsxs","_jsxs","KV","_ref","label","value","_ref$mono","mono","_ref$fallback","fallback","display","undefined","isMissing","labelId","useId","sx","minWidth","children","id","fontSize","color","fontWeight","marginBottom","textTransform","letterSpacing","_objectSpread","fontFamily","fontVariantNumeric","wordBreak"],"sources":["../../../../src/lib/v2/components/KV.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\n/**\r\n * KV — Label / value pair for detail panes.\r\n *\r\n * The label and value are explicitly paired via `aria-labelledby` so\r\n * screen readers announce them as one semantic unit (e.g. \"IMPORTATEUR\r\n * SOFRANE SA\") instead of two adjacent-but-unrelated text nodes.\r\n *\r\n * Density-aware: the value renders at var(--text-fs), tracking the\r\n * surrounding density tier (comfortable=14 / compact=13 / spacious=15\r\n * / ultraCompact=12). The label stays at 11 px — its size is a\r\n * semantic property of the eyebrow-text role, not body density.\r\n *\r\n * <KV label=\"Importateur\" value=\"SOFRANE SA\" />\r\n * <KV label=\"Référence\" value=\"2025-IM-0042\" mono />\r\n */\r\n\r\nexport interface KVProps {\r\n label: React.ReactNode;\r\n value?: React.ReactNode | undefined;\r\n mono?: boolean | undefined;\r\n fallback?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction KV({ label, value, mono = false, fallback = \"—\" }: KVProps) {\r\n const display = (value === null || value === undefined || value === \"\") ? fallback : value;\r\n const isMissing = display === fallback;\r\n const labelId = React.useId();\r\n return (\r\n <Box sx={{ minWidth: 0 }}>\r\n <Box\r\n id={labelId}\r\n sx={{\r\n fontSize: 11,\r\n color: \"var(--fg-subtle)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n marginBottom: 0.5,\r\n textTransform: \"uppercase\",\r\n /* A7-02 — was a raw \"0.04em\". This component is one of the two places\r\n * the value was hardcoded INSIDE the library, which is what\r\n * established it as platform vocabulary and justified promoting the\r\n * letter-spacing scale rather than stripping the tracking. */\r\n letterSpacing: \"var(--ls-wide)\",\r\n }}\r\n >\r\n {label}\r\n </Box>\r\n <Box\r\n aria-labelledby={labelId}\r\n sx={{\r\n // B1 — density-aware body font size, tracking the host's\r\n // data-density attribute. Aligns KV cells with DataGrid\r\n // body cells (which already use --text-fs).\r\n fontSize: \"var(--text-fs)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n color: isMissing ? \"var(--fg-subtle)\" : \"var(--fg)\",\r\n ...(mono\r\n ? { fontFamily: \"var(--font-mono)\", fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n wordBreak: \"break-word\",\r\n }}\r\n >\r\n {display}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default KV;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAuBA,SAASC,EAAEA,CAAAC,IAAA,EAA0D;EAAA,IAAvDC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAAC,SAAA,GAAAH,IAAA,CAAEI,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,KAAK,GAAAA,SAAA;IAAAE,aAAA,GAAAL,IAAA,CAAEM,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,GAAG,GAAAA,aAAA;EACtD,IAAME,OAAO,GAAIL,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKM,SAAS,IAAIN,KAAK,KAAK,EAAE,GAAII,QAAQ,GAAGJ,KAAK;EAC1F,IAAMO,SAAS,GAAGF,OAAO,KAAKD,QAAQ;EACtC,IAAMI,OAAO,GAAGjB,KAAK,CAACkB,KAAK,CAAC,CAAC;EAC7B,oBACEb,KAAA,CAACJ,GAAG;IAACkB,EAAE,EAAE;MAAEC,QAAQ,EAAE;IAAE,CAAE;IAAAC,QAAA,gBACvBlB,IAAA,CAACF,GAAG;MACFqB,EAAE,EAAEL,OAAQ;MACZE,EAAE,EAAE;QACFI,QAAQ,EAAE,EAAE;QACZC,KAAK,EAAE,kBAAkB;QACzBC,UAAU,EAAE,kBAAkB;QAC9BC,YAAY,EAAE,GAAG;QACjBC,aAAa,EAAE,WAAW;QAC1B;AACV;AACA;AACA;QACUC,aAAa,EAAE;MACjB,CAAE;MAAAP,QAAA,EAEDb;IAAK,CACH,CAAC,eACNL,IAAA,CAACF,GAAG;MACF,mBAAiBgB,OAAQ;MACzBE,EAAE,EAAAU,aAAA,CAAAA,aAAA;QACA;QACA;QACA;QACAN,QAAQ,EAAE,gBAAgB;QAC1BE,UAAU,EAAE,kBAAkB;QAC9BD,KAAK,EAAER,SAAS,GAAG,kBAAkB,GAAG;MAAW,GAC/CL,IAAI,GACJ;QAAEmB,UAAU,EAAE,kBAAkB;QAAEC,kBAAkB,EAAE;MAAe,CAAC,GACtE,CAAC,CAAC;QACNC,SAAS,EAAE;MAAY,EACvB;MAAAX,QAAA,EAEDP;IAAO,CACL,CAAC;EAAA,CACH,CAAC;AAEV;AAEA,eAAeR,EAAE","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ var _excluded = ["children", "minColumnWidth", "gap", "sx"];
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import Box from "@mui/material/Box";
11
+
12
+ /**
13
+ * KVGrid — Portnet UI v2
14
+ *
15
+ * Charter §03 · auto-fill grid for KV (key/value) blocks. Replaces
16
+ * the local KVGrid wrapper that host modules previously maintained
17
+ * (audit Batch 2 violation C10 in ms-ti-fe — direct MUI Box parallel
18
+ * auto-fill grid).
19
+ *
20
+ * Usage:
21
+ *
22
+ * <KVGrid minColumnWidth={180}>
23
+ * <KV label="Description" value={imp.description} />
24
+ * <KV label="Code PIN" value={imp.codePIN} mono />
25
+ * <KV label="IFU" value={imp.ifu} mono />
26
+ * <KV label="N° RC" value={imp.numeroRc} mono />
27
+ * </KVGrid>
28
+ *
29
+ * Reflow strategy: `auto-fill, minmax(min(minColumnWidth, 100%), 1fr)`
30
+ * — the browser packs as many cells per row as fit the container, each
31
+ * cell ≥ minColumnWidth and stretching to share remaining space. The
32
+ * `min(…, 100%)` clamp is load-bearing: it caps each track's minimum at
33
+ * the container width so a container narrower than minColumnWidth (small
34
+ * phones, deeply-nested padded cards, or a tuned-up minColumnWidth)
35
+ * collapses to a single full-width column instead of overflowing the
36
+ * viewport (WCAG 1.4.10 Reflow). No media queries, no breakpoint juggling.
37
+ *
38
+ * Designed to wrap v2.KV cells but accepts any children (renderer
39
+ * is agnostic to KV internals).
40
+ *
41
+ * Props:
42
+ * minColumnWidth — track minimum in px (default 180). Tune
43
+ * upward for long mono values, downward for
44
+ * dense compact KV strips.
45
+ * gap — grid gap; defaults to `var(--s-3)` (12px).
46
+ * sx — escape hatch.
47
+ */
48
+ import { jsx as _jsx } from "react/jsx-runtime";
49
+ function KVGrid(_ref) {
50
+ var children = _ref.children,
51
+ _ref$minColumnWidth = _ref.minColumnWidth,
52
+ minColumnWidth = _ref$minColumnWidth === void 0 ? 180 : _ref$minColumnWidth,
53
+ gap = _ref.gap,
54
+ sx = _ref.sx,
55
+ rest = _objectWithoutProperties(_ref, _excluded);
56
+ return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
57
+ sx: _objectSpread({
58
+ display: "grid",
59
+ gridTemplateColumns: "repeat(auto-fill, minmax(min(".concat(minColumnWidth, "px, 100%), 1fr))"),
60
+ /* `--s-3` stays the default here, deliberately: the Charter §2.3 `-s-4`
61
+ * « Gap formulaire » applies to FIELD grids, and a KV strip is denser
62
+ * read-only content with no control hit-areas to separate.
63
+ *
64
+ * `??` and not `||`: `gap={0}` is a legitimate value that `||`
65
+ * silently overwrote with the default (same latent defect fixed in
66
+ * FormGrid, gap G-13). */
67
+ gap: gap !== null && gap !== void 0 ? gap : "var(--s-3)"
68
+ }, sx)
69
+ }, rest), {}, {
70
+ children: children
71
+ }));
72
+ }
73
+ export default KVGrid;
74
+ //# sourceMappingURL=KVGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KVGrid.js","names":["Box","jsx","_jsx","KVGrid","_ref","children","_ref$minColumnWidth","minColumnWidth","gap","sx","rest","_objectWithoutProperties","_excluded","_objectSpread","display","gridTemplateColumns","concat"],"sources":["../../../../src/lib/v2/components/KVGrid.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * KVGrid — Portnet UI v2\r\n *\r\n * Charter §03 · auto-fill grid for KV (key/value) blocks. Replaces\r\n * the local KVGrid wrapper that host modules previously maintained\r\n * (audit Batch 2 violation C10 in ms-ti-fe — direct MUI Box parallel\r\n * auto-fill grid).\r\n *\r\n * Usage:\r\n *\r\n * <KVGrid minColumnWidth={180}>\r\n * <KV label=\"Description\" value={imp.description} />\r\n * <KV label=\"Code PIN\" value={imp.codePIN} mono />\r\n * <KV label=\"IFU\" value={imp.ifu} mono />\r\n * <KV label=\"N° RC\" value={imp.numeroRc} mono />\r\n * </KVGrid>\r\n *\r\n * Reflow strategy: `auto-fill, minmax(min(minColumnWidth, 100%), 1fr)`\r\n * — the browser packs as many cells per row as fit the container, each\r\n * cell ≥ minColumnWidth and stretching to share remaining space. The\r\n * `min(…, 100%)` clamp is load-bearing: it caps each track's minimum at\r\n * the container width so a container narrower than minColumnWidth (small\r\n * phones, deeply-nested padded cards, or a tuned-up minColumnWidth)\r\n * collapses to a single full-width column instead of overflowing the\r\n * viewport (WCAG 1.4.10 Reflow). No media queries, no breakpoint juggling.\r\n *\r\n * Designed to wrap v2.KV cells but accepts any children (renderer\r\n * is agnostic to KV internals).\r\n *\r\n * Props:\r\n * minColumnWidth — track minimum in px (default 180). Tune\r\n * upward for long mono values, downward for\r\n * dense compact KV strips.\r\n * gap — grid gap; defaults to `var(--s-3)` (12px).\r\n * sx — escape hatch.\r\n */\r\n\r\nexport interface KVGridProps extends Omit<BoxProps, \"gap\"> {\r\n minColumnWidth?: number | undefined;\r\n gap?: string | number | undefined;\r\n}\r\n\r\nfunction KVGrid({ children, minColumnWidth = 180, gap, sx, ...rest }: KVGridProps) {\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns: `repeat(auto-fill, minmax(min(${minColumnWidth}px, 100%), 1fr))`,\r\n /* `--s-3` stays the default here, deliberately: the Charter §2.3 `-s-4`\r\n * « Gap formulaire » applies to FIELD grids, and a KV strip is denser\r\n * read-only content with no control hit-areas to separate.\r\n *\r\n * `??` and not `||`: `gap={0}` is a legitimate value that `||`\r\n * silently overwrote with the default (same latent defect fixed in\r\n * FormGrid, gap G-13). */\r\n gap: gap ?? \"var(--s-3)\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default KVGrid;\r\n"],"mappings":";;;;;;;;;AAAA,OAAOA,GAAG,MAAM,mBAAmB;;AAGnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnCA,SAAAC,GAAA,IAAAC,IAAA;AA0CA,SAASC,MAAMA,CAAAC,IAAA,EAAoE;EAAA,IAAjEC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAAC,mBAAA,GAAAF,IAAA,CAAEG,cAAc;IAAdA,cAAc,GAAAD,mBAAA,cAAG,GAAG,GAAAA,mBAAA;IAAEE,GAAG,GAAAJ,IAAA,CAAHI,GAAG;IAAEC,EAAE,GAAAL,IAAA,CAAFK,EAAE;IAAKC,IAAI,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EAChE,oBACEV,IAAA,CAACF,GAAG,EAAAa,aAAA,CAAAA,aAAA;IACFJ,EAAE,EAAAI,aAAA;MACAC,OAAO,EAAE,MAAM;MACfC,mBAAmB,kCAAAC,MAAA,CAAkCT,cAAc,qBAAkB;MACrF;AACR;AACA;AACA;AACA;AACA;AACA;MACQC,GAAG,EAAEA,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAI;IAAY,GACrBC,EAAE;EACL,GACEC,IAAI;IAAAL,QAAA,EAEPA;EAAQ,EACN,CAAC;AAEV;AAEA,eAAeF,MAAM","ignoreList":[]}