@portnet/ui 6.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/dist/esm/index.js +196 -0
  2. package/dist/esm/index.js.map +1 -0
  3. package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  5. package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
  6. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  7. package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
  8. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  9. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  10. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  11. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  12. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  13. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  14. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  15. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  16. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  17. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  18. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  19. package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
  20. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  21. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  22. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  23. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  24. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  25. package/dist/esm/v2/components/Accordion.js +230 -0
  26. package/dist/esm/v2/components/Accordion.js.map +1 -0
  27. package/dist/esm/v2/components/ActionStrip.js +146 -0
  28. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  29. package/dist/esm/v2/components/Banner.js +254 -0
  30. package/dist/esm/v2/components/Banner.js.map +1 -0
  31. package/dist/esm/v2/components/Busy.js +97 -0
  32. package/dist/esm/v2/components/Busy.js.map +1 -0
  33. package/dist/esm/v2/components/Button.js +114 -0
  34. package/dist/esm/v2/components/Button.js.map +1 -0
  35. package/dist/esm/v2/components/CategoryTag.js +81 -0
  36. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  37. package/dist/esm/v2/components/Checkbox.js +124 -0
  38. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  39. package/dist/esm/v2/components/Chip.js +124 -0
  40. package/dist/esm/v2/components/Chip.js.map +1 -0
  41. package/dist/esm/v2/components/Combobox.js +394 -0
  42. package/dist/esm/v2/components/Combobox.js.map +1 -0
  43. package/dist/esm/v2/components/CommandPalette.js +660 -0
  44. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  45. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  46. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  47. package/dist/esm/v2/components/DatePicker.js +200 -0
  48. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  49. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  50. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  51. package/dist/esm/v2/components/DateTimePicker.js +182 -0
  52. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  53. package/dist/esm/v2/components/Drawer.js +333 -0
  54. package/dist/esm/v2/components/Drawer.js.map +1 -0
  55. package/dist/esm/v2/components/Dropzone.js +540 -0
  56. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  57. package/dist/esm/v2/components/EmptyState.js +102 -0
  58. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  59. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  60. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  61. package/dist/esm/v2/components/Field.js +197 -0
  62. package/dist/esm/v2/components/Field.js.map +1 -0
  63. package/dist/esm/v2/components/FieldError.js +124 -0
  64. package/dist/esm/v2/components/FieldError.js.map +1 -0
  65. package/dist/esm/v2/components/FieldHelp.js +202 -0
  66. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  67. package/dist/esm/v2/components/FileCard.js +162 -0
  68. package/dist/esm/v2/components/FileCard.js.map +1 -0
  69. package/dist/esm/v2/components/FilterTab.js +138 -0
  70. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  71. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  72. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  73. package/dist/esm/v2/components/FormGrid.js +179 -0
  74. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  75. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  76. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  77. package/dist/esm/v2/components/Input.js +107 -0
  78. package/dist/esm/v2/components/Input.js.map +1 -0
  79. package/dist/esm/v2/components/KPICard.js +237 -0
  80. package/dist/esm/v2/components/KPICard.js.map +1 -0
  81. package/dist/esm/v2/components/KPIStrip.js +84 -0
  82. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  83. package/dist/esm/v2/components/KV.js +75 -0
  84. package/dist/esm/v2/components/KV.js.map +1 -0
  85. package/dist/esm/v2/components/KVGrid.js +74 -0
  86. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  87. package/dist/esm/v2/components/Layout.js +284 -0
  88. package/dist/esm/v2/components/Layout.js.map +1 -0
  89. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  90. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  91. package/dist/esm/v2/components/Modal.js +276 -0
  92. package/dist/esm/v2/components/Modal.js.map +1 -0
  93. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  94. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  95. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  96. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  97. package/dist/esm/v2/components/NumberInput.js +309 -0
  98. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  99. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  100. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  101. package/dist/esm/v2/components/PdfViewer.js +122 -0
  102. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  103. package/dist/esm/v2/components/ProgressBar.js +202 -0
  104. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  105. package/dist/esm/v2/components/Radio.js +228 -0
  106. package/dist/esm/v2/components/Radio.js.map +1 -0
  107. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  108. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  109. package/dist/esm/v2/components/SectionHeader.js +132 -0
  110. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  111. package/dist/esm/v2/components/Segmented.js +254 -0
  112. package/dist/esm/v2/components/Segmented.js.map +1 -0
  113. package/dist/esm/v2/components/Select.js +490 -0
  114. package/dist/esm/v2/components/Select.js.map +1 -0
  115. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  116. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  117. package/dist/esm/v2/components/Skeleton.js +269 -0
  118. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  119. package/dist/esm/v2/components/SkipLink.js +49 -0
  120. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  121. package/dist/esm/v2/components/Spinner.js +69 -0
  122. package/dist/esm/v2/components/Spinner.js.map +1 -0
  123. package/dist/esm/v2/components/Status.js +64 -0
  124. package/dist/esm/v2/components/Status.js.map +1 -0
  125. package/dist/esm/v2/components/Stepper.js +432 -0
  126. package/dist/esm/v2/components/Stepper.js.map +1 -0
  127. package/dist/esm/v2/components/Surface.js +159 -0
  128. package/dist/esm/v2/components/Surface.js.map +1 -0
  129. package/dist/esm/v2/components/Switch.js +128 -0
  130. package/dist/esm/v2/components/Switch.js.map +1 -0
  131. package/dist/esm/v2/components/Tabs.js +150 -0
  132. package/dist/esm/v2/components/Tabs.js.map +1 -0
  133. package/dist/esm/v2/components/TelInput.js +274 -0
  134. package/dist/esm/v2/components/TelInput.js.map +1 -0
  135. package/dist/esm/v2/components/Textarea.js +72 -0
  136. package/dist/esm/v2/components/Textarea.js.map +1 -0
  137. package/dist/esm/v2/components/TimePicker.js +134 -0
  138. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  139. package/dist/esm/v2/components/Toast.js +376 -0
  140. package/dist/esm/v2/components/Toast.js.map +1 -0
  141. package/dist/esm/v2/components/Tooltip.js +161 -0
  142. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  143. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  144. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  145. package/dist/esm/v2/components/_pickerShared.js +60 -0
  146. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  147. package/dist/esm/v2/components/index.js +244 -0
  148. package/dist/esm/v2/components/index.js.map +1 -0
  149. package/dist/esm/v2/hooks/index.js +10 -0
  150. package/dist/esm/v2/hooks/index.js.map +1 -0
  151. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  152. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  153. package/dist/esm/v2/hooks/useDensity.js +119 -0
  154. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  155. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  156. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  157. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  158. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  159. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  160. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  161. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  162. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  163. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  164. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  165. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  166. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  167. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  168. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  169. package/dist/esm/v2/index.js +121 -0
  170. package/dist/esm/v2/index.js.map +1 -0
  171. package/dist/esm/v2/modalContext.js +108 -0
  172. package/dist/esm/v2/modalContext.js.map +1 -0
  173. package/dist/esm/v2/models/favorite.js +2 -0
  174. package/dist/esm/v2/models/favorite.js.map +1 -0
  175. package/dist/esm/v2/models/index.js +12 -0
  176. package/dist/esm/v2/models/index.js.map +1 -0
  177. package/dist/esm/v2/models/personalization.js +2 -0
  178. package/dist/esm/v2/models/personalization.js.map +1 -0
  179. package/dist/esm/v2/models/referentiel.js +2 -0
  180. package/dist/esm/v2/models/referentiel.js.map +1 -0
  181. package/dist/esm/v2/models/savedFilter.js +2 -0
  182. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  183. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  184. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  185. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  186. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  187. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  188. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  189. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  190. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  191. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  192. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  193. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  194. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  195. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  196. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  197. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  198. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  199. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  200. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  201. package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
  202. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  203. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  204. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  205. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  206. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  207. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  208. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  209. package/dist/esm/v2/patterns/FormSection.js +190 -0
  210. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  211. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  212. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  213. package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
  214. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  215. package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
  216. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  217. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  218. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  219. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  220. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  221. package/dist/esm/v2/patterns/FormikInput.js +127 -0
  222. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  223. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  224. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  225. package/dist/esm/v2/patterns/FormikSelect.js +159 -0
  226. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  227. package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
  228. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  229. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
  230. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  231. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  232. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  233. package/dist/esm/v2/patterns/PageContent.js +62 -0
  234. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  235. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  236. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  237. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  238. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  239. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  240. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  241. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  242. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  243. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  244. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  245. package/dist/esm/v2/patterns/Tour.js +471 -0
  246. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  247. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  248. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  249. package/dist/esm/v2/patterns/_sort.js +112 -0
  250. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  251. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  252. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  253. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  254. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  255. package/dist/esm/v2/patterns/index.js +95 -0
  256. package/dist/esm/v2/patterns/index.js.map +1 -0
  257. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  258. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  259. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  260. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  261. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  262. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  263. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  264. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  265. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  266. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  267. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  268. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  269. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  270. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  271. package/dist/esm/v2/personalization/capabilities/index.js +17 -0
  272. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  273. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  274. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  275. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  276. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  277. package/dist/esm/v2/personalization/index.js +46 -0
  278. package/dist/esm/v2/personalization/index.js.map +1 -0
  279. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  280. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  281. package/dist/esm/v2/personalization/schema.js +92 -0
  282. package/dist/esm/v2/personalization/schema.js.map +1 -0
  283. package/dist/esm/v2/personalization/types.js +2 -0
  284. package/dist/esm/v2/personalization/types.js.map +1 -0
  285. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  286. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  287. package/dist/esm/v2/referentiel/index.js +15 -0
  288. package/dist/esm/v2/referentiel/index.js.map +1 -0
  289. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  290. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  291. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  292. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  293. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  294. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  295. package/dist/esm/v2/styles/base.css +425 -0
  296. package/dist/esm/v2/styles/css.d.ts +10 -0
  297. package/dist/esm/v2/styles/index.js +12 -0
  298. package/dist/esm/v2/styles/index.js.map +1 -0
  299. package/dist/esm/v2/theme/_brand.js +64 -0
  300. package/dist/esm/v2/theme/_brand.js.map +1 -0
  301. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  302. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  303. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  304. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  305. package/dist/esm/v2/theme/cssVariables.js +198 -0
  306. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  307. package/dist/esm/v2/theme/index.js +32 -0
  308. package/dist/esm/v2/theme/index.js.map +1 -0
  309. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  310. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  311. package/dist/esm/v2/tokens/colors.js +219 -0
  312. package/dist/esm/v2/tokens/colors.js.map +1 -0
  313. package/dist/esm/v2/tokens/density.js +98 -0
  314. package/dist/esm/v2/tokens/density.js.map +1 -0
  315. package/dist/esm/v2/tokens/index.js +80 -0
  316. package/dist/esm/v2/tokens/index.js.map +1 -0
  317. package/dist/esm/v2/tokens/motion.js +88 -0
  318. package/dist/esm/v2/tokens/motion.js.map +1 -0
  319. package/dist/esm/v2/tokens/radius.js +22 -0
  320. package/dist/esm/v2/tokens/radius.js.map +1 -0
  321. package/dist/esm/v2/tokens/shadows.js +40 -0
  322. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  323. package/dist/esm/v2/tokens/spacing.js +51 -0
  324. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  325. package/dist/esm/v2/tokens/state.js +41 -0
  326. package/dist/esm/v2/tokens/state.js.map +1 -0
  327. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  328. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  329. package/dist/esm/v2/tokens/tokens.json +153 -0
  330. package/dist/esm/v2/tokens/typography.js +149 -0
  331. package/dist/esm/v2/tokens/typography.js.map +1 -0
  332. package/dist/esm/v2/tokens/zIndex.js +44 -0
  333. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  334. package/dist/esm/v2/types/common.js +2 -0
  335. package/dist/esm/v2/types/common.js.map +1 -0
  336. package/dist/esm/v2/types/datagrid.js +2 -0
  337. package/dist/esm/v2/types/datagrid.js.map +1 -0
  338. package/dist/esm/v2/types/index.js +12 -0
  339. package/dist/esm/v2/types/index.js.map +1 -0
  340. package/dist/esm/v2/utils/apiError.js +281 -0
  341. package/dist/esm/v2/utils/apiError.js.map +1 -0
  342. package/dist/esm/v2/utils/contrast.js +157 -0
  343. package/dist/esm/v2/utils/contrast.js.map +1 -0
  344. package/dist/esm/v2/utils/cx.js +38 -0
  345. package/dist/esm/v2/utils/cx.js.map +1 -0
  346. package/dist/esm/v2/utils/fileDownload.js +226 -0
  347. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  348. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  349. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  350. package/dist/esm/v2/utils/index.js +43 -0
  351. package/dist/esm/v2/utils/index.js.map +1 -0
  352. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  353. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  354. package/dist/esm/v2/utils/networkStatus.js +114 -0
  355. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  356. package/dist/index.d.ts +3 -2
  357. package/dist/index.d.ts.map +1 -1
  358. package/dist/index.js +21 -0
  359. package/dist/index.js.map +1 -1
  360. package/dist/v2/__tests__/FieldError.test.js +164 -0
  361. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  362. package/dist/v2/__tests__/FileCard.test.js +148 -0
  363. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  364. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  365. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  366. package/dist/v2/components/Accordion.d.ts +6 -6
  367. package/dist/v2/components/Accordion.d.ts.map +1 -1
  368. package/dist/v2/components/Accordion.js.map +1 -1
  369. package/dist/v2/components/ActionStrip.d.ts +12 -12
  370. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  371. package/dist/v2/components/ActionStrip.js.map +1 -1
  372. package/dist/v2/components/Banner.d.ts +48 -9
  373. package/dist/v2/components/Banner.d.ts.map +1 -1
  374. package/dist/v2/components/Banner.js +116 -35
  375. package/dist/v2/components/Banner.js.map +1 -1
  376. package/dist/v2/components/Busy.d.ts +3 -3
  377. package/dist/v2/components/Busy.d.ts.map +1 -1
  378. package/dist/v2/components/Busy.js.map +1 -1
  379. package/dist/v2/components/Button.d.ts +6 -6
  380. package/dist/v2/components/Button.d.ts.map +1 -1
  381. package/dist/v2/components/Button.js.map +1 -1
  382. package/dist/v2/components/CategoryTag.d.ts +3 -3
  383. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  384. package/dist/v2/components/CategoryTag.js.map +1 -1
  385. package/dist/v2/components/Checkbox.d.ts +11 -11
  386. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  387. package/dist/v2/components/Checkbox.js.map +1 -1
  388. package/dist/v2/components/Chip.d.ts +8 -8
  389. package/dist/v2/components/Chip.d.ts.map +1 -1
  390. package/dist/v2/components/Chip.js +2 -1
  391. package/dist/v2/components/Chip.js.map +1 -1
  392. package/dist/v2/components/Combobox.d.ts +27 -27
  393. package/dist/v2/components/Combobox.d.ts.map +1 -1
  394. package/dist/v2/components/Combobox.js +3 -2
  395. package/dist/v2/components/Combobox.js.map +1 -1
  396. package/dist/v2/components/CommandPalette.d.ts +20 -20
  397. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  398. package/dist/v2/components/CommandPalette.js +2 -6
  399. package/dist/v2/components/CommandPalette.js.map +1 -1
  400. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  401. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  402. package/dist/v2/components/ConfirmDialog.js +2 -1
  403. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  404. package/dist/v2/components/DatePicker.d.ts +11 -11
  405. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  406. package/dist/v2/components/DatePicker.js.map +1 -1
  407. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  408. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  409. package/dist/v2/components/DateRangePicker.js +2 -1
  410. package/dist/v2/components/DateRangePicker.js.map +1 -1
  411. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  412. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  413. package/dist/v2/components/DateTimePicker.js.map +1 -1
  414. package/dist/v2/components/Drawer.d.ts +18 -18
  415. package/dist/v2/components/Drawer.d.ts.map +1 -1
  416. package/dist/v2/components/Drawer.js +2 -1
  417. package/dist/v2/components/Drawer.js.map +1 -1
  418. package/dist/v2/components/Dropzone.d.ts +34 -34
  419. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  420. package/dist/v2/components/Dropzone.js +11 -3
  421. package/dist/v2/components/Dropzone.js.map +1 -1
  422. package/dist/v2/components/EmptyState.d.ts +7 -7
  423. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  424. package/dist/v2/components/EmptyState.js.map +1 -1
  425. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  426. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  427. package/dist/v2/components/FavoriteToggle.js +2 -1
  428. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  429. package/dist/v2/components/Field.d.ts +17 -12
  430. package/dist/v2/components/Field.d.ts.map +1 -1
  431. package/dist/v2/components/Field.js +25 -7
  432. package/dist/v2/components/Field.js.map +1 -1
  433. package/dist/v2/components/FieldError.d.ts +78 -0
  434. package/dist/v2/components/FieldError.d.ts.map +1 -0
  435. package/dist/v2/components/FieldError.js +131 -0
  436. package/dist/v2/components/FieldError.js.map +1 -0
  437. package/dist/v2/components/FieldHelp.d.ts +7 -7
  438. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  439. package/dist/v2/components/FieldHelp.js.map +1 -1
  440. package/dist/v2/components/FileCard.d.ts +75 -0
  441. package/dist/v2/components/FileCard.d.ts.map +1 -0
  442. package/dist/v2/components/FileCard.js +169 -0
  443. package/dist/v2/components/FileCard.js.map +1 -0
  444. package/dist/v2/components/FilterTab.d.ts +9 -9
  445. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  446. package/dist/v2/components/FilterTab.js +2 -1
  447. package/dist/v2/components/FilterTab.js.map +1 -1
  448. package/dist/v2/components/FormGrid.d.ts +9 -4
  449. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  450. package/dist/v2/components/FormGrid.js +11 -1
  451. package/dist/v2/components/FormGrid.js.map +1 -1
  452. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  453. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  454. package/dist/v2/components/FormikDisplay.js.map +1 -1
  455. package/dist/v2/components/Input.d.ts +6 -6
  456. package/dist/v2/components/Input.d.ts.map +1 -1
  457. package/dist/v2/components/Input.js.map +1 -1
  458. package/dist/v2/components/KPICard.d.ts +43 -13
  459. package/dist/v2/components/KPICard.d.ts.map +1 -1
  460. package/dist/v2/components/KPICard.js +53 -14
  461. package/dist/v2/components/KPICard.js.map +1 -1
  462. package/dist/v2/components/KPIStrip.d.ts +68 -0
  463. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  464. package/dist/v2/components/KPIStrip.js +92 -0
  465. package/dist/v2/components/KPIStrip.js.map +1 -0
  466. package/dist/v2/components/KV.d.ts +3 -3
  467. package/dist/v2/components/KV.d.ts.map +1 -1
  468. package/dist/v2/components/KV.js.map +1 -1
  469. package/dist/v2/components/KVGrid.d.ts +2 -2
  470. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  471. package/dist/v2/components/KVGrid.js +8 -1
  472. package/dist/v2/components/KVGrid.js.map +1 -1
  473. package/dist/v2/components/Layout.d.ts +7 -7
  474. package/dist/v2/components/Layout.d.ts.map +1 -1
  475. package/dist/v2/components/Layout.js.map +1 -1
  476. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  477. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  478. package/dist/v2/components/MobileRowCard.js.map +1 -1
  479. package/dist/v2/components/Modal.d.ts +12 -12
  480. package/dist/v2/components/Modal.d.ts.map +1 -1
  481. package/dist/v2/components/Modal.js.map +1 -1
  482. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  483. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  484. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  485. package/dist/v2/components/NumberInput.d.ts +14 -14
  486. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  487. package/dist/v2/components/NumberInput.js +7 -6
  488. package/dist/v2/components/NumberInput.js.map +1 -1
  489. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  490. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  491. package/dist/v2/components/OverflowMenu.js +4 -8
  492. package/dist/v2/components/OverflowMenu.js.map +1 -1
  493. package/dist/v2/components/PdfViewer.d.ts +9 -9
  494. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  495. package/dist/v2/components/PdfViewer.js.map +1 -1
  496. package/dist/v2/components/ProgressBar.d.ts +10 -10
  497. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  498. package/dist/v2/components/ProgressBar.js.map +1 -1
  499. package/dist/v2/components/Radio.d.ts +7 -7
  500. package/dist/v2/components/Radio.d.ts.map +1 -1
  501. package/dist/v2/components/Radio.js.map +1 -1
  502. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  503. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  504. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  505. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  506. package/dist/v2/components/SectionHeader.d.ts +5 -5
  507. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  508. package/dist/v2/components/SectionHeader.js.map +1 -1
  509. package/dist/v2/components/Segmented.d.ts +11 -11
  510. package/dist/v2/components/Segmented.d.ts.map +1 -1
  511. package/dist/v2/components/Segmented.js.map +1 -1
  512. package/dist/v2/components/Select.d.ts +33 -15
  513. package/dist/v2/components/Select.d.ts.map +1 -1
  514. package/dist/v2/components/Select.js +147 -30
  515. package/dist/v2/components/Select.js.map +1 -1
  516. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  517. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  519. package/dist/v2/components/Skeleton.d.ts +15 -15
  520. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  521. package/dist/v2/components/Skeleton.js.map +1 -1
  522. package/dist/v2/components/SkipLink.d.ts +2 -2
  523. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  524. package/dist/v2/components/SkipLink.js.map +1 -1
  525. package/dist/v2/components/Status.d.ts +3 -3
  526. package/dist/v2/components/Status.d.ts.map +1 -1
  527. package/dist/v2/components/Status.js.map +1 -1
  528. package/dist/v2/components/Stepper.d.ts +28 -22
  529. package/dist/v2/components/Stepper.d.ts.map +1 -1
  530. package/dist/v2/components/Stepper.js +31 -5
  531. package/dist/v2/components/Stepper.js.map +1 -1
  532. package/dist/v2/components/Surface.d.ts +94 -0
  533. package/dist/v2/components/Surface.d.ts.map +1 -0
  534. package/dist/v2/components/Surface.js +163 -0
  535. package/dist/v2/components/Surface.js.map +1 -0
  536. package/dist/v2/components/Switch.d.ts +4 -4
  537. package/dist/v2/components/Switch.d.ts.map +1 -1
  538. package/dist/v2/components/Switch.js.map +1 -1
  539. package/dist/v2/components/Tabs.d.ts +6 -6
  540. package/dist/v2/components/Tabs.d.ts.map +1 -1
  541. package/dist/v2/components/Tabs.js.map +1 -1
  542. package/dist/v2/components/TelInput.d.ts +8 -8
  543. package/dist/v2/components/TelInput.d.ts.map +1 -1
  544. package/dist/v2/components/TelInput.js +18 -18
  545. package/dist/v2/components/TelInput.js.map +1 -1
  546. package/dist/v2/components/Textarea.d.ts +1 -1
  547. package/dist/v2/components/Textarea.d.ts.map +1 -1
  548. package/dist/v2/components/Textarea.js.map +1 -1
  549. package/dist/v2/components/TimePicker.d.ts +11 -11
  550. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  551. package/dist/v2/components/TimePicker.js.map +1 -1
  552. package/dist/v2/components/Toast.d.ts +6 -6
  553. package/dist/v2/components/Toast.d.ts.map +1 -1
  554. package/dist/v2/components/Toast.js +9 -8
  555. package/dist/v2/components/Toast.js.map +1 -1
  556. package/dist/v2/components/Tooltip.d.ts +1 -1
  557. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  558. package/dist/v2/components/Tooltip.js.map +1 -1
  559. package/dist/v2/components/index.d.ts +143 -0
  560. package/dist/v2/components/index.d.ts.map +1 -1
  561. package/dist/v2/components/index.js +35 -0
  562. package/dist/v2/components/index.js.map +1 -1
  563. package/dist/v2/models/favorite.d.ts +1 -1
  564. package/dist/v2/models/favorite.d.ts.map +1 -1
  565. package/dist/v2/models/favorite.js.map +1 -1
  566. package/dist/v2/models/personalization.d.ts +13 -13
  567. package/dist/v2/models/personalization.d.ts.map +1 -1
  568. package/dist/v2/models/personalization.js.map +1 -1
  569. package/dist/v2/models/referentiel.d.ts +11 -11
  570. package/dist/v2/models/referentiel.d.ts.map +1 -1
  571. package/dist/v2/models/referentiel.js.map +1 -1
  572. package/dist/v2/models/savedFilter.d.ts +8 -8
  573. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  574. package/dist/v2/models/savedFilter.js.map +1 -1
  575. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  576. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  577. package/dist/v2/patterns/ActionBar.js +2 -1
  578. package/dist/v2/patterns/ActionBar.js.map +1 -1
  579. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  580. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  581. package/dist/v2/patterns/BulkActionBar.js +2 -1
  582. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  583. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  584. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  585. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  586. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  587. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  588. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  589. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  590. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  591. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  592. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  593. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  594. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  595. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  596. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  597. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  598. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  599. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  600. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  601. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  602. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  603. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  604. package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
  605. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  606. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  607. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  608. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  609. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  610. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  611. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  612. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  613. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  614. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  615. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  616. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  617. package/dist/v2/patterns/FormSection.d.ts +19 -8
  618. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  619. package/dist/v2/patterns/FormSection.js +106 -71
  620. package/dist/v2/patterns/FormSection.js.map +1 -1
  621. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  622. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  623. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  624. package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
  625. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  626. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  627. package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
  628. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  629. package/dist/v2/patterns/FormikDatePicker.js +27 -1
  630. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  631. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  632. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  633. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  634. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  635. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  636. package/dist/v2/patterns/FormikFile.js.map +1 -1
  637. package/dist/v2/patterns/FormikInput.d.ts +41 -6
  638. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  639. package/dist/v2/patterns/FormikInput.js +49 -1
  640. package/dist/v2/patterns/FormikInput.js.map +1 -1
  641. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  642. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  643. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  644. package/dist/v2/patterns/FormikSelect.d.ts +33 -12
  645. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  646. package/dist/v2/patterns/FormikSelect.js +28 -2
  647. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  648. package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
  649. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  651. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
  652. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  653. package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
  654. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  655. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  656. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  657. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  658. package/dist/v2/patterns/PageContent.d.ts +3 -3
  659. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  660. package/dist/v2/patterns/PageContent.js.map +1 -1
  661. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  662. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  663. package/dist/v2/patterns/ReferentielField.js +2 -1
  664. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  665. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  666. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  667. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  668. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  669. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  670. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  671. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  672. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  673. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  674. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  675. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  676. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  677. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  678. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  679. package/dist/v2/patterns/Tour.d.ts +12 -12
  680. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  681. package/dist/v2/patterns/Tour.js +9 -8
  682. package/dist/v2/patterns/Tour.js.map +1 -1
  683. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  684. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  685. package/dist/v2/patterns/_dataGridShared.js +37 -3
  686. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  687. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  688. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  689. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  690. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  691. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  692. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  693. package/dist/v2/patterns/index.d.ts +27 -0
  694. package/dist/v2/patterns/index.d.ts.map +1 -1
  695. package/dist/v2/patterns/index.js.map +1 -1
  696. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  697. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  698. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  699. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  700. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  701. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  702. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  703. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  704. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  705. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  706. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  707. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  708. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  709. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  710. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  711. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  712. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  713. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  714. package/dist/v2/personalization/schema.d.ts +2 -2
  715. package/dist/v2/personalization/schema.d.ts.map +1 -1
  716. package/dist/v2/personalization/schema.js.map +1 -1
  717. package/dist/v2/personalization/types.d.ts +19 -19
  718. package/dist/v2/personalization/types.d.ts.map +1 -1
  719. package/dist/v2/personalization/types.js.map +1 -1
  720. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  721. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  722. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  723. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  724. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  725. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  726. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  727. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  728. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  729. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  730. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  731. package/dist/v2/theme/createPortnetTheme.js +25 -1
  732. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  733. package/dist/v2/types/datagrid.d.ts +59 -59
  734. package/dist/v2/types/datagrid.d.ts.map +1 -1
  735. package/dist/v2/types/datagrid.js.map +1 -1
  736. package/dist/v2/utils/apiError.d.ts +65 -4
  737. package/dist/v2/utils/apiError.d.ts.map +1 -1
  738. package/dist/v2/utils/apiError.js +69 -6
  739. package/dist/v2/utils/apiError.js.map +1 -1
  740. package/dist/v2/utils/index.d.ts +1 -0
  741. package/dist/v2/utils/index.d.ts.map +1 -1
  742. package/dist/v2/utils/index.js +7 -0
  743. package/dist/v2/utils/index.js.map +1 -1
  744. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  745. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  746. package/dist/v2/utils/mergeLabels.js +93 -0
  747. package/dist/v2/utils/mergeLabels.js.map +1 -0
  748. package/package.json +23 -15
@@ -19,6 +19,7 @@ var _FirstPage = _interopRequireDefault(require("@mui/icons-material/FirstPage")
19
19
  var _LastPage = _interopRequireDefault(require("@mui/icons-material/LastPage"));
20
20
  var _Select = _interopRequireDefault(require("@mui/material/Select"));
21
21
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
22
+ var _mergeLabels = require("../utils/mergeLabels");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
25
  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); }
@@ -34,6 +35,20 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
34
35
  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); } /**
35
36
  * _dataGridShared — Portnet UI v2 (private)
36
37
  */ /**
38
+ * Strips optionality AND an explicitly-declared `| undefined`.
39
+ *
40
+ * `Required<T>` is NOT sufficient here, and the difference is invisible until it
41
+ * bites. `-?` removes `undefined` only when it was IMPLIED by the `?` marker.
42
+ * Under `exactOptionalPropertyTypes` — mandatory platform-wide — the public label
43
+ * shapes declare `?: T | undefined` explicitly, so that `undefined` is part of
44
+ * the declared type and survives `Required<>`. The "fully-resolved" shapes below
45
+ * silently stopped being resolved, and every renderer that read them without an
46
+ * optional check became a type error (three of them).
47
+ *
48
+ * `Exclude<T[K], undefined>` removes it for real. Behaviour is identical to what
49
+ * `Required<>` produced BEFORE the optional props were widened — this restores
50
+ * the original intent rather than changing it.
51
+ */ /**
37
52
  * Fully-resolved (all-present) label shapes. The public DataGridLabels /
38
53
  * DataGridPaginationLabels (../types/datagrid) are the OVERRIDE shapes (every
39
54
  * field optional). After mergeLabels every field is guaranteed present, so the
@@ -63,9 +78,28 @@ var DEFAULT_LABELS = exports.DEFAULT_LABELS = Object.freeze({
63
78
  });
64
79
  function mergeLabels(labels) {
65
80
  if (!labels) return DEFAULT_LABELS;
66
- return _objectSpread(_objectSpread(_objectSpread({}, DEFAULT_LABELS), labels), {}, {
67
- pagination: _objectSpread(_objectSpread({}, DEFAULT_LABELS.pagination), labels.pagination || {})
68
- });
81
+ /*
82
+ * Both levels go through the shared undefined-safe merge. A spread does not skip
83
+ * explicit `undefined`, so the previous form — a bare object spread of the
84
+ * overrides over the defaults — let a consumer passing `selectRow: undefined`
85
+ * DELETE the default and crash the renderer. The old `|| {}` guarded the nested
86
+ * `pagination` object against being undefined, but not its individual VALUES —
87
+ * same hazard, one level down.
88
+ *
89
+ * The broken form is described rather than quoted, deliberately:
90
+ * scripts/fix-label-merge.mjs is a text scan, and a verbatim copy here matched it
91
+ * — so the codemod offered to rewrite this COMMENT. Same lesson KPICard already
92
+ * records for the banned-patterns guard.
93
+ *
94
+ * `pagination` is merged at its OWN level, deliberately, rather than through a
95
+ * recursive deep merge: two explicit levels can be read, whereas a recursive
96
+ * helper hides how deep it goes and raises the question of what it does to
97
+ * arrays. Convention for the whole library: a nested label dictionary is
98
+ * merged at its own level.
99
+ */
100
+ return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, _objectSpread(_objectSpread({}, labels), {}, {
101
+ pagination: (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS.pagination, labels.pagination)
102
+ }));
69
103
  }
70
104
  function makeNumberFormatter(locale) {
71
105
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"_dataGridShared.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_KeyboardArrowLeft","_KeyboardArrowRight","_FirstPage","_LastPage","_Select","_MenuItem","_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","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_PAGE_SIZES","exports","DEFAULT_MAX_BODY_HEIGHT","DEFAULT_LABELS","freeze","tableAria","selectAll","selectRow","id","concat","actionsHeader","pagination","loading","rowsPerPage","firstPage","previousPage","nextPage","lastPage","navLabel","rangeOf","to","total","fmt","mergeLabels","labels","makeNumberFormatter","locale","Intl","NumberFormat","_unused","applyColumnOrder","columns","columnOrder","byKey","Map","map","c","ordered","_iterator","_step","col","_iterator2","values","_step2","columnsSignature","join","useColumnsStabilityWarn","prevColumnsRef","useRef","warnedRef","useEffect","process","env","current","prevSig","nextSig","console","warn","PAGINATION_ICON_SX","transform","CONTAINER_SX","background","overflow","TABLE_BASE_SX","borderCollapse","borderSpacing","backgroundColor","color","fontWeight","fontSize","textTransform","letterSpacing","borderBottom","padding","whiteSpace","TABLE_BY_DENSITY","comfortable","compact","ROW_HOVER_SELECTED_SX","boxShadow","ROW_CLICKABLE_SX","cursor","outline","outlineOffset","ROW_STATIC_SX","HEADER_CHECKBOX_CELL_SX","width","position","top","zIndex","BODY_CHECKBOX_CELL_SX","HOVER_ONLY_CELL_SX","opacity","transition","ERROR_CELL_SX","ERROR_INNER_SX","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","PAGINATION_CONTAINER_SX","display","alignItems","flexWrap","gap","borderTop","PAGINATION_RANGE_SX","flex","fontVariantNumeric","PAGINATION_PAGESIZE_GROUP_SX","PAGINATION_NAV_GROUP_SX","PAGINATION_PAGE_OF_SX","minWidth","textAlign","PAGINATION_SELECT_SX","height","Pagination","_ref","page","pageSize","onPageChange","onPageSizeChange","_ref$pageSizes","pageSizes","pages","Math","max","ceil","min","go","p","useMemo","nf","format","jsxs","component","sx","children","jsx","role","size","onChange","inputProps","onClick","disabled"],"sources":["../../../src/lib/v2/patterns/_dataGridShared.tsx"],"sourcesContent":["/**\r\n * _dataGridShared — Portnet UI v2 (private)\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\r\nimport FirstPageIcon from \"@mui/icons-material/FirstPage\";\r\nimport LastPageIcon from \"@mui/icons-material/LastPage\";\r\nimport Select from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density, RowId } from \"../types/common\";\r\nimport type { DataGridLabels, DataGridPaginationLabels } from \"../types/datagrid\";\r\n\r\n/**\r\n * Fully-resolved (all-present) label shapes. The public DataGridLabels /\r\n * DataGridPaginationLabels (../types/datagrid) are the OVERRIDE shapes (every\r\n * field optional). After mergeLabels every field is guaranteed present, so the\r\n * renderers (Pagination, DataGrid) read them without optional access.\r\n */\r\nexport type ResolvedDataGridPaginationLabels = Required<DataGridPaginationLabels>;\r\nexport type ResolvedDataGridLabels = Required<Omit<DataGridLabels, \"pagination\">> & {\r\n pagination: ResolvedDataGridPaginationLabels;\r\n};\r\n\r\nexport const DEFAULT_PAGE_SIZES = [25, 50, 100];\r\nexport const DEFAULT_MAX_BODY_HEIGHT = \"70vh\";\r\n\r\nexport const DEFAULT_LABELS: ResolvedDataGridLabels = Object.freeze({\r\n tableAria: \"Tableau\",\r\n selectAll: \"Tout sélectionner\",\r\n selectRow: (id: RowId) => `Sélectionner la ligne ${id}`,\r\n actionsHeader: \"Actions\",\r\n pagination: Object.freeze({\r\n loading: \"Chargement…\",\r\n rowsPerPage: \"Lignes par page\",\r\n firstPage: \"Première page\",\r\n previousPage: \"Page précédente\",\r\n nextPage: \"Page suivante\",\r\n lastPage: \"Dernière page\",\r\n navLabel: \"Pagination\",\r\n rangeOf: (from: number, to: number, total: number, fmt: (n: number) => string) => `${from}–${to} sur ${fmt(total)}`,\r\n }),\r\n});\r\n\r\nexport function mergeLabels(labels?: DataGridLabels): ResolvedDataGridLabels {\r\n if (!labels) return DEFAULT_LABELS;\r\n return {\r\n ...DEFAULT_LABELS,\r\n ...labels,\r\n pagination: { ...DEFAULT_LABELS.pagination, ...(labels.pagination || {}) },\r\n };\r\n}\r\n\r\nexport function makeNumberFormatter(locale?: string): Intl.NumberFormat {\r\n try { return new Intl.NumberFormat(locale); }\r\n catch { return new Intl.NumberFormat(\"fr-FR\"); }\r\n}\r\n\r\nexport function applyColumnOrder<C extends { key: string }>(\r\n columns: C[],\r\n columnOrder: string[] | null | undefined\r\n): C[] {\r\n if (!columnOrder || columnOrder.length === 0) return columns;\r\n const byKey = new Map<string, C>(columns.map((c): [string, C] => [c.key, c]));\r\n const ordered: C[] = [];\r\n for (const key of columnOrder) {\r\n const col = byKey.get(key);\r\n if (col !== undefined) { ordered.push(col); byKey.delete(key); }\r\n }\r\n for (const col of byKey.values()) ordered.push(col);\r\n return ordered;\r\n}\r\n\r\nfunction columnsSignature(columns: unknown): string {\r\n if (!Array.isArray(columns)) return \"\";\r\n return (columns as unknown[])\r\n .map((c) => (c && typeof c === \"object\" ? (c as { key?: unknown }).key : c))\r\n .join(\"|\");\r\n}\r\n\r\nexport function useColumnsStabilityWarn(columns: unknown): void {\r\n const prevColumnsRef = React.useRef(columns);\r\n const warnedRef = React.useRef(false);\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n if (warnedRef.current) return;\r\n if (prevColumnsRef.current === columns) return;\r\n const prevSig = columnsSignature(prevColumnsRef.current);\r\n const nextSig = columnsSignature(columns);\r\n if (prevSig && prevSig === nextSig) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\"[@portnet/ui v2] DataGrid received a new `columns` reference with identical column keys. Define columns outside render or wrap in useMemo.\");\r\n warnedRef.current = true;\r\n }\r\n prevColumnsRef.current = columns;\r\n });\r\n}\r\n\r\nexport const PAGINATION_ICON_SX = Object.freeze({ transform: \"scaleX(var(--pui-rtl-flip, 1))\" });\r\nexport const CONTAINER_SX = Object.freeze({ background: \"transparent\", overflow: \"hidden\" } satisfies SxProps<Theme>);\r\n\r\n/*\r\n * TABLE_BASE_SX — applied to the MUI <Table> via the sx prop.\r\n *\r\n * textTransform: \"none\" is INTENTIONALLY EXPLICIT here.\r\n *\r\n * Why not rely on the MUI theme (MuiTableCell.head.textTransform: \"none\")?\r\n *\r\n * Emotion injects sx-prop rules AFTER theme styleOverrides. Both rules\r\n * target <th> with equal specificity (1 class + 1 element). The last\r\n * one injected wins. sx wins over theme → the sx value is the truth.\r\n *\r\n * The old bug: this object had textTransform:\"uppercase\" which silently\r\n * overrode the theme's \"none\". The fix: keep explicit \"none\" here so\r\n * the correct value wins unconditionally, regardless of injection order.\r\n *\r\n * letterSpacing is reset to \"normal\" because all-caps text uses wider\r\n * tracking which looks wrong on title-case column headers.\r\n */\r\nconst TABLE_BASE_SX = Object.freeze({\r\n borderCollapse: \"separate\",\r\n borderSpacing: 0,\r\n \"& thead th\": {\r\n backgroundColor: \"var(--bg-subtle)\",\r\n color: \"var(--fg-muted)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n fontSize: \"var(--text-xs)\",\r\n textTransform: \"none\", // EXPLICIT — beats emotion injection order\r\n letterSpacing: \"normal\", // reset all-caps tracking\r\n borderBottom: \"1px solid var(--border)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n whiteSpace: \"nowrap\",\r\n },\r\n \"& tbody td\": {\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nexport const TABLE_BY_DENSITY: Record<Density, SxProps<Theme>> = Object.freeze({\r\n comfortable: TABLE_BASE_SX,\r\n compact: Object.freeze({\r\n ...TABLE_BASE_SX,\r\n \"& tbody td\": { ...TABLE_BASE_SX[\"& tbody td\"], padding: \"var(--s-2) var(--s-4)\" },\r\n } satisfies SxProps<Theme>),\r\n});\r\n\r\nconst ROW_HOVER_SELECTED_SX = Object.freeze({\r\n \"&:nth-of-type(even)\": { backgroundColor: \"var(--bg-subtle)\" },\r\n \"&:hover\": { backgroundColor: \"var(--bg-hover)\" },\r\n \"&[data-selected]\": { backgroundColor: \"var(--accent-soft)\" },\r\n \"&[data-active]\": {\r\n backgroundColor: \"var(--accent-soft)\",\r\n \"& > td:first-of-type\": { boxShadow: \"inset calc(3px * var(--pui-rtl-flip, 1)) 0 0 var(--accent)\" },\r\n },\r\n});\r\n\r\nexport const ROW_CLICKABLE_SX = Object.freeze({\r\n ...ROW_HOVER_SELECTED_SX,\r\n cursor: \"pointer\",\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset-inset)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nexport const ROW_STATIC_SX = Object.freeze({ ...ROW_HOVER_SELECTED_SX, cursor: \"default\" } satisfies SxProps<Theme>);\r\n\r\nexport const HEADER_CHECKBOX_CELL_SX = Object.freeze({ width: \"var(--tactile-min)\", position: \"sticky\", top: 0, zIndex: 2 } satisfies SxProps<Theme>);\r\nexport const BODY_CHECKBOX_CELL_SX = Object.freeze({ width: \"var(--tactile-min)\" });\r\n\r\nexport const HOVER_ONLY_CELL_SX = Object.freeze({\r\n opacity: 0,\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n \"tr:hover &, tr:focus-within &\": { opacity: 1 },\r\n \"@media (pointer: coarse)\": { opacity: 1 },\r\n});\r\n\r\nexport const ERROR_CELL_SX = Object.freeze({ padding: 0, borderBottom: \"none\" });\r\nexport const ERROR_INNER_SX = Object.freeze({ padding: \"var(--s-4)\" });\r\n\r\nexport const FILLER_CELL_SX = Object.freeze({ padding: 0, borderBottom: \"1px solid var(--border)\" });\r\nexport const FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0, position: \"sticky\", top: 0, zIndex: 1,\r\n background: \"var(--bg-subtle)\", borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Pagination ─────────────────────────────────────────────────── */\r\n\r\nconst PAGINATION_CONTAINER_SX = Object.freeze({\r\n display: \"flex\", alignItems: \"center\",\r\n // R-RS / WCAG 1.4.10 — the control groups (range / page-size / nav)\r\n // must wrap onto extra lines on narrow viewports. Their combined fixed\r\n // width (~400px+) exceeds a 320–375px phone, so without flexWrap the\r\n // bar overflowed its container and pushed the nav buttons off-screen.\r\n // rowGap (s2) keeps wrapped rows tight; columnGap (s4) is the original\r\n // inter-group spacing on a single row.\r\n flexWrap: \"wrap\", gap: \"var(--s-2) var(--s-4)\",\r\n padding: \"var(--s-2) var(--s-4)\", borderTop: \"1px solid var(--border)\",\r\n background: \"var(--surface)\", fontSize: \"var(--text-xs)\", color: \"var(--fg-muted)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PAGINATION_RANGE_SX = Object.freeze({ flex: 1, fontVariantNumeric: \"tabular-nums\" });\r\nconst PAGINATION_PAGESIZE_GROUP_SX = Object.freeze({ display: \"flex\", alignItems: \"center\", gap: \"var(--s-2)\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_NAV_GROUP_SX = Object.freeze({ display: \"flex\", alignItems: \"center\", gap: \"var(--s-1)\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_PAGE_OF_SX = Object.freeze({ minWidth: 56, textAlign: \"center\", fontVariantNumeric: \"tabular-nums\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_SELECT_SX = Object.freeze({ fontSize: \"var(--text-xs)\", height: 28 });\r\n\r\nexport interface PaginationProps {\r\n page: number;\r\n pageSize: number;\r\n total: number;\r\n onPageChange: (page: number) => void;\r\n onPageSizeChange?: (pageSize: number) => void;\r\n pageSizes?: number[];\r\n loading?: boolean;\r\n locale?: string;\r\n labels: ResolvedDataGridPaginationLabels;\r\n}\r\n\r\nexport function Pagination({ page, pageSize, total, onPageChange, onPageSizeChange, pageSizes = DEFAULT_PAGE_SIZES, loading, locale, labels }: PaginationProps) {\r\n const pages = Math.max(1, Math.ceil(total / pageSize));\r\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\r\n const to = Math.min(total, page * pageSize);\r\n const go = (p: number) => onPageChange(Math.min(pages, Math.max(1, p)));\r\n\r\n const fmt = React.useMemo(() => {\r\n const nf = makeNumberFormatter(locale);\r\n return (n: number) => nf.format(n);\r\n }, [locale]);\r\n\r\n return (\r\n <Box component=\"nav\" aria-label={labels.navLabel} sx={PAGINATION_CONTAINER_SX}>\r\n {/* PAGE-2 — polite, atomic live region so SR users hear the position\r\n change (\"1–25 sur 100\" → \"26–50 sur 100\") as they page. */}\r\n <Box role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" sx={PAGINATION_RANGE_SX}>{loading ? labels.loading : labels.rangeOf(from, to, total, fmt)}</Box>\r\n {onPageSizeChange && (\r\n <Box sx={PAGINATION_PAGESIZE_GROUP_SX}>\r\n <span>{labels.rowsPerPage}</span>\r\n <Select size=\"small\" value={pageSize} onChange={(e) => onPageSizeChange(Number(e.target.value))} inputProps={{ \"aria-label\": String(labels.rowsPerPage) }} sx={PAGINATION_SELECT_SX}>\r\n {pageSizes.map((s) => <MenuItem key={s} value={s}>{s}</MenuItem>)}\r\n </Select>\r\n </Box>\r\n )}\r\n <Box sx={PAGINATION_NAV_GROUP_SX}>\r\n <IconButton size=\"small\" onClick={() => go(1)} disabled={page <= 1} aria-label={labels.firstPage}><FirstPageIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <IconButton size=\"small\" onClick={() => go(page - 1)} disabled={page <= 1} aria-label={labels.previousPage}><KeyboardArrowLeftIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <Box sx={PAGINATION_PAGE_OF_SX}>{page} / {pages}</Box>\r\n <IconButton size=\"small\" onClick={() => go(page + 1)} disabled={page >= pages} aria-label={labels.nextPage}><KeyboardArrowRightIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <IconButton size=\"small\" onClick={() => go(pages)} disabled={page >= pages} aria-label={labels.lastPage}><LastPageIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_dataGridShared.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_KeyboardArrowLeft","_KeyboardArrowRight","_FirstPage","_LastPage","_Select","_MenuItem","_mergeLabels","_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","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_PAGE_SIZES","exports","DEFAULT_MAX_BODY_HEIGHT","DEFAULT_LABELS","freeze","tableAria","selectAll","selectRow","id","concat","actionsHeader","pagination","loading","rowsPerPage","firstPage","previousPage","nextPage","lastPage","navLabel","rangeOf","to","total","fmt","mergeLabels","labels","mergeLabelDict","makeNumberFormatter","locale","Intl","NumberFormat","_unused","applyColumnOrder","columns","columnOrder","byKey","Map","map","c","ordered","_iterator","_step","col","_iterator2","values","_step2","columnsSignature","join","useColumnsStabilityWarn","prevColumnsRef","useRef","warnedRef","useEffect","process","env","current","prevSig","nextSig","console","warn","PAGINATION_ICON_SX","transform","CONTAINER_SX","background","overflow","TABLE_BASE_SX","borderCollapse","borderSpacing","backgroundColor","color","fontWeight","fontSize","textTransform","letterSpacing","borderBottom","padding","whiteSpace","TABLE_BY_DENSITY","comfortable","compact","ROW_HOVER_SELECTED_SX","boxShadow","ROW_CLICKABLE_SX","cursor","outline","outlineOffset","ROW_STATIC_SX","HEADER_CHECKBOX_CELL_SX","width","position","top","zIndex","BODY_CHECKBOX_CELL_SX","HOVER_ONLY_CELL_SX","opacity","transition","ERROR_CELL_SX","ERROR_INNER_SX","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","PAGINATION_CONTAINER_SX","display","alignItems","flexWrap","gap","borderTop","PAGINATION_RANGE_SX","flex","fontVariantNumeric","PAGINATION_PAGESIZE_GROUP_SX","PAGINATION_NAV_GROUP_SX","PAGINATION_PAGE_OF_SX","minWidth","textAlign","PAGINATION_SELECT_SX","height","Pagination","_ref","page","pageSize","onPageChange","onPageSizeChange","_ref$pageSizes","pageSizes","pages","Math","max","ceil","min","go","p","useMemo","nf","format","jsxs","component","sx","children","jsx","role","size","onChange","inputProps","onClick","disabled"],"sources":["../../../src/lib/v2/patterns/_dataGridShared.tsx"],"sourcesContent":["/**\r\n * _dataGridShared — Portnet UI v2 (private)\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport KeyboardArrowLeftIcon from \"@mui/icons-material/KeyboardArrowLeft\";\r\nimport KeyboardArrowRightIcon from \"@mui/icons-material/KeyboardArrowRight\";\r\nimport FirstPageIcon from \"@mui/icons-material/FirstPage\";\r\nimport LastPageIcon from \"@mui/icons-material/LastPage\";\r\nimport Select from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density, RowId } from \"../types/common\";\r\nimport type { DataGridLabels, DataGridPaginationLabels } from \"../types/datagrid\";\r\nimport { mergeLabels as mergeLabelDict } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Strips optionality AND an explicitly-declared `| undefined`.\r\n *\r\n * `Required<T>` is NOT sufficient here, and the difference is invisible until it\r\n * bites. `-?` removes `undefined` only when it was IMPLIED by the `?` marker.\r\n * Under `exactOptionalPropertyTypes` — mandatory platform-wide — the public label\r\n * shapes declare `?: T | undefined` explicitly, so that `undefined` is part of\r\n * the declared type and survives `Required<>`. The \"fully-resolved\" shapes below\r\n * silently stopped being resolved, and every renderer that read them without an\r\n * optional check became a type error (three of them).\r\n *\r\n * `Exclude<T[K], undefined>` removes it for real. Behaviour is identical to what\r\n * `Required<>` produced BEFORE the optional props were widened — this restores\r\n * the original intent rather than changing it.\r\n */\r\ntype Concrete<T> = { [K in keyof T]-?: Exclude<T[K], undefined> };\r\n\r\n/**\r\n * Fully-resolved (all-present) label shapes. The public DataGridLabels /\r\n * DataGridPaginationLabels (../types/datagrid) are the OVERRIDE shapes (every\r\n * field optional). After mergeLabels every field is guaranteed present, so the\r\n * renderers (Pagination, DataGrid) read them without optional access.\r\n */\r\nexport type ResolvedDataGridPaginationLabels = Concrete<DataGridPaginationLabels>;\r\nexport type ResolvedDataGridLabels = Concrete<Omit<DataGridLabels, \"pagination\">> & {\r\n pagination: ResolvedDataGridPaginationLabels;\r\n};\r\n\r\nexport const DEFAULT_PAGE_SIZES = [25, 50, 100];\r\nexport const DEFAULT_MAX_BODY_HEIGHT = \"70vh\";\r\n\r\nexport const DEFAULT_LABELS: ResolvedDataGridLabels = Object.freeze({\r\n tableAria: \"Tableau\",\r\n selectAll: \"Tout sélectionner\",\r\n selectRow: (id: RowId) => `Sélectionner la ligne ${id}`,\r\n actionsHeader: \"Actions\",\r\n pagination: Object.freeze({\r\n loading: \"Chargement…\",\r\n rowsPerPage: \"Lignes par page\",\r\n firstPage: \"Première page\",\r\n previousPage: \"Page précédente\",\r\n nextPage: \"Page suivante\",\r\n lastPage: \"Dernière page\",\r\n navLabel: \"Pagination\",\r\n rangeOf: (from: number, to: number, total: number, fmt: (n: number) => string) => `${from}–${to} sur ${fmt(total)}`,\r\n }),\r\n});\r\n\r\nexport function mergeLabels(labels?: DataGridLabels): ResolvedDataGridLabels {\r\n if (!labels) return DEFAULT_LABELS;\r\n /*\r\n * Both levels go through the shared undefined-safe merge. A spread does not skip\r\n * explicit `undefined`, so the previous form — a bare object spread of the\r\n * overrides over the defaults — let a consumer passing `selectRow: undefined`\r\n * DELETE the default and crash the renderer. The old `|| {}` guarded the nested\r\n * `pagination` object against being undefined, but not its individual VALUES —\r\n * same hazard, one level down.\r\n *\r\n * The broken form is described rather than quoted, deliberately:\r\n * scripts/fix-label-merge.mjs is a text scan, and a verbatim copy here matched it\r\n * — so the codemod offered to rewrite this COMMENT. Same lesson KPICard already\r\n * records for the banned-patterns guard.\r\n *\r\n * `pagination` is merged at its OWN level, deliberately, rather than through a\r\n * recursive deep merge: two explicit levels can be read, whereas a recursive\r\n * helper hides how deep it goes and raises the question of what it does to\r\n * arrays. Convention for the whole library: a nested label dictionary is\r\n * merged at its own level.\r\n */\r\n return mergeLabelDict(DEFAULT_LABELS, {\r\n ...labels,\r\n pagination: mergeLabelDict(DEFAULT_LABELS.pagination, labels.pagination),\r\n });\r\n}\r\n\r\nexport function makeNumberFormatter(locale?: string): Intl.NumberFormat {\r\n try { return new Intl.NumberFormat(locale); }\r\n catch { return new Intl.NumberFormat(\"fr-FR\"); }\r\n}\r\n\r\nexport function applyColumnOrder<C extends { key: string }>(\r\n columns: C[],\r\n columnOrder: string[] | null | undefined\r\n): C[] {\r\n if (!columnOrder || columnOrder.length === 0) return columns;\r\n const byKey = new Map<string, C>(columns.map((c): [string, C] => [c.key, c]));\r\n const ordered: C[] = [];\r\n for (const key of columnOrder) {\r\n const col = byKey.get(key);\r\n if (col !== undefined) { ordered.push(col); byKey.delete(key); }\r\n }\r\n for (const col of byKey.values()) ordered.push(col);\r\n return ordered;\r\n}\r\n\r\nfunction columnsSignature(columns: unknown): string {\r\n if (!Array.isArray(columns)) return \"\";\r\n return (columns as unknown[])\r\n .map((c) => (c && typeof c === \"object\" ? (c as { key?: unknown }).key : c))\r\n .join(\"|\");\r\n}\r\n\r\nexport function useColumnsStabilityWarn(columns: unknown): void {\r\n const prevColumnsRef = React.useRef(columns);\r\n const warnedRef = React.useRef(false);\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n if (warnedRef.current) return;\r\n if (prevColumnsRef.current === columns) return;\r\n const prevSig = columnsSignature(prevColumnsRef.current);\r\n const nextSig = columnsSignature(columns);\r\n if (prevSig && prevSig === nextSig) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\"[@portnet/ui v2] DataGrid received a new `columns` reference with identical column keys. Define columns outside render or wrap in useMemo.\");\r\n warnedRef.current = true;\r\n }\r\n prevColumnsRef.current = columns;\r\n });\r\n}\r\n\r\nexport const PAGINATION_ICON_SX = Object.freeze({ transform: \"scaleX(var(--pui-rtl-flip, 1))\" });\r\nexport const CONTAINER_SX = Object.freeze({ background: \"transparent\", overflow: \"hidden\" } satisfies SxProps<Theme>);\r\n\r\n/*\r\n * TABLE_BASE_SX — applied to the MUI <Table> via the sx prop.\r\n *\r\n * textTransform: \"none\" is INTENTIONALLY EXPLICIT here.\r\n *\r\n * Why not rely on the MUI theme (MuiTableCell.head.textTransform: \"none\")?\r\n *\r\n * Emotion injects sx-prop rules AFTER theme styleOverrides. Both rules\r\n * target <th> with equal specificity (1 class + 1 element). The last\r\n * one injected wins. sx wins over theme → the sx value is the truth.\r\n *\r\n * The old bug: this object had textTransform:\"uppercase\" which silently\r\n * overrode the theme's \"none\". The fix: keep explicit \"none\" here so\r\n * the correct value wins unconditionally, regardless of injection order.\r\n *\r\n * letterSpacing is reset to \"normal\" because all-caps text uses wider\r\n * tracking which looks wrong on title-case column headers.\r\n */\r\nconst TABLE_BASE_SX = Object.freeze({\r\n borderCollapse: \"separate\",\r\n borderSpacing: 0,\r\n \"& thead th\": {\r\n backgroundColor: \"var(--bg-subtle)\",\r\n color: \"var(--fg-muted)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n fontSize: \"var(--text-xs)\",\r\n textTransform: \"none\", // EXPLICIT — beats emotion injection order\r\n letterSpacing: \"normal\", // reset all-caps tracking\r\n borderBottom: \"1px solid var(--border)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n whiteSpace: \"nowrap\",\r\n },\r\n \"& tbody td\": {\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nexport const TABLE_BY_DENSITY: Record<Density, SxProps<Theme>> = Object.freeze({\r\n comfortable: TABLE_BASE_SX,\r\n compact: Object.freeze({\r\n ...TABLE_BASE_SX,\r\n \"& tbody td\": { ...TABLE_BASE_SX[\"& tbody td\"], padding: \"var(--s-2) var(--s-4)\" },\r\n } satisfies SxProps<Theme>),\r\n});\r\n\r\nconst ROW_HOVER_SELECTED_SX = Object.freeze({\r\n \"&:nth-of-type(even)\": { backgroundColor: \"var(--bg-subtle)\" },\r\n \"&:hover\": { backgroundColor: \"var(--bg-hover)\" },\r\n \"&[data-selected]\": { backgroundColor: \"var(--accent-soft)\" },\r\n \"&[data-active]\": {\r\n backgroundColor: \"var(--accent-soft)\",\r\n \"& > td:first-of-type\": { boxShadow: \"inset calc(3px * var(--pui-rtl-flip, 1)) 0 0 var(--accent)\" },\r\n },\r\n});\r\n\r\nexport const ROW_CLICKABLE_SX = Object.freeze({\r\n ...ROW_HOVER_SELECTED_SX,\r\n cursor: \"pointer\",\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset-inset)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nexport const ROW_STATIC_SX = Object.freeze({ ...ROW_HOVER_SELECTED_SX, cursor: \"default\" } satisfies SxProps<Theme>);\r\n\r\nexport const HEADER_CHECKBOX_CELL_SX = Object.freeze({ width: \"var(--tactile-min)\", position: \"sticky\", top: 0, zIndex: 2 } satisfies SxProps<Theme>);\r\nexport const BODY_CHECKBOX_CELL_SX = Object.freeze({ width: \"var(--tactile-min)\" });\r\n\r\nexport const HOVER_ONLY_CELL_SX = Object.freeze({\r\n opacity: 0,\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n \"tr:hover &, tr:focus-within &\": { opacity: 1 },\r\n \"@media (pointer: coarse)\": { opacity: 1 },\r\n});\r\n\r\nexport const ERROR_CELL_SX = Object.freeze({ padding: 0, borderBottom: \"none\" });\r\nexport const ERROR_INNER_SX = Object.freeze({ padding: \"var(--s-4)\" });\r\n\r\nexport const FILLER_CELL_SX = Object.freeze({ padding: 0, borderBottom: \"1px solid var(--border)\" });\r\nexport const FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0, position: \"sticky\", top: 0, zIndex: 1,\r\n background: \"var(--bg-subtle)\", borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Pagination ─────────────────────────────────────────────────── */\r\n\r\nconst PAGINATION_CONTAINER_SX = Object.freeze({\r\n display: \"flex\", alignItems: \"center\",\r\n // R-RS / WCAG 1.4.10 — the control groups (range / page-size / nav)\r\n // must wrap onto extra lines on narrow viewports. Their combined fixed\r\n // width (~400px+) exceeds a 320–375px phone, so without flexWrap the\r\n // bar overflowed its container and pushed the nav buttons off-screen.\r\n // rowGap (s2) keeps wrapped rows tight; columnGap (s4) is the original\r\n // inter-group spacing on a single row.\r\n flexWrap: \"wrap\", gap: \"var(--s-2) var(--s-4)\",\r\n padding: \"var(--s-2) var(--s-4)\", borderTop: \"1px solid var(--border)\",\r\n background: \"var(--surface)\", fontSize: \"var(--text-xs)\", color: \"var(--fg-muted)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PAGINATION_RANGE_SX = Object.freeze({ flex: 1, fontVariantNumeric: \"tabular-nums\" });\r\nconst PAGINATION_PAGESIZE_GROUP_SX = Object.freeze({ display: \"flex\", alignItems: \"center\", gap: \"var(--s-2)\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_NAV_GROUP_SX = Object.freeze({ display: \"flex\", alignItems: \"center\", gap: \"var(--s-1)\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_PAGE_OF_SX = Object.freeze({ minWidth: 56, textAlign: \"center\", fontVariantNumeric: \"tabular-nums\" } satisfies SxProps<Theme>);\r\nconst PAGINATION_SELECT_SX = Object.freeze({ fontSize: \"var(--text-xs)\", height: 28 });\r\n\r\nexport interface PaginationProps {\r\n page: number;\r\n pageSize: number;\r\n total: number;\r\n onPageChange: (page: number) => void;\r\n onPageSizeChange?: ((pageSize: number) => void) | undefined;\r\n pageSizes?: number[] | undefined;\r\n loading?: boolean | undefined;\r\n locale?: string | undefined;\r\n labels: ResolvedDataGridPaginationLabels;\r\n}\r\n\r\nexport function Pagination({ page, pageSize, total, onPageChange, onPageSizeChange, pageSizes = DEFAULT_PAGE_SIZES, loading, locale, labels }: PaginationProps) {\r\n const pages = Math.max(1, Math.ceil(total / pageSize));\r\n const from = total === 0 ? 0 : (page - 1) * pageSize + 1;\r\n const to = Math.min(total, page * pageSize);\r\n const go = (p: number) => onPageChange(Math.min(pages, Math.max(1, p)));\r\n\r\n const fmt = React.useMemo(() => {\r\n const nf = makeNumberFormatter(locale);\r\n return (n: number) => nf.format(n);\r\n }, [locale]);\r\n\r\n return (\r\n <Box component=\"nav\" aria-label={labels.navLabel} sx={PAGINATION_CONTAINER_SX}>\r\n {/* PAGE-2 — polite, atomic live region so SR users hear the position\r\n change (\"1–25 sur 100\" → \"26–50 sur 100\") as they page. */}\r\n <Box role=\"status\" aria-live=\"polite\" aria-atomic=\"true\" sx={PAGINATION_RANGE_SX}>{loading ? labels.loading : labels.rangeOf(from, to, total, fmt)}</Box>\r\n {onPageSizeChange && (\r\n <Box sx={PAGINATION_PAGESIZE_GROUP_SX}>\r\n <span>{labels.rowsPerPage}</span>\r\n <Select size=\"small\" value={pageSize} onChange={(e) => onPageSizeChange(Number(e.target.value))} inputProps={{ \"aria-label\": String(labels.rowsPerPage) }} sx={PAGINATION_SELECT_SX}>\r\n {pageSizes.map((s) => <MenuItem key={s} value={s}>{s}</MenuItem>)}\r\n </Select>\r\n </Box>\r\n )}\r\n <Box sx={PAGINATION_NAV_GROUP_SX}>\r\n <IconButton size=\"small\" onClick={() => go(1)} disabled={page <= 1} aria-label={labels.firstPage}><FirstPageIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <IconButton size=\"small\" onClick={() => go(page - 1)} disabled={page <= 1} aria-label={labels.previousPage}><KeyboardArrowLeftIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <Box sx={PAGINATION_PAGE_OF_SX}>{page} / {pages}</Box>\r\n <IconButton size=\"small\" onClick={() => go(page + 1)} disabled={page >= pages} aria-label={labels.nextPage}><KeyboardArrowRightIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n <IconButton size=\"small\" onClick={() => go(pages)} disabled={page >= pages} aria-label={labels.lastPage}><LastPageIcon fontSize=\"small\" sx={PAGINATION_ICON_SX} /></IconButton>\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -42,7 +42,7 @@ import type { SxProps, Theme } from "@mui/material/styles";
42
42
  * onDrop never fires.
43
43
  */
44
44
  export interface UseColumnReorderOptions {
45
- resizeIsActive?: boolean;
45
+ resizeIsActive?: boolean | undefined;
46
46
  }
47
47
  export interface ColumnReorderCellHandlers {
48
48
  draggable: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"_useColumnReorder.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,yBAAyB,CAAC;IACzD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wEAAwE;IACxE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iFAAiF;IACjF,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACvC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EACjC,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,EAC5D,OAAO,GAAE,uBAA4B,GACpC,sBAAsB,CAqOxB"}
1
+ {"version":3,"file":"_useColumnReorder.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,MAAM,WAAW,uBAAuB;IACtC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,yBAAyB,CAAC;IACzD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IACpD,YAAY,EAAE,OAAO,CAAC;IACtB,0EAA0E;IAC1E,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wEAAwE;IACxE,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iFAAiF;IACjF,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,OAAO,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACvC,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EACjC,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,EAC5D,OAAO,GAAE,uBAA4B,GACpC,sBAAsB,CAqOxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","_React$useState","useState","_React$useState2","dragKey","setDragKey","_React$useState3","_React$useState4","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","e","preventDefault","dataTransfer","effectAllowed","setData","_unused","onDragOver","dropEffect","_unused2","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","opacity","boxShadow","commitOrder","swap","dir","idx","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","_React$useState","useState","_React$useState2","dragKey","setDragKey","_React$useState3","_React$useState4","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","e","preventDefault","dataTransfer","effectAllowed","setData","_unused","onDragOver","dropEffect","_unused2","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","opacity","boxShadow","commitOrder","swap","dir","idx","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean | undefined;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ import * as React from "react";
36
36
  */
37
37
  export type ColumnWidths = Record<string, number>;
38
38
  export interface UseColumnResizeOptions {
39
- minWidth?: number;
39
+ minWidth?: number | undefined;
40
40
  }
41
41
  export interface UseColumnResizeResult {
42
42
  handleMouseDown: (key: string) => (e: React.MouseEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"_useColumnResize.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_useColumnResize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAKlD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IACjE,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,SAAS,EAClE,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAuJvB"}
1
+ {"version":3,"file":"_useColumnResize.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_useColumnResize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAKlD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAChE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IACjE,UAAU,EAAE,YAAY,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,CAAC,OAAO,UAAU,eAAe,CACrC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,SAAS,EAClE,OAAO,GAAE,sBAA2B,GACnC,qBAAqB,CAuJvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"_useColumnResize.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","KEYBOARD_STEP","useColumnResize","columnWidths","onColumnWidthsChange","_options$minWidth","options","minWidth","_React$useState","useState","_React$useState2","draggingKey","setDraggingKey","_React$useState3","_React$useState4","liveWidth","setLiveWidth","liveWidthRef","useRef","dragStateRef","columnWidthsRef","useEffect","current","cellDirection","grip","cell","closest","window","getComputedStyle","direction","handleMouseDown","useCallback","e","_ref","preventDefault","stopPropagation","currentTarget","currentWidth","offsetWidth","x","clientX","width","handleKeyDown","_ref2","isLeft","isRight","isHome","clamped","Math","max","round","onMove","start","delta","onUp","_liveWidthRef$current","finalWidth","addEventListener","removeEventListener","liveWidths","useMemo","isResizing"],"sources":["../../../src/lib/v2/patterns/_useColumnResize.ts"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * useColumnResize — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized resize\r\n * feature. NOT exported from the patterns barrel; underscore filename\r\n * prefix is the convention.\r\n *\r\n * const { handleMouseDown, handleKeyDown, liveWidths, isResizing, minWidth } =\r\n * useColumnResize(\r\n * columnWidths, // controlled\r\n * onColumnWidthsChange, // controlled\r\n * { minWidth: 50 }\r\n * );\r\n *\r\n * Behaviour (pointer):\r\n * - handleMouseDown(key) returns an onMouseDown handler. Attach to\r\n * the grip element on each `<th>` border.\r\n * - On mousedown: captures starting clientX + current width + the\r\n * direction of the cell's writing mode (LTR vs RTL). Sets\r\n * `isResizing = true` so callers (e.g. the reorder hook) can\r\n * short-circuit.\r\n * - On mousemove (window-bound): computes the resize delta\r\n * respecting RTL and updates a local \"live\" width via state.\r\n * Floors at `minWidth`.\r\n * - On mouseup (window-bound): commits the live width to the host\r\n * via `onColumnWidthsChange`. Clears all internal state.\r\n *\r\n * Behaviour (keyboard, DG-2 / WCAG 2.1.1):\r\n * - handleKeyDown(key) returns an onKeyDown handler for the SAME grip\r\n * (the grip is a focusable role=\"separator\"). ArrowRight / ArrowLeft\r\n * nudge the width by KEYBOARD_STEP px, RTL-aware so the direction\r\n * matches a rightward drag; Home resets to `minWidth`. Each press\r\n * commits immediately via `onColumnWidthsChange` (no drag session).\r\n * - `minWidth` is returned so the separator can advertise aria-valuemin.\r\n */\r\n\r\nexport type ColumnWidths = Record<string, number>;\r\n\r\n/** Width delta (px) applied per Arrow key press in keyboard resize. */\r\nconst KEYBOARD_STEP = 16;\r\n\r\nexport interface UseColumnResizeOptions {\r\n minWidth?: number;\r\n}\r\n\r\nexport interface UseColumnResizeResult {\r\n handleMouseDown: (key: string) => (e: React.MouseEvent) => void;\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n liveWidths: ColumnWidths | undefined;\r\n isResizing: boolean;\r\n minWidth: number;\r\n}\r\n\r\ninterface DragState {\r\n x: number;\r\n width: number;\r\n key: string;\r\n direction: 1 | -1;\r\n}\r\n\r\nexport default function useColumnResize(\r\n columnWidths: ColumnWidths | undefined,\r\n onColumnWidthsChange: ((widths: ColumnWidths) => void) | undefined,\r\n options: UseColumnResizeOptions = {}\r\n): UseColumnResizeResult {\r\n const minWidth = options.minWidth ?? 50;\r\n\r\n // React state for \"draggingKey\" + \"liveWidth\" drives the rendered\r\n // width during drag. Refs carry the latest values across the\r\n // mouseup closure (avoids the stale-closure bug).\r\n const [draggingKey, setDraggingKey] = React.useState<string | null>(null);\r\n const [liveWidth, setLiveWidth] = React.useState<number | null>(null);\r\n const liveWidthRef = React.useRef<number | null>(null);\r\n const dragStateRef = React.useRef<DragState | null>(null);\r\n\r\n // Keep the latest columnWidths reference reachable from the\r\n // mouseup closure without re-binding listeners on every prop\r\n // change. Avoids tearing down + re-adding the window listeners\r\n // on each parent re-render that ships a fresh widths object.\r\n const columnWidthsRef = React.useRef<ColumnWidths | undefined>(columnWidths);\r\n React.useEffect(() => {\r\n columnWidthsRef.current = columnWidths;\r\n }, [columnWidths]);\r\n\r\n // Shared RTL probe for a grip's owning <th>: -1 in RTL, 1 otherwise.\r\n const cellDirection = (grip: HTMLElement): 1 | -1 => {\r\n const cell = grip.closest(\"th\");\r\n return cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\"\r\n ? -1\r\n : 1;\r\n };\r\n\r\n const handleMouseDown = React.useCallback((key: string) => (e: React.MouseEvent) => {\r\n // Block native browser drag (text selection, image drag, the\r\n // ancestor `<th draggable>` if reorder is also on) and the\r\n // sortable-header click that lives next door in the same `<th>`.\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const grip = e.currentTarget as HTMLElement;\r\n const cell = grip.closest(\"th\");\r\n if (!cell) return;\r\n\r\n // RTL detection at the cell level — most accurate (a `dir`\r\n // attribute may be set anywhere up the ancestor chain).\r\n const direction = cellDirection(grip);\r\n\r\n // Starting width: prefer the host-controlled value, fall back to\r\n // the rendered offsetWidth for a column the host hasn't sized.\r\n const currentWidth =\r\n (columnWidthsRef.current && columnWidthsRef.current[key]) ??\r\n cell.offsetWidth;\r\n\r\n dragStateRef.current = {\r\n x: e.clientX,\r\n width: currentWidth,\r\n key,\r\n direction,\r\n };\r\n\r\n liveWidthRef.current = currentWidth;\r\n setLiveWidth(currentWidth);\r\n setDraggingKey(key);\r\n }, []);\r\n\r\n // DG-2 — keyboard resize on the focusable grip. Commits immediately;\r\n // no drag session / window listeners involved.\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n if (!isLeft && !isRight && !isHome) return;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const grip = e.currentTarget as HTMLElement;\r\n const cell = grip.closest(\"th\");\r\n const direction = cellDirection(grip);\r\n\r\n const current =\r\n (columnWidthsRef.current && columnWidthsRef.current[key]) ??\r\n (cell ? cell.offsetWidth : minWidth);\r\n\r\n // RTL-aware so ArrowRight matches a rightward drag (which grows the\r\n // column in LTR and shrinks it in RTL, the grip being on the\r\n // inline-end edge).\r\n const next = isHome\r\n ? minWidth\r\n : current + (isRight ? 1 : -1) * KEYBOARD_STEP * direction;\r\n\r\n const clamped = Math.max(minWidth, Math.round(next));\r\n if (onColumnWidthsChange) {\r\n onColumnWidthsChange({ ...(columnWidthsRef.current || {}), [key]: clamped });\r\n }\r\n },\r\n [minWidth, onColumnWidthsChange]\r\n );\r\n\r\n React.useEffect(() => {\r\n if (!draggingKey) return undefined;\r\n\r\n const onMove = (e: MouseEvent) => {\r\n const start = dragStateRef.current;\r\n if (!start) return;\r\n const delta = (e.clientX - start.x) * start.direction;\r\n const next = Math.max(minWidth, start.width + delta);\r\n liveWidthRef.current = next;\r\n setLiveWidth(next);\r\n };\r\n\r\n const onUp = () => {\r\n const start = dragStateRef.current;\r\n const finalWidth = liveWidthRef.current ?? (start ? start.width : null);\r\n if (start && finalWidth != null && onColumnWidthsChange) {\r\n onColumnWidthsChange({\r\n ...(columnWidthsRef.current || {}),\r\n [start.key]: finalWidth,\r\n });\r\n }\r\n dragStateRef.current = null;\r\n liveWidthRef.current = null;\r\n setLiveWidth(null);\r\n setDraggingKey(null);\r\n };\r\n\r\n window.addEventListener(\"mousemove\", onMove);\r\n window.addEventListener(\"mouseup\", onUp);\r\n return () => {\r\n window.removeEventListener(\"mousemove\", onMove);\r\n window.removeEventListener(\"mouseup\", onUp);\r\n };\r\n // onColumnWidthsChange is intentionally listed — re-creates the\r\n // mouseup closure with the latest setter ref. minWidth is rare\r\n // to change but listed for correctness.\r\n }, [draggingKey, onColumnWidthsChange, minWidth]);\r\n\r\n // Live widths map = host columnWidths with the in-flight drag value\r\n // patched in. Memoised on [draggingKey, liveWidth, columnWidths] so\r\n // the reference is stable when nothing is dragging.\r\n const liveWidths = React.useMemo(() => {\r\n if (!draggingKey || liveWidth == null) return columnWidths;\r\n return { ...(columnWidths || {}), [draggingKey]: liveWidth };\r\n }, [draggingKey, liveWidth, columnWidths]);\r\n\r\n return {\r\n handleMouseDown,\r\n handleKeyDown,\r\n liveWidths,\r\n isResizing: draggingKey != null,\r\n minWidth,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"_useColumnResize.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","KEYBOARD_STEP","useColumnResize","columnWidths","onColumnWidthsChange","_options$minWidth","options","minWidth","_React$useState","useState","_React$useState2","draggingKey","setDraggingKey","_React$useState3","_React$useState4","liveWidth","setLiveWidth","liveWidthRef","useRef","dragStateRef","columnWidthsRef","useEffect","current","cellDirection","grip","cell","closest","window","getComputedStyle","direction","handleMouseDown","useCallback","e","_ref","preventDefault","stopPropagation","currentTarget","currentWidth","offsetWidth","x","clientX","width","handleKeyDown","_ref2","isLeft","isRight","isHome","clamped","Math","max","round","onMove","start","delta","onUp","_liveWidthRef$current","finalWidth","addEventListener","removeEventListener","liveWidths","useMemo","isResizing"],"sources":["../../../src/lib/v2/patterns/_useColumnResize.ts"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * useColumnResize — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized resize\r\n * feature. NOT exported from the patterns barrel; underscore filename\r\n * prefix is the convention.\r\n *\r\n * const { handleMouseDown, handleKeyDown, liveWidths, isResizing, minWidth } =\r\n * useColumnResize(\r\n * columnWidths, // controlled\r\n * onColumnWidthsChange, // controlled\r\n * { minWidth: 50 }\r\n * );\r\n *\r\n * Behaviour (pointer):\r\n * - handleMouseDown(key) returns an onMouseDown handler. Attach to\r\n * the grip element on each `<th>` border.\r\n * - On mousedown: captures starting clientX + current width + the\r\n * direction of the cell's writing mode (LTR vs RTL). Sets\r\n * `isResizing = true` so callers (e.g. the reorder hook) can\r\n * short-circuit.\r\n * - On mousemove (window-bound): computes the resize delta\r\n * respecting RTL and updates a local \"live\" width via state.\r\n * Floors at `minWidth`.\r\n * - On mouseup (window-bound): commits the live width to the host\r\n * via `onColumnWidthsChange`. Clears all internal state.\r\n *\r\n * Behaviour (keyboard, DG-2 / WCAG 2.1.1):\r\n * - handleKeyDown(key) returns an onKeyDown handler for the SAME grip\r\n * (the grip is a focusable role=\"separator\"). ArrowRight / ArrowLeft\r\n * nudge the width by KEYBOARD_STEP px, RTL-aware so the direction\r\n * matches a rightward drag; Home resets to `minWidth`. Each press\r\n * commits immediately via `onColumnWidthsChange` (no drag session).\r\n * - `minWidth` is returned so the separator can advertise aria-valuemin.\r\n */\r\n\r\nexport type ColumnWidths = Record<string, number>;\r\n\r\n/** Width delta (px) applied per Arrow key press in keyboard resize. */\r\nconst KEYBOARD_STEP = 16;\r\n\r\nexport interface UseColumnResizeOptions {\r\n minWidth?: number | undefined;\r\n}\r\n\r\nexport interface UseColumnResizeResult {\r\n handleMouseDown: (key: string) => (e: React.MouseEvent) => void;\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n liveWidths: ColumnWidths | undefined;\r\n isResizing: boolean;\r\n minWidth: number;\r\n}\r\n\r\ninterface DragState {\r\n x: number;\r\n width: number;\r\n key: string;\r\n direction: 1 | -1;\r\n}\r\n\r\nexport default function useColumnResize(\r\n columnWidths: ColumnWidths | undefined,\r\n onColumnWidthsChange: ((widths: ColumnWidths) => void) | undefined,\r\n options: UseColumnResizeOptions = {}\r\n): UseColumnResizeResult {\r\n const minWidth = options.minWidth ?? 50;\r\n\r\n // React state for \"draggingKey\" + \"liveWidth\" drives the rendered\r\n // width during drag. Refs carry the latest values across the\r\n // mouseup closure (avoids the stale-closure bug).\r\n const [draggingKey, setDraggingKey] = React.useState<string | null>(null);\r\n const [liveWidth, setLiveWidth] = React.useState<number | null>(null);\r\n const liveWidthRef = React.useRef<number | null>(null);\r\n const dragStateRef = React.useRef<DragState | null>(null);\r\n\r\n // Keep the latest columnWidths reference reachable from the\r\n // mouseup closure without re-binding listeners on every prop\r\n // change. Avoids tearing down + re-adding the window listeners\r\n // on each parent re-render that ships a fresh widths object.\r\n const columnWidthsRef = React.useRef<ColumnWidths | undefined>(columnWidths);\r\n React.useEffect(() => {\r\n columnWidthsRef.current = columnWidths;\r\n }, [columnWidths]);\r\n\r\n // Shared RTL probe for a grip's owning <th>: -1 in RTL, 1 otherwise.\r\n const cellDirection = (grip: HTMLElement): 1 | -1 => {\r\n const cell = grip.closest(\"th\");\r\n return cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\"\r\n ? -1\r\n : 1;\r\n };\r\n\r\n const handleMouseDown = React.useCallback((key: string) => (e: React.MouseEvent) => {\r\n // Block native browser drag (text selection, image drag, the\r\n // ancestor `<th draggable>` if reorder is also on) and the\r\n // sortable-header click that lives next door in the same `<th>`.\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const grip = e.currentTarget as HTMLElement;\r\n const cell = grip.closest(\"th\");\r\n if (!cell) return;\r\n\r\n // RTL detection at the cell level — most accurate (a `dir`\r\n // attribute may be set anywhere up the ancestor chain).\r\n const direction = cellDirection(grip);\r\n\r\n // Starting width: prefer the host-controlled value, fall back to\r\n // the rendered offsetWidth for a column the host hasn't sized.\r\n const currentWidth =\r\n (columnWidthsRef.current && columnWidthsRef.current[key]) ??\r\n cell.offsetWidth;\r\n\r\n dragStateRef.current = {\r\n x: e.clientX,\r\n width: currentWidth,\r\n key,\r\n direction,\r\n };\r\n\r\n liveWidthRef.current = currentWidth;\r\n setLiveWidth(currentWidth);\r\n setDraggingKey(key);\r\n }, []);\r\n\r\n // DG-2 — keyboard resize on the focusable grip. Commits immediately;\r\n // no drag session / window listeners involved.\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n if (!isLeft && !isRight && !isHome) return;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const grip = e.currentTarget as HTMLElement;\r\n const cell = grip.closest(\"th\");\r\n const direction = cellDirection(grip);\r\n\r\n const current =\r\n (columnWidthsRef.current && columnWidthsRef.current[key]) ??\r\n (cell ? cell.offsetWidth : minWidth);\r\n\r\n // RTL-aware so ArrowRight matches a rightward drag (which grows the\r\n // column in LTR and shrinks it in RTL, the grip being on the\r\n // inline-end edge).\r\n const next = isHome\r\n ? minWidth\r\n : current + (isRight ? 1 : -1) * KEYBOARD_STEP * direction;\r\n\r\n const clamped = Math.max(minWidth, Math.round(next));\r\n if (onColumnWidthsChange) {\r\n onColumnWidthsChange({ ...(columnWidthsRef.current || {}), [key]: clamped });\r\n }\r\n },\r\n [minWidth, onColumnWidthsChange]\r\n );\r\n\r\n React.useEffect(() => {\r\n if (!draggingKey) return undefined;\r\n\r\n const onMove = (e: MouseEvent) => {\r\n const start = dragStateRef.current;\r\n if (!start) return;\r\n const delta = (e.clientX - start.x) * start.direction;\r\n const next = Math.max(minWidth, start.width + delta);\r\n liveWidthRef.current = next;\r\n setLiveWidth(next);\r\n };\r\n\r\n const onUp = () => {\r\n const start = dragStateRef.current;\r\n const finalWidth = liveWidthRef.current ?? (start ? start.width : null);\r\n if (start && finalWidth != null && onColumnWidthsChange) {\r\n onColumnWidthsChange({\r\n ...(columnWidthsRef.current || {}),\r\n [start.key]: finalWidth,\r\n });\r\n }\r\n dragStateRef.current = null;\r\n liveWidthRef.current = null;\r\n setLiveWidth(null);\r\n setDraggingKey(null);\r\n };\r\n\r\n window.addEventListener(\"mousemove\", onMove);\r\n window.addEventListener(\"mouseup\", onUp);\r\n return () => {\r\n window.removeEventListener(\"mousemove\", onMove);\r\n window.removeEventListener(\"mouseup\", onUp);\r\n };\r\n // onColumnWidthsChange is intentionally listed — re-creates the\r\n // mouseup closure with the latest setter ref. minWidth is rare\r\n // to change but listed for correctness.\r\n }, [draggingKey, onColumnWidthsChange, minWidth]);\r\n\r\n // Live widths map = host columnWidths with the in-flight drag value\r\n // patched in. Memoised on [draggingKey, liveWidth, columnWidths] so\r\n // the reference is stable when nothing is dragging.\r\n const liveWidths = React.useMemo(() => {\r\n if (!draggingKey || liveWidth == null) return columnWidths;\r\n return { ...(columnWidths || {}), [draggingKey]: liveWidth };\r\n }, [draggingKey, liveWidth, columnWidths]);\r\n\r\n return {\r\n handleMouseDown,\r\n handleKeyDown,\r\n liveWidths,\r\n isResizing: draggingKey != null,\r\n minWidth,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -50,6 +50,33 @@ export { default as FormikInput } from "./FormikInput";
50
50
  export { default as FormikTextarea } from "./FormikTextarea";
51
51
  export { default as FormikSelect } from "./FormikSelect";
52
52
  export { default as FormikCombobox } from "./FormikCombobox";
53
+ /**
54
+ * FormikCombobox props — public typed surface.
55
+ *
56
+ * SAME GAP-TS-003 CLASS as the ReferentielField note above. That fix covered
57
+ * `ReferentielField` and `FormikReferentielField` but was not extended to the
58
+ * other Formik bridges: the VALUE is exported while the type describing its props
59
+ * is not, so a consumer cannot write `Omit<FormikComboboxProps<T>, …>`.
60
+ *
61
+ * REQUESTED BY bmdav-fe (TypeScript migration, batch 6f). That module stores the
62
+ * OPTION OBJECT in Formik rather than a primitive key, because its payload mapper
63
+ * reads `values.typeDemande.id` and sends `delegationTraitement` as a whole
64
+ * object — so it cannot adopt the primitive-key model without changing the
65
+ * request body sent to bmdav-be. It contains the resulting variance in ONE local
66
+ * adapter (`ObjectValuedFormikCombobox`) rather than scattering assertions across
67
+ * call sites, and that adapter must restate this component's prop contract minus
68
+ * `getOptionValue`. The deep-import fallback is unavailable under
69
+ * `moduleResolution: "bundler"`, since the package `exports` map does not expose
70
+ * `dist/v2/patterns/*`.
71
+ *
72
+ * `ComboboxOptionValue` is deliberately NOT re-exported here — it is already
73
+ * surfaced from `./components` (Combobox), and a second named export at the
74
+ * library root would be a TS2308 ambiguity, exactly as recorded above for
75
+ * `ReferentielSearchResult` / `ReferentielSearchParams`.
76
+ *
77
+ * Additive and type-only: no runtime change, no existing export altered.
78
+ */
79
+ export type { FormikComboboxProps } from "./FormikCombobox";
53
80
  export { default as FormikDatePicker } from "./FormikDatePicker";
54
81
  export { default as FormikFile } from "./FormikFile";
55
82
  export { default as FormikCheckboxGroup } from "./FormikCheckboxGroup";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/index.ts"],"names":[],"mappings":"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"}