@portnet/ui 6.0.0 → 6.0.2

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 (820) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/esm/index.js +214 -0
  3. package/dist/esm/index.js.map +1 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
  5. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  7. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
  9. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
  11. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
  13. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  14. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
  15. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
  17. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  19. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  20. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  21. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  23. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  25. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  27. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
  29. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  30. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  31. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  33. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  34. package/dist/esm/v2/components/Accordion.js +230 -0
  35. package/dist/esm/v2/components/Accordion.js.map +1 -0
  36. package/dist/esm/v2/components/ActionStrip.js +146 -0
  37. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  38. package/dist/esm/v2/components/Banner.js +254 -0
  39. package/dist/esm/v2/components/Banner.js.map +1 -0
  40. package/dist/esm/v2/components/Busy.js +97 -0
  41. package/dist/esm/v2/components/Busy.js.map +1 -0
  42. package/dist/esm/v2/components/Button.js +114 -0
  43. package/dist/esm/v2/components/Button.js.map +1 -0
  44. package/dist/esm/v2/components/CategoryTag.js +81 -0
  45. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  46. package/dist/esm/v2/components/Checkbox.js +124 -0
  47. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  48. package/dist/esm/v2/components/Chip.js +124 -0
  49. package/dist/esm/v2/components/Chip.js.map +1 -0
  50. package/dist/esm/v2/components/Combobox.js +394 -0
  51. package/dist/esm/v2/components/Combobox.js.map +1 -0
  52. package/dist/esm/v2/components/CommandPalette.js +660 -0
  53. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  54. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  55. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  56. package/dist/esm/v2/components/DatePicker.js +200 -0
  57. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  58. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  59. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  60. package/dist/esm/v2/components/DateTimePicker.js +215 -0
  61. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  62. package/dist/esm/v2/components/Drawer.js +333 -0
  63. package/dist/esm/v2/components/Drawer.js.map +1 -0
  64. package/dist/esm/v2/components/Dropzone.js +540 -0
  65. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  66. package/dist/esm/v2/components/EmptyState.js +102 -0
  67. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  68. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  69. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  70. package/dist/esm/v2/components/Field.js +259 -0
  71. package/dist/esm/v2/components/Field.js.map +1 -0
  72. package/dist/esm/v2/components/FieldError.js +124 -0
  73. package/dist/esm/v2/components/FieldError.js.map +1 -0
  74. package/dist/esm/v2/components/FieldHelp.js +202 -0
  75. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  76. package/dist/esm/v2/components/FileCard.js +162 -0
  77. package/dist/esm/v2/components/FileCard.js.map +1 -0
  78. package/dist/esm/v2/components/FilterTab.js +138 -0
  79. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  80. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  81. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  82. package/dist/esm/v2/components/FormGrid.js +179 -0
  83. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  84. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  85. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  86. package/dist/esm/v2/components/Input.js +107 -0
  87. package/dist/esm/v2/components/Input.js.map +1 -0
  88. package/dist/esm/v2/components/KPICard.js +237 -0
  89. package/dist/esm/v2/components/KPICard.js.map +1 -0
  90. package/dist/esm/v2/components/KPIStrip.js +84 -0
  91. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  92. package/dist/esm/v2/components/KV.js +75 -0
  93. package/dist/esm/v2/components/KV.js.map +1 -0
  94. package/dist/esm/v2/components/KVGrid.js +74 -0
  95. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  96. package/dist/esm/v2/components/Layout.js +284 -0
  97. package/dist/esm/v2/components/Layout.js.map +1 -0
  98. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  99. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  100. package/dist/esm/v2/components/Modal.js +276 -0
  101. package/dist/esm/v2/components/Modal.js.map +1 -0
  102. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  103. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  104. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  105. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  106. package/dist/esm/v2/components/NumberInput.js +309 -0
  107. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  108. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  109. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  110. package/dist/esm/v2/components/PdfViewer.js +122 -0
  111. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  112. package/dist/esm/v2/components/ProgressBar.js +202 -0
  113. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  114. package/dist/esm/v2/components/Radio.js +228 -0
  115. package/dist/esm/v2/components/Radio.js.map +1 -0
  116. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  117. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  118. package/dist/esm/v2/components/SectionHeader.js +132 -0
  119. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  120. package/dist/esm/v2/components/Segmented.js +254 -0
  121. package/dist/esm/v2/components/Segmented.js.map +1 -0
  122. package/dist/esm/v2/components/Select.js +490 -0
  123. package/dist/esm/v2/components/Select.js.map +1 -0
  124. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  125. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  126. package/dist/esm/v2/components/Skeleton.js +269 -0
  127. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  128. package/dist/esm/v2/components/SkipLink.js +49 -0
  129. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  130. package/dist/esm/v2/components/Spinner.js +69 -0
  131. package/dist/esm/v2/components/Spinner.js.map +1 -0
  132. package/dist/esm/v2/components/Status.js +64 -0
  133. package/dist/esm/v2/components/Status.js.map +1 -0
  134. package/dist/esm/v2/components/Stepper.js +432 -0
  135. package/dist/esm/v2/components/Stepper.js.map +1 -0
  136. package/dist/esm/v2/components/Surface.js +159 -0
  137. package/dist/esm/v2/components/Surface.js.map +1 -0
  138. package/dist/esm/v2/components/Switch.js +128 -0
  139. package/dist/esm/v2/components/Switch.js.map +1 -0
  140. package/dist/esm/v2/components/Tabs.js +150 -0
  141. package/dist/esm/v2/components/Tabs.js.map +1 -0
  142. package/dist/esm/v2/components/TelInput.js +274 -0
  143. package/dist/esm/v2/components/TelInput.js.map +1 -0
  144. package/dist/esm/v2/components/Textarea.js +72 -0
  145. package/dist/esm/v2/components/Textarea.js.map +1 -0
  146. package/dist/esm/v2/components/TimePicker.js +134 -0
  147. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  148. package/dist/esm/v2/components/Toast.js +376 -0
  149. package/dist/esm/v2/components/Toast.js.map +1 -0
  150. package/dist/esm/v2/components/Tooltip.js +161 -0
  151. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  152. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  153. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  154. package/dist/esm/v2/components/_pickerShared.js +60 -0
  155. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  156. package/dist/esm/v2/components/index.js +271 -0
  157. package/dist/esm/v2/components/index.js.map +1 -0
  158. package/dist/esm/v2/hooks/index.js +10 -0
  159. package/dist/esm/v2/hooks/index.js.map +1 -0
  160. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  161. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  162. package/dist/esm/v2/hooks/useDensity.js +119 -0
  163. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  164. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  165. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  166. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  167. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  168. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  169. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  170. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  171. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  172. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  173. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  174. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  175. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  176. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  177. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  178. package/dist/esm/v2/index.js +132 -0
  179. package/dist/esm/v2/index.js.map +1 -0
  180. package/dist/esm/v2/modalContext.js +108 -0
  181. package/dist/esm/v2/modalContext.js.map +1 -0
  182. package/dist/esm/v2/models/favorite.js +2 -0
  183. package/dist/esm/v2/models/favorite.js.map +1 -0
  184. package/dist/esm/v2/models/index.js +12 -0
  185. package/dist/esm/v2/models/index.js.map +1 -0
  186. package/dist/esm/v2/models/personalization.js +2 -0
  187. package/dist/esm/v2/models/personalization.js.map +1 -0
  188. package/dist/esm/v2/models/referentiel.js +2 -0
  189. package/dist/esm/v2/models/referentiel.js.map +1 -0
  190. package/dist/esm/v2/models/savedFilter.js +2 -0
  191. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  192. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  193. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  194. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  195. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  196. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  197. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  198. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  199. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  200. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  201. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  202. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  203. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  204. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  205. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  206. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  207. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  208. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  209. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  210. package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
  211. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  212. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  213. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  214. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  215. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  216. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  217. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  218. package/dist/esm/v2/patterns/FormSection.js +190 -0
  219. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  220. package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
  221. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  222. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  223. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  224. package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
  225. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  226. package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
  227. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  228. package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
  229. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  230. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  231. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  232. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  233. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  234. package/dist/esm/v2/patterns/FormikInput.js +130 -0
  235. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  236. package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
  237. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  238. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  239. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  240. package/dist/esm/v2/patterns/FormikSelect.js +162 -0
  241. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  242. package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
  243. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  244. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
  245. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  246. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  247. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  248. package/dist/esm/v2/patterns/PageContent.js +62 -0
  249. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  250. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  251. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  252. package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
  253. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  254. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  255. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  256. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  257. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  258. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  259. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  260. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  261. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  262. package/dist/esm/v2/patterns/Tour.js +471 -0
  263. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  264. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  265. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  266. package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
  267. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  268. package/dist/esm/v2/patterns/_sort.js +112 -0
  269. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  270. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  271. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  272. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  273. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  274. package/dist/esm/v2/patterns/index.js +178 -0
  275. package/dist/esm/v2/patterns/index.js.map +1 -0
  276. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  277. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  278. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  279. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  280. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  281. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  282. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  283. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  284. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  285. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  286. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  287. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  288. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  289. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  290. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
  291. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  292. package/dist/esm/v2/personalization/capabilities/index.js +22 -0
  293. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  294. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  295. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  296. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  297. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  298. package/dist/esm/v2/personalization/index.js +64 -0
  299. package/dist/esm/v2/personalization/index.js.map +1 -0
  300. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  301. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  302. package/dist/esm/v2/personalization/schema.js +92 -0
  303. package/dist/esm/v2/personalization/schema.js.map +1 -0
  304. package/dist/esm/v2/personalization/types.js +2 -0
  305. package/dist/esm/v2/personalization/types.js.map +1 -0
  306. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  307. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  308. package/dist/esm/v2/referentiel/index.js +15 -0
  309. package/dist/esm/v2/referentiel/index.js.map +1 -0
  310. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  311. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  312. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  313. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  314. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  315. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  316. package/dist/esm/v2/styles/base.css +425 -0
  317. package/dist/esm/v2/styles/css.d.ts +10 -0
  318. package/dist/esm/v2/styles/index.js +12 -0
  319. package/dist/esm/v2/styles/index.js.map +1 -0
  320. package/dist/esm/v2/theme/_brand.js +64 -0
  321. package/dist/esm/v2/theme/_brand.js.map +1 -0
  322. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  323. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  324. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  325. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  326. package/dist/esm/v2/theme/cssVariables.js +198 -0
  327. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  328. package/dist/esm/v2/theme/index.js +32 -0
  329. package/dist/esm/v2/theme/index.js.map +1 -0
  330. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  331. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  332. package/dist/esm/v2/tokens/colors.js +219 -0
  333. package/dist/esm/v2/tokens/colors.js.map +1 -0
  334. package/dist/esm/v2/tokens/density.js +98 -0
  335. package/dist/esm/v2/tokens/density.js.map +1 -0
  336. package/dist/esm/v2/tokens/index.js +80 -0
  337. package/dist/esm/v2/tokens/index.js.map +1 -0
  338. package/dist/esm/v2/tokens/motion.js +88 -0
  339. package/dist/esm/v2/tokens/motion.js.map +1 -0
  340. package/dist/esm/v2/tokens/radius.js +22 -0
  341. package/dist/esm/v2/tokens/radius.js.map +1 -0
  342. package/dist/esm/v2/tokens/shadows.js +40 -0
  343. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  344. package/dist/esm/v2/tokens/spacing.js +51 -0
  345. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  346. package/dist/esm/v2/tokens/state.js +41 -0
  347. package/dist/esm/v2/tokens/state.js.map +1 -0
  348. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  349. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  350. package/dist/esm/v2/tokens/tokens.json +153 -0
  351. package/dist/esm/v2/tokens/typography.js +149 -0
  352. package/dist/esm/v2/tokens/typography.js.map +1 -0
  353. package/dist/esm/v2/tokens/zIndex.js +44 -0
  354. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  355. package/dist/esm/v2/types/common.js +2 -0
  356. package/dist/esm/v2/types/common.js.map +1 -0
  357. package/dist/esm/v2/types/datagrid.js +2 -0
  358. package/dist/esm/v2/types/datagrid.js.map +1 -0
  359. package/dist/esm/v2/types/index.js +12 -0
  360. package/dist/esm/v2/types/index.js.map +1 -0
  361. package/dist/esm/v2/utils/apiError.js +281 -0
  362. package/dist/esm/v2/utils/apiError.js.map +1 -0
  363. package/dist/esm/v2/utils/contrast.js +157 -0
  364. package/dist/esm/v2/utils/contrast.js.map +1 -0
  365. package/dist/esm/v2/utils/cx.js +38 -0
  366. package/dist/esm/v2/utils/cx.js.map +1 -0
  367. package/dist/esm/v2/utils/fileDownload.js +226 -0
  368. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  369. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  370. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  371. package/dist/esm/v2/utils/index.js +43 -0
  372. package/dist/esm/v2/utils/index.js.map +1 -0
  373. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  374. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  375. package/dist/esm/v2/utils/networkStatus.js +114 -0
  376. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  377. package/dist/index.d.ts +5 -2
  378. package/dist/index.d.ts.map +1 -1
  379. package/dist/index.js +35 -0
  380. package/dist/index.js.map +1 -1
  381. package/dist/v2/__tests__/FieldError.test.js +160 -0
  382. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  383. package/dist/v2/__tests__/FieldWidth.test.js +150 -0
  384. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  385. package/dist/v2/__tests__/FileCard.test.js +144 -0
  386. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  387. package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
  388. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  389. package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
  390. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  391. package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
  392. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  393. package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
  394. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  395. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  396. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  397. package/dist/v2/__tests__/labels-merge.test.js +20 -24
  398. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  399. package/dist/v2/components/Accordion.d.ts +6 -6
  400. package/dist/v2/components/Accordion.d.ts.map +1 -1
  401. package/dist/v2/components/Accordion.js.map +1 -1
  402. package/dist/v2/components/ActionStrip.d.ts +12 -12
  403. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  404. package/dist/v2/components/ActionStrip.js.map +1 -1
  405. package/dist/v2/components/Banner.d.ts +48 -9
  406. package/dist/v2/components/Banner.d.ts.map +1 -1
  407. package/dist/v2/components/Banner.js +116 -35
  408. package/dist/v2/components/Banner.js.map +1 -1
  409. package/dist/v2/components/Busy.d.ts +3 -3
  410. package/dist/v2/components/Busy.d.ts.map +1 -1
  411. package/dist/v2/components/Busy.js.map +1 -1
  412. package/dist/v2/components/Button.d.ts +6 -6
  413. package/dist/v2/components/Button.d.ts.map +1 -1
  414. package/dist/v2/components/Button.js.map +1 -1
  415. package/dist/v2/components/CategoryTag.d.ts +3 -3
  416. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  417. package/dist/v2/components/CategoryTag.js.map +1 -1
  418. package/dist/v2/components/Checkbox.d.ts +11 -11
  419. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  420. package/dist/v2/components/Checkbox.js.map +1 -1
  421. package/dist/v2/components/Chip.d.ts +8 -8
  422. package/dist/v2/components/Chip.d.ts.map +1 -1
  423. package/dist/v2/components/Chip.js +2 -1
  424. package/dist/v2/components/Chip.js.map +1 -1
  425. package/dist/v2/components/Combobox.d.ts +27 -27
  426. package/dist/v2/components/Combobox.d.ts.map +1 -1
  427. package/dist/v2/components/Combobox.js +3 -2
  428. package/dist/v2/components/Combobox.js.map +1 -1
  429. package/dist/v2/components/CommandPalette.d.ts +20 -20
  430. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  431. package/dist/v2/components/CommandPalette.js +2 -6
  432. package/dist/v2/components/CommandPalette.js.map +1 -1
  433. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  434. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  435. package/dist/v2/components/ConfirmDialog.js +2 -1
  436. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  437. package/dist/v2/components/DatePicker.d.ts +11 -11
  438. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  439. package/dist/v2/components/DatePicker.js.map +1 -1
  440. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  441. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  442. package/dist/v2/components/DateRangePicker.js +2 -1
  443. package/dist/v2/components/DateRangePicker.js.map +1 -1
  444. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  445. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  446. package/dist/v2/components/DateTimePicker.js +37 -4
  447. package/dist/v2/components/DateTimePicker.js.map +1 -1
  448. package/dist/v2/components/Drawer.d.ts +18 -18
  449. package/dist/v2/components/Drawer.d.ts.map +1 -1
  450. package/dist/v2/components/Drawer.js +2 -1
  451. package/dist/v2/components/Drawer.js.map +1 -1
  452. package/dist/v2/components/Dropzone.d.ts +34 -34
  453. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  454. package/dist/v2/components/Dropzone.js +11 -3
  455. package/dist/v2/components/Dropzone.js.map +1 -1
  456. package/dist/v2/components/EmptyState.d.ts +7 -7
  457. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  458. package/dist/v2/components/EmptyState.js.map +1 -1
  459. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  460. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  461. package/dist/v2/components/FavoriteToggle.js +2 -1
  462. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  463. package/dist/v2/components/Field.d.ts +76 -13
  464. package/dist/v2/components/Field.d.ts.map +1 -1
  465. package/dist/v2/components/Field.js +87 -9
  466. package/dist/v2/components/Field.js.map +1 -1
  467. package/dist/v2/components/FieldError.d.ts +78 -0
  468. package/dist/v2/components/FieldError.d.ts.map +1 -0
  469. package/dist/v2/components/FieldError.js +131 -0
  470. package/dist/v2/components/FieldError.js.map +1 -0
  471. package/dist/v2/components/FieldHelp.d.ts +7 -7
  472. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  473. package/dist/v2/components/FieldHelp.js.map +1 -1
  474. package/dist/v2/components/FileCard.d.ts +75 -0
  475. package/dist/v2/components/FileCard.d.ts.map +1 -0
  476. package/dist/v2/components/FileCard.js +169 -0
  477. package/dist/v2/components/FileCard.js.map +1 -0
  478. package/dist/v2/components/FilterTab.d.ts +9 -9
  479. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  480. package/dist/v2/components/FilterTab.js +2 -1
  481. package/dist/v2/components/FilterTab.js.map +1 -1
  482. package/dist/v2/components/FormGrid.d.ts +9 -4
  483. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  484. package/dist/v2/components/FormGrid.js +11 -1
  485. package/dist/v2/components/FormGrid.js.map +1 -1
  486. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  487. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  488. package/dist/v2/components/FormikDisplay.js.map +1 -1
  489. package/dist/v2/components/Input.d.ts +6 -6
  490. package/dist/v2/components/Input.d.ts.map +1 -1
  491. package/dist/v2/components/Input.js.map +1 -1
  492. package/dist/v2/components/KPICard.d.ts +43 -13
  493. package/dist/v2/components/KPICard.d.ts.map +1 -1
  494. package/dist/v2/components/KPICard.js +53 -14
  495. package/dist/v2/components/KPICard.js.map +1 -1
  496. package/dist/v2/components/KPIStrip.d.ts +68 -0
  497. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  498. package/dist/v2/components/KPIStrip.js +92 -0
  499. package/dist/v2/components/KPIStrip.js.map +1 -0
  500. package/dist/v2/components/KV.d.ts +3 -3
  501. package/dist/v2/components/KV.d.ts.map +1 -1
  502. package/dist/v2/components/KV.js.map +1 -1
  503. package/dist/v2/components/KVGrid.d.ts +2 -2
  504. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  505. package/dist/v2/components/KVGrid.js +8 -1
  506. package/dist/v2/components/KVGrid.js.map +1 -1
  507. package/dist/v2/components/Layout.d.ts +7 -7
  508. package/dist/v2/components/Layout.d.ts.map +1 -1
  509. package/dist/v2/components/Layout.js.map +1 -1
  510. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  511. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  512. package/dist/v2/components/MobileRowCard.js.map +1 -1
  513. package/dist/v2/components/Modal.d.ts +12 -12
  514. package/dist/v2/components/Modal.d.ts.map +1 -1
  515. package/dist/v2/components/Modal.js.map +1 -1
  516. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  517. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  519. package/dist/v2/components/NumberInput.d.ts +14 -14
  520. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  521. package/dist/v2/components/NumberInput.js +7 -6
  522. package/dist/v2/components/NumberInput.js.map +1 -1
  523. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  524. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  525. package/dist/v2/components/OverflowMenu.js +4 -8
  526. package/dist/v2/components/OverflowMenu.js.map +1 -1
  527. package/dist/v2/components/PdfViewer.d.ts +9 -9
  528. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  529. package/dist/v2/components/PdfViewer.js.map +1 -1
  530. package/dist/v2/components/ProgressBar.d.ts +10 -10
  531. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  532. package/dist/v2/components/ProgressBar.js.map +1 -1
  533. package/dist/v2/components/Radio.d.ts +7 -7
  534. package/dist/v2/components/Radio.d.ts.map +1 -1
  535. package/dist/v2/components/Radio.js.map +1 -1
  536. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  537. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  538. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  539. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  540. package/dist/v2/components/SectionHeader.d.ts +5 -5
  541. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  542. package/dist/v2/components/SectionHeader.js.map +1 -1
  543. package/dist/v2/components/Segmented.d.ts +11 -11
  544. package/dist/v2/components/Segmented.d.ts.map +1 -1
  545. package/dist/v2/components/Segmented.js.map +1 -1
  546. package/dist/v2/components/Select.d.ts +33 -15
  547. package/dist/v2/components/Select.d.ts.map +1 -1
  548. package/dist/v2/components/Select.js +147 -30
  549. package/dist/v2/components/Select.js.map +1 -1
  550. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  551. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  552. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  553. package/dist/v2/components/Skeleton.d.ts +15 -15
  554. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  555. package/dist/v2/components/Skeleton.js.map +1 -1
  556. package/dist/v2/components/SkipLink.d.ts +2 -2
  557. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  558. package/dist/v2/components/SkipLink.js.map +1 -1
  559. package/dist/v2/components/Status.d.ts +3 -3
  560. package/dist/v2/components/Status.d.ts.map +1 -1
  561. package/dist/v2/components/Status.js.map +1 -1
  562. package/dist/v2/components/Stepper.d.ts +28 -22
  563. package/dist/v2/components/Stepper.d.ts.map +1 -1
  564. package/dist/v2/components/Stepper.js +31 -5
  565. package/dist/v2/components/Stepper.js.map +1 -1
  566. package/dist/v2/components/Surface.d.ts +94 -0
  567. package/dist/v2/components/Surface.d.ts.map +1 -0
  568. package/dist/v2/components/Surface.js +163 -0
  569. package/dist/v2/components/Surface.js.map +1 -0
  570. package/dist/v2/components/Switch.d.ts +4 -4
  571. package/dist/v2/components/Switch.d.ts.map +1 -1
  572. package/dist/v2/components/Switch.js.map +1 -1
  573. package/dist/v2/components/Tabs.d.ts +6 -6
  574. package/dist/v2/components/Tabs.d.ts.map +1 -1
  575. package/dist/v2/components/Tabs.js.map +1 -1
  576. package/dist/v2/components/TelInput.d.ts +8 -8
  577. package/dist/v2/components/TelInput.d.ts.map +1 -1
  578. package/dist/v2/components/TelInput.js +18 -18
  579. package/dist/v2/components/TelInput.js.map +1 -1
  580. package/dist/v2/components/Textarea.d.ts +1 -1
  581. package/dist/v2/components/Textarea.d.ts.map +1 -1
  582. package/dist/v2/components/Textarea.js.map +1 -1
  583. package/dist/v2/components/TimePicker.d.ts +11 -11
  584. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  585. package/dist/v2/components/TimePicker.js.map +1 -1
  586. package/dist/v2/components/Toast.d.ts +6 -6
  587. package/dist/v2/components/Toast.d.ts.map +1 -1
  588. package/dist/v2/components/Toast.js +9 -8
  589. package/dist/v2/components/Toast.js.map +1 -1
  590. package/dist/v2/components/Tooltip.d.ts +1 -1
  591. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  592. package/dist/v2/components/Tooltip.js.map +1 -1
  593. package/dist/v2/components/index.d.ts +170 -0
  594. package/dist/v2/components/index.d.ts.map +1 -1
  595. package/dist/v2/components/index.js +35 -0
  596. package/dist/v2/components/index.js.map +1 -1
  597. package/dist/v2/index.d.ts.map +1 -1
  598. package/dist/v2/index.js.map +1 -1
  599. package/dist/v2/models/favorite.d.ts +1 -1
  600. package/dist/v2/models/favorite.d.ts.map +1 -1
  601. package/dist/v2/models/favorite.js.map +1 -1
  602. package/dist/v2/models/personalization.d.ts +13 -13
  603. package/dist/v2/models/personalization.d.ts.map +1 -1
  604. package/dist/v2/models/personalization.js.map +1 -1
  605. package/dist/v2/models/referentiel.d.ts +11 -11
  606. package/dist/v2/models/referentiel.d.ts.map +1 -1
  607. package/dist/v2/models/referentiel.js.map +1 -1
  608. package/dist/v2/models/savedFilter.d.ts +8 -8
  609. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  610. package/dist/v2/models/savedFilter.js.map +1 -1
  611. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  612. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  613. package/dist/v2/patterns/ActionBar.js +2 -1
  614. package/dist/v2/patterns/ActionBar.js.map +1 -1
  615. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  616. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  617. package/dist/v2/patterns/BulkActionBar.js +2 -1
  618. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  619. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  620. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  621. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  622. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  623. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  624. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  625. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  626. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  627. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  628. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  629. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  630. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  631. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  632. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  633. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  634. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  635. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  636. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  637. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  638. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  639. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  640. package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
  641. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  642. package/dist/v2/patterns/FavoriteColumn.js +14 -61
  643. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  644. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  645. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  646. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  647. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  648. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  649. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  651. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  652. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  653. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  654. package/dist/v2/patterns/FormSection.d.ts +19 -8
  655. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  656. package/dist/v2/patterns/FormSection.js +106 -71
  657. package/dist/v2/patterns/FormSection.js.map +1 -1
  658. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  659. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  660. package/dist/v2/patterns/FormikCheckbox.js +147 -0
  661. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  662. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  663. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  664. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  665. package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
  666. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  667. package/dist/v2/patterns/FormikCombobox.js +5 -2
  668. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  669. package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
  670. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  671. package/dist/v2/patterns/FormikDatePicker.js +58 -65
  672. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  673. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  674. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  675. package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
  676. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  677. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  678. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  679. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  680. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  681. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  682. package/dist/v2/patterns/FormikFile.js.map +1 -1
  683. package/dist/v2/patterns/FormikInput.d.ts +51 -6
  684. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  685. package/dist/v2/patterns/FormikInput.js +53 -2
  686. package/dist/v2/patterns/FormikInput.js.map +1 -1
  687. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  688. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  689. package/dist/v2/patterns/FormikRadioGroup.js +148 -0
  690. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  691. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  692. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  693. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  694. package/dist/v2/patterns/FormikSelect.d.ts +41 -12
  695. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  696. package/dist/v2/patterns/FormikSelect.js +32 -3
  697. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  698. package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
  699. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  700. package/dist/v2/patterns/FormikTextarea.js +5 -2
  701. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  702. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
  703. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  704. package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
  705. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  706. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  707. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  708. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  709. package/dist/v2/patterns/PageContent.d.ts +3 -3
  710. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  711. package/dist/v2/patterns/PageContent.js.map +1 -1
  712. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  713. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  714. package/dist/v2/patterns/ReferentielField.js +2 -1
  715. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  716. package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
  717. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  718. package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
  719. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  720. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  721. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  722. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  723. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  724. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  725. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  726. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  727. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  728. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  729. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  730. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  731. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  732. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  733. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  734. package/dist/v2/patterns/Tour.d.ts +12 -12
  735. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  736. package/dist/v2/patterns/Tour.js +9 -8
  737. package/dist/v2/patterns/Tour.js.map +1 -1
  738. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  739. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  740. package/dist/v2/patterns/_dataGridShared.js +37 -3
  741. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  742. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  743. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  744. package/dist/v2/patterns/_pickerSerialisation.js +81 -0
  745. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  746. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  747. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  748. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  749. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  750. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  751. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  752. package/dist/v2/patterns/index.d.ts +114 -0
  753. package/dist/v2/patterns/index.d.ts.map +1 -1
  754. package/dist/v2/patterns/index.js +34 -0
  755. package/dist/v2/patterns/index.js.map +1 -1
  756. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  757. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  758. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  759. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  760. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  761. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  762. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  763. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  764. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  765. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  766. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  767. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  768. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  769. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  770. package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
  771. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  772. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  773. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  774. package/dist/v2/personalization/capabilities/index.js +13 -0
  775. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  776. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  777. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  778. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  779. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  780. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  781. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  782. package/dist/v2/personalization/index.d.ts +18 -0
  783. package/dist/v2/personalization/index.d.ts.map +1 -1
  784. package/dist/v2/personalization/index.js +13 -0
  785. package/dist/v2/personalization/index.js.map +1 -1
  786. package/dist/v2/personalization/schema.d.ts +2 -2
  787. package/dist/v2/personalization/schema.d.ts.map +1 -1
  788. package/dist/v2/personalization/schema.js.map +1 -1
  789. package/dist/v2/personalization/types.d.ts +19 -19
  790. package/dist/v2/personalization/types.d.ts.map +1 -1
  791. package/dist/v2/personalization/types.js.map +1 -1
  792. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  793. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  794. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  795. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  796. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  797. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  798. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  799. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  800. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  801. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  802. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  803. package/dist/v2/theme/createPortnetTheme.js +25 -1
  804. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  805. package/dist/v2/types/datagrid.d.ts +59 -59
  806. package/dist/v2/types/datagrid.d.ts.map +1 -1
  807. package/dist/v2/types/datagrid.js.map +1 -1
  808. package/dist/v2/utils/apiError.d.ts +65 -4
  809. package/dist/v2/utils/apiError.d.ts.map +1 -1
  810. package/dist/v2/utils/apiError.js +69 -6
  811. package/dist/v2/utils/apiError.js.map +1 -1
  812. package/dist/v2/utils/index.d.ts +1 -0
  813. package/dist/v2/utils/index.d.ts.map +1 -1
  814. package/dist/v2/utils/index.js +7 -0
  815. package/dist/v2/utils/index.js.map +1 -1
  816. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  817. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  818. package/dist/v2/utils/mergeLabels.js +93 -0
  819. package/dist/v2/utils/mergeLabels.js.map +1 -0
  820. package/package.json +23 -15
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleDataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_IconButton","_Collapse","_KeyboardArrowDown","_KeyboardArrowUp","_dataGridShared","_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","EMPTY","readCellValue","row","defaultGetRowId","id","resolveCell","col","render","getValue","alignOf","align","numeric","numericSx","mono","fontFamily","fontVariantNumeric","CollapsibleDataGrid","_ref","_labels$expandRow","_labels$collapseRow","_labels$detailAria","_ref$rows","rows","_ref$columns","columns","_ref$detailColumns","detailColumns","_ref$getRowId","getRowId","hasDetail","_ref$density","density","ariaLabel","_ref$locale","locale","labels","_ref$loading","loading","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","L","useMemo","mergeLabels","tableAria","expandLabel","expandRow","collapseLabel","collapseRow","detailAria","rowHasDetail","useCallback","first","v","_React$useState","useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","setPageSize","_React$useState5","_React$useState6","open","setOpen","total","useEffect","tableSx","TABLE_BY_DENSITY","comfortable","width","detailTableSx","compact","start","paged","masterColCount","toggle","prev","jsxs","sx","CONTAINER_SX","children","jsx","overflow","maxHeight","stickyHeader","map","position","top","zIndex","header","expandable","isOpen","Boolean","detailId","concat","Fragment","hover","ROW_STATIC_SX","index","display","alignItems","gap","size","onClick","fontSize","colSpan","paddingTop","paddingBottom","timeout","unmountOnExit","Pagination","onPageChange","onPageSizeChange","s","pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/CollapsibleDataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\n\r\nimport {\r\n mergeLabels,\r\n TABLE_BY_DENSITY,\r\n CONTAINER_SX,\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n ROW_STATIC_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport type { DataGridColumn, DataGridLabels } from \"../types/datagrid\";\r\nimport type { Alignment, Density, RowId } from \"../types/common\";\r\n\r\n/**\r\n * CollapsibleDataGrid — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · master/detail table with per-row expansion. Companion to\r\n * DataGrid for the case DataGrid intentionally does not cover: a row that\r\n * expands to reveal a secondary record (e.g. a decision and its visa\r\n * detail). Refactor of the legacy host-local CollapsibleTableClientSide\r\n * (ms-dfd-fe), lifted into the lib so modules consume it instead of\r\n * re-implementing an expandable MUI Table.\r\n *\r\n * Columns use the v2-native shape, identical to DataGrid:\r\n * { key, header, render(row), getValue(row), width, align, numeric, mono }\r\n *\r\n * `columns` master row cells (the first cell hosts the expand toggle).\r\n * `detailColumns` the expanded panel; values are read from the SAME row\r\n * object (a row carries both its master and detail fields).\r\n *\r\n * A row is expandable when `hasDetail(row)` is true. Default: the first\r\n * detail column resolves to a non-nullish value. Pass `hasDetail` to override.\r\n *\r\n * Pagination is client-side (the host passes the full row set) and uses the\r\n * shared v2 Pagination — 1-based, tabular range, optional page-size select.\r\n *\r\n * Accessibility (WCAG 2.2 AA · Charter R-DG):\r\n * - the expand control is a real <button> with aria-expanded +\r\n * aria-controls pointing at the detail region id;\r\n * - the detail region is labelled (labels.detailAria);\r\n * - the table carries a contextual name (ariaLabel | labels.tableAria).\r\n */\r\n\r\n/** The read subset of the DataGrid column contract that this pattern honours. */\r\nexport type CollapsibleColumn<T> = Pick<\r\n DataGridColumn<T>,\r\n \"key\" | \"header\" | \"align\" | \"numeric\" | \"mono\" | \"width\" | \"render\" | \"getValue\"\r\n>;\r\n\r\n/** DataGrid labels + the expansion-specific names. */\r\nexport interface CollapsibleDataGridLabels extends DataGridLabels {\r\n expandRow?: string;\r\n collapseRow?: string;\r\n detailAria?: string;\r\n}\r\n\r\nexport interface CollapsibleDataGridProps<T> {\r\n rows?: T[];\r\n columns: CollapsibleColumn<T>[];\r\n detailColumns?: CollapsibleColumn<T>[];\r\n /** Row identity (default `(row) => row.id`). */\r\n getRowId?: (row: T) => RowId;\r\n /** Override the \"row is expandable\" test (default: first detail value is non-nullish). */\r\n hasDetail?: (row: T) => boolean;\r\n density?: Density;\r\n /** Contextual accessible table name (WCAG 1.3.1 / Charter R-DG). */\r\n ariaLabel?: string;\r\n /** BCP-47 locale for pagination number formatting (default \"fr-FR\"). */\r\n locale?: string;\r\n labels?: CollapsibleDataGridLabels;\r\n loading?: boolean;\r\n pageSize?: number;\r\n pageSizes?: number[];\r\n maxBodyHeight?: number | string;\r\n}\r\n\r\nconst EMPTY = \"—\";\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction resolveCell<T>(col: CollapsibleColumn<T>, row: T): React.ReactNode {\r\n if (col.render) return col.render(row);\r\n const value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);\r\n return value == null || value === \"\" ? EMPTY : (value as React.ReactNode);\r\n}\r\n\r\nfunction alignOf(col: Pick<DataGridColumn<unknown>, \"align\" | \"numeric\">): Alignment {\r\n return col.align || (col.numeric ? \"right\" : \"left\");\r\n}\r\n\r\nfunction numericSx(\r\n col: Pick<DataGridColumn<unknown>, \"numeric\" | \"mono\">\r\n): SystemStyleObject<Theme> {\r\n return {\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono ? { fontVariantNumeric: \"tabular-nums\" } : {}),\r\n };\r\n}\r\n\r\nfunction CollapsibleDataGrid<T>({\r\n rows = [],\r\n columns = [],\r\n detailColumns = [],\r\n getRowId = defaultGetRowId,\r\n hasDetail,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n loading = false,\r\n pageSize: pageSizeProp = 10,\r\n pageSizes = [10, 25, 100],\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n}: CollapsibleDataGridProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n const expandLabel = labels?.expandRow ?? \"Afficher le détail\";\r\n const collapseLabel = labels?.collapseRow ?? \"Réduire le détail\";\r\n const detailAria = labels?.detailAria ?? \"Détail de la ligne\";\r\n\r\n const rowHasDetail = React.useCallback(\r\n (row: T): boolean => {\r\n if (typeof hasDetail === \"function\") return hasDetail(row);\r\n if (!detailColumns.length) return false;\r\n const first = detailColumns[0];\r\n if (!first) return false;\r\n const v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);\r\n return v != null && v !== \"\";\r\n },\r\n [hasDetail, detailColumns]\r\n );\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n const [open, setOpen] = React.useState<Record<RowId, boolean>>({});\r\n\r\n // Reset to the first page when the data set size changes so the slice\r\n // never lands past the end of a shrunken list.\r\n const total = rows.length;\r\n React.useEffect(() => {\r\n setPage(1);\r\n }, [total]);\r\n\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n [density]\r\n );\r\n const detailTableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...(TABLE_BY_DENSITY.compact as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n []\r\n );\r\n\r\n const start = (page - 1) * pageSize;\r\n const paged = rows.slice(start, start + pageSize);\r\n const masterColCount = columns.length;\r\n\r\n const toggle = (id: RowId) =>\r\n setOpen((prev) => ({ ...prev, [id]: !prev[id] }));\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box sx={{ overflow: \"auto\", maxHeight: maxBodyHeight, width: \"100%\" }}>\r\n <Table aria-label={tableAria} stickyHeader sx={tableSx}>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {paged.map((row) => {\r\n const id = getRowId(row);\r\n const expandable = rowHasDetail(row);\r\n const isOpen = Boolean(open[id]);\r\n const detailId = `pui-cdg-detail-${id}`;\r\n return (\r\n <React.Fragment key={id}>\r\n <TableRow hover sx={ROW_STATIC_SX}>\r\n {columns.map((col, index) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n ...numericSx(col),\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {index === 0 && expandable && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label={isOpen ? collapseLabel : expandLabel}\r\n aria-expanded={isOpen}\r\n aria-controls={detailId}\r\n onClick={() => toggle(id)}\r\n >\r\n {isOpen ? (\r\n <KeyboardArrowUpIcon fontSize=\"small\" />\r\n ) : (\r\n <KeyboardArrowDownIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n )}\r\n {resolveCell(col, row)}\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {expandable && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={masterColCount}\r\n sx={{ paddingTop: 0, paddingBottom: 0 }}\r\n >\r\n <Collapse\r\n id={detailId}\r\n in={isOpen}\r\n timeout=\"auto\"\r\n unmountOnExit\r\n >\r\n <Box\r\n sx={{\r\n paddingTop: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n <Table\r\n size=\"small\"\r\n aria-label={detailAria}\r\n sx={detailTableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={\r\n col.width != null\r\n ? { width: col.width }\r\n : {}\r\n }\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow sx={ROW_STATIC_SX}>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={numericSx(col)}\r\n >\r\n {resolveCell(col, row)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </Collapse>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n <Pagination\r\n page={page}\r\n pageSize={pageSize}\r\n total={total}\r\n onPageChange={setPage}\r\n onPageSizeChange={(s) => {\r\n setPageSize(s);\r\n setPage(1);\r\n }}\r\n pageSizes={pageSizes}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CollapsibleDataGrid;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CollapsibleDataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_IconButton","_Collapse","_KeyboardArrowDown","_KeyboardArrowUp","_dataGridShared","_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","EMPTY","readCellValue","row","defaultGetRowId","id","resolveCell","col","render","getValue","alignOf","align","numeric","numericSx","mono","fontFamily","fontVariantNumeric","CollapsibleDataGrid","_ref","_labels$expandRow","_labels$collapseRow","_labels$detailAria","_ref$rows","rows","_ref$columns","columns","_ref$detailColumns","detailColumns","_ref$getRowId","getRowId","hasDetail","_ref$density","density","ariaLabel","_ref$locale","locale","labels","_ref$loading","loading","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","L","useMemo","mergeLabels","tableAria","expandLabel","expandRow","collapseLabel","collapseRow","detailAria","rowHasDetail","useCallback","first","v","_React$useState","useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","setPageSize","_React$useState5","_React$useState6","open","setOpen","total","useEffect","tableSx","TABLE_BY_DENSITY","comfortable","width","detailTableSx","compact","start","paged","masterColCount","toggle","prev","jsxs","sx","CONTAINER_SX","children","jsx","overflow","maxHeight","stickyHeader","map","position","top","zIndex","header","expandable","isOpen","Boolean","detailId","concat","Fragment","hover","ROW_STATIC_SX","index","display","alignItems","gap","size","onClick","fontSize","colSpan","paddingTop","paddingBottom","timeout","unmountOnExit","Pagination","onPageChange","onPageSizeChange","s","pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/CollapsibleDataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\n\r\nimport {\r\n mergeLabels,\r\n TABLE_BY_DENSITY,\r\n CONTAINER_SX,\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n ROW_STATIC_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport type { DataGridColumn, DataGridLabels } from \"../types/datagrid\";\r\nimport type { Alignment, Density, RowId } from \"../types/common\";\r\n\r\n/**\r\n * CollapsibleDataGrid — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · master/detail table with per-row expansion. Companion to\r\n * DataGrid for the case DataGrid intentionally does not cover: a row that\r\n * expands to reveal a secondary record (e.g. a decision and its visa\r\n * detail). Refactor of the legacy host-local CollapsibleTableClientSide\r\n * (ms-dfd-fe), lifted into the lib so modules consume it instead of\r\n * re-implementing an expandable MUI Table.\r\n *\r\n * Columns use the v2-native shape, identical to DataGrid:\r\n * { key, header, render(row), getValue(row), width, align, numeric, mono }\r\n *\r\n * `columns` master row cells (the first cell hosts the expand toggle).\r\n * `detailColumns` the expanded panel; values are read from the SAME row\r\n * object (a row carries both its master and detail fields).\r\n *\r\n * A row is expandable when `hasDetail(row)` is true. Default: the first\r\n * detail column resolves to a non-nullish value. Pass `hasDetail` to override.\r\n *\r\n * Pagination is client-side (the host passes the full row set) and uses the\r\n * shared v2 Pagination — 1-based, tabular range, optional page-size select.\r\n *\r\n * Accessibility (WCAG 2.2 AA · Charter R-DG):\r\n * - the expand control is a real <button> with aria-expanded +\r\n * aria-controls pointing at the detail region id;\r\n * - the detail region is labelled (labels.detailAria);\r\n * - the table carries a contextual name (ariaLabel | labels.tableAria).\r\n */\r\n\r\n/** The read subset of the DataGrid column contract that this pattern honours. */\r\nexport type CollapsibleColumn<T> = Pick<\r\n DataGridColumn<T>,\r\n \"key\" | \"header\" | \"align\" | \"numeric\" | \"mono\" | \"width\" | \"render\" | \"getValue\"\r\n>;\r\n\r\n/** DataGrid labels + the expansion-specific names. */\r\nexport interface CollapsibleDataGridLabels extends DataGridLabels {\r\n expandRow?: string | undefined;\r\n collapseRow?: string | undefined;\r\n detailAria?: string | undefined;\r\n}\r\n\r\nexport interface CollapsibleDataGridProps<T> {\r\n rows?: T[] | undefined;\r\n columns: CollapsibleColumn<T>[];\r\n detailColumns?: CollapsibleColumn<T>[] | undefined;\r\n /** Row identity (default `(row) => row.id`). */\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n /** Override the \"row is expandable\" test (default: first detail value is non-nullish). */\r\n hasDetail?: ((row: T) => boolean) | undefined;\r\n density?: Density | undefined;\r\n /** Contextual accessible table name (WCAG 1.3.1 / Charter R-DG). */\r\n ariaLabel?: string | undefined;\r\n /** BCP-47 locale for pagination number formatting (default \"fr-FR\"). */\r\n locale?: string | undefined;\r\n labels?: CollapsibleDataGridLabels | undefined;\r\n loading?: boolean | undefined;\r\n pageSize?: number | undefined;\r\n pageSizes?: number[] | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n}\r\n\r\nconst EMPTY = \"—\";\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction resolveCell<T>(col: CollapsibleColumn<T>, row: T): React.ReactNode {\r\n if (col.render) return col.render(row);\r\n const value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);\r\n return value == null || value === \"\" ? EMPTY : (value as React.ReactNode);\r\n}\r\n\r\nfunction alignOf(col: Pick<DataGridColumn<unknown>, \"align\" | \"numeric\">): Alignment {\r\n return col.align || (col.numeric ? \"right\" : \"left\");\r\n}\r\n\r\nfunction numericSx(\r\n col: Pick<DataGridColumn<unknown>, \"numeric\" | \"mono\">\r\n): SystemStyleObject<Theme> {\r\n return {\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono ? { fontVariantNumeric: \"tabular-nums\" } : {}),\r\n };\r\n}\r\n\r\nfunction CollapsibleDataGrid<T>({\r\n rows = [],\r\n columns = [],\r\n detailColumns = [],\r\n getRowId = defaultGetRowId,\r\n hasDetail,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n loading = false,\r\n pageSize: pageSizeProp = 10,\r\n pageSizes = [10, 25, 100],\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n}: CollapsibleDataGridProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n const expandLabel = labels?.expandRow ?? \"Afficher le détail\";\r\n const collapseLabel = labels?.collapseRow ?? \"Réduire le détail\";\r\n const detailAria = labels?.detailAria ?? \"Détail de la ligne\";\r\n\r\n const rowHasDetail = React.useCallback(\r\n (row: T): boolean => {\r\n if (typeof hasDetail === \"function\") return hasDetail(row);\r\n if (!detailColumns.length) return false;\r\n const first = detailColumns[0];\r\n if (!first) return false;\r\n const v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);\r\n return v != null && v !== \"\";\r\n },\r\n [hasDetail, detailColumns]\r\n );\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n const [open, setOpen] = React.useState<Record<RowId, boolean>>({});\r\n\r\n // Reset to the first page when the data set size changes so the slice\r\n // never lands past the end of a shrunken list.\r\n const total = rows.length;\r\n React.useEffect(() => {\r\n setPage(1);\r\n }, [total]);\r\n\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n [density]\r\n );\r\n const detailTableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...(TABLE_BY_DENSITY.compact as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n []\r\n );\r\n\r\n const start = (page - 1) * pageSize;\r\n const paged = rows.slice(start, start + pageSize);\r\n const masterColCount = columns.length;\r\n\r\n const toggle = (id: RowId) =>\r\n setOpen((prev) => ({ ...prev, [id]: !prev[id] }));\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box sx={{ overflow: \"auto\", maxHeight: maxBodyHeight, width: \"100%\" }}>\r\n <Table aria-label={tableAria} stickyHeader sx={tableSx}>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {paged.map((row) => {\r\n const id = getRowId(row);\r\n const expandable = rowHasDetail(row);\r\n const isOpen = Boolean(open[id]);\r\n const detailId = `pui-cdg-detail-${id}`;\r\n return (\r\n <React.Fragment key={id}>\r\n <TableRow hover sx={ROW_STATIC_SX}>\r\n {columns.map((col, index) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n ...numericSx(col),\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {index === 0 && expandable && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label={isOpen ? collapseLabel : expandLabel}\r\n aria-expanded={isOpen}\r\n aria-controls={detailId}\r\n onClick={() => toggle(id)}\r\n >\r\n {isOpen ? (\r\n <KeyboardArrowUpIcon fontSize=\"small\" />\r\n ) : (\r\n <KeyboardArrowDownIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n )}\r\n {resolveCell(col, row)}\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {expandable && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={masterColCount}\r\n sx={{ paddingTop: 0, paddingBottom: 0 }}\r\n >\r\n <Collapse\r\n id={detailId}\r\n in={isOpen}\r\n timeout=\"auto\"\r\n unmountOnExit\r\n >\r\n <Box\r\n sx={{\r\n paddingTop: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n <Table\r\n size=\"small\"\r\n aria-label={detailAria}\r\n sx={detailTableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={\r\n col.width != null\r\n ? { width: col.width }\r\n : {}\r\n }\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow sx={ROW_STATIC_SX}>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={numericSx(col)}\r\n >\r\n {resolveCell(col, row)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </Collapse>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n <Pagination\r\n page={page}\r\n pageSize={pageSize}\r\n total={total}\r\n onPageChange={setPage}\r\n onPageSizeChange={(s) => {\r\n setPageSize(s);\r\n setPage(1);\r\n }}\r\n pageSizes={pageSizes}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CollapsibleDataGrid;\r\n"],"mappings":"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","ignoreList":[]}
@@ -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],