@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
@@ -37,17 +37,17 @@ import type { DataGridColumn } from "../types/datagrid";
37
37
  * component.
38
38
  */
39
39
  export interface ColumnsToggleLabels {
40
- button?: string;
41
- title?: string;
42
- showAll?: string;
43
- hideAll?: string;
44
- countSuffix?: (n: number) => string;
40
+ button?: string | undefined;
41
+ title?: string | undefined;
42
+ showAll?: string | undefined;
43
+ hideAll?: string | undefined;
44
+ countSuffix?: ((n: number) => string) | undefined;
45
45
  }
46
46
  export interface ColumnsToggleProps {
47
47
  columns: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
48
- hiddenColumns?: Set<string> | string[];
48
+ hiddenColumns?: Set<string> | string[] | undefined;
49
49
  onHiddenColumnsChange: (hidden: Set<string>) => void;
50
- labels?: ColumnsToggleLabels;
50
+ labels?: ColumnsToggleLabels | undefined;
51
51
  }
52
52
  export declare function extractHeaderText(node: React.ReactNode): string;
53
53
  declare function ColumnsToggle({ columns, hiddenColumns, onHiddenColumnsChange, labels, }: ColumnsToggleProps): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnsToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACvC,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAgBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAQ/D;AAiED,iBAAS,aAAa,CAAC,EACrB,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,MAAM,GACP,EAAE,kBAAkB,qBA8JpB;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ColumnsToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACnD,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C;AAgBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAQ/D;AAiED,iBAAS,aAAa,CAAC,EACrB,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,MAAM,GACP,EAAE,kBAAkB,qBA8JpB;AAED,eAAe,aAAa,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -12,22 +13,17 @@ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
12
13
  var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
13
14
  var _ViewColumn = _interopRequireDefault(require("@mui/icons-material/ViewColumn"));
14
15
  var _Button = _interopRequireDefault(require("../components/Button"));
16
+ var _mergeLabels = require("../utils/mergeLabels");
15
17
  var _jsxRuntime = require("react/jsx-runtime");
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
20
21
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
22
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
23
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
24
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
25
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
25
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
28
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
30
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /**
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
31
27
  * ColumnsToggle - Portnet UI v2 (pattern)
32
28
  *
33
29
  * Companion affordance for DataGrid's `hiddenColumns` prop. Renders
@@ -151,7 +147,7 @@ function ColumnsToggle(_ref) {
151
147
  hiddenColumns = _ref.hiddenColumns,
152
148
  onHiddenColumnsChange = _ref.onHiddenColumnsChange,
153
149
  labels = _ref.labels;
154
- var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
150
+ var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
155
151
  var _React$useState = React.useState(null),
156
152
  _React$useState2 = _slicedToArray(_React$useState, 2),
157
153
  anchor = _React$useState2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnsToggle.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_Checkbox","_FormControlLabel","_ViewColumn","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_LABELS","freeze","button","title","showAll","hideAll","countSuffix","concat","extractHeaderText","node","map","join","trim","isValidElement","props","children","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","POPOVER_FOOTER_SX","justifyContent","paddingTop","marginTop","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","BADGE_SX","marginInlineStart","background","lineHeight","ColumnsToggle","_ref","columns","hiddenColumns","onHiddenColumnsChange","labels","L","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","c","toggleable","hiddenCount","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","triggerAriaLabel","popoverSlotProps","paper","sx","role","jsxs","Fragment","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","header","labelText","control","checked","onChange","label","disabled","_default","exports"],"sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\r\nimport Button from \"../components/Button\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\n\r\n/**\r\n * ColumnsToggle - Portnet UI v2 (pattern)\r\n *\r\n * Companion affordance for DataGrid's `hiddenColumns` prop. Renders\r\n * a small toolbar button that opens a popover containing one\r\n * checkbox per toggleable column. Toggling a checkbox emits the\r\n * new hiddenColumns Set up to the host.\r\n *\r\n * <ColumnsToggle\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * labels={{\r\n * button: \"Colonnes\",\r\n * title: \"Afficher les colonnes\",\r\n * showAll: \"Tout afficher\",\r\n * hideAll: \"Tout masquer\",\r\n * countSuffix: (n) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n * }}\r\n * />\r\n *\r\n * The host owns the columns schema, the hiddenColumns state, and\r\n * the change callback. The component is pure presentation — its\r\n * only internal state is the popover's anchor element.\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet) — avoids the double-negative trap of \"checked\r\n * means hidden\". Matches what users expect from \"show columns\" UIs.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. The DataGrid itself doesn't\r\n * read this flag (it filters strictly based on hiddenColumns);\r\n * the flag is a contract between the host's schema and this\r\n * component.\r\n */\r\n\r\nexport interface ColumnsToggleLabels {\r\n button?: string;\r\n title?: string;\r\n showAll?: string;\r\n hideAll?: string;\r\n countSuffix?: (n: number) => string;\r\n}\r\n\r\nexport interface ColumnsToggleProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[];\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n labels?: ColumnsToggleLabels;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Colonnes\",\r\n title: \"Afficher les colonnes\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n countSuffix: (n: number) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n});\r\n\r\n/* SET-1 — Best-effort plain-text extraction from a column header node, used to\r\n * build the visibility checkbox's accessible name. A JSX header (icon + text)\r\n * would otherwise fall back to the machine `col.key`, making the accessible\r\n * name diverge from the visible label (WCAG 2.5.3, label in name). Same shape\r\n * as the Chip/Tooltip text extractors; returns \"\" for icon-only headers.\r\n * Exported so DataGridSettingsMenu reuses the identical logic (DGS-1). */\r\nexport function extractHeaderText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractHeaderText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractHeaderText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n // Match the rest of the v2 surface — soft radius, subtle border,\r\n // shadow consistent with Drawer / Modal.\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 240,\r\n maxHeight: 360,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n // Override MUI default 16px which is too generous for compact\r\n // popover lists. Keeps each row at the ~32px touch-friendly\r\n // minimum without padding.\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nfunction ColumnsToggle({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n labels,\r\n}: ColumnsToggleProps) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set for the predicate work below.\r\n // Same contract as DataGrid — accepts Set or Array. Memoised so\r\n // the popover body doesn't recompute checkbox states on unrelated\r\n // renders.\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are absent from the\r\n // popover entirely. Memoised because columns is often passed\r\n // inline by hosts (defensive against per-render reference churn).\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count of currently-hidden columns AMONG the toggleable set\r\n // (defensive: a host that pre-hides a column then flips its\r\n // toggleable flag to false shouldn't see a stale count).\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n // Single column toggle — checkbox represents visibility, so\r\n // CHECKED means \"remove from hiddenSet\" (= show).\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n // ARIA label for the trigger — includes the hidden count so\r\n // screen readers announce state without relying on the\r\n // decorative badge digit. e.g. \"Colonnes, 2 masquées\".\r\n const triggerAriaLabel =\r\n hiddenCount > 0 ? `${L.button}, ${L.countSuffix(hiddenCount)}` : L.button;\r\n\r\n // MUI v9: slot bag for Popover paper. Carries the dialog ARIA\r\n // contract (role + aria-label) — host-customisable via labels.title.\r\n // Memoised so the slotProps reference stays stable when L.title\r\n // is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n // Dialog role so screen readers treat the popover as a\r\n // discrete UI region rather than just a tooltip-like\r\n // overlay.\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<ViewColumnIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAriaLabel}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {hiddenCount > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {hiddenCount}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box component=\"div\" sx={POPOVER_TITLE_SX}>\r\n {L.title}\r\n </Box>\r\n\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // SET-1 — accessible name = the header's visible text so it matches\r\n // the rendered label (WCAG 2.5.3). Only icon-only headers (no text)\r\n // fall back to the raw key. The visual label still renders col.header.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default ColumnsToggle;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ColumnsToggle.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_Checkbox","_FormControlLabel","_ViewColumn","_Button","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","DEFAULT_LABELS","freeze","button","title","showAll","hideAll","countSuffix","concat","extractHeaderText","node","String","map","join","trim","isValidElement","props","children","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","POPOVER_FOOTER_SX","justifyContent","paddingTop","marginTop","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","BADGE_SX","marginInlineStart","background","lineHeight","ColumnsToggle","_ref","columns","hiddenColumns","onHiddenColumnsChange","labels","L","mergeLabels","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","filter","c","toggleable","hiddenCount","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","triggerAriaLabel","popoverSlotProps","paper","sx","role","jsxs","Fragment","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","header","labelText","control","checked","onChange","input","label","disabled","_default","exports"],"sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\r\nimport Button from \"../components/Button\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * ColumnsToggle - Portnet UI v2 (pattern)\r\n *\r\n * Companion affordance for DataGrid's `hiddenColumns` prop. Renders\r\n * a small toolbar button that opens a popover containing one\r\n * checkbox per toggleable column. Toggling a checkbox emits the\r\n * new hiddenColumns Set up to the host.\r\n *\r\n * <ColumnsToggle\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * labels={{\r\n * button: \"Colonnes\",\r\n * title: \"Afficher les colonnes\",\r\n * showAll: \"Tout afficher\",\r\n * hideAll: \"Tout masquer\",\r\n * countSuffix: (n) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n * }}\r\n * />\r\n *\r\n * The host owns the columns schema, the hiddenColumns state, and\r\n * the change callback. The component is pure presentation — its\r\n * only internal state is the popover's anchor element.\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet) — avoids the double-negative trap of \"checked\r\n * means hidden\". Matches what users expect from \"show columns\" UIs.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. The DataGrid itself doesn't\r\n * read this flag (it filters strictly based on hiddenColumns);\r\n * the flag is a contract between the host's schema and this\r\n * component.\r\n */\r\n\r\nexport interface ColumnsToggleLabels {\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n countSuffix?: ((n: number) => string) | undefined;\r\n}\r\n\r\nexport interface ColumnsToggleProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n labels?: ColumnsToggleLabels | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Colonnes\",\r\n title: \"Afficher les colonnes\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n countSuffix: (n: number) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n});\r\n\r\n/* SET-1 — Best-effort plain-text extraction from a column header node, used to\r\n * build the visibility checkbox's accessible name. A JSX header (icon + text)\r\n * would otherwise fall back to the machine `col.key`, making the accessible\r\n * name diverge from the visible label (WCAG 2.5.3, label in name). Same shape\r\n * as the Chip/Tooltip text extractors; returns \"\" for icon-only headers.\r\n * Exported so DataGridSettingsMenu reuses the identical logic (DGS-1). */\r\nexport function extractHeaderText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractHeaderText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractHeaderText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n // Match the rest of the v2 surface — soft radius, subtle border,\r\n // shadow consistent with Drawer / Modal.\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 240,\r\n maxHeight: 360,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n // Override MUI default 16px which is too generous for compact\r\n // popover lists. Keeps each row at the ~32px touch-friendly\r\n // minimum without padding.\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nfunction ColumnsToggle({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n labels,\r\n}: ColumnsToggleProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set for the predicate work below.\r\n // Same contract as DataGrid — accepts Set or Array. Memoised so\r\n // the popover body doesn't recompute checkbox states on unrelated\r\n // renders.\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are absent from the\r\n // popover entirely. Memoised because columns is often passed\r\n // inline by hosts (defensive against per-render reference churn).\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count of currently-hidden columns AMONG the toggleable set\r\n // (defensive: a host that pre-hides a column then flips its\r\n // toggleable flag to false shouldn't see a stale count).\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n // Single column toggle — checkbox represents visibility, so\r\n // CHECKED means \"remove from hiddenSet\" (= show).\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n // ARIA label for the trigger — includes the hidden count so\r\n // screen readers announce state without relying on the\r\n // decorative badge digit. e.g. \"Colonnes, 2 masquées\".\r\n const triggerAriaLabel =\r\n hiddenCount > 0 ? `${L.button}, ${L.countSuffix(hiddenCount)}` : L.button;\r\n\r\n // MUI v9: slot bag for Popover paper. Carries the dialog ARIA\r\n // contract (role + aria-label) — host-customisable via labels.title.\r\n // Memoised so the slotProps reference stays stable when L.title\r\n // is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n // Dialog role so screen readers treat the popover as a\r\n // discrete UI region rather than just a tooltip-like\r\n // overlay.\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<ViewColumnIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAriaLabel}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {hiddenCount > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {hiddenCount}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box component=\"div\" sx={POPOVER_TITLE_SX}>\r\n {L.title}\r\n </Box>\r\n\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // SET-1 — accessible name = the header's visible text so it matches\r\n // the rendered label (WCAG 2.5.3). Only icon-only headers (no text)\r\n // fall back to the raw key. The visual label still renders col.header.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default ColumnsToggle;\r\n"],"mappings":"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","ignoreList":[]}
@@ -45,23 +45,23 @@ import type { DataGridColumn } from "../types/datagrid";
45
45
  * When omitted, the trigger falls back to the compact IconButton.
46
46
  */
47
47
  export interface DataGridSettingsMenuLabels {
48
- button?: string;
49
- title?: string;
50
- columnsHeading?: string;
51
- densityHeading?: string;
52
- showAll?: string;
53
- hideAll?: string;
54
- densityAriaLabel?: string;
48
+ button?: string | undefined;
49
+ title?: string | undefined;
50
+ columnsHeading?: string | undefined;
51
+ densityHeading?: string | undefined;
52
+ showAll?: string | undefined;
53
+ hideAll?: string | undefined;
54
+ densityAriaLabel?: string | undefined;
55
55
  }
56
56
  export interface DataGridSettingsMenuProps {
57
57
  columns: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
58
- hiddenColumns?: Set<string> | string[];
58
+ hiddenColumns?: Set<string> | string[] | undefined;
59
59
  onHiddenColumnsChange: (hidden: Set<string>) => void;
60
- density?: Density;
60
+ density?: Density | undefined;
61
61
  onDensityChange: (density: Density) => void;
62
- densityOptions?: SegmentedOption[];
63
- labels?: DataGridSettingsMenuLabels;
64
- label?: string;
62
+ densityOptions?: SegmentedOption[] | undefined;
63
+ labels?: DataGridSettingsMenuLabels | undefined;
64
+ label?: string | undefined;
65
65
  }
66
66
  declare function DataGridSettingsMenu({ columns, hiddenColumns, onHiddenColumnsChange, density, onDensityChange, densityOptions, labels, label, }: DataGridSettingsMenuProps): React.JSX.Element;
67
67
  export default DataGridSettingsMenu;
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACvC,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyFD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,yBAAyB,qBAqN3B;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACnD,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAyFD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,yBAAyB,qBAqN3B;AAED,eAAe,oBAAoB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -14,22 +15,22 @@ var _Tune = _interopRequireDefault(require("@mui/icons-material/Tune"));
14
15
  var _Button = _interopRequireDefault(require("../components/Button"));
15
16
  var _Segmented = _interopRequireDefault(require("../components/Segmented"));
16
17
  var _ColumnsToggle = require("./ColumnsToggle");
18
+ var _mergeLabels = require("../utils/mergeLabels");
17
19
  var _jsxRuntime = require("react/jsx-runtime");
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
21
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
22
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
27
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
22
28
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
29
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
24
30
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
25
31
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
32
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
27
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
32
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } /**
33
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
33
34
  * DataGridSettingsMenu - Portnet UI v2 (pattern)
34
35
  *
35
36
  * Combined "table options" popover wrapping two DataGrid-adjacent
@@ -162,7 +163,7 @@ function DataGridSettingsMenu(_ref) {
162
163
  densityOptions = _ref.densityOptions,
163
164
  labels = _ref.labels,
164
165
  label = _ref.label;
165
- var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
166
+ var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
166
167
  var _React$useState = React.useState(null),
167
168
  _React$useState2 = _slicedToArray(_React$useState, 2),
168
169
  anchor = _React$useState2[0],
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridSettingsMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Popover","_Checkbox","_FormControlLabel","_Tune","_Button","_Segmented","_ColumnsToggle","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_LABELS","freeze","button","title","columnsHeading","densityHeading","showAll","hideAll","densityAriaLabel","FALLBACK_DENSITY_OPTIONS","label","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","SECTION_HEADING_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","SECTION_BODY_SX","paddingTop","SECTION_SEPARATOR_SX","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","COLUMNS_FOOTER_SX","justifyContent","BADGE_SX","position","top","insetInlineEnd","width","height","background","DataGridSettingsMenu","_ref","columns","hiddenColumns","onHiddenColumnsChange","density","onDensityChange","densityOptions","labels","L","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","c","toggleable","hiddenCount","hasCustomisation","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","map","effectiveDensityOptions","popoverSlotProps","paper","sx","role","jsxs","Fragment","children","jsx","size","variant","type","icon","onClick","component","pointerEvents","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","extractHeaderText","header","trim","labelText","control","checked","onChange","disabled","options","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport TuneIcon from \"@mui/icons-material/Tune\";\r\nimport Button from \"../components/Button\";\r\nimport Segmented from \"../components/Segmented\";\r\nimport type { SegmentedOption } from \"../components/Segmented\";\r\nimport { extractHeaderText } from \"./ColumnsToggle\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density } from \"../types/common\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\n\r\n/**\r\n * DataGridSettingsMenu - Portnet UI v2 (pattern)\r\n *\r\n * Combined \"table options\" popover wrapping two DataGrid-adjacent\r\n * preferences: column visibility and row density. Single trigger\r\n * (Tune icon button) opens a popover with both sections inline.\r\n *\r\n * <DataGridSettingsMenu\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * density={density}\r\n * onDensityChange={setDensity}\r\n * densityOptions={DENSITY_OPTIONS}\r\n * label=\"Configurer\" // optional — shows text label on trigger\r\n * />\r\n *\r\n * Use this when the host wants BOTH affordances behind one\r\n * compact toolbar entry. For columns-only use cases, prefer the\r\n * atomic `<ColumnsToggle>` pattern.\r\n *\r\n * The component is pure presentation — host owns the state for\r\n * both columns visibility (hiddenColumns Set) and density (the\r\n * current value, typically \"comfortable\" or \"compact\").\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet). Same contract as ColumnsToggle to avoid\r\n * cognitive load when a host switches between the two patterns.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. DataGrid itself doesn't read\r\n * this flag; it's a contract between the host schema and any\r\n * settings-UI consumer.\r\n *\r\n * `label` prop (optional string):\r\n * When provided, the trigger becomes a v2.Button (secondary, sm)\r\n * with the icon + text label visible in the toolbar. This is\r\n * recommended when the toolbar has enough horizontal space and the\r\n * affordance benefits from a named action (e.g. \"Configurer\").\r\n * When omitted, the trigger falls back to the compact IconButton.\r\n */\r\n\r\nexport interface DataGridSettingsMenuLabels {\r\n button?: string;\r\n title?: string;\r\n columnsHeading?: string;\r\n densityHeading?: string;\r\n showAll?: string;\r\n hideAll?: string;\r\n densityAriaLabel?: string;\r\n}\r\n\r\nexport interface DataGridSettingsMenuProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[];\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n density?: Density;\r\n onDensityChange: (density: Density) => void;\r\n densityOptions?: SegmentedOption[];\r\n labels?: DataGridSettingsMenuLabels;\r\n label?: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Options du tableau\",\r\n title: \"Options du tableau\",\r\n columnsHeading: \"Affichage des colonnes\",\r\n densityHeading: \"Densité d'affichage\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n densityAriaLabel: \"Densité d'affichage\",\r\n});\r\n\r\n/* ── Default density options ─────────────────────────────────────────\r\n * Used only when the host doesn't pass its own densityOptions.\r\n * Hosts SHOULD pass an icon-laden version for visual richness; the\r\n * label-only fallback exists to keep this component crash-free.\r\n * (Frozen for defensiveness; typed mutable via one readonly→mutable\r\n * assertion since Segmented reads options and never mutates.) */\r\nconst FALLBACK_DENSITY_OPTIONS: SegmentedOption[] = Object.freeze([\r\n { value: \"comfortable\", label: \"Confortable\" },\r\n { value: \"compact\", label: \"Compact\" },\r\n]) as SegmentedOption[];\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n maxHeight: 480,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_HEADING_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n paddingTop: \"var(--s-2)\",\r\n paddingBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_SEPARATOR_SX = Object.freeze({\r\n borderTop: \"1px solid var(--border)\",\r\n});\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst COLUMNS_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BADGE_SX = Object.freeze({\r\n position: \"absolute\",\r\n top: 2,\r\n insetInlineEnd: 2,\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DataGridSettingsMenu({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n density,\r\n onDensityChange,\r\n densityOptions,\r\n labels,\r\n label,\r\n}: DataGridSettingsMenuProps) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set once. Same contract as DataGrid\r\n // / ColumnsToggle — accepts Set or Array (or undefined).\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are excluded entirely.\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count among toggleable for the trigger badge dot.\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n // Indicates the user has changed something from defaults — used\r\n // to surface a discreet badge dot on the trigger. We use a single\r\n // visual dot rather than a numeric badge because there are TWO\r\n // pref axes (columns + density) that contribute; a counter would\r\n // be misleading.\r\n const hasCustomisation =\r\n hiddenCount > 0 ||\r\n (density != null && density !== \"comfortable\");\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;\r\n\r\n // MUI v9: slot bag for the Popover paper. Carries the dialog\r\n // ARIA contract (role + aria-label) — host-customisable via the\r\n // `labels.title` override. Memoised so the slotProps reference\r\n // stays stable when L.title is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n {label ? (\r\n /* Named trigger — renders a v2.Button with icon + text label.\r\n * Used when the toolbar benefits from an explicit action name\r\n * (e.g. \"Configurer\"). Badge dot uses absolute positioning\r\n * inside the button's bounding box via sx={{ position: \"relative\" }}. */\r\n <Box sx={{ position: \"relative\", display: \"inline-flex\" }}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"secondary\"\r\n type=\"button\"\r\n icon={<TuneIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {label}\r\n </Button>\r\n {hasCustomisation && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n ...BADGE_SX,\r\n top: 4,\r\n insetInlineEnd: 4,\r\n pointerEvents: \"none\",\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </Box>\r\n ) : (\r\n /* Icon-only trigger — compact fallback for callers that don't\r\n * pass a label (backward-compatible default). */\r\n <IconButton\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n position: \"relative\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n color: \"var(--fg)\",\r\n },\r\n }}\r\n >\r\n <TuneIcon fontSize=\"small\" />\r\n {hasCustomisation && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\" />\r\n )}\r\n </IconButton>\r\n )}\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n {/* ── Section: Columns ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.columnsHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // DGS-1 — accessible name = the header's visible text (reuses\r\n // ColumnsToggle's SET-1 extractor) so it matches the rendered\r\n // label (WCAG 2.5.3); only icon-only headers fall back to key.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n </Box>\r\n <Box sx={COLUMNS_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n\r\n {/* ── Section separator ─────────────────────────────────── */}\r\n <Box sx={SECTION_SEPARATOR_SX} />\r\n\r\n {/* ── Section: Density ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.densityHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n <Segmented\r\n value={density ?? \"comfortable\"}\r\n onChange={(value) => onDensityChange(value as Density)}\r\n options={effectiveDensityOptions}\r\n size=\"sm\"\r\n aria-label={L.densityAriaLabel}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default DataGridSettingsMenu;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataGridSettingsMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Popover","_Checkbox","_FormControlLabel","_Tune","_Button","_Segmented","_ColumnsToggle","_mergeLabels","_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","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","DEFAULT_LABELS","freeze","button","title","columnsHeading","densityHeading","showAll","hideAll","densityAriaLabel","FALLBACK_DENSITY_OPTIONS","label","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","SECTION_HEADING_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","SECTION_BODY_SX","paddingTop","SECTION_SEPARATOR_SX","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","COLUMNS_FOOTER_SX","justifyContent","BADGE_SX","position","top","insetInlineEnd","width","height","background","DataGridSettingsMenu","_ref","columns","hiddenColumns","onHiddenColumnsChange","density","onDensityChange","densityOptions","labels","L","mergeLabels","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","c","toggleable","hiddenCount","hasCustomisation","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","map","effectiveDensityOptions","popoverSlotProps","paper","sx","role","jsxs","Fragment","children","jsx","size","variant","type","icon","onClick","component","pointerEvents","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","extractHeaderText","header","trim","labelText","control","checked","onChange","disabled","options","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport TuneIcon from \"@mui/icons-material/Tune\";\r\nimport Button from \"../components/Button\";\r\nimport Segmented from \"../components/Segmented\";\r\nimport type { SegmentedOption } from \"../components/Segmented\";\r\nimport { extractHeaderText } from \"./ColumnsToggle\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density } from \"../types/common\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DataGridSettingsMenu - Portnet UI v2 (pattern)\r\n *\r\n * Combined \"table options\" popover wrapping two DataGrid-adjacent\r\n * preferences: column visibility and row density. Single trigger\r\n * (Tune icon button) opens a popover with both sections inline.\r\n *\r\n * <DataGridSettingsMenu\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * density={density}\r\n * onDensityChange={setDensity}\r\n * densityOptions={DENSITY_OPTIONS}\r\n * label=\"Configurer\" // optional — shows text label on trigger\r\n * />\r\n *\r\n * Use this when the host wants BOTH affordances behind one\r\n * compact toolbar entry. For columns-only use cases, prefer the\r\n * atomic `<ColumnsToggle>` pattern.\r\n *\r\n * The component is pure presentation — host owns the state for\r\n * both columns visibility (hiddenColumns Set) and density (the\r\n * current value, typically \"comfortable\" or \"compact\").\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet). Same contract as ColumnsToggle to avoid\r\n * cognitive load when a host switches between the two patterns.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. DataGrid itself doesn't read\r\n * this flag; it's a contract between the host schema and any\r\n * settings-UI consumer.\r\n *\r\n * `label` prop (optional string):\r\n * When provided, the trigger becomes a v2.Button (secondary, sm)\r\n * with the icon + text label visible in the toolbar. This is\r\n * recommended when the toolbar has enough horizontal space and the\r\n * affordance benefits from a named action (e.g. \"Configurer\").\r\n * When omitted, the trigger falls back to the compact IconButton.\r\n */\r\n\r\nexport interface DataGridSettingsMenuLabels {\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n columnsHeading?: string | undefined;\r\n densityHeading?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n densityAriaLabel?: string | undefined;\r\n}\r\n\r\nexport interface DataGridSettingsMenuProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n density?: Density | undefined;\r\n onDensityChange: (density: Density) => void;\r\n densityOptions?: SegmentedOption[] | undefined;\r\n labels?: DataGridSettingsMenuLabels | undefined;\r\n label?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Options du tableau\",\r\n title: \"Options du tableau\",\r\n columnsHeading: \"Affichage des colonnes\",\r\n densityHeading: \"Densité d'affichage\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n densityAriaLabel: \"Densité d'affichage\",\r\n});\r\n\r\n/* ── Default density options ─────────────────────────────────────────\r\n * Used only when the host doesn't pass its own densityOptions.\r\n * Hosts SHOULD pass an icon-laden version for visual richness; the\r\n * label-only fallback exists to keep this component crash-free.\r\n * (Frozen for defensiveness; typed mutable via one readonly→mutable\r\n * assertion since Segmented reads options and never mutates.) */\r\nconst FALLBACK_DENSITY_OPTIONS: SegmentedOption[] = Object.freeze([\r\n { value: \"comfortable\", label: \"Confortable\" },\r\n { value: \"compact\", label: \"Compact\" },\r\n]) as SegmentedOption[];\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n maxHeight: 480,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_HEADING_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n paddingTop: \"var(--s-2)\",\r\n paddingBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_SEPARATOR_SX = Object.freeze({\r\n borderTop: \"1px solid var(--border)\",\r\n});\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst COLUMNS_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BADGE_SX = Object.freeze({\r\n position: \"absolute\",\r\n top: 2,\r\n insetInlineEnd: 2,\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DataGridSettingsMenu({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n density,\r\n onDensityChange,\r\n densityOptions,\r\n labels,\r\n label,\r\n}: DataGridSettingsMenuProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set once. Same contract as DataGrid\r\n // / ColumnsToggle — accepts Set or Array (or undefined).\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are excluded entirely.\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count among toggleable for the trigger badge dot.\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n // Indicates the user has changed something from defaults — used\r\n // to surface a discreet badge dot on the trigger. We use a single\r\n // visual dot rather than a numeric badge because there are TWO\r\n // pref axes (columns + density) that contribute; a counter would\r\n // be misleading.\r\n const hasCustomisation =\r\n hiddenCount > 0 ||\r\n (density != null && density !== \"comfortable\");\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;\r\n\r\n // MUI v9: slot bag for the Popover paper. Carries the dialog\r\n // ARIA contract (role + aria-label) — host-customisable via the\r\n // `labels.title` override. Memoised so the slotProps reference\r\n // stays stable when L.title is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n {label ? (\r\n /* Named trigger — renders a v2.Button with icon + text label.\r\n * Used when the toolbar benefits from an explicit action name\r\n * (e.g. \"Configurer\"). Badge dot uses absolute positioning\r\n * inside the button's bounding box via sx={{ position: \"relative\" }}. */\r\n <Box sx={{ position: \"relative\", display: \"inline-flex\" }}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"secondary\"\r\n type=\"button\"\r\n icon={<TuneIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {label}\r\n </Button>\r\n {hasCustomisation && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n ...BADGE_SX,\r\n top: 4,\r\n insetInlineEnd: 4,\r\n pointerEvents: \"none\",\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </Box>\r\n ) : (\r\n /* Icon-only trigger — compact fallback for callers that don't\r\n * pass a label (backward-compatible default). */\r\n <IconButton\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n position: \"relative\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n color: \"var(--fg)\",\r\n },\r\n }}\r\n >\r\n <TuneIcon fontSize=\"small\" />\r\n {hasCustomisation && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\" />\r\n )}\r\n </IconButton>\r\n )}\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n {/* ── Section: Columns ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.columnsHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // DGS-1 — accessible name = the header's visible text (reuses\r\n // ColumnsToggle's SET-1 extractor) so it matches the rendered\r\n // label (WCAG 2.5.3); only icon-only headers fall back to key.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n </Box>\r\n <Box sx={COLUMNS_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n\r\n {/* ── Section separator ─────────────────────────────────── */}\r\n <Box sx={SECTION_SEPARATOR_SX} />\r\n\r\n {/* ── Section: Density ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.densityHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n <Segmented\r\n value={density ?? \"comfortable\"}\r\n onChange={(value) => onDensityChange(value as Density)}\r\n options={effectiveDensityOptions}\r\n size=\"sm\"\r\n aria-label={L.densityAriaLabel}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default DataGridSettingsMenu;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,KAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,OAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,UAAA,GAAAP,sBAAA,CAAAF,OAAA;AAEA,IAAAU,cAAA,GAAAV,OAAA;AAIA,IAAAW,YAAA,GAAAX,OAAA;AAAmD,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAE,uBAAAW,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,SAAAjB,wBAAAc,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,eAAAC,GAAA,EAAAzB,CAAA,WAAA0B,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAAzB,CAAA,KAAA4B,2BAAA,CAAAH,GAAA,EAAAzB,CAAA,KAAA6B,gBAAA;AAAA,SAAAA,iBAAA,cAAAP,SAAA;AAAA,SAAAM,4BAAAE,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAvD,MAAA,CAAAI,SAAA,CAAAoD,QAAA,CAAAlD,IAAA,CAAA8C,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAM,WAAA,EAAAH,CAAA,GAAAH,CAAA,CAAAM,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAK,KAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAG,CAAA,+DAAAO,IAAA,CAAAP,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAP,GAAA,EAAAgB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAhB,GAAA,CAAAvB,MAAA,EAAAuC,GAAA,GAAAhB,GAAA,CAAAvB,MAAA,WAAAF,CAAA,MAAA0C,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAAzC,CAAA,GAAAyC,GAAA,EAAAzC,CAAA,MAAA0C,IAAA,CAAA1C,CAAA,IAAAyB,GAAA,CAAAzB,CAAA,YAAA0C,IAAA;AAAA,SAAAf,sBAAAF,GAAA,EAAAzB,CAAA,QAAA2C,EAAA,WAAAlB,GAAA,gCAAAP,MAAA,IAAAO,GAAA,CAAAP,MAAA,CAAA0B,QAAA,KAAAnB,GAAA,4BAAAkB,EAAA,QAAAE,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAJ,EAAA,GAAAA,EAAA,CAAA3D,IAAA,CAAAyC,GAAA,GAAA2B,IAAA,QAAApD,CAAA,QAAAtB,MAAA,CAAAiE,EAAA,MAAAA,EAAA,UAAAO,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAA/D,IAAA,CAAA2D,EAAA,GAAAU,IAAA,MAAAJ,IAAA,CAAArD,IAAA,CAAAiD,EAAA,CAAArC,KAAA,GAAAyC,IAAA,CAAA/C,MAAA,KAAAF,CAAA,GAAAkD,EAAA,sBAAAI,GAAA,IAAAH,EAAA,OAAAL,EAAA,GAAAQ,GAAA,yBAAAJ,EAAA,YAAAP,EAAA,eAAAK,EAAA,GAAAL,EAAA,cAAAjE,MAAA,CAAAsE,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAvB,gBAAAD,GAAA,QAAAa,KAAA,CAAAiB,OAAA,CAAA9B,GAAA,UAAAA,GAAA,IAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAuBA,IAAM+B,cAAc,GAAG9E,MAAM,CAAC+E,MAAM,CAAC;EACnCC,MAAM,EAAY,oBAAoB;EACtCC,KAAK,EAAa,oBAAoB;EACtCC,cAAc,EAAI,wBAAwB;EAC1CC,cAAc,EAAI,qBAAqB;EACvCC,OAAO,EAAW,eAAe;EACjCC,OAAO,EAAW,cAAc;EAChCC,gBAAgB,EAAE;AACpB,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,wBAA2C,GAAGvF,MAAM,CAAC+E,MAAM,CAAC,CAChE;EAAEjD,KAAK,EAAE,aAAa;EAAE0D,KAAK,EAAE;AAAc,CAAC,EAC9C;EAAE1D,KAAK,EAAE,SAAS;EAAM0D,KAAK,EAAE;AAAU,CAAC,CAC3C,CAAsB;;AAEvB;;AAEA,IAAMC,gBAAgB,GAAGzF,MAAM,CAAC+E,MAAM,CAAC;EACrCW,YAAY,EAAE,aAAa;EAC3BC,SAAS,EAAE,kBAAkB;EAC7BC,MAAM,EAAE;AACV,CAAC,CAAC;AAEF,IAAMC,eAAe,GAAG7F,MAAM,CAAC+E,MAAM,CAAC;EACpCe,OAAO,EAAE,uBAAuB;EAChCC,QAAQ,EAAE,GAAG;EACbC,SAAS,EAAE,GAAG;EACdC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,GAAG,EAAE;AACP,CAA0B,CAAC;AAE3B,IAAMC,kBAAkB,GAAGrG,MAAM,CAAC+E,MAAM,CAAC;EACvCuB,QAAQ,EAAE,gBAAgB;EAC1BC,UAAU,EAAE,oBAAoB;EAChCC,KAAK,EAAE,iBAAiB;EACxBC,aAAa,EAAE,WAAW;EAC1BC,aAAa,EAAE,QAAQ;EACvBC,aAAa,EAAE,YAAY;EAC3BC,YAAY,EAAE;AAChB,CAA0B,CAAC;AAE3B,IAAMC,eAAe,GAAG7G,MAAM,CAAC+E,MAAM,CAAC;EACpCmB,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,GAAG,EAAE,YAAY;EACjBU,UAAU,EAAE,YAAY;EACxBH,aAAa,EAAE;AACjB,CAA0B,CAAC;AAE3B,IAAMI,oBAAoB,GAAG/G,MAAM,CAAC+E,MAAM,CAAC;EACzCiC,SAAS,EAAE;AACb,CAAC,CAAC;AAEF,IAAMC,iBAAiB,GAAGjH,MAAM,CAAC+E,MAAM,CAAC;EACtCmC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,CAAC;EACd,8BAA8B,EAAE;IAC9Bb,QAAQ,EAAE,gBAAgB;IAC1BE,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,IAAMY,iBAAiB,GAAGpH,MAAM,CAAC+E,MAAM,CAAC;EACtCmB,OAAO,EAAE,MAAM;EACfmB,cAAc,EAAE,eAAe;EAC/BjB,GAAG,EAAE,YAAY;EACjBU,UAAU,EAAE;AACd,CAA0B,CAAC;AAE3B,IAAMQ,QAAQ,GAAGtH,MAAM,CAAC+E,MAAM,CAAC;EAC7BwC,QAAQ,EAAE,UAAU;EACpBC,GAAG,EAAE,CAAC;EACNC,cAAc,EAAE,CAAC;EACjBC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTjC,YAAY,EAAE,eAAe;EAC7BkC,UAAU,EAAE;AACd,CAA0B,CAAC;AAE3B,SAASC,oBAAoBA,CAAAC,IAAA,EASC;EAAA,IAR5BC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,qBAAqB,GAAAH,IAAA,CAArBG,qBAAqB;IACrBC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,eAAe,GAAAL,IAAA,CAAfK,eAAe;IACfC,cAAc,GAAAN,IAAA,CAAdM,cAAc;IACdC,MAAM,GAAAP,IAAA,CAANO,MAAM;IACN7C,KAAK,GAAAsC,IAAA,CAALtC,KAAK;EAEL,IAAM8C,CAAC,GAAG,IAAAC,wBAAW,EAACzD,cAAc,EAAEuD,MAAM,CAAC;EAC7C,IAAAG,eAAA,GAA4BpK,KAAK,CAACqK,QAAQ,CAAqB,IAAI,CAAC;IAAAC,gBAAA,GAAA5F,cAAA,CAAA0F,eAAA;IAA7DG,MAAM,GAAAD,gBAAA;IAAEE,SAAS,GAAAF,gBAAA;;EAExB;EACA;EACA,IAAMG,SAAS,GAAGzK,KAAK,CAAC0K,OAAO,CAC7B;IAAA,OACEd,aAAa,YAAYe,GAAG,GACxBf,aAAa,GACb,IAAIe,GAAG,CAACf,aAAa,IAAI,EAAE,CAAC;EAAA,GAClC,CAACA,aAAa,CAChB,CAAC;;EAED;EACA;EACA,IAAMgB,iBAAiB,GAAG5K,KAAK,CAAC0K,OAAO,CACrC;IAAA,OAAMf,OAAO,CAAChH,MAAM,CAAC,UAACkI,CAAC;MAAA,OAAKA,CAAC,CAACC,UAAU,KAAK,KAAK;IAAA,EAAC;EAAA,GACnD,CAACnB,OAAO,CACV,CAAC;;EAED;EACA,IAAMoB,WAAW,GAAG/K,KAAK,CAAC0K,OAAO,CAC/B;IAAA,OAAME,iBAAiB,CAACjI,MAAM,CAAC,UAACkI,CAAC;MAAA,OAAKJ,SAAS,CAACjJ,GAAG,CAACqJ,CAAC,CAAC9I,GAAG,CAAC;IAAA,EAAC,CAACqB,MAAM;EAAA,GAClE,CAACwH,iBAAiB,EAAEH,SAAS,CAC/B,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA,IAAMO,gBAAgB,GACpBD,WAAW,GAAG,CAAC,IACdjB,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK,aAAc;EAEhD,IAAMmB,IAAI,GAAGC,OAAO,CAACX,MAAM,CAAC;EAE5B,IAAMY,UAAU,GAAG,SAAbA,UAAUA,CAAIC,CAAsC;IAAA,OAAKZ,SAAS,CAACY,CAAC,CAACC,aAAa,CAAC;EAAA;EACzF,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA;IAAA,OAASd,SAAS,CAAC,IAAI,CAAC;EAAA;EAEzC,IAAMe,YAAY,GAAG,SAAfA,YAAYA,CAAIxJ,GAAW,EAAK;IACpC,IAAMuE,IAAI,GAAG,IAAIqE,GAAG,CAACF,SAAS,CAAC;IAC/B,IAAInE,IAAI,CAAC9E,GAAG,CAACO,GAAG,CAAC,EAAEuE,IAAI,UAAO,CAACvE,GAAG,CAAC,CAAC,KAC/BuE,IAAI,CAACkF,GAAG,CAACzJ,GAAG,CAAC;IAClB8H,qBAAqB,CAACvD,IAAI,CAAC;EAC7B,CAAC;EAED,IAAMU,OAAO,GAAG,SAAVA,OAAOA,CAAA;IAAA,OAAS6C,qBAAqB,CAAC,IAAIc,GAAG,CAAS,CAAC,CAAC;EAAA;EAC9D,IAAM1D,OAAO,GAAG,SAAVA,OAAOA,CAAA;IAAA,OACX4C,qBAAqB,CAAC,IAAIc,GAAG,CAACC,iBAAiB,CAACa,GAAG,CAAC,UAACZ,CAAC;MAAA,OAAKA,CAAC,CAAC9I,GAAG;IAAA,EAAC,CAAC,CAAC;EAAA;EAErE,IAAM2J,uBAAuB,GAAG1B,cAAc,IAAI7C,wBAAwB;;EAE1E;EACA;EACA;EACA;EACA,IAAMwE,gBAAgB,GAAG3L,KAAK,CAAC0K,OAAO,CACpC;IAAA,OAAO;MACLkB,KAAK,EAAE;QACLC,EAAE,EAAExE,gBAAgB;QACpByE,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE5B,CAAC,CAACrD;MAClB;IACF,CAAC;EAAA,CAAC,EACF,CAACqD,CAAC,CAACrD,KAAK,CACV,CAAC;EAED,oBACE,IAAA/F,WAAA,CAAAiL,IAAA,EAAAjL,WAAA,CAAAkL,QAAA;IAAAC,QAAA,GACG7E,KAAK;IAAA;IACJ;AACR;AACA;AACA;IACQ,IAAAtG,WAAA,CAAAiL,IAAA,EAAC5L,IAAA,WAAG;MAAC0L,EAAE,EAAE;QAAE1C,QAAQ,EAAE,UAAU;QAAErB,OAAO,EAAE;MAAc,CAAE;MAAAmE,QAAA,gBACxD,IAAAnL,WAAA,CAAAoL,GAAA,EAACxL,OAAA,WAAM;QACLyL,IAAI,EAAC,IAAI;QACTC,OAAO,EAAC,WAAW;QACnBC,IAAI,EAAC,QAAQ;QACbC,IAAI,eAAE,IAAAxL,WAAA,CAAAoL,GAAA,EAACzL,KAAA,WAAQ;UAACyH,QAAQ,EAAC;QAAO,CAAE,CAAE;QACpCqE,OAAO,EAAEpB,UAAW;QACpB,cAAYjB,CAAC,CAACtD,MAAO;QACrB,iBAAc,QAAQ;QACtB,iBAAeqE,IAAK;QAAAgB,QAAA,EAEnB7E;MAAK,CACA,CAAC,EACR4D,gBAAgB,iBACf,IAAAlK,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;QACFqM,SAAS,EAAC,MAAM;QAChBX,EAAE,EAAA7I,aAAA,CAAAA,aAAA,KACGkG,QAAQ;UACXE,GAAG,EAAE,CAAC;UACNC,cAAc,EAAE,CAAC;UACjBoD,aAAa,EAAE;QAAM,EACrB;QACF,eAAY;MAAM,CACnB,CACF;IAAA,CACE,CAAC;IAAA;IAEN;AACR;IACQ,IAAA3L,WAAA,CAAAiL,IAAA,EAAC1L,WAAA,WAAU;MACT8L,IAAI,EAAC,OAAO;MACZE,IAAI,EAAC,QAAQ;MACbE,OAAO,EAAEpB,UAAW;MACpB,cAAYjB,CAAC,CAACtD,MAAO;MACrB,iBAAc,QAAQ;MACtB,iBAAeqE,IAAK;MACpBY,EAAE,EAAE;QACFzD,KAAK,EAAE,iBAAiB;QACxBe,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE;UACTK,UAAU,EAAE,iBAAiB;UAC7BpB,KAAK,EAAE;QACT;MACF,CAAE;MAAA6D,QAAA,gBAEF,IAAAnL,WAAA,CAAAoL,GAAA,EAACzL,KAAA,WAAQ;QAACyH,QAAQ,EAAC;MAAO,CAAE,CAAC,EAC5B8C,gBAAgB,iBACf,IAAAlK,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;QAACqM,SAAS,EAAC,MAAM;QAACX,EAAE,EAAE3C,QAAS;QAAC,eAAY;MAAM,CAAE,CACzD;IAAA,CACS,CACb,eAED,IAAApI,WAAA,CAAAoL,GAAA,EAAC5L,QAAA,WAAO;MACN2K,IAAI,EAAEA,IAAK;MACXyB,QAAQ,EAAEnC,MAAO;MACjBoC,OAAO,EAAErB,WAAY;MACrBsB,YAAY,EAAE;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,UAAU,EAAE;MAAQ,CAAE;MAC1DC,eAAe,EAAE;QAAEF,QAAQ,EAAE,KAAK;QAAEC,UAAU,EAAE;MAAQ,CAAE;MAC1DE,SAAS,EAAErB,gBAAiB;MAAAM,QAAA,eAE5B,IAAAnL,WAAA,CAAAiL,IAAA,EAAC5L,IAAA,WAAG;QAAC0L,EAAE,EAAEpE,eAAgB;QAAAwE,QAAA,gBAEvB,IAAAnL,WAAA,CAAAiL,IAAA,EAAC5L,IAAA,WAAG;UAAA8L,QAAA,gBACF,IAAAnL,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;YAACqM,SAAS,EAAC,KAAK;YAACX,EAAE,EAAE5D,kBAAmB;YAAAgE,QAAA,EACzC/B,CAAC,CAACpD;UAAc,CACd,CAAC,eACN,IAAAhG,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;YAAC0L,EAAE,EAAEpD,eAAgB;YAAAwD,QAAA,EACtBrB,iBAAiB,CAACa,GAAG,CAAC,UAACwB,GAAG,EAAK;cAC9B,IAAMC,SAAS,GAAG,CAACzC,SAAS,CAACjJ,GAAG,CAACyL,GAAG,CAAClL,GAAG,CAAC;cACzC;cACA;cACA;cACA,IAAMoL,UAAU,GAAG,IAAAC,gCAAiB,EAACH,GAAG,CAACI,MAAM,CAAC,CAACC,IAAI,CAAC,CAAC;cACvD,IAAMC,SAAS,GAAGJ,UAAU,IAAIF,GAAG,CAAClL,GAAG;cACvC,oBACE,IAAAjB,WAAA,CAAAoL,GAAA,EAAC1L,iBAAA,WAAgB;gBAEfgN,OAAO,eACL,IAAA1M,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;kBACP4L,IAAI,EAAC,OAAO;kBACZsB,OAAO,EAAEP,SAAU;kBACnBQ,QAAQ,EAAE,SAAAA,SAAA;oBAAA,OAAMnC,YAAY,CAAC0B,GAAG,CAAClL,GAAG,CAAC;kBAAA,CAAC;kBACtCiL,SAAS,EAAE;oBACT/I,KAAK,EAAE;sBAAE,YAAY,EAAEsJ;oBAAU;kBACnC;gBAAE,CACH,CACF;gBACDnG,KAAK,EAAE6F,GAAG,CAACI,MAAO;gBAClBxB,EAAE,EAAEhD;cAAkB,GAZjBoE,GAAG,CAAClL,GAaV,CAAC;YAEN,CAAC;UAAC,CACC,CAAC,eACN,IAAAjB,WAAA,CAAAiL,IAAA,EAAC5L,IAAA,WAAG;YAAC0L,EAAE,EAAE7C,iBAAkB;YAAAiD,QAAA,gBACzB,IAAAnL,WAAA,CAAAoL,GAAA,EAACxL,OAAA,WAAM;cACLyL,IAAI,EAAC,IAAI;cACTC,OAAO,EAAC,OAAO;cACfC,IAAI,EAAC,QAAQ;cACbE,OAAO,EAAEvF,OAAQ;cACjB2G,QAAQ,EAAE5C,WAAW,KAAK,CAAE;cAAAkB,QAAA,EAE3B/B,CAAC,CAAClD;YAAO,CACJ,CAAC,eACT,IAAAlG,WAAA,CAAAoL,GAAA,EAACxL,OAAA,WAAM;cACLyL,IAAI,EAAC,IAAI;cACTC,OAAO,EAAC,OAAO;cACfC,IAAI,EAAC,QAAQ;cACbE,OAAO,EAAEtF,OAAQ;cACjB0G,QAAQ,EAAE5C,WAAW,KAAKH,iBAAiB,CAACxH,MAAO;cAAA6I,QAAA,EAElD/B,CAAC,CAACjD;YAAO,CACJ,CAAC;UAAA,CACN,CAAC;QAAA,CACH,CAAC,eAGN,IAAAnG,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;UAAC0L,EAAE,EAAElD;QAAqB,CAAE,CAAC,eAGjC,IAAA7H,WAAA,CAAAiL,IAAA,EAAC5L,IAAA,WAAG;UAAA8L,QAAA,gBACF,IAAAnL,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;YAACqM,SAAS,EAAC,KAAK;YAACX,EAAE,EAAE5D,kBAAmB;YAAAgE,QAAA,EACzC/B,CAAC,CAACnD;UAAc,CACd,CAAC,eACN,IAAAjG,WAAA,CAAAoL,GAAA,EAAC/L,IAAA,WAAG;YAAC0L,EAAE,EAAEpD,eAAgB;YAAAwD,QAAA,eACvB,IAAAnL,WAAA,CAAAoL,GAAA,EAACvL,UAAA,WAAS;cACR+C,KAAK,EAAEoG,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,aAAc;cAChC4D,QAAQ,EAAE,SAAAA,SAAChK,KAAK;gBAAA,OAAKqG,eAAe,CAACrG,KAAgB,CAAC;cAAA,CAAC;cACvDkK,OAAO,EAAElC,uBAAwB;cACjCS,IAAI,EAAC,IAAI;cACT,cAAYjC,CAAC,CAAChD;YAAiB,CAChC;UAAC,CACC,CAAC;QAAA,CACH,CAAC;MAAA,CACH;IAAC,CACC,CAAC;EAAA,CACV,CAAC;AAEP;AAAC,IAAA2G,QAAA,GAAAC,OAAA,cAEcrE,oBAAoB","ignoreList":[]}
@@ -26,50 +26,50 @@ export interface DataGridToolbarFilterChip {
26
26
  onRemove: () => void;
27
27
  }
28
28
  export interface DataGridToolbarLabels {
29
- export?: string;
30
- filter?: string;
31
- settings?: string;
32
- reset?: string;
33
- searchAction?: string;
34
- clearAllChips?: string;
35
- activeFilters?: string;
29
+ export?: string | undefined;
30
+ filter?: string | undefined;
31
+ settings?: string | undefined;
32
+ reset?: string | undefined;
33
+ searchAction?: string | undefined;
34
+ clearAllChips?: string | undefined;
35
+ activeFilters?: string | undefined;
36
36
  }
37
37
  export interface DataGridToolbarProps {
38
- searchValue?: string;
39
- onSearchChange?: React.ChangeEventHandler<HTMLInputElement>;
40
- searchName?: string;
41
- searchPlaceholder?: string;
42
- searchRef?: React.Ref<HTMLInputElement>;
43
- searchWidth?: number | string;
38
+ searchValue?: string | undefined;
39
+ onSearchChange?: React.ChangeEventHandler<HTMLInputElement> | undefined;
40
+ searchName?: string | undefined;
41
+ searchPlaceholder?: string | undefined;
42
+ searchRef?: React.Ref<HTMLInputElement> | undefined;
43
+ searchWidth?: number | string | undefined;
44
44
  /** Extra controls rendered at the start of the right-hand cluster
45
45
  * (e.g. <FavoritesFilter>, <SavedFiltersMenu>). */
46
- actions?: React.ReactNode;
47
- onExport?: () => void;
48
- exportDisabled?: boolean;
49
- exportLoading?: boolean;
50
- exportLabel?: string;
51
- onFilter?: () => void;
52
- filterCount?: number;
53
- filterLabel?: string;
54
- filterAriaLabel?: string;
55
- columns?: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
56
- hiddenColumns?: Set<string> | string[];
57
- onHiddenColumnsChange?: (hidden: Set<string>) => void;
58
- density?: Density;
59
- onDensityChange?: (density: Density) => void;
60
- settingsLabel?: string;
61
- densityOptions?: SegmentedOption[];
62
- hasActiveFilters?: boolean;
63
- onReset?: () => void;
64
- resetLabel?: string;
65
- onSearch?: () => void;
66
- searchLoading?: boolean;
67
- searchActionLabel?: string;
68
- filterChips?: DataGridToolbarFilterChip[];
69
- onClearAllFilters?: () => void;
70
- clearAllFiltersLabel?: string;
71
- labels?: DataGridToolbarLabels;
72
- sx?: SxProps<Theme>;
46
+ actions?: React.ReactNode | undefined;
47
+ onExport?: (() => void) | undefined;
48
+ exportDisabled?: boolean | undefined;
49
+ exportLoading?: boolean | undefined;
50
+ exportLabel?: string | undefined;
51
+ onFilter?: (() => void) | undefined;
52
+ filterCount?: number | undefined;
53
+ filterLabel?: string | undefined;
54
+ filterAriaLabel?: string | undefined;
55
+ columns?: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">> | undefined;
56
+ hiddenColumns?: Set<string> | string[] | undefined;
57
+ onHiddenColumnsChange?: ((hidden: Set<string>) => void) | undefined;
58
+ density?: Density | undefined;
59
+ onDensityChange?: ((density: Density) => void) | undefined;
60
+ settingsLabel?: string | undefined;
61
+ densityOptions?: SegmentedOption[] | undefined;
62
+ hasActiveFilters?: boolean | undefined;
63
+ onReset?: (() => void) | undefined;
64
+ resetLabel?: string | undefined;
65
+ onSearch?: (() => void) | undefined;
66
+ searchLoading?: boolean | undefined;
67
+ searchActionLabel?: string | undefined;
68
+ filterChips?: DataGridToolbarFilterChip[] | undefined;
69
+ onClearAllFilters?: (() => void) | undefined;
70
+ clearAllFiltersLabel?: string | undefined;
71
+ labels?: DataGridToolbarLabels | undefined;
72
+ sx?: SxProps<Theme> | undefined;
73
73
  }
74
74
  /**
75
75
  * Valeurs par défaut inline — plus de defaultProps.
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridToolbar.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGridToolbar.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridToolbar.tsx"],"names":[],"mappings":"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"}