@portnet/ui 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/dist/esm/index.js +196 -0
  2. package/dist/esm/index.js.map +1 -0
  3. package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  5. package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
  6. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  7. package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
  8. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  9. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  10. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  11. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  12. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  13. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  14. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  15. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  16. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  17. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  18. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  19. package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
  20. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  21. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  22. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  23. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  24. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  25. package/dist/esm/v2/components/Accordion.js +230 -0
  26. package/dist/esm/v2/components/Accordion.js.map +1 -0
  27. package/dist/esm/v2/components/ActionStrip.js +146 -0
  28. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  29. package/dist/esm/v2/components/Banner.js +254 -0
  30. package/dist/esm/v2/components/Banner.js.map +1 -0
  31. package/dist/esm/v2/components/Busy.js +97 -0
  32. package/dist/esm/v2/components/Busy.js.map +1 -0
  33. package/dist/esm/v2/components/Button.js +114 -0
  34. package/dist/esm/v2/components/Button.js.map +1 -0
  35. package/dist/esm/v2/components/CategoryTag.js +81 -0
  36. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  37. package/dist/esm/v2/components/Checkbox.js +124 -0
  38. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  39. package/dist/esm/v2/components/Chip.js +124 -0
  40. package/dist/esm/v2/components/Chip.js.map +1 -0
  41. package/dist/esm/v2/components/Combobox.js +394 -0
  42. package/dist/esm/v2/components/Combobox.js.map +1 -0
  43. package/dist/esm/v2/components/CommandPalette.js +660 -0
  44. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  45. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  46. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  47. package/dist/esm/v2/components/DatePicker.js +200 -0
  48. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  49. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  50. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  51. package/dist/esm/v2/components/DateTimePicker.js +182 -0
  52. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  53. package/dist/esm/v2/components/Drawer.js +333 -0
  54. package/dist/esm/v2/components/Drawer.js.map +1 -0
  55. package/dist/esm/v2/components/Dropzone.js +540 -0
  56. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  57. package/dist/esm/v2/components/EmptyState.js +102 -0
  58. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  59. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  60. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  61. package/dist/esm/v2/components/Field.js +197 -0
  62. package/dist/esm/v2/components/Field.js.map +1 -0
  63. package/dist/esm/v2/components/FieldError.js +124 -0
  64. package/dist/esm/v2/components/FieldError.js.map +1 -0
  65. package/dist/esm/v2/components/FieldHelp.js +202 -0
  66. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  67. package/dist/esm/v2/components/FileCard.js +162 -0
  68. package/dist/esm/v2/components/FileCard.js.map +1 -0
  69. package/dist/esm/v2/components/FilterTab.js +138 -0
  70. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  71. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  72. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  73. package/dist/esm/v2/components/FormGrid.js +179 -0
  74. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  75. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  76. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  77. package/dist/esm/v2/components/Input.js +107 -0
  78. package/dist/esm/v2/components/Input.js.map +1 -0
  79. package/dist/esm/v2/components/KPICard.js +237 -0
  80. package/dist/esm/v2/components/KPICard.js.map +1 -0
  81. package/dist/esm/v2/components/KPIStrip.js +84 -0
  82. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  83. package/dist/esm/v2/components/KV.js +75 -0
  84. package/dist/esm/v2/components/KV.js.map +1 -0
  85. package/dist/esm/v2/components/KVGrid.js +74 -0
  86. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  87. package/dist/esm/v2/components/Layout.js +284 -0
  88. package/dist/esm/v2/components/Layout.js.map +1 -0
  89. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  90. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  91. package/dist/esm/v2/components/Modal.js +276 -0
  92. package/dist/esm/v2/components/Modal.js.map +1 -0
  93. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  94. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  95. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  96. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  97. package/dist/esm/v2/components/NumberInput.js +309 -0
  98. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  99. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  100. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  101. package/dist/esm/v2/components/PdfViewer.js +122 -0
  102. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  103. package/dist/esm/v2/components/ProgressBar.js +202 -0
  104. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  105. package/dist/esm/v2/components/Radio.js +228 -0
  106. package/dist/esm/v2/components/Radio.js.map +1 -0
  107. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  108. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  109. package/dist/esm/v2/components/SectionHeader.js +132 -0
  110. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  111. package/dist/esm/v2/components/Segmented.js +254 -0
  112. package/dist/esm/v2/components/Segmented.js.map +1 -0
  113. package/dist/esm/v2/components/Select.js +490 -0
  114. package/dist/esm/v2/components/Select.js.map +1 -0
  115. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  116. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  117. package/dist/esm/v2/components/Skeleton.js +269 -0
  118. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  119. package/dist/esm/v2/components/SkipLink.js +49 -0
  120. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  121. package/dist/esm/v2/components/Spinner.js +69 -0
  122. package/dist/esm/v2/components/Spinner.js.map +1 -0
  123. package/dist/esm/v2/components/Status.js +64 -0
  124. package/dist/esm/v2/components/Status.js.map +1 -0
  125. package/dist/esm/v2/components/Stepper.js +432 -0
  126. package/dist/esm/v2/components/Stepper.js.map +1 -0
  127. package/dist/esm/v2/components/Surface.js +159 -0
  128. package/dist/esm/v2/components/Surface.js.map +1 -0
  129. package/dist/esm/v2/components/Switch.js +128 -0
  130. package/dist/esm/v2/components/Switch.js.map +1 -0
  131. package/dist/esm/v2/components/Tabs.js +150 -0
  132. package/dist/esm/v2/components/Tabs.js.map +1 -0
  133. package/dist/esm/v2/components/TelInput.js +274 -0
  134. package/dist/esm/v2/components/TelInput.js.map +1 -0
  135. package/dist/esm/v2/components/Textarea.js +72 -0
  136. package/dist/esm/v2/components/Textarea.js.map +1 -0
  137. package/dist/esm/v2/components/TimePicker.js +134 -0
  138. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  139. package/dist/esm/v2/components/Toast.js +376 -0
  140. package/dist/esm/v2/components/Toast.js.map +1 -0
  141. package/dist/esm/v2/components/Tooltip.js +161 -0
  142. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  143. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  144. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  145. package/dist/esm/v2/components/_pickerShared.js +60 -0
  146. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  147. package/dist/esm/v2/components/index.js +244 -0
  148. package/dist/esm/v2/components/index.js.map +1 -0
  149. package/dist/esm/v2/hooks/index.js +10 -0
  150. package/dist/esm/v2/hooks/index.js.map +1 -0
  151. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  152. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  153. package/dist/esm/v2/hooks/useDensity.js +119 -0
  154. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  155. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  156. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  157. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  158. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  159. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  160. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  161. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  162. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  163. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  164. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  165. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  166. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  167. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  168. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  169. package/dist/esm/v2/index.js +121 -0
  170. package/dist/esm/v2/index.js.map +1 -0
  171. package/dist/esm/v2/modalContext.js +108 -0
  172. package/dist/esm/v2/modalContext.js.map +1 -0
  173. package/dist/esm/v2/models/favorite.js +2 -0
  174. package/dist/esm/v2/models/favorite.js.map +1 -0
  175. package/dist/esm/v2/models/index.js +12 -0
  176. package/dist/esm/v2/models/index.js.map +1 -0
  177. package/dist/esm/v2/models/personalization.js +2 -0
  178. package/dist/esm/v2/models/personalization.js.map +1 -0
  179. package/dist/esm/v2/models/referentiel.js +2 -0
  180. package/dist/esm/v2/models/referentiel.js.map +1 -0
  181. package/dist/esm/v2/models/savedFilter.js +2 -0
  182. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  183. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  184. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  185. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  186. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  187. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  188. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  189. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  190. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  191. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  192. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  193. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  194. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  195. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  196. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  197. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  198. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  199. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  200. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  201. package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
  202. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  203. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  204. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  205. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  206. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  207. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  208. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  209. package/dist/esm/v2/patterns/FormSection.js +190 -0
  210. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  211. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  212. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  213. package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
  214. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  215. package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
  216. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  217. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  218. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  219. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  220. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  221. package/dist/esm/v2/patterns/FormikInput.js +127 -0
  222. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  223. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  224. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  225. package/dist/esm/v2/patterns/FormikSelect.js +159 -0
  226. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  227. package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
  228. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  229. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
  230. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  231. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  232. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  233. package/dist/esm/v2/patterns/PageContent.js +62 -0
  234. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  235. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  236. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  237. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  238. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  239. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  240. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  241. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  242. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  243. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  244. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  245. package/dist/esm/v2/patterns/Tour.js +471 -0
  246. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  247. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  248. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  249. package/dist/esm/v2/patterns/_sort.js +112 -0
  250. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  251. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  252. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  253. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  254. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  255. package/dist/esm/v2/patterns/index.js +95 -0
  256. package/dist/esm/v2/patterns/index.js.map +1 -0
  257. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  258. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  259. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  260. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  261. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  262. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  263. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  264. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  265. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  266. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  267. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  268. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  269. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  270. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  271. package/dist/esm/v2/personalization/capabilities/index.js +17 -0
  272. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  273. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  274. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  275. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  276. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  277. package/dist/esm/v2/personalization/index.js +46 -0
  278. package/dist/esm/v2/personalization/index.js.map +1 -0
  279. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  280. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  281. package/dist/esm/v2/personalization/schema.js +92 -0
  282. package/dist/esm/v2/personalization/schema.js.map +1 -0
  283. package/dist/esm/v2/personalization/types.js +2 -0
  284. package/dist/esm/v2/personalization/types.js.map +1 -0
  285. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  286. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  287. package/dist/esm/v2/referentiel/index.js +15 -0
  288. package/dist/esm/v2/referentiel/index.js.map +1 -0
  289. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  290. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  291. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  292. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  293. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  294. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  295. package/dist/esm/v2/styles/base.css +425 -0
  296. package/dist/esm/v2/styles/css.d.ts +10 -0
  297. package/dist/esm/v2/styles/index.js +12 -0
  298. package/dist/esm/v2/styles/index.js.map +1 -0
  299. package/dist/esm/v2/theme/_brand.js +64 -0
  300. package/dist/esm/v2/theme/_brand.js.map +1 -0
  301. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  302. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  303. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  304. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  305. package/dist/esm/v2/theme/cssVariables.js +198 -0
  306. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  307. package/dist/esm/v2/theme/index.js +32 -0
  308. package/dist/esm/v2/theme/index.js.map +1 -0
  309. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  310. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  311. package/dist/esm/v2/tokens/colors.js +219 -0
  312. package/dist/esm/v2/tokens/colors.js.map +1 -0
  313. package/dist/esm/v2/tokens/density.js +98 -0
  314. package/dist/esm/v2/tokens/density.js.map +1 -0
  315. package/dist/esm/v2/tokens/index.js +80 -0
  316. package/dist/esm/v2/tokens/index.js.map +1 -0
  317. package/dist/esm/v2/tokens/motion.js +88 -0
  318. package/dist/esm/v2/tokens/motion.js.map +1 -0
  319. package/dist/esm/v2/tokens/radius.js +22 -0
  320. package/dist/esm/v2/tokens/radius.js.map +1 -0
  321. package/dist/esm/v2/tokens/shadows.js +40 -0
  322. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  323. package/dist/esm/v2/tokens/spacing.js +51 -0
  324. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  325. package/dist/esm/v2/tokens/state.js +41 -0
  326. package/dist/esm/v2/tokens/state.js.map +1 -0
  327. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  328. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  329. package/dist/esm/v2/tokens/tokens.json +153 -0
  330. package/dist/esm/v2/tokens/typography.js +149 -0
  331. package/dist/esm/v2/tokens/typography.js.map +1 -0
  332. package/dist/esm/v2/tokens/zIndex.js +44 -0
  333. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  334. package/dist/esm/v2/types/common.js +2 -0
  335. package/dist/esm/v2/types/common.js.map +1 -0
  336. package/dist/esm/v2/types/datagrid.js +2 -0
  337. package/dist/esm/v2/types/datagrid.js.map +1 -0
  338. package/dist/esm/v2/types/index.js +12 -0
  339. package/dist/esm/v2/types/index.js.map +1 -0
  340. package/dist/esm/v2/utils/apiError.js +281 -0
  341. package/dist/esm/v2/utils/apiError.js.map +1 -0
  342. package/dist/esm/v2/utils/contrast.js +157 -0
  343. package/dist/esm/v2/utils/contrast.js.map +1 -0
  344. package/dist/esm/v2/utils/cx.js +38 -0
  345. package/dist/esm/v2/utils/cx.js.map +1 -0
  346. package/dist/esm/v2/utils/fileDownload.js +226 -0
  347. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  348. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  349. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  350. package/dist/esm/v2/utils/index.js +43 -0
  351. package/dist/esm/v2/utils/index.js.map +1 -0
  352. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  353. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  354. package/dist/esm/v2/utils/networkStatus.js +114 -0
  355. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  356. package/dist/index.d.ts +3 -2
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/index.js +21 -0
  359. package/dist/index.js.map +1 -1
  360. package/dist/v2/__tests__/FieldError.test.js +164 -0
  361. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  362. package/dist/v2/__tests__/FileCard.test.js +148 -0
  363. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  364. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  365. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  366. package/dist/v2/components/Accordion.d.ts +6 -6
  367. package/dist/v2/components/Accordion.d.ts.map +1 -1
  368. package/dist/v2/components/Accordion.js.map +1 -1
  369. package/dist/v2/components/ActionStrip.d.ts +12 -12
  370. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  371. package/dist/v2/components/ActionStrip.js.map +1 -1
  372. package/dist/v2/components/Banner.d.ts +48 -9
  373. package/dist/v2/components/Banner.d.ts.map +1 -1
  374. package/dist/v2/components/Banner.js +116 -35
  375. package/dist/v2/components/Banner.js.map +1 -1
  376. package/dist/v2/components/Busy.d.ts +3 -3
  377. package/dist/v2/components/Busy.d.ts.map +1 -1
  378. package/dist/v2/components/Busy.js.map +1 -1
  379. package/dist/v2/components/Button.d.ts +6 -6
  380. package/dist/v2/components/Button.d.ts.map +1 -1
  381. package/dist/v2/components/Button.js.map +1 -1
  382. package/dist/v2/components/CategoryTag.d.ts +3 -3
  383. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  384. package/dist/v2/components/CategoryTag.js.map +1 -1
  385. package/dist/v2/components/Checkbox.d.ts +11 -11
  386. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  387. package/dist/v2/components/Checkbox.js.map +1 -1
  388. package/dist/v2/components/Chip.d.ts +8 -8
  389. package/dist/v2/components/Chip.d.ts.map +1 -1
  390. package/dist/v2/components/Chip.js +2 -1
  391. package/dist/v2/components/Chip.js.map +1 -1
  392. package/dist/v2/components/Combobox.d.ts +27 -27
  393. package/dist/v2/components/Combobox.d.ts.map +1 -1
  394. package/dist/v2/components/Combobox.js +3 -2
  395. package/dist/v2/components/Combobox.js.map +1 -1
  396. package/dist/v2/components/CommandPalette.d.ts +20 -20
  397. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  398. package/dist/v2/components/CommandPalette.js +2 -6
  399. package/dist/v2/components/CommandPalette.js.map +1 -1
  400. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  401. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  402. package/dist/v2/components/ConfirmDialog.js +2 -1
  403. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  404. package/dist/v2/components/DatePicker.d.ts +11 -11
  405. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  406. package/dist/v2/components/DatePicker.js.map +1 -1
  407. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  408. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  409. package/dist/v2/components/DateRangePicker.js +2 -1
  410. package/dist/v2/components/DateRangePicker.js.map +1 -1
  411. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  412. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  413. package/dist/v2/components/DateTimePicker.js.map +1 -1
  414. package/dist/v2/components/Drawer.d.ts +18 -18
  415. package/dist/v2/components/Drawer.d.ts.map +1 -1
  416. package/dist/v2/components/Drawer.js +2 -1
  417. package/dist/v2/components/Drawer.js.map +1 -1
  418. package/dist/v2/components/Dropzone.d.ts +34 -34
  419. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  420. package/dist/v2/components/Dropzone.js +11 -3
  421. package/dist/v2/components/Dropzone.js.map +1 -1
  422. package/dist/v2/components/EmptyState.d.ts +7 -7
  423. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  424. package/dist/v2/components/EmptyState.js.map +1 -1
  425. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  426. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  427. package/dist/v2/components/FavoriteToggle.js +2 -1
  428. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  429. package/dist/v2/components/Field.d.ts +17 -12
  430. package/dist/v2/components/Field.d.ts.map +1 -1
  431. package/dist/v2/components/Field.js +25 -7
  432. package/dist/v2/components/Field.js.map +1 -1
  433. package/dist/v2/components/FieldError.d.ts +78 -0
  434. package/dist/v2/components/FieldError.d.ts.map +1 -0
  435. package/dist/v2/components/FieldError.js +131 -0
  436. package/dist/v2/components/FieldError.js.map +1 -0
  437. package/dist/v2/components/FieldHelp.d.ts +7 -7
  438. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  439. package/dist/v2/components/FieldHelp.js.map +1 -1
  440. package/dist/v2/components/FileCard.d.ts +75 -0
  441. package/dist/v2/components/FileCard.d.ts.map +1 -0
  442. package/dist/v2/components/FileCard.js +169 -0
  443. package/dist/v2/components/FileCard.js.map +1 -0
  444. package/dist/v2/components/FilterTab.d.ts +9 -9
  445. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  446. package/dist/v2/components/FilterTab.js +2 -1
  447. package/dist/v2/components/FilterTab.js.map +1 -1
  448. package/dist/v2/components/FormGrid.d.ts +9 -4
  449. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  450. package/dist/v2/components/FormGrid.js +11 -1
  451. package/dist/v2/components/FormGrid.js.map +1 -1
  452. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  453. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  454. package/dist/v2/components/FormikDisplay.js.map +1 -1
  455. package/dist/v2/components/Input.d.ts +6 -6
  456. package/dist/v2/components/Input.d.ts.map +1 -1
  457. package/dist/v2/components/Input.js.map +1 -1
  458. package/dist/v2/components/KPICard.d.ts +43 -13
  459. package/dist/v2/components/KPICard.d.ts.map +1 -1
  460. package/dist/v2/components/KPICard.js +53 -14
  461. package/dist/v2/components/KPICard.js.map +1 -1
  462. package/dist/v2/components/KPIStrip.d.ts +68 -0
  463. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  464. package/dist/v2/components/KPIStrip.js +92 -0
  465. package/dist/v2/components/KPIStrip.js.map +1 -0
  466. package/dist/v2/components/KV.d.ts +3 -3
  467. package/dist/v2/components/KV.d.ts.map +1 -1
  468. package/dist/v2/components/KV.js.map +1 -1
  469. package/dist/v2/components/KVGrid.d.ts +2 -2
  470. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  471. package/dist/v2/components/KVGrid.js +8 -1
  472. package/dist/v2/components/KVGrid.js.map +1 -1
  473. package/dist/v2/components/Layout.d.ts +7 -7
  474. package/dist/v2/components/Layout.d.ts.map +1 -1
  475. package/dist/v2/components/Layout.js.map +1 -1
  476. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  477. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  478. package/dist/v2/components/MobileRowCard.js.map +1 -1
  479. package/dist/v2/components/Modal.d.ts +12 -12
  480. package/dist/v2/components/Modal.d.ts.map +1 -1
  481. package/dist/v2/components/Modal.js.map +1 -1
  482. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  483. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  484. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  485. package/dist/v2/components/NumberInput.d.ts +14 -14
  486. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  487. package/dist/v2/components/NumberInput.js +7 -6
  488. package/dist/v2/components/NumberInput.js.map +1 -1
  489. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  490. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  491. package/dist/v2/components/OverflowMenu.js +4 -8
  492. package/dist/v2/components/OverflowMenu.js.map +1 -1
  493. package/dist/v2/components/PdfViewer.d.ts +9 -9
  494. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  495. package/dist/v2/components/PdfViewer.js.map +1 -1
  496. package/dist/v2/components/ProgressBar.d.ts +10 -10
  497. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  498. package/dist/v2/components/ProgressBar.js.map +1 -1
  499. package/dist/v2/components/Radio.d.ts +7 -7
  500. package/dist/v2/components/Radio.d.ts.map +1 -1
  501. package/dist/v2/components/Radio.js.map +1 -1
  502. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  503. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  504. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  505. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  506. package/dist/v2/components/SectionHeader.d.ts +5 -5
  507. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  508. package/dist/v2/components/SectionHeader.js.map +1 -1
  509. package/dist/v2/components/Segmented.d.ts +11 -11
  510. package/dist/v2/components/Segmented.d.ts.map +1 -1
  511. package/dist/v2/components/Segmented.js.map +1 -1
  512. package/dist/v2/components/Select.d.ts +33 -15
  513. package/dist/v2/components/Select.d.ts.map +1 -1
  514. package/dist/v2/components/Select.js +147 -30
  515. package/dist/v2/components/Select.js.map +1 -1
  516. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  517. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  519. package/dist/v2/components/Skeleton.d.ts +15 -15
  520. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  521. package/dist/v2/components/Skeleton.js.map +1 -1
  522. package/dist/v2/components/SkipLink.d.ts +2 -2
  523. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  524. package/dist/v2/components/SkipLink.js.map +1 -1
  525. package/dist/v2/components/Status.d.ts +3 -3
  526. package/dist/v2/components/Status.d.ts.map +1 -1
  527. package/dist/v2/components/Status.js.map +1 -1
  528. package/dist/v2/components/Stepper.d.ts +28 -22
  529. package/dist/v2/components/Stepper.d.ts.map +1 -1
  530. package/dist/v2/components/Stepper.js +31 -5
  531. package/dist/v2/components/Stepper.js.map +1 -1
  532. package/dist/v2/components/Surface.d.ts +94 -0
  533. package/dist/v2/components/Surface.d.ts.map +1 -0
  534. package/dist/v2/components/Surface.js +163 -0
  535. package/dist/v2/components/Surface.js.map +1 -0
  536. package/dist/v2/components/Switch.d.ts +4 -4
  537. package/dist/v2/components/Switch.d.ts.map +1 -1
  538. package/dist/v2/components/Switch.js.map +1 -1
  539. package/dist/v2/components/Tabs.d.ts +6 -6
  540. package/dist/v2/components/Tabs.d.ts.map +1 -1
  541. package/dist/v2/components/Tabs.js.map +1 -1
  542. package/dist/v2/components/TelInput.d.ts +8 -8
  543. package/dist/v2/components/TelInput.d.ts.map +1 -1
  544. package/dist/v2/components/TelInput.js +18 -18
  545. package/dist/v2/components/TelInput.js.map +1 -1
  546. package/dist/v2/components/Textarea.d.ts +1 -1
  547. package/dist/v2/components/Textarea.d.ts.map +1 -1
  548. package/dist/v2/components/Textarea.js.map +1 -1
  549. package/dist/v2/components/TimePicker.d.ts +11 -11
  550. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  551. package/dist/v2/components/TimePicker.js.map +1 -1
  552. package/dist/v2/components/Toast.d.ts +6 -6
  553. package/dist/v2/components/Toast.d.ts.map +1 -1
  554. package/dist/v2/components/Toast.js +9 -8
  555. package/dist/v2/components/Toast.js.map +1 -1
  556. package/dist/v2/components/Tooltip.d.ts +1 -1
  557. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  558. package/dist/v2/components/Tooltip.js.map +1 -1
  559. package/dist/v2/components/index.d.ts +143 -0
  560. package/dist/v2/components/index.d.ts.map +1 -1
  561. package/dist/v2/components/index.js +35 -0
  562. package/dist/v2/components/index.js.map +1 -1
  563. package/dist/v2/models/favorite.d.ts +1 -1
  564. package/dist/v2/models/favorite.d.ts.map +1 -1
  565. package/dist/v2/models/favorite.js.map +1 -1
  566. package/dist/v2/models/personalization.d.ts +13 -13
  567. package/dist/v2/models/personalization.d.ts.map +1 -1
  568. package/dist/v2/models/personalization.js.map +1 -1
  569. package/dist/v2/models/referentiel.d.ts +11 -11
  570. package/dist/v2/models/referentiel.d.ts.map +1 -1
  571. package/dist/v2/models/referentiel.js.map +1 -1
  572. package/dist/v2/models/savedFilter.d.ts +8 -8
  573. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  574. package/dist/v2/models/savedFilter.js.map +1 -1
  575. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  576. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  577. package/dist/v2/patterns/ActionBar.js +2 -1
  578. package/dist/v2/patterns/ActionBar.js.map +1 -1
  579. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  580. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  581. package/dist/v2/patterns/BulkActionBar.js +2 -1
  582. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  583. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  584. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  585. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  586. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  587. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  588. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  589. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  590. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  591. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  592. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  593. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  594. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  595. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  596. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  597. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  598. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  599. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  600. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  601. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  602. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  603. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  604. package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
  605. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  606. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  607. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  608. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  609. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  610. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  611. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  612. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  613. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  614. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  615. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  616. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  617. package/dist/v2/patterns/FormSection.d.ts +19 -8
  618. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  619. package/dist/v2/patterns/FormSection.js +106 -71
  620. package/dist/v2/patterns/FormSection.js.map +1 -1
  621. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  622. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  623. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  624. package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
  625. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  626. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  627. package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
  628. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  629. package/dist/v2/patterns/FormikDatePicker.js +27 -1
  630. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  631. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  632. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  633. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  634. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  635. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  636. package/dist/v2/patterns/FormikFile.js.map +1 -1
  637. package/dist/v2/patterns/FormikInput.d.ts +41 -6
  638. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  639. package/dist/v2/patterns/FormikInput.js +49 -1
  640. package/dist/v2/patterns/FormikInput.js.map +1 -1
  641. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  642. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  643. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  644. package/dist/v2/patterns/FormikSelect.d.ts +33 -12
  645. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  646. package/dist/v2/patterns/FormikSelect.js +28 -2
  647. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  648. package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
  649. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  651. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
  652. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  653. package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
  654. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  655. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  656. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  657. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  658. package/dist/v2/patterns/PageContent.d.ts +3 -3
  659. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  660. package/dist/v2/patterns/PageContent.js.map +1 -1
  661. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  662. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  663. package/dist/v2/patterns/ReferentielField.js +2 -1
  664. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  665. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  666. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  667. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  668. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  669. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  670. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  671. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  672. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  673. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  674. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  675. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  676. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  677. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  678. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  679. package/dist/v2/patterns/Tour.d.ts +12 -12
  680. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  681. package/dist/v2/patterns/Tour.js +9 -8
  682. package/dist/v2/patterns/Tour.js.map +1 -1
  683. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  684. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  685. package/dist/v2/patterns/_dataGridShared.js +37 -3
  686. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  687. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  688. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  689. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  690. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  691. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  692. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  693. package/dist/v2/patterns/index.d.ts +27 -0
  694. package/dist/v2/patterns/index.d.ts.map +1 -1
  695. package/dist/v2/patterns/index.js.map +1 -1
  696. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  697. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  698. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  699. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  700. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  701. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  702. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  703. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  704. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  705. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  706. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  707. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  708. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  709. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  710. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  711. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  712. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  713. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  714. package/dist/v2/personalization/schema.d.ts +2 -2
  715. package/dist/v2/personalization/schema.d.ts.map +1 -1
  716. package/dist/v2/personalization/schema.js.map +1 -1
  717. package/dist/v2/personalization/types.d.ts +19 -19
  718. package/dist/v2/personalization/types.d.ts.map +1 -1
  719. package/dist/v2/personalization/types.js.map +1 -1
  720. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  721. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  722. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  723. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  724. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  725. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  726. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  727. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  728. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  729. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  730. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  731. package/dist/v2/theme/createPortnetTheme.js +25 -1
  732. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  733. package/dist/v2/types/datagrid.d.ts +59 -59
  734. package/dist/v2/types/datagrid.d.ts.map +1 -1
  735. package/dist/v2/types/datagrid.js.map +1 -1
  736. package/dist/v2/utils/apiError.d.ts +65 -4
  737. package/dist/v2/utils/apiError.d.ts.map +1 -1
  738. package/dist/v2/utils/apiError.js +69 -6
  739. package/dist/v2/utils/apiError.js.map +1 -1
  740. package/dist/v2/utils/index.d.ts +1 -0
  741. package/dist/v2/utils/index.d.ts.map +1 -1
  742. package/dist/v2/utils/index.js +7 -0
  743. package/dist/v2/utils/index.js.map +1 -1
  744. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  745. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  746. package/dist/v2/utils/mergeLabels.js +93 -0
  747. package/dist/v2/utils/mergeLabels.js.map +1 -0
  748. package/package.json +23 -15
@@ -72,12 +72,12 @@ import type { SxProps, Theme } from "@mui/material/styles";
72
72
  */
73
73
  export type DropzoneFileStatus = "ready" | "uploading" | "done" | "error";
74
74
  export interface DropzoneFile {
75
- id?: string | number;
75
+ id?: string | number | undefined;
76
76
  name: string;
77
- size?: number;
78
- progress?: number;
79
- status?: DropzoneFileStatus;
80
- error?: string;
77
+ size?: number | undefined;
78
+ progress?: number | undefined;
79
+ status?: DropzoneFileStatus | undefined;
80
+ error?: string | undefined;
81
81
  }
82
82
  export type DropzoneRejectReason = "max-size" | "type" | "max-files";
83
83
  export interface DropzoneRejection {
@@ -85,35 +85,35 @@ export interface DropzoneRejection {
85
85
  reason: DropzoneRejectReason;
86
86
  }
87
87
  export interface DropzoneReasons {
88
- "max-size"?: string;
89
- "type"?: string;
90
- "max-files"?: string;
88
+ "max-size"?: string | undefined;
89
+ "type"?: string | undefined;
90
+ "max-files"?: string | undefined;
91
91
  }
92
92
  export interface DropzoneLabels {
93
- label?: React.ReactNode;
94
- ariaLabel?: string;
95
- formatBytes?: (n: number) => string;
96
- reasons?: DropzoneReasons;
97
- buildRejectMessage?: (rejected: DropzoneRejection[], reasons: DropzoneReasons) => string;
98
- addedSingle?: (name: string) => string;
99
- addedMultiple?: (n: number) => string;
100
- removeItem?: (name: string) => string;
93
+ label?: React.ReactNode | undefined;
94
+ ariaLabel?: string | undefined;
95
+ formatBytes?: ((n: number) => string) | undefined;
96
+ reasons?: DropzoneReasons | undefined;
97
+ buildRejectMessage?: ((rejected: DropzoneRejection[], reasons: DropzoneReasons) => string) | undefined;
98
+ addedSingle?: ((name: string) => string) | undefined;
99
+ addedMultiple?: ((n: number) => string) | undefined;
100
+ removeItem?: ((name: string) => string) | undefined;
101
101
  }
102
102
  export interface DropzoneProps {
103
- accept?: string;
104
- maxSize?: number;
105
- maxFiles?: number;
106
- multiple?: boolean;
107
- disabled?: boolean;
108
- value?: DropzoneFile[];
109
- onAdd?: (files: File[]) => void;
110
- onRemove?: (id: string | number) => void;
111
- onReject?: (rejections: DropzoneRejection[]) => void;
112
- label?: React.ReactNode;
113
- "aria-label"?: string;
114
- hint?: React.ReactNode;
115
- labels?: DropzoneLabels;
116
- sx?: SxProps<Theme>;
103
+ accept?: string | undefined;
104
+ maxSize?: number | undefined;
105
+ maxFiles?: number | undefined;
106
+ multiple?: boolean | undefined;
107
+ disabled?: boolean | undefined;
108
+ value?: DropzoneFile[] | undefined;
109
+ onAdd?: ((files: File[]) => void) | undefined;
110
+ onRemove?: ((id: string | number) => void) | undefined;
111
+ onReject?: ((rejections: DropzoneRejection[]) => void) | undefined;
112
+ label?: React.ReactNode | undefined;
113
+ "aria-label"?: string | undefined;
114
+ hint?: React.ReactNode | undefined;
115
+ labels?: DropzoneLabels | undefined;
116
+ sx?: SxProps<Theme> | undefined;
117
117
  /**
118
118
  * Id for the drop <button>. Injected by Field from `htmlFor || name`, so
119
119
  * its <label htmlFor> resolves to a real element (R-I.1).
@@ -123,7 +123,7 @@ export interface DropzoneProps {
123
123
  * `[id=…]` first, and that is how a failed submit reaches a Dropzone
124
124
  * (R-F.3).
125
125
  */
126
- id?: string;
126
+ id?: string | undefined;
127
127
  /**
128
128
  * Invalid state. Injected by Field as `error={hasError}`.
129
129
  *
@@ -131,19 +131,19 @@ export interface DropzoneProps {
131
131
  * conveyed visually AND programmatically rather than by the helper text
132
132
  * alone (R-4.1 / R-I.3).
133
133
  */
134
- error?: boolean;
134
+ error?: boolean | undefined;
135
135
  /**
136
136
  * Injected by Field. Accepted explicitly so an aria-invalid passed without
137
137
  * `error` still lands — the two are separate props on Field's clone and a
138
138
  * host can legitimately set either.
139
139
  */
140
- "aria-invalid"?: boolean | "true" | "false";
140
+ "aria-invalid"?: boolean | "true" | "false" | undefined;
141
141
  /**
142
142
  * Injected by Field, pointing at its hint and/or error message. MERGED with
143
143
  * this component's own internal hint id rather than replacing it — both
144
144
  * descriptions are real and the user needs both.
145
145
  */
146
- "aria-describedby"?: string;
146
+ "aria-describedby"?: string | undefined;
147
147
  }
148
148
  declare function Dropzone({ accept, maxSize, maxFiles, multiple, disabled, value, onAdd, onRemove, onReject, label, "aria-label": ariaLabelProp, hint, labels, sx, id, error, "aria-invalid": ariaInvalidProp, "aria-describedby": ariaDescribedByProp, }: DropzoneProps): React.JSX.Element;
149
149
  export default Dropzone;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropzone.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Dropzone.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dropzone.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Dropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACvG,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEnE,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAChC;;;;;;;;OAQG;IACH,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AA8ED,iBAAS,QAAQ,CAAC,EAChB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAgB,EAChB,QAAgB,EAChB,KAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EAGR,KAAK,EACL,YAAY,EAAE,aAAa,EAC3B,IAAI,EACJ,MAAM,EACN,EAAE,EAGF,EAAE,EACF,KAAa,EACb,cAAc,EAAE,eAAe,EAC/B,kBAAkB,EAAE,mBAAmB,GACxC,EAAE,aAAa,qBA8Uf;AAED,eAAe,QAAQ,CAAC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
+ var _mergeLabels = require("../utils/mergeLabels");
9
10
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
10
11
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
12
  var _CloudUpload = _interopRequireDefault(require("@mui/icons-material/CloudUpload"));
@@ -215,9 +216,16 @@ function Dropzone(_ref3) {
215
216
  ariaDescribedByProp = _ref3["aria-describedby"];
216
217
  var L = React.useMemo(function () {
217
218
  if (!labels) return DEFAULT_LABELS;
218
- return _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LABELS), labels), {}, {
219
- reasons: _objectSpread(_objectSpread({}, DEFAULT_LABELS.reasons), labels.reasons || {})
220
- });
219
+ return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, _objectSpread(_objectSpread({}, labels), {}, {
220
+ /*
221
+ * `reasons` is a NESTED dictionary and needs its own merge, at its own
222
+ * level. Merging only at the top would replace the whole sub-object, so a
223
+ * consumer overriding ONE reason would delete the others — and the
224
+ * previous `|| {}` guarded the sub-object against being undefined without
225
+ * guarding its VALUES, which is the same hazard one level down.
226
+ */
227
+ reasons: (0, _mergeLabels.mergeLabels)(DEFAULT_REASONS, labels.reasons)
228
+ }));
221
229
  }, [labels]);
222
230
  var dropLabel = label != null ? label : L.label;
223
231
  var ariaLabel = ariaLabelProp != null ? ariaLabelProp : L.ariaLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropzone.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_CloudUpload","_Close","_InsertDriveFileOutlined","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","Array","isArray","_createForOfIteratorHelper","o","allowArrayLike","it","F","s","n","e","_e2","f","normalCompletion","didErr","step","_e3","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","len","arr2","defaultFormatBytes","isFinite","concat","Math","round","toFixed","DEFAULT_REASONS","freeze","defaultBuildRejectMessage","rejected","reasons","total","noun","head","tally","_iterator","_step","r","label","reason","buckets","entries","only","parts","map","_ref","_ref2","join","DEFAULT_LABELS","ariaLabel","formatBytes","buildRejectMessage","addedSingle","addedMultiple","removeItem","matchesAccept","file","accept","tokens","split","t","trim","Boolean","some","startsWith","toLowerCase","endsWith","prefix","type","Dropzone","_ref3","maxSize","maxFiles","_ref3$multiple","multiple","_ref3$disabled","disabled","_ref3$value","onAdd","onRemove","onReject","ariaLabelProp","labels","sx","id","_ref3$error","error","ariaInvalidProp","ariaDescribedByProp","L","useMemo","dropLabel","inputRef","useRef","liveRef","_React$useState","useState","_React$useState2","dragOver","setDragOver","hintId","useId","isInvalid","describedBy","announce","msg","current","textContent","validate","useCallback","incoming","accepted","remainingSlots","max","Infinity","_iterator2","_step2","size","handleFiles","fileList","files","_validate","_accepted","first","onInputChange","openPicker","_inputRef$current","click","onDragOver","preventDefault","stopPropagation","onDragLeave","currentTarget","contains","relatedTarget","onDrop","_e$dataTransfer","dataTransfer","borderColor","jsxs","width","children","component","onClick","onDragEnter","font","color","display","flexDirection","alignItems","justifyContent","gap","padding","background","border","borderRadius","cursor","opacity","textAlign","transition","outline","outlineOffset","jsx","style","fontSize","fontWeight","ref","onChange","tabIndex","position","height","margin","overflow","clipPath","role","className","listStyle","_ref4","_f$id","_f$size","status","progress","flex","minWidth","textOverflow","whiteSpace","fontVariantNumeric","NaN","_default","exports"],"sources":["../../../src/lib/v2/components/Dropzone.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport CloudUploadIcon from \"@mui/icons-material/CloudUpload\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport InsertDriveFileIcon from \"@mui/icons-material/InsertDriveFileOutlined\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Dropzone - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Dropzone / FileUpload\". Drop area + click/keyboard\r\n * to open the OS file picker. Stateless wrt upload progress - the caller owns\r\n * the upload state and feeds it back via `value`.\r\n *\r\n * <Dropzone\r\n * accept=\"application/pdf,image/png,image/jpeg\"\r\n * maxSize={5 * 1024 * 1024}\r\n * multiple\r\n * value={files} // [{ id, name, size, progress, status, error }]\r\n * onAdd={handleNewFiles}\r\n * onRemove={(id) => removeFile(id)}\r\n * onReject={(rejections) => showErrors(rejections)}\r\n * hint=\"Formats acceptés : PDF, PNG, JPG. Max 5 Mo par fichier.\"\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Dropzone labels={{\r\n * label: \"Drag files here or click to browse\",\r\n * ariaLabel: \"File drop zone\",\r\n * formatBytes: (n) => `${(n / 1024 / 1024).toFixed(1)} MB`,\r\n * reasons: {\r\n * \"max-size\": \"too large\",\r\n * \"type\": \"wrong type\",\r\n * \"max-files\": \"limit reached\",\r\n * },\r\n * buildRejectMessage: (rejected) => `${rejected.length} file(s) rejected`,\r\n * addedSingle: (name) => `Added: ${name}`,\r\n * addedMultiple: (n) => `${n} files added`,\r\n * removeItem: (name) => `Remove ${name}`,\r\n * }} />\r\n *\r\n * ── INSIDE A <Field> (R-I.1, R-I.3) ──────────────────────────────────\r\n *\r\n * Wrap it to get a visible label, required marker and error message:\r\n *\r\n * <Field label=\"Facture\" required error={fileError} htmlFor=\"facture-file\">\r\n * <Dropzone value={…} onAdd={…} />\r\n * </Field>\r\n *\r\n * Field clones its child with `id`, `aria-invalid`, `aria-describedby` and\r\n * `error`. This component ACCEPTS all four and forwards them to the drop\r\n * <button> — which is the canonical accessibility handle, not the hidden\r\n * input. Before that forwarding existed the props were dropped silently:\r\n * Field's <label htmlFor> pointed at an id present on no element, so the\r\n * label named nothing and the button's accessible name was only the generic\r\n * \"Zone de dépôt de fichiers\"; and a host-set error rendered its message\r\n * while the control stayed valid to AT.\r\n *\r\n * `htmlFor` is worth passing explicitly when the field must be addressable\r\n * from outside — Field otherwise generates a `useId`-based id, which is\r\n * stable across renders but not predictable, so it cannot be targeted by\r\n * focusFieldByName after a failed submit.\r\n *\r\n * A11y note (R-Ar.1):\r\n * The drop target is a native <button>, not <div role=\"button\">.\r\n * Enter/Space activation, disabled state, and AT exposure come for\r\n * free from the platform. The hidden <input type=\"file\"> nested\r\n * inside the button is aria-hidden - the button is the canonical\r\n * accessibility handle.\r\n *\r\n * A11y note (R-A.1, live region):\r\n * Acceptances and rejections are announced via a polite live region.\r\n * Rejections are broken down by reason so SR users learn WHY without\r\n * needing a host-side toast. aria-relevant is set explicitly to\r\n * \"additions text\" — the spec default, but some SR + browser combos\r\n * (NVDA + Firefox notably) skip announcements without it.\r\n */\r\n\r\nexport type DropzoneFileStatus = \"ready\" | \"uploading\" | \"done\" | \"error\";\r\n\r\nexport interface DropzoneFile {\r\n id?: string | number;\r\n name: string;\r\n size?: number;\r\n progress?: number;\r\n status?: DropzoneFileStatus;\r\n error?: string;\r\n}\r\n\r\nexport type DropzoneRejectReason = \"max-size\" | \"type\" | \"max-files\";\r\n\r\nexport interface DropzoneRejection {\r\n file: File;\r\n reason: DropzoneRejectReason;\r\n}\r\n\r\nexport interface DropzoneReasons {\r\n \"max-size\"?: string;\r\n \"type\"?: string;\r\n \"max-files\"?: string;\r\n}\r\n\r\nexport interface DropzoneLabels {\r\n label?: React.ReactNode;\r\n ariaLabel?: string;\r\n formatBytes?: (n: number) => string;\r\n reasons?: DropzoneReasons;\r\n buildRejectMessage?: (rejected: DropzoneRejection[], reasons: DropzoneReasons) => string;\r\n addedSingle?: (name: string) => string;\r\n addedMultiple?: (n: number) => string;\r\n removeItem?: (name: string) => string;\r\n}\r\n\r\nexport interface DropzoneProps {\r\n accept?: string;\r\n maxSize?: number;\r\n maxFiles?: number;\r\n multiple?: boolean;\r\n disabled?: boolean;\r\n value?: DropzoneFile[];\r\n onAdd?: (files: File[]) => void;\r\n onRemove?: (id: string | number) => void;\r\n onReject?: (rejections: DropzoneRejection[]) => void;\r\n // Legacy/back-compat per-prop overrides; win over labels.* when both passed.\r\n label?: React.ReactNode;\r\n \"aria-label\"?: string;\r\n hint?: React.ReactNode;\r\n labels?: DropzoneLabels;\r\n sx?: SxProps<Theme>;\r\n /**\r\n * Id for the drop <button>. Injected by Field from `htmlFor || name`, so\r\n * its <label htmlFor> resolves to a real element (R-I.1).\r\n *\r\n * Pass a stable value through Field's `htmlFor` when the field needs to be\r\n * addressable from outside the component — focusFieldByName resolves\r\n * `[id=…]` first, and that is how a failed submit reaches a Dropzone\r\n * (R-F.3).\r\n */\r\n id?: string;\r\n /**\r\n * Invalid state. Injected by Field as `error={hasError}`.\r\n *\r\n * Drives both the danger border and `aria-invalid`, so the state is\r\n * conveyed visually AND programmatically rather than by the helper text\r\n * alone (R-4.1 / R-I.3).\r\n */\r\n error?: boolean;\r\n /**\r\n * Injected by Field. Accepted explicitly so an aria-invalid passed without\r\n * `error` still lands — the two are separate props on Field's clone and a\r\n * host can legitimately set either.\r\n */\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\";\r\n /**\r\n * Injected by Field, pointing at its hint and/or error message. MERGED with\r\n * this component's own internal hint id rather than replacing it — both\r\n * descriptions are real and the user needs both.\r\n */\r\n \"aria-describedby\"?: string;\r\n}\r\n\r\n// ─── Default FR formatters ───────────────────────────────────────────\r\n\r\nfunction defaultFormatBytes(n: number): string {\r\n if (!Number.isFinite(n)) return \"—\";\r\n if (n < 1024) return `${n} o`;\r\n if (n < 1024 * 1024) return `${Math.round(n / 1024)} Ko`;\r\n return `${(n / 1024 / 1024).toFixed(1)} Mo`;\r\n}\r\n\r\nconst DEFAULT_REASONS = Object.freeze({\r\n \"max-size\": \"trop volumineux\",\r\n \"type\": \"type non autorisé\",\r\n \"max-files\": \"limite atteinte\",\r\n});\r\n\r\n/**\r\n * Build a SR-friendly French sentence summarising a rejection bundle.\r\n * Examples:\r\n * 1 file, max-size → \"1 fichier refusé : trop volumineux.\"\r\n * 3 files, mixed reasons → \"3 fichiers refusés : 1 trop volumineux,\r\n * 2 type non autorisé.\"\r\n */\r\nfunction defaultBuildRejectMessage(rejected: DropzoneRejection[], reasons: DropzoneReasons): string {\r\n const total = rejected.length;\r\n if (total === 0) return \"\";\r\n const noun = total > 1 ? \"fichiers refusés\" : \"fichier refusé\";\r\n const head = `${total} ${noun}`;\r\n\r\n const tally: Record<string, number> = {};\r\n for (const r of rejected) {\r\n const label = reasons[r.reason];\r\n if (!label) continue;\r\n tally[label] = (tally[label] || 0) + 1;\r\n }\r\n const buckets = Object.entries(tally);\r\n if (buckets.length === 0) return `${head}.`;\r\n\r\n if (buckets.length === 1) {\r\n const only = buckets[0];\r\n return only ? `${head} : ${only[0]}.` : `${head}.`;\r\n }\r\n const parts = buckets.map(([label, n]) => `${n} ${label}`);\r\n return `${head} : ${parts.join(\", \")}.`;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n label: \"Glissez vos fichiers ici ou cliquez pour parcourir\",\r\n ariaLabel: \"Zone de dépôt de fichiers\",\r\n formatBytes: defaultFormatBytes,\r\n reasons: DEFAULT_REASONS,\r\n buildRejectMessage: defaultBuildRejectMessage,\r\n addedSingle: (name: string) => `Fichier ajouté : ${name}`,\r\n addedMultiple: (n: number) => `${n} fichiers ajoutés`,\r\n removeItem: (name: string) => `Retirer ${name}`,\r\n});\r\n\r\n// ─── Helpers ──────────────────────────────────────────────────────────\r\n\r\nfunction matchesAccept(file: File, accept: string | undefined): boolean {\r\n if (!accept) return true;\r\n const tokens = accept.split(\",\").map((t) => t.trim()).filter(Boolean);\r\n if (tokens.length === 0) return true;\r\n return tokens.some((t) => {\r\n if (t.startsWith(\".\")) {\r\n return file.name.toLowerCase().endsWith(t.toLowerCase());\r\n }\r\n if (t.endsWith(\"/*\")) {\r\n const prefix = t.slice(0, -1); // \"image/\"\r\n return file.type.startsWith(prefix);\r\n }\r\n return file.type === t;\r\n });\r\n}\r\n\r\n// ─── Component ────────────────────────────────────────────────────────\r\n\r\nfunction Dropzone({\r\n accept,\r\n maxSize,\r\n maxFiles,\r\n multiple = false,\r\n disabled = false,\r\n value = [],\r\n onAdd,\r\n onRemove,\r\n onReject,\r\n // Legacy prop names: kept for back-compat. When the consumer passes\r\n // either, it wins over labels.* with the same role.\r\n label,\r\n \"aria-label\": ariaLabelProp,\r\n hint,\r\n labels,\r\n sx,\r\n // Injected by Field (R-I.1 / R-I.3). Forwarded to the drop <button>\r\n // below — see the \"INSIDE A <Field>\" note in the module docstring.\r\n id,\r\n error = false,\r\n \"aria-invalid\": ariaInvalidProp,\r\n \"aria-describedby\": ariaDescribedByProp,\r\n}: DropzoneProps) {\r\n const L = React.useMemo(() => {\r\n if (!labels) return DEFAULT_LABELS;\r\n return {\r\n ...DEFAULT_LABELS,\r\n ...labels,\r\n reasons: { ...DEFAULT_LABELS.reasons, ...(labels.reasons || {}) },\r\n };\r\n }, [labels]);\r\n\r\n const dropLabel = label != null ? label : L.label;\r\n const ariaLabel = ariaLabelProp != null ? ariaLabelProp : L.ariaLabel;\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const liveRef = React.useRef<HTMLDivElement>(null);\r\n const [dragOver, setDragOver] = React.useState(false);\r\n // Stable, per-instance, collision-safe id for the hint association.\r\n const hintId = React.useId();\r\n\r\n /*\r\n * R-I.3 — invalid when Field said so via `error`, or when a host set the\r\n * attribute directly. Either alone is sufficient; Field passes both, other\r\n * callers may pass one.\r\n */\r\n const isInvalid =\r\n error || ariaInvalidProp === true || ariaInvalidProp === \"true\";\r\n\r\n /*\r\n * MERGED, not replaced. Field's value points at its hint and/or its error\r\n * message; hintId points at this component's own hint, rendered inside the\r\n * button. Dropping either would lose a real description — which is what\r\n * happened while this prop was not accepted at all.\r\n */\r\n const describedBy =\r\n [ariaDescribedByProp, hint ? hintId : null].filter(Boolean).join(\" \") ||\r\n undefined;\r\n\r\n const announce = (msg: string) => {\r\n if (liveRef.current) {\r\n // Setting via DOM (not state) avoids re-renders that would re-trigger\r\n // SR announcements for unrelated UI updates.\r\n liveRef.current.textContent = msg;\r\n }\r\n };\r\n\r\n const validate = React.useCallback(\r\n (incoming: File[]): { accepted: File[]; rejected: DropzoneRejection[] } => {\r\n const accepted: File[] = [];\r\n const rejected: DropzoneRejection[] = [];\r\n const remainingSlots = maxFiles != null ? Math.max(0, maxFiles - value.length) : Infinity;\r\n\r\n for (const file of incoming) {\r\n if (accepted.length >= remainingSlots) {\r\n rejected.push({ file, reason: \"max-files\" });\r\n continue;\r\n }\r\n if (maxSize != null && file.size > maxSize) {\r\n rejected.push({ file, reason: \"max-size\" });\r\n continue;\r\n }\r\n if (!matchesAccept(file, accept)) {\r\n rejected.push({ file, reason: \"type\" });\r\n continue;\r\n }\r\n accepted.push(file);\r\n if (!multiple) break; // single mode: only first valid\r\n }\r\n return { accepted, rejected };\r\n },\r\n [accept, maxSize, maxFiles, multiple, value.length]\r\n );\r\n\r\n const handleFiles = (fileList: FileList | File[] | null | undefined) => {\r\n if (disabled) return;\r\n const files = Array.from(fileList || []);\r\n if (files.length === 0) return;\r\n const { accepted, rejected } = validate(files);\r\n if (accepted.length > 0) {\r\n onAdd?.(accepted);\r\n const [first] = accepted;\r\n announce(\r\n accepted.length === 1 && first\r\n ? L.addedSingle(first.name)\r\n : L.addedMultiple(accepted.length)\r\n );\r\n }\r\n if (rejected.length > 0) {\r\n onReject?.(rejected);\r\n announce(L.buildRejectMessage(rejected, L.reasons));\r\n }\r\n };\r\n\r\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n handleFiles(e.target.files);\r\n // reset so the same file can be re-added after removal\r\n e.target.value = \"\";\r\n };\r\n\r\n const openPicker = () => {\r\n if (disabled) return;\r\n inputRef.current?.click();\r\n };\r\n\r\n const onDragOver = (e: React.DragEvent) => {\r\n if (disabled) return;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (!dragOver) setDragOver(true);\r\n };\r\n const onDragLeave = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n // Only clear when leaving the wrapper itself, not crossing a child.\r\n if (e.currentTarget.contains(e.relatedTarget as Node | null)) return;\r\n setDragOver(false);\r\n };\r\n const onDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setDragOver(false);\r\n if (disabled) return;\r\n handleFiles(e.dataTransfer?.files);\r\n };\r\n\r\n /*\r\n * Border colour precedence: dragOver > invalid > resting.\r\n *\r\n * Drag feedback wins deliberately — while a file is over the target the\r\n * user needs to know the drop will land, and the invalid state is about to\r\n * be resolved by that very drop.\r\n */\r\n const borderColor = dragOver\r\n ? \"var(--accent)\"\r\n : isInvalid\r\n ? \"var(--danger)\"\r\n : \"var(--border-strong)\";\r\n\r\n return (\r\n <Box sx={{ width: \"100%\", ...sx }}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n {...(id !== undefined ? { id } : {})}\r\n disabled={disabled}\r\n aria-label={ariaLabel}\r\n {...(isInvalid ? { \"aria-invalid\": true } : {})}\r\n aria-describedby={describedBy}\r\n onClick={openPicker}\r\n onDragOver={onDragOver}\r\n onDragEnter={onDragOver}\r\n onDragLeave={onDragLeave}\r\n onDrop={onDrop}\r\n sx={{\r\n // <button> reset - neutralise UA defaults so the drop target\r\n // visually matches the previous Box-based design.\r\n font: \"inherit\",\r\n color: \"inherit\",\r\n width: \"100%\",\r\n // Layout\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 1,\r\n padding: \"var(--s-5) var(--s-4)\",\r\n background: dragOver ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n border: `2px dashed ${borderColor}`,\r\n borderRadius: \"var(--r-lg)\",\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n opacity: disabled ? 0.55 : 1,\r\n textAlign: \"center\",\r\n transition:\r\n \"background var(--duration-fast, 80ms) ease, border-color var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": (!disabled && !dragOver)\r\n ? { background: \"var(--bg-hover)\", borderColor: \"var(--accent)\" }\r\n : {},\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: dragOver\r\n ? \"var(--accent)\"\r\n : isInvalid\r\n ? \"var(--danger)\"\r\n : \"var(--fg-muted)\",\r\n display: \"inline-flex\",\r\n }}\r\n >\r\n <CloudUploadIcon style={{ fontSize: 32 }} />\r\n </Box>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n }}\r\n >\r\n {dropLabel}\r\n </Box>\r\n {hint && (\r\n <Box\r\n id={hintId}\r\n sx={{ fontSize: \"var(--text-xs)\", color: \"var(--fg-muted)\" }}\r\n >\r\n {hint}\r\n </Box>\r\n )}\r\n {/* visually-hidden, accessibility-tree-hidden native input.\r\n The wrapping <button> is the canonical a11y handle; the input\r\n is just the bridge to the OS file picker.\r\n C2 — clipPath: inset(50%) (modern) replaces the deprecated\r\n clip: rect(0,0,0,0) so a strict CSP that disables `clip`\r\n cannot leak the input on screen. */}\r\n <input\r\n ref={inputRef}\r\n type=\"file\"\r\n accept={accept}\r\n multiple={multiple}\r\n disabled={disabled}\r\n onChange={onInputChange}\r\n tabIndex={-1}\r\n aria-hidden=\"true\"\r\n style={{\r\n position: \"absolute\",\r\n width: 1, height: 1, padding: 0, margin: -1,\r\n overflow: \"hidden\", clipPath: \"inset(50%)\", border: 0,\r\n }}\r\n />\r\n </Box>\r\n\r\n {/* Live region — newly-added file announcements + rejection summary.\r\n C3 — aria-relevant explicit (defense-in-depth for NVDA+Firefox). */}\r\n <Box\r\n ref={liveRef}\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n className=\"pui-sr-only\"\r\n />\r\n\r\n {/* file list */}\r\n {value.length > 0 && (\r\n <Box\r\n component=\"ul\"\r\n /* Explicit role — several screen readers strip list semantics when\r\n CSS list-style:none is applied. Same reason FormErrorSummary sets\r\n it. */\r\n role=\"list\"\r\n sx={{\r\n listStyle: \"none\",\r\n padding: 0,\r\n margin: \"var(--s-3) 0 0\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {value.map((f, i) => {\r\n const id = f.id ?? f.name ?? i;\r\n const status = f.status || (f.error ? \"error\" : f.progress === 100 ? \"done\" : f.progress != null ? \"uploading\" : \"ready\");\r\n const color =\r\n status === \"error\" ? \"var(--danger)\" :\r\n status === \"done\" ? \"var(--success)\" : \"var(--fg-muted)\";\r\n return (\r\n <Box\r\n component=\"li\"\r\n role=\"listitem\"\r\n key={id}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n }}\r\n >\r\n <Box aria-hidden=\"true\" sx={{ color, display: \"inline-flex\" }}>\r\n <InsertDriveFileIcon fontSize=\"small\" />\r\n </Box>\r\n <Box sx={{ flex: 1, minWidth: 0 }}>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n color: \"var(--fg)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {f.name}\r\n </Box>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: status === \"error\" ? \"var(--danger)\" : \"var(--fg-subtle)\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n }}\r\n >\r\n {status === \"error\" && f.error\r\n ? f.error\r\n : `${L.formatBytes(f.size ?? NaN)}${f.progress != null ? ` · ${Math.round(f.progress)}%` : \"\"}`}\r\n </Box>\r\n </Box>\r\n {onRemove && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => { e.stopPropagation(); onRemove(id); }}\r\n aria-label={L.removeItem(f.name)}\r\n sx={{ color: \"var(--fg-muted)\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Dropzone;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Dropzone.js","names":["React","_interopRequireWildcard","require","_mergeLabels","_Box","_interopRequireDefault","_IconButton","_CloudUpload","_Close","_InsertDriveFileOutlined","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","Array","isArray","_createForOfIteratorHelper","o","allowArrayLike","it","F","s","n","e","_e2","f","normalCompletion","didErr","step","_e3","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","len","arr2","defaultFormatBytes","isFinite","concat","Math","round","toFixed","DEFAULT_REASONS","freeze","defaultBuildRejectMessage","rejected","reasons","total","noun","head","tally","_iterator","_step","r","label","reason","buckets","entries","only","parts","map","_ref","_ref2","join","DEFAULT_LABELS","ariaLabel","formatBytes","buildRejectMessage","addedSingle","addedMultiple","removeItem","matchesAccept","file","accept","tokens","split","t","trim","Boolean","some","startsWith","toLowerCase","endsWith","prefix","type","Dropzone","_ref3","maxSize","maxFiles","_ref3$multiple","multiple","_ref3$disabled","disabled","_ref3$value","onAdd","onRemove","onReject","ariaLabelProp","labels","sx","id","_ref3$error","error","ariaInvalidProp","ariaDescribedByProp","L","useMemo","mergeLabels","dropLabel","inputRef","useRef","liveRef","_React$useState","useState","_React$useState2","dragOver","setDragOver","hintId","useId","isInvalid","describedBy","announce","msg","current","textContent","validate","useCallback","incoming","accepted","remainingSlots","max","Infinity","_iterator2","_step2","size","handleFiles","fileList","files","_validate","_accepted","first","onInputChange","openPicker","_inputRef$current","click","onDragOver","preventDefault","stopPropagation","onDragLeave","currentTarget","contains","relatedTarget","onDrop","_e$dataTransfer","dataTransfer","borderColor","jsxs","width","children","component","onClick","onDragEnter","font","color","display","flexDirection","alignItems","justifyContent","gap","padding","background","border","borderRadius","cursor","opacity","textAlign","transition","outline","outlineOffset","jsx","style","fontSize","fontWeight","ref","onChange","tabIndex","position","height","margin","overflow","clipPath","role","className","listStyle","_ref4","_f$id","_f$size","status","progress","flex","minWidth","textOverflow","whiteSpace","fontVariantNumeric","NaN","_default","exports"],"sources":["../../../src/lib/v2/components/Dropzone.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport CloudUploadIcon from \"@mui/icons-material/CloudUpload\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport InsertDriveFileIcon from \"@mui/icons-material/InsertDriveFileOutlined\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Dropzone - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Dropzone / FileUpload\". Drop area + click/keyboard\r\n * to open the OS file picker. Stateless wrt upload progress - the caller owns\r\n * the upload state and feeds it back via `value`.\r\n *\r\n * <Dropzone\r\n * accept=\"application/pdf,image/png,image/jpeg\"\r\n * maxSize={5 * 1024 * 1024}\r\n * multiple\r\n * value={files} // [{ id, name, size, progress, status, error }]\r\n * onAdd={handleNewFiles}\r\n * onRemove={(id) => removeFile(id)}\r\n * onReject={(rejections) => showErrors(rejections)}\r\n * hint=\"Formats acceptés : PDF, PNG, JPG. Max 5 Mo par fichier.\"\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Dropzone labels={{\r\n * label: \"Drag files here or click to browse\",\r\n * ariaLabel: \"File drop zone\",\r\n * formatBytes: (n) => `${(n / 1024 / 1024).toFixed(1)} MB`,\r\n * reasons: {\r\n * \"max-size\": \"too large\",\r\n * \"type\": \"wrong type\",\r\n * \"max-files\": \"limit reached\",\r\n * },\r\n * buildRejectMessage: (rejected) => `${rejected.length} file(s) rejected`,\r\n * addedSingle: (name) => `Added: ${name}`,\r\n * addedMultiple: (n) => `${n} files added`,\r\n * removeItem: (name) => `Remove ${name}`,\r\n * }} />\r\n *\r\n * ── INSIDE A <Field> (R-I.1, R-I.3) ──────────────────────────────────\r\n *\r\n * Wrap it to get a visible label, required marker and error message:\r\n *\r\n * <Field label=\"Facture\" required error={fileError} htmlFor=\"facture-file\">\r\n * <Dropzone value={…} onAdd={…} />\r\n * </Field>\r\n *\r\n * Field clones its child with `id`, `aria-invalid`, `aria-describedby` and\r\n * `error`. This component ACCEPTS all four and forwards them to the drop\r\n * <button> — which is the canonical accessibility handle, not the hidden\r\n * input. Before that forwarding existed the props were dropped silently:\r\n * Field's <label htmlFor> pointed at an id present on no element, so the\r\n * label named nothing and the button's accessible name was only the generic\r\n * \"Zone de dépôt de fichiers\"; and a host-set error rendered its message\r\n * while the control stayed valid to AT.\r\n *\r\n * `htmlFor` is worth passing explicitly when the field must be addressable\r\n * from outside — Field otherwise generates a `useId`-based id, which is\r\n * stable across renders but not predictable, so it cannot be targeted by\r\n * focusFieldByName after a failed submit.\r\n *\r\n * A11y note (R-Ar.1):\r\n * The drop target is a native <button>, not <div role=\"button\">.\r\n * Enter/Space activation, disabled state, and AT exposure come for\r\n * free from the platform. The hidden <input type=\"file\"> nested\r\n * inside the button is aria-hidden - the button is the canonical\r\n * accessibility handle.\r\n *\r\n * A11y note (R-A.1, live region):\r\n * Acceptances and rejections are announced via a polite live region.\r\n * Rejections are broken down by reason so SR users learn WHY without\r\n * needing a host-side toast. aria-relevant is set explicitly to\r\n * \"additions text\" — the spec default, but some SR + browser combos\r\n * (NVDA + Firefox notably) skip announcements without it.\r\n */\r\n\r\nexport type DropzoneFileStatus = \"ready\" | \"uploading\" | \"done\" | \"error\";\r\n\r\nexport interface DropzoneFile {\r\n id?: string | number | undefined;\r\n name: string;\r\n size?: number | undefined;\r\n progress?: number | undefined;\r\n status?: DropzoneFileStatus | undefined;\r\n error?: string | undefined;\r\n}\r\n\r\nexport type DropzoneRejectReason = \"max-size\" | \"type\" | \"max-files\";\r\n\r\nexport interface DropzoneRejection {\r\n file: File;\r\n reason: DropzoneRejectReason;\r\n}\r\n\r\nexport interface DropzoneReasons {\r\n \"max-size\"?: string | undefined;\r\n \"type\"?: string | undefined;\r\n \"max-files\"?: string | undefined;\r\n}\r\n\r\nexport interface DropzoneLabels {\r\n label?: React.ReactNode | undefined;\r\n ariaLabel?: string | undefined;\r\n formatBytes?: ((n: number) => string) | undefined;\r\n reasons?: DropzoneReasons | undefined;\r\n buildRejectMessage?: ((rejected: DropzoneRejection[], reasons: DropzoneReasons) => string) | undefined;\r\n addedSingle?: ((name: string) => string) | undefined;\r\n addedMultiple?: ((n: number) => string) | undefined;\r\n removeItem?: ((name: string) => string) | undefined;\r\n}\r\n\r\nexport interface DropzoneProps {\r\n accept?: string | undefined;\r\n maxSize?: number | undefined;\r\n maxFiles?: number | undefined;\r\n multiple?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n value?: DropzoneFile[] | undefined;\r\n onAdd?: ((files: File[]) => void) | undefined;\r\n onRemove?: ((id: string | number) => void) | undefined;\r\n onReject?: ((rejections: DropzoneRejection[]) => void) | undefined;\r\n // Legacy/back-compat per-prop overrides; win over labels.* when both passed.\r\n label?: React.ReactNode | undefined;\r\n \"aria-label\"?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n labels?: DropzoneLabels | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n /**\r\n * Id for the drop <button>. Injected by Field from `htmlFor || name`, so\r\n * its <label htmlFor> resolves to a real element (R-I.1).\r\n *\r\n * Pass a stable value through Field's `htmlFor` when the field needs to be\r\n * addressable from outside the component — focusFieldByName resolves\r\n * `[id=…]` first, and that is how a failed submit reaches a Dropzone\r\n * (R-F.3).\r\n */\r\n id?: string | undefined;\r\n /**\r\n * Invalid state. Injected by Field as `error={hasError}`.\r\n *\r\n * Drives both the danger border and `aria-invalid`, so the state is\r\n * conveyed visually AND programmatically rather than by the helper text\r\n * alone (R-4.1 / R-I.3).\r\n */\r\n error?: boolean | undefined;\r\n /**\r\n * Injected by Field. Accepted explicitly so an aria-invalid passed without\r\n * `error` still lands — the two are separate props on Field's clone and a\r\n * host can legitimately set either.\r\n */\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | undefined;\r\n /**\r\n * Injected by Field, pointing at its hint and/or error message. MERGED with\r\n * this component's own internal hint id rather than replacing it — both\r\n * descriptions are real and the user needs both.\r\n */\r\n \"aria-describedby\"?: string | undefined;\r\n}\r\n\r\n// ─── Default FR formatters ───────────────────────────────────────────\r\n\r\nfunction defaultFormatBytes(n: number): string {\r\n if (!Number.isFinite(n)) return \"—\";\r\n if (n < 1024) return `${n} o`;\r\n if (n < 1024 * 1024) return `${Math.round(n / 1024)} Ko`;\r\n return `${(n / 1024 / 1024).toFixed(1)} Mo`;\r\n}\r\n\r\nconst DEFAULT_REASONS = Object.freeze({\r\n \"max-size\": \"trop volumineux\",\r\n \"type\": \"type non autorisé\",\r\n \"max-files\": \"limite atteinte\",\r\n});\r\n\r\n/**\r\n * Build a SR-friendly French sentence summarising a rejection bundle.\r\n * Examples:\r\n * 1 file, max-size → \"1 fichier refusé : trop volumineux.\"\r\n * 3 files, mixed reasons → \"3 fichiers refusés : 1 trop volumineux,\r\n * 2 type non autorisé.\"\r\n */\r\nfunction defaultBuildRejectMessage(rejected: DropzoneRejection[], reasons: DropzoneReasons): string {\r\n const total = rejected.length;\r\n if (total === 0) return \"\";\r\n const noun = total > 1 ? \"fichiers refusés\" : \"fichier refusé\";\r\n const head = `${total} ${noun}`;\r\n\r\n const tally: Record<string, number> = {};\r\n for (const r of rejected) {\r\n const label = reasons[r.reason];\r\n if (!label) continue;\r\n tally[label] = (tally[label] || 0) + 1;\r\n }\r\n const buckets = Object.entries(tally);\r\n if (buckets.length === 0) return `${head}.`;\r\n\r\n if (buckets.length === 1) {\r\n const only = buckets[0];\r\n return only ? `${head} : ${only[0]}.` : `${head}.`;\r\n }\r\n const parts = buckets.map(([label, n]) => `${n} ${label}`);\r\n return `${head} : ${parts.join(\", \")}.`;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n label: \"Glissez vos fichiers ici ou cliquez pour parcourir\",\r\n ariaLabel: \"Zone de dépôt de fichiers\",\r\n formatBytes: defaultFormatBytes,\r\n reasons: DEFAULT_REASONS,\r\n buildRejectMessage: defaultBuildRejectMessage,\r\n addedSingle: (name: string) => `Fichier ajouté : ${name}`,\r\n addedMultiple: (n: number) => `${n} fichiers ajoutés`,\r\n removeItem: (name: string) => `Retirer ${name}`,\r\n});\r\n\r\n// ─── Helpers ──────────────────────────────────────────────────────────\r\n\r\nfunction matchesAccept(file: File, accept: string | undefined): boolean {\r\n if (!accept) return true;\r\n const tokens = accept.split(\",\").map((t) => t.trim()).filter(Boolean);\r\n if (tokens.length === 0) return true;\r\n return tokens.some((t) => {\r\n if (t.startsWith(\".\")) {\r\n return file.name.toLowerCase().endsWith(t.toLowerCase());\r\n }\r\n if (t.endsWith(\"/*\")) {\r\n const prefix = t.slice(0, -1); // \"image/\"\r\n return file.type.startsWith(prefix);\r\n }\r\n return file.type === t;\r\n });\r\n}\r\n\r\n// ─── Component ────────────────────────────────────────────────────────\r\n\r\nfunction Dropzone({\r\n accept,\r\n maxSize,\r\n maxFiles,\r\n multiple = false,\r\n disabled = false,\r\n value = [],\r\n onAdd,\r\n onRemove,\r\n onReject,\r\n // Legacy prop names: kept for back-compat. When the consumer passes\r\n // either, it wins over labels.* with the same role.\r\n label,\r\n \"aria-label\": ariaLabelProp,\r\n hint,\r\n labels,\r\n sx,\r\n // Injected by Field (R-I.1 / R-I.3). Forwarded to the drop <button>\r\n // below — see the \"INSIDE A <Field>\" note in the module docstring.\r\n id,\r\n error = false,\r\n \"aria-invalid\": ariaInvalidProp,\r\n \"aria-describedby\": ariaDescribedByProp,\r\n}: DropzoneProps) {\r\n const L = React.useMemo(() => {\r\n if (!labels) return DEFAULT_LABELS;\r\n return mergeLabels(DEFAULT_LABELS, {\r\n ...labels,\r\n /*\r\n * `reasons` is a NESTED dictionary and needs its own merge, at its own\r\n * level. Merging only at the top would replace the whole sub-object, so a\r\n * consumer overriding ONE reason would delete the others — and the\r\n * previous `|| {}` guarded the sub-object against being undefined without\r\n * guarding its VALUES, which is the same hazard one level down.\r\n */\r\n reasons: mergeLabels(DEFAULT_REASONS, labels.reasons),\r\n });\r\n }, [labels]);\r\n\r\n const dropLabel = label != null ? label : L.label;\r\n const ariaLabel = ariaLabelProp != null ? ariaLabelProp : L.ariaLabel;\r\n\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const liveRef = React.useRef<HTMLDivElement>(null);\r\n const [dragOver, setDragOver] = React.useState(false);\r\n // Stable, per-instance, collision-safe id for the hint association.\r\n const hintId = React.useId();\r\n\r\n /*\r\n * R-I.3 — invalid when Field said so via `error`, or when a host set the\r\n * attribute directly. Either alone is sufficient; Field passes both, other\r\n * callers may pass one.\r\n */\r\n const isInvalid =\r\n error || ariaInvalidProp === true || ariaInvalidProp === \"true\";\r\n\r\n /*\r\n * MERGED, not replaced. Field's value points at its hint and/or its error\r\n * message; hintId points at this component's own hint, rendered inside the\r\n * button. Dropping either would lose a real description — which is what\r\n * happened while this prop was not accepted at all.\r\n */\r\n const describedBy =\r\n [ariaDescribedByProp, hint ? hintId : null].filter(Boolean).join(\" \") ||\r\n undefined;\r\n\r\n const announce = (msg: string) => {\r\n if (liveRef.current) {\r\n // Setting via DOM (not state) avoids re-renders that would re-trigger\r\n // SR announcements for unrelated UI updates.\r\n liveRef.current.textContent = msg;\r\n }\r\n };\r\n\r\n const validate = React.useCallback(\r\n (incoming: File[]): { accepted: File[]; rejected: DropzoneRejection[] } => {\r\n const accepted: File[] = [];\r\n const rejected: DropzoneRejection[] = [];\r\n const remainingSlots = maxFiles != null ? Math.max(0, maxFiles - value.length) : Infinity;\r\n\r\n for (const file of incoming) {\r\n if (accepted.length >= remainingSlots) {\r\n rejected.push({ file, reason: \"max-files\" });\r\n continue;\r\n }\r\n if (maxSize != null && file.size > maxSize) {\r\n rejected.push({ file, reason: \"max-size\" });\r\n continue;\r\n }\r\n if (!matchesAccept(file, accept)) {\r\n rejected.push({ file, reason: \"type\" });\r\n continue;\r\n }\r\n accepted.push(file);\r\n if (!multiple) break; // single mode: only first valid\r\n }\r\n return { accepted, rejected };\r\n },\r\n [accept, maxSize, maxFiles, multiple, value.length]\r\n );\r\n\r\n const handleFiles = (fileList: FileList | File[] | null | undefined) => {\r\n if (disabled) return;\r\n const files = Array.from(fileList || []);\r\n if (files.length === 0) return;\r\n const { accepted, rejected } = validate(files);\r\n if (accepted.length > 0) {\r\n onAdd?.(accepted);\r\n const [first] = accepted;\r\n announce(\r\n accepted.length === 1 && first\r\n ? L.addedSingle(first.name)\r\n : L.addedMultiple(accepted.length)\r\n );\r\n }\r\n if (rejected.length > 0) {\r\n onReject?.(rejected);\r\n announce(L.buildRejectMessage(rejected, L.reasons));\r\n }\r\n };\r\n\r\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n handleFiles(e.target.files);\r\n // reset so the same file can be re-added after removal\r\n e.target.value = \"\";\r\n };\r\n\r\n const openPicker = () => {\r\n if (disabled) return;\r\n inputRef.current?.click();\r\n };\r\n\r\n const onDragOver = (e: React.DragEvent) => {\r\n if (disabled) return;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (!dragOver) setDragOver(true);\r\n };\r\n const onDragLeave = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n // Only clear when leaving the wrapper itself, not crossing a child.\r\n if (e.currentTarget.contains(e.relatedTarget as Node | null)) return;\r\n setDragOver(false);\r\n };\r\n const onDrop = (e: React.DragEvent) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setDragOver(false);\r\n if (disabled) return;\r\n handleFiles(e.dataTransfer?.files);\r\n };\r\n\r\n /*\r\n * Border colour precedence: dragOver > invalid > resting.\r\n *\r\n * Drag feedback wins deliberately — while a file is over the target the\r\n * user needs to know the drop will land, and the invalid state is about to\r\n * be resolved by that very drop.\r\n */\r\n const borderColor = dragOver\r\n ? \"var(--accent)\"\r\n : isInvalid\r\n ? \"var(--danger)\"\r\n : \"var(--border-strong)\";\r\n\r\n return (\r\n <Box sx={{ width: \"100%\", ...sx }}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n {...(id !== undefined ? { id } : {})}\r\n disabled={disabled}\r\n aria-label={ariaLabel}\r\n {...(isInvalid ? { \"aria-invalid\": true } : {})}\r\n aria-describedby={describedBy}\r\n onClick={openPicker}\r\n onDragOver={onDragOver}\r\n onDragEnter={onDragOver}\r\n onDragLeave={onDragLeave}\r\n onDrop={onDrop}\r\n sx={{\r\n // <button> reset - neutralise UA defaults so the drop target\r\n // visually matches the previous Box-based design.\r\n font: \"inherit\",\r\n color: \"inherit\",\r\n width: \"100%\",\r\n // Layout\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: 1,\r\n padding: \"var(--s-5) var(--s-4)\",\r\n background: dragOver ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n border: `2px dashed ${borderColor}`,\r\n borderRadius: \"var(--r-lg)\",\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n opacity: disabled ? 0.55 : 1,\r\n textAlign: \"center\",\r\n transition:\r\n \"background var(--duration-fast, 80ms) ease, border-color var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": (!disabled && !dragOver)\r\n ? { background: \"var(--bg-hover)\", borderColor: \"var(--accent)\" }\r\n : {},\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: dragOver\r\n ? \"var(--accent)\"\r\n : isInvalid\r\n ? \"var(--danger)\"\r\n : \"var(--fg-muted)\",\r\n display: \"inline-flex\",\r\n }}\r\n >\r\n <CloudUploadIcon style={{ fontSize: 32 }} />\r\n </Box>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n }}\r\n >\r\n {dropLabel}\r\n </Box>\r\n {hint && (\r\n <Box\r\n id={hintId}\r\n sx={{ fontSize: \"var(--text-xs)\", color: \"var(--fg-muted)\" }}\r\n >\r\n {hint}\r\n </Box>\r\n )}\r\n {/* visually-hidden, accessibility-tree-hidden native input.\r\n The wrapping <button> is the canonical a11y handle; the input\r\n is just the bridge to the OS file picker.\r\n C2 — clipPath: inset(50%) (modern) replaces the deprecated\r\n clip: rect(0,0,0,0) so a strict CSP that disables `clip`\r\n cannot leak the input on screen. */}\r\n <input\r\n ref={inputRef}\r\n type=\"file\"\r\n accept={accept}\r\n multiple={multiple}\r\n disabled={disabled}\r\n onChange={onInputChange}\r\n tabIndex={-1}\r\n aria-hidden=\"true\"\r\n style={{\r\n position: \"absolute\",\r\n width: 1, height: 1, padding: 0, margin: -1,\r\n overflow: \"hidden\", clipPath: \"inset(50%)\", border: 0,\r\n }}\r\n />\r\n </Box>\r\n\r\n {/* Live region — newly-added file announcements + rejection summary.\r\n C3 — aria-relevant explicit (defense-in-depth for NVDA+Firefox). */}\r\n <Box\r\n ref={liveRef}\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions text\"\r\n className=\"pui-sr-only\"\r\n />\r\n\r\n {/* file list */}\r\n {value.length > 0 && (\r\n <Box\r\n component=\"ul\"\r\n /* Explicit role — several screen readers strip list semantics when\r\n CSS list-style:none is applied. Same reason FormErrorSummary sets\r\n it. */\r\n role=\"list\"\r\n sx={{\r\n listStyle: \"none\",\r\n padding: 0,\r\n margin: \"var(--s-3) 0 0\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {value.map((f, i) => {\r\n const id = f.id ?? f.name ?? i;\r\n const status = f.status || (f.error ? \"error\" : f.progress === 100 ? \"done\" : f.progress != null ? \"uploading\" : \"ready\");\r\n const color =\r\n status === \"error\" ? \"var(--danger)\" :\r\n status === \"done\" ? \"var(--success)\" : \"var(--fg-muted)\";\r\n return (\r\n <Box\r\n component=\"li\"\r\n role=\"listitem\"\r\n key={id}\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n }}\r\n >\r\n <Box aria-hidden=\"true\" sx={{ color, display: \"inline-flex\" }}>\r\n <InsertDriveFileIcon fontSize=\"small\" />\r\n </Box>\r\n <Box sx={{ flex: 1, minWidth: 0 }}>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n color: \"var(--fg)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {f.name}\r\n </Box>\r\n <Box\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: status === \"error\" ? \"var(--danger)\" : \"var(--fg-subtle)\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n }}\r\n >\r\n {status === \"error\" && f.error\r\n ? f.error\r\n : `${L.formatBytes(f.size ?? NaN)}${f.progress != null ? ` · ${Math.round(f.progress)}%` : \"\"}`}\r\n </Box>\r\n </Box>\r\n {onRemove && (\r\n <IconButton\r\n size=\"small\"\r\n onClick={(e) => { e.stopPropagation(); onRemove(id); }}\r\n aria-label={L.removeItem(f.name)}\r\n sx={{ color: \"var(--fg-muted)\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Dropzone;\r\n"],"mappings":"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","ignoreList":[]}
@@ -20,16 +20,16 @@ import type { ButtonProps } from "./Button";
20
20
  export type EmptyStateVariant = "initial" | "filtered" | "error";
21
21
  export interface EmptyStateAction {
22
22
  label: React.ReactNode;
23
- onClick?: () => void;
24
- icon?: React.ReactNode;
25
- variant?: ButtonProps["variant"];
23
+ onClick?: (() => void) | undefined;
24
+ icon?: React.ReactNode | undefined;
25
+ variant?: ButtonProps["variant"] | undefined;
26
26
  }
27
27
  export interface EmptyStateProps {
28
- variant?: EmptyStateVariant;
29
- icon?: React.ReactNode;
28
+ variant?: EmptyStateVariant | undefined;
29
+ icon?: React.ReactNode | undefined;
30
30
  title: React.ReactNode;
31
- description?: React.ReactNode;
32
- action?: EmptyStateAction;
31
+ description?: React.ReactNode | undefined;
32
+ action?: EmptyStateAction | undefined;
33
33
  }
34
34
  declare function EmptyState({ variant, icon, title, description, action, }: EmptyStateProps): React.JSX.Element;
35
35
  export default EmptyState;
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,iBAAS,UAAU,CAAC,EAClB,OAAmB,EACnB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,GACP,EAAE,eAAe,qBA0EjB;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvC;AAED,iBAAS,UAAU,CAAC,EAClB,OAAmB,EACnB,IAAI,EACJ,KAAK,EACL,WAAW,EACX,MAAM,GACP,EAAE,eAAe,qBA0EjB;AAED,eAAe,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EmptyState","_ref","_ref$variant","variant","icon","title","description","action","variantStyle","initial","iconColor","filtered","error","buttonVariant","jsxs","role","undefined","sx","display","flexDirection","alignItems","textAlign","padding","background","border","borderRadius","children","jsx","width","height","placeItems","color","marginBottom","fontSize","component","fontWeight","lineHeight","maxWidth","onClick","label","_default","exports"],"sources":["../../../src/lib/v2/components/EmptyState.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Button from \"./Button\";\r\nimport type { ButtonProps } from \"./Button\";\r\n\r\n/**\r\n * EmptyState — Portnet UI v2\r\n *\r\n * Charter §04.3 · 3 variants required:\r\n * - initial → primary CTA (e.g. \"+ Nouveau titre\")\r\n * - filtered → \"Réinitialiser filtres\"\r\n * - error → \"Réessayer\"\r\n *\r\n * Anti-pattern: generic clipart illustration. A single icon suffices (R-Em.2).\r\n *\r\n * <EmptyState\r\n * icon={<DescriptionIcon />}\r\n * title=\"Aucun titre d'importation\"\r\n * description=\"Créez votre premier titre pour commencer.\"\r\n * action={{ label: \"Nouveau titre\", onClick: createNew }}\r\n * />\r\n */\r\n\r\nexport type EmptyStateVariant = \"initial\" | \"filtered\" | \"error\";\r\n\r\nexport interface EmptyStateAction {\r\n label: React.ReactNode;\r\n onClick?: () => void;\r\n icon?: React.ReactNode;\r\n variant?: ButtonProps[\"variant\"];\r\n}\r\n\r\nexport interface EmptyStateProps {\r\n variant?: EmptyStateVariant;\r\n icon?: React.ReactNode;\r\n title: React.ReactNode;\r\n description?: React.ReactNode;\r\n action?: EmptyStateAction;\r\n}\r\n\r\nfunction EmptyState({\r\n variant = \"initial\",\r\n icon,\r\n title,\r\n description,\r\n action,\r\n}: EmptyStateProps) {\r\n const variantStyle = {\r\n initial: { iconColor: \"var(--fg-subtle)\" },\r\n filtered: { iconColor: \"var(--fg-subtle)\" },\r\n error: { iconColor: \"var(--danger)\" },\r\n }[variant] || { iconColor: \"var(--fg-subtle)\" };\r\n\r\n const buttonVariant = variant === \"error\" ? \"secondary\" : \"primary\";\r\n\r\n return (\r\n <Box\r\n role={variant === \"error\" ? \"alert\" : undefined}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n padding: \"var(--s-9) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {icon && (\r\n <Box\r\n sx={{\r\n // Icon halo size — visual element dimensions, not spacing.\r\n // Intentionally literal (not promoted to a spacing token).\r\n width: 48,\r\n height: 48,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--bg-subtle)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n color: variantStyle.iconColor,\r\n marginBottom: \"var(--s-3)\",\r\n \"& svg\": { fontSize: 24 }, // intrinsic icon size\r\n }}\r\n >\r\n {icon}\r\n </Box>\r\n )}\r\n <Typography\r\n component=\"h3\"\r\n sx={{\r\n fontSize: \"var(--text-h4)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n marginBottom: \"var(--s-1)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n // Readable measure (~50–60ch). Not a spacing-scale value.\r\n maxWidth: 360,\r\n marginBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n {action && (\r\n <Button variant={action.variant || buttonVariant} icon={action.icon} onClick={action.onClick}>\r\n {action.label}\r\n </Button>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default EmptyState;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EmptyState.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Typography","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EmptyState","_ref","_ref$variant","variant","icon","title","description","action","variantStyle","initial","iconColor","filtered","error","buttonVariant","jsxs","role","undefined","sx","display","flexDirection","alignItems","textAlign","padding","background","border","borderRadius","children","jsx","width","height","placeItems","color","marginBottom","fontSize","component","fontWeight","lineHeight","maxWidth","onClick","label","_default","exports"],"sources":["../../../src/lib/v2/components/EmptyState.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Button from \"./Button\";\r\nimport type { ButtonProps } from \"./Button\";\r\n\r\n/**\r\n * EmptyState — Portnet UI v2\r\n *\r\n * Charter §04.3 · 3 variants required:\r\n * - initial → primary CTA (e.g. \"+ Nouveau titre\")\r\n * - filtered → \"Réinitialiser filtres\"\r\n * - error → \"Réessayer\"\r\n *\r\n * Anti-pattern: generic clipart illustration. A single icon suffices (R-Em.2).\r\n *\r\n * <EmptyState\r\n * icon={<DescriptionIcon />}\r\n * title=\"Aucun titre d'importation\"\r\n * description=\"Créez votre premier titre pour commencer.\"\r\n * action={{ label: \"Nouveau titre\", onClick: createNew }}\r\n * />\r\n */\r\n\r\nexport type EmptyStateVariant = \"initial\" | \"filtered\" | \"error\";\r\n\r\nexport interface EmptyStateAction {\r\n label: React.ReactNode;\r\n onClick?: (() => void) | undefined;\r\n icon?: React.ReactNode | undefined;\r\n variant?: ButtonProps[\"variant\"] | undefined;\r\n}\r\n\r\nexport interface EmptyStateProps {\r\n variant?: EmptyStateVariant | undefined;\r\n icon?: React.ReactNode | undefined;\r\n title: React.ReactNode;\r\n description?: React.ReactNode | undefined;\r\n action?: EmptyStateAction | undefined;\r\n}\r\n\r\nfunction EmptyState({\r\n variant = \"initial\",\r\n icon,\r\n title,\r\n description,\r\n action,\r\n}: EmptyStateProps) {\r\n const variantStyle = {\r\n initial: { iconColor: \"var(--fg-subtle)\" },\r\n filtered: { iconColor: \"var(--fg-subtle)\" },\r\n error: { iconColor: \"var(--danger)\" },\r\n }[variant] || { iconColor: \"var(--fg-subtle)\" };\r\n\r\n const buttonVariant = variant === \"error\" ? \"secondary\" : \"primary\";\r\n\r\n return (\r\n <Box\r\n role={variant === \"error\" ? \"alert\" : undefined}\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n textAlign: \"center\",\r\n padding: \"var(--s-9) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n {icon && (\r\n <Box\r\n sx={{\r\n // Icon halo size — visual element dimensions, not spacing.\r\n // Intentionally literal (not promoted to a spacing token).\r\n width: 48,\r\n height: 48,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--bg-subtle)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n color: variantStyle.iconColor,\r\n marginBottom: \"var(--s-3)\",\r\n \"& svg\": { fontSize: 24 }, // intrinsic icon size\r\n }}\r\n >\r\n {icon}\r\n </Box>\r\n )}\r\n <Typography\r\n component=\"h3\"\r\n sx={{\r\n fontSize: \"var(--text-h4)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n marginBottom: \"var(--s-1)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n // Readable measure (~50–60ch). Not a spacing-scale value.\r\n maxWidth: 360,\r\n marginBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n {action && (\r\n <Button variant={action.variant || buttonVariant} icon={action.icon} onClick={action.onClick}>\r\n {action.label}\r\n </Button>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default EmptyState;\r\n"],"mappings":"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","ignoreList":[]}
@@ -2,20 +2,20 @@ import * as React from "react";
2
2
  import type { IconButtonProps } from "@mui/material/IconButton";
3
3
  export type FavoriteToggleSize = "xs" | "sm" | "md" | "lg";
4
4
  export interface FavoriteToggleLabels {
5
- addFavorite?: string;
6
- removeFavorite?: string;
5
+ addFavorite?: string | undefined;
6
+ removeFavorite?: string | undefined;
7
7
  }
8
8
  export interface FavoriteToggleProps extends Omit<IconButtonProps, "onChange" | "size"> {
9
9
  /** Current follow state. */
10
- pressed?: boolean;
10
+ pressed?: boolean | undefined;
11
11
  /** Activation handler: (nextPressed, event) => void. */
12
- onChange?: (nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void;
12
+ onChange?: ((nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void) | undefined;
13
13
  /** Touch-target size. */
14
- size?: FavoriteToggleSize;
14
+ size?: FavoriteToggleSize | undefined;
15
15
  /** Localised action labels (FR default; EN/AR supported). */
16
- labels?: FavoriteToggleLabels;
16
+ labels?: FavoriteToggleLabels | undefined;
17
17
  /** Explicit accessible name; overrides the labels-derived one. */
18
- "aria-label"?: string;
18
+ "aria-label"?: string | undefined;
19
19
  }
20
20
  declare const FavoriteToggle: React.ForwardRefExoticComponent<Omit<FavoriteToggleProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
21
21
  export default FavoriteToggle;
@@ -1 +1 @@
1
- {"version":3,"file":"FavoriteToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA6ChE,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAgB3D,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC;IAClD,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACtF,yBAAyB;IACzB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,4GAoDnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FavoriteToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA8ChE,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAgB3D,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,CAAC;IAClD,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpG,yBAAyB;IACzB,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,QAAA,MAAM,cAAc,4GAoDnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -9,6 +9,7 @@ var React = _interopRequireWildcard(require("react"));
9
9
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
10
10
  var _StarRounded = _interopRequireDefault(require("@mui/icons-material/StarRounded"));
11
11
  var _StarBorderRounded = _interopRequireDefault(require("@mui/icons-material/StarBorderRounded"));
12
+ var _mergeLabels = require("../utils/mergeLabels");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  var _excluded = ["pressed", "onChange", "size", "disabled", "labels", "sx", "aria-label"];
14
15
  /**
@@ -91,7 +92,7 @@ var FavoriteToggle = /*#__PURE__*/React.forwardRef(function FavoriteToggle(_ref,
91
92
  sx = _ref.sx,
92
93
  ariaLabel = _ref["aria-label"],
93
94
  rest = _objectWithoutProperties(_ref, _excluded);
94
- var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
95
+ var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
95
96
  var dims = SIZE_MAP[size] || SIZE_MAP.md;
96
97
  // Toggle-button convention: the accessible name describes the ACTION
97
98
  // activation performs; aria-pressed conveys the current state. Hosts can
@@ -1 +1 @@
1
- {"version":3,"file":"FavoriteToggle.js","names":["React","_interopRequireWildcard","require","_IconButton","_interopRequireDefault","_StarRounded","_StarBorderRounded","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","addFavorite","removeFavorite","SIZE_MAP","xs","box","glyph","sm","md","lg","FavoriteToggle","forwardRef","_ref","ref","_ref$pressed","pressed","onChange","_ref$size","size","disabled","labels","sx","ariaLabel","rest","L","dims","computedAria","handleClick","e","Star","StarRoundedIcon","StarBorderRoundedIcon","jsx","onClick","width","height","fontSize","color","boxShadow","transition","children","_default","exports"],"sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { IconButtonProps } from \"@mui/material/IconButton\";\r\nimport StarRoundedIcon from \"@mui/icons-material/StarRounded\";\r\nimport StarBorderRoundedIcon from \"@mui/icons-material/StarBorderRounded\";\r\n\r\n/**\r\n * FavoriteToggle - Portnet UI v2\r\n *\r\n * Charter §03 · presentational ☆/★ follow (\"suivi\") toggle. A CONTROLLED\r\n * `<button aria-pressed>` with a star glyph. The glyph is decorative\r\n * (MUI SvgIcon is aria-hidden by default); state is conveyed by\r\n * `aria-pressed` AND by glyph SHAPE (outline ☆ vs filled ★), so it never\r\n * relies on colour alone (WCAG 1.4.1 Use of Color).\r\n *\r\n * Presentational and provider-FREE by design — it keeps the leaf-vs-\r\n * personalization boundary clean and stays usable outside the foundation.\r\n * Wire it to the favorites capability:\r\n *\r\n * const { isFavorite, toggle } = useIsFavorite(\"ti:list\", row.id);\r\n * <FavoriteToggle pressed={isFavorite} onChange={toggle} size=\"sm\" />\r\n *\r\n * …or drive it from any state:\r\n *\r\n * <FavoriteToggle pressed={on} onChange={(next) => setOn(next)} />\r\n *\r\n * Touch target: md (default) = 44px (WCAG 2.5.5 AAA); sm = 32px for dense\r\n * DataGrid rows (meets 2.5.8 AA ≥ 24px, with headroom); lg = 48px; xs =\r\n * 24px — the WCAG 2.5.8 AA floor exactly, with NO headroom left. Reserve\r\n * xs for genuinely space-constrained columns where sm's 32px still\r\n * doesn't fit (e.g. a compact favorites column under a table's\r\n * table-layout:auto, where an explicit column width can't shrink the\r\n * cell below the toggle's own intrinsic box) — don't reach for it over\r\n * sm by default. The toggle renders itself unconditionally; the DataGrid\r\n * follow column (makeFavoriteColumn) wraps it with the Gmail-style hover\r\n * reveal for unfollowed rows.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <FavoriteToggle labels={{ addFavorite: \"Follow\",\r\n * removeFavorite: \"Unfollow\" }} />\r\n */\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n addFavorite: \"Suivre\",\r\n removeFavorite: \"Ne plus suivre\",\r\n});\r\n\r\nexport type FavoriteToggleSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\r\n\r\ninterface SizeDims {\r\n box: number;\r\n glyph: number;\r\n}\r\n\r\n// Box = interactive hit area (px, like OverflowMenu's minWidth); glyph =\r\n// icon font-size inherited by the SvgIcon via fontSize=\"inherit\".\r\nconst SIZE_MAP: Record<FavoriteToggleSize, SizeDims> = Object.freeze({\r\n xs: Object.freeze({ box: 24, glyph: 16 }),\r\n sm: Object.freeze({ box: 32, glyph: 20 }),\r\n md: Object.freeze({ box: 44, glyph: 24 }),\r\n lg: Object.freeze({ box: 48, glyph: 28 }),\r\n});\r\n\r\nexport interface FavoriteToggleLabels {\r\n addFavorite?: string;\r\n removeFavorite?: string;\r\n}\r\n\r\nexport interface FavoriteToggleProps\r\n extends Omit<IconButtonProps, \"onChange\" | \"size\"> {\r\n /** Current follow state. */\r\n pressed?: boolean;\r\n /** Activation handler: (nextPressed, event) => void. */\r\n onChange?: (nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void;\r\n /** Touch-target size. */\r\n size?: FavoriteToggleSize;\r\n /** Localised action labels (FR default; EN/AR supported). */\r\n labels?: FavoriteToggleLabels;\r\n /** Explicit accessible name; overrides the labels-derived one. */\r\n \"aria-label\"?: string;\r\n}\r\n\r\nconst FavoriteToggle = React.forwardRef<HTMLButtonElement, FavoriteToggleProps>(\r\n function FavoriteToggle(\r\n {\r\n pressed = false,\r\n onChange,\r\n size = \"md\",\r\n disabled,\r\n labels,\r\n sx,\r\n \"aria-label\": ariaLabel,\r\n ...rest\r\n },\r\n ref\r\n ) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const dims = SIZE_MAP[size] || SIZE_MAP.md;\r\n // Toggle-button convention: the accessible name describes the ACTION\r\n // activation performs; aria-pressed conveys the current state. Hosts can\r\n // override with a richer per-row name via the `aria-label` prop.\r\n const computedAria = ariaLabel || (pressed ? L.removeFavorite : L.addFavorite);\r\n\r\n const handleClick = function handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (disabled) return;\r\n if (typeof onChange === \"function\") onChange(!pressed, e);\r\n };\r\n\r\n const Star = pressed ? StarRoundedIcon : StarBorderRoundedIcon;\r\n\r\n return (\r\n <IconButton\r\n ref={ref}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n aria-pressed={!!pressed}\r\n aria-label={computedAria}\r\n sx={{\r\n width: dims.box,\r\n height: dims.box,\r\n fontSize: dims.glyph,\r\n color: pressed ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n \"&:hover\": { color: pressed ? \"var(--accent)\" : \"var(--fg)\" },\r\n // Reuse the canonical focus halo token (same as Switch / R-AI.1).\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n \"@media (prefers-reduced-motion: reduce)\": { transition: \"none\" },\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n <Star fontSize=\"inherit\" />\r\n </IconButton>\r\n );\r\n }\r\n);\r\n\r\nexport default FavoriteToggle;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,kBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA0E,IAAAK,WAAA,GAAAL,OAAA;AAAA,IAAAM,SAAA;AAE1E;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;AAlCA,SAAAJ,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,oBAAAxC,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,QAAA5C,OAAA,CAAA2C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,oBAAA5C,OAAA,CAAAiD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAArB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,GAAA2B,6BAAA,CAAAvB,MAAA,EAAAsB,QAAA,OAAA5C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAoC,gBAAA,GAAAjD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA2B,gBAAA,CAAAzB,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAA8C,gBAAA,CAAA3B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+C,oBAAA,CAAA7C,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA2B,8BAAAvB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,WAAA+B,UAAA,GAAApD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8B,UAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,UAAA,CAAA9B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AAoCA,IAAMgC,cAAc,GAAGrD,MAAM,CAACsD,MAAM,CAAC;EACnCC,WAAW,EAAE,QAAQ;EACrBC,cAAc,EAAE;AAClB,CAAC,CAAC;AASF;AACA;AACA,IAAMC,QAA8C,GAAGzD,MAAM,CAACsD,MAAM,CAAC;EACnEI,EAAE,EAAE1D,MAAM,CAACsD,MAAM,CAAC;IAAEK,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC,CAAC;EACzCC,EAAE,EAAE7D,MAAM,CAACsD,MAAM,CAAC;IAAEK,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC,CAAC;EACzCE,EAAE,EAAE9D,MAAM,CAACsD,MAAM,CAAC;IAAEK,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC,CAAC;EACzCG,EAAE,EAAE/D,MAAM,CAACsD,MAAM,CAAC;IAAEK,GAAG,EAAE,EAAE;IAAEC,KAAK,EAAE;EAAG,CAAC;AAC1C,CAAC,CAAC;AAqBF,IAAMI,cAAc,gBAAGtF,KAAK,CAACuF,UAAU,CACrC,SAASD,cAAcA,CAAAE,IAAA,EAWrBC,GAAG,EACH;EAAA,IAAAC,YAAA,GAAAF,IAAA,CAVEG,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IACfE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAAC,SAAA,GAAAL,IAAA,CACRM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IACXE,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,MAAM,GAAAR,IAAA,CAANQ,MAAM;IACNC,EAAE,GAAAT,IAAA,CAAFS,EAAE;IACYC,SAAS,GAAAV,IAAA,CAAvB,YAAY;IACTW,IAAI,GAAA/B,wBAAA,CAAAoB,IAAA,EAAAhF,SAAA;EAIT,IAAM4F,CAAC,GAAGJ,MAAM,GAAAtD,aAAA,CAAAA,aAAA,KAAQiC,cAAc,GAAKqB,MAAM,IAAKrB,cAAc;EACpE,IAAM0B,IAAI,GAAGtB,QAAQ,CAACe,IAAI,CAAC,IAAIf,QAAQ,CAACK,EAAE;EAC1C;EACA;EACA;EACA,IAAMkB,YAAY,GAAGJ,SAAS,KAAKP,OAAO,GAAGS,CAAC,CAACtB,cAAc,GAAGsB,CAAC,CAACvB,WAAW,CAAC;EAE9E,IAAM0B,WAAW,GAAG,SAASA,WAAWA,CAACC,CAAsC,EAAE;IAC/E,IAAIT,QAAQ,EAAE;IACd,IAAI,OAAOH,QAAQ,KAAK,UAAU,EAAEA,QAAQ,CAAC,CAACD,OAAO,EAAEa,CAAC,CAAC;EAC3D,CAAC;EAED,IAAMC,IAAI,GAAGd,OAAO,GAAGe,uBAAe,GAAGC,6BAAqB;EAE9D,oBACE,IAAApG,WAAA,CAAAqG,GAAA,EAACzG,WAAA,WAAU,EAAAuC,aAAA,CAAAA,aAAA;IACT+C,GAAG,EAAEA,GAAI;IACToB,OAAO,EAAEN,WAAY;IACrBR,QAAQ,EAAEA,QAAS;IACnB,gBAAc,CAAC,CAACJ,OAAQ;IACxB,cAAYW,YAAa;IACzBL,EAAE,EAAAvD,aAAA;MACAoE,KAAK,EAAET,IAAI,CAACpB,GAAG;MACf8B,MAAM,EAAEV,IAAI,CAACpB,GAAG;MAChB+B,QAAQ,EAAEX,IAAI,CAACnB,KAAK;MACpB+B,KAAK,EAAEtB,OAAO,GAAG,eAAe,GAAG,iBAAiB;MACpD,SAAS,EAAE;QAAEsB,KAAK,EAAEtB,OAAO,GAAG,eAAe,GAAG;MAAY,CAAC;MAC7D;MACA,oBAAoB,EAAE;QAAEuB,SAAS,EAAE;MAAsB,CAAC;MAC1D,yCAAyC,EAAE;QAAEC,UAAU,EAAE;MAAO;IAAC,GAC9DlB,EAAE;EACL,GACEE,IAAI;IAAAiB,QAAA,eAER,IAAA7G,WAAA,CAAAqG,GAAA,EAACH,IAAI;MAACO,QAAQ,EAAC;IAAS,CAAE;EAAC,EACjB,CAAC;AAEjB,CACF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,cAEahC,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"FavoriteToggle.js","names":["React","_interopRequireWildcard","require","_IconButton","_interopRequireDefault","_StarRounded","_StarBorderRounded","_mergeLabels","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","addFavorite","removeFavorite","SIZE_MAP","xs","box","glyph","sm","md","lg","FavoriteToggle","forwardRef","_ref","ref","_ref$pressed","pressed","onChange","_ref$size","size","disabled","labels","sx","ariaLabel","rest","L","mergeLabels","dims","computedAria","handleClick","e","Star","StarRoundedIcon","StarBorderRoundedIcon","jsx","onClick","width","height","fontSize","color","boxShadow","transition","children","_default","exports"],"sources":["../../../src/lib/v2/components/FavoriteToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { IconButtonProps } from \"@mui/material/IconButton\";\r\nimport StarRoundedIcon from \"@mui/icons-material/StarRounded\";\r\nimport StarBorderRoundedIcon from \"@mui/icons-material/StarBorderRounded\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * FavoriteToggle - Portnet UI v2\r\n *\r\n * Charter §03 · presentational ☆/★ follow (\"suivi\") toggle. A CONTROLLED\r\n * `<button aria-pressed>` with a star glyph. The glyph is decorative\r\n * (MUI SvgIcon is aria-hidden by default); state is conveyed by\r\n * `aria-pressed` AND by glyph SHAPE (outline ☆ vs filled ★), so it never\r\n * relies on colour alone (WCAG 1.4.1 Use of Color).\r\n *\r\n * Presentational and provider-FREE by design — it keeps the leaf-vs-\r\n * personalization boundary clean and stays usable outside the foundation.\r\n * Wire it to the favorites capability:\r\n *\r\n * const { isFavorite, toggle } = useIsFavorite(\"ti:list\", row.id);\r\n * <FavoriteToggle pressed={isFavorite} onChange={toggle} size=\"sm\" />\r\n *\r\n * …or drive it from any state:\r\n *\r\n * <FavoriteToggle pressed={on} onChange={(next) => setOn(next)} />\r\n *\r\n * Touch target: md (default) = 44px (WCAG 2.5.5 AAA); sm = 32px for dense\r\n * DataGrid rows (meets 2.5.8 AA ≥ 24px, with headroom); lg = 48px; xs =\r\n * 24px — the WCAG 2.5.8 AA floor exactly, with NO headroom left. Reserve\r\n * xs for genuinely space-constrained columns where sm's 32px still\r\n * doesn't fit (e.g. a compact favorites column under a table's\r\n * table-layout:auto, where an explicit column width can't shrink the\r\n * cell below the toggle's own intrinsic box) — don't reach for it over\r\n * sm by default. The toggle renders itself unconditionally; the DataGrid\r\n * follow column (makeFavoriteColumn) wraps it with the Gmail-style hover\r\n * reveal for unfollowed rows.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <FavoriteToggle labels={{ addFavorite: \"Follow\",\r\n * removeFavorite: \"Unfollow\" }} />\r\n */\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n addFavorite: \"Suivre\",\r\n removeFavorite: \"Ne plus suivre\",\r\n});\r\n\r\nexport type FavoriteToggleSize = \"xs\" | \"sm\" | \"md\" | \"lg\";\r\n\r\ninterface SizeDims {\r\n box: number;\r\n glyph: number;\r\n}\r\n\r\n// Box = interactive hit area (px, like OverflowMenu's minWidth); glyph =\r\n// icon font-size inherited by the SvgIcon via fontSize=\"inherit\".\r\nconst SIZE_MAP: Record<FavoriteToggleSize, SizeDims> = Object.freeze({\r\n xs: Object.freeze({ box: 24, glyph: 16 }),\r\n sm: Object.freeze({ box: 32, glyph: 20 }),\r\n md: Object.freeze({ box: 44, glyph: 24 }),\r\n lg: Object.freeze({ box: 48, glyph: 28 }),\r\n});\r\n\r\nexport interface FavoriteToggleLabels {\r\n addFavorite?: string | undefined;\r\n removeFavorite?: string | undefined;\r\n}\r\n\r\nexport interface FavoriteToggleProps\r\n extends Omit<IconButtonProps, \"onChange\" | \"size\"> {\r\n /** Current follow state. */\r\n pressed?: boolean | undefined;\r\n /** Activation handler: (nextPressed, event) => void. */\r\n onChange?: ((nextPressed: boolean, event: React.MouseEvent<HTMLButtonElement>) => void) | undefined;\r\n /** Touch-target size. */\r\n size?: FavoriteToggleSize | undefined;\r\n /** Localised action labels (FR default; EN/AR supported). */\r\n labels?: FavoriteToggleLabels | undefined;\r\n /** Explicit accessible name; overrides the labels-derived one. */\r\n \"aria-label\"?: string | undefined;\r\n}\r\n\r\nconst FavoriteToggle = React.forwardRef<HTMLButtonElement, FavoriteToggleProps>(\r\n function FavoriteToggle(\r\n {\r\n pressed = false,\r\n onChange,\r\n size = \"md\",\r\n disabled,\r\n labels,\r\n sx,\r\n \"aria-label\": ariaLabel,\r\n ...rest\r\n },\r\n ref\r\n ) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const dims = SIZE_MAP[size] || SIZE_MAP.md;\r\n // Toggle-button convention: the accessible name describes the ACTION\r\n // activation performs; aria-pressed conveys the current state. Hosts can\r\n // override with a richer per-row name via the `aria-label` prop.\r\n const computedAria = ariaLabel || (pressed ? L.removeFavorite : L.addFavorite);\r\n\r\n const handleClick = function handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (disabled) return;\r\n if (typeof onChange === \"function\") onChange(!pressed, e);\r\n };\r\n\r\n const Star = pressed ? StarRoundedIcon : StarBorderRoundedIcon;\r\n\r\n return (\r\n <IconButton\r\n ref={ref}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n aria-pressed={!!pressed}\r\n aria-label={computedAria}\r\n sx={{\r\n width: dims.box,\r\n height: dims.box,\r\n fontSize: dims.glyph,\r\n color: pressed ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n \"&:hover\": { color: pressed ? \"var(--accent)\" : \"var(--fg)\" },\r\n // Reuse the canonical focus halo token (same as Switch / R-AI.1).\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n \"@media (prefers-reduced-motion: reduce)\": { transition: \"none\" },\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n <Star fontSize=\"inherit\" />\r\n </IconButton>\r\n );\r\n }\r\n);\r\n\r\nexport default FavoriteToggle;\r\n"],"mappings":"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","ignoreList":[]}