@portnet/ui 6.0.1 → 6.0.3

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 (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_DatePicker","_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","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","toPrimitive","undefined","res","TypeError","Number","DEFAULT_LABELS","freeze","startLabel","endLabel","presetsAria","ROOT_SX","display","flexDirection","xs","sm","gap","PRESETS_GROUP_SX","flexWrap","minWidth","PICKERS_ROW_SX","flex","alignItems","FIELD_BLOCK_SX","FIELD_LABEL_SX","fontSize","fontWeight","color","marginBottom","SEPARATOR_SX","paddingBottom","transform","PRESET_BUTTON_SX","font","background","border","padding","borderRadius","cursor","textAlign","whiteSpace","minHeight","borderColor","outline","outlineOffset","opacity","DateRangePicker","_ref","_value$startDate","_value$endDate","onChange","minDate","maxDate","_ref$disablePast","disablePast","_ref$disableFuture","disableFuture","_ref$disabled","disabled","_ref$readOnly","readOnly","presets","_ref$adapterLocale","adapterLocale","labels","sx","L","mergeLabels","startDate","endDate","startInputId","useId","endInputId","setStart","next","newEnd","setEnd","newStart","applyPreset","preset","from","to","endEffectiveMinDate","jsxs","children","jsx","role","map","p","_p$id","component","type","onClick","label","id","htmlFor","inputProps","_default","exports"],"sources":["../../../src/lib/v2/components/DateRangePicker.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport DatePicker from \"./DatePicker\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DateRangePicker — Portnet UI v2\r\n *\r\n * Two DatePicker instances side-by-side with cross-validation and\r\n * optional preset shortcuts. Built without @mui/x-date-pickers-pro —\r\n * see commit message for rationale.\r\n *\r\n * <Field label=\"Période\">\r\n * <DateRangePicker\r\n * value={{ startDate: from, endDate: to }}\r\n * onChange={({ startDate, endDate }) => setRange({ from: startDate, to: endDate })}\r\n * presets={[\r\n * { label: \"Aujourd'hui\", from: today, to: today },\r\n * { label: \"7 derniers jours\", from: weekAgo, to: today },\r\n * { label: \"Ce mois\", from: monthStart, to: monthEnd },\r\n * ]}\r\n * />\r\n * </Field>\r\n *\r\n * Value contract:\r\n * - value: { startDate: Date|null, endDate: Date|null } | null\r\n * - onChange({ startDate, endDate }) — both fields always included.\r\n * - Invalid dates from inner pickers come through as null; the\r\n * range stays consistent.\r\n *\r\n * Cross-validation:\r\n * - Picking startDate > endDate clamps endDate to startDate.\r\n * - Picking endDate < startDate clamps startDate to endDate.\r\n * - The end picker's effective minDate is max(startDate, minDate\r\n * prop) so the calendar dialog itself prevents invalid selection.\r\n *\r\n * Presets:\r\n * - Host-supplied. Shape: { id?, label, from, to }.\r\n * - Clicking a preset fires onChange with the preset's range.\r\n * - Lib ships NO default presets (locale + business meaning vary).\r\n *\r\n * A11y:\r\n * - Each inner DatePicker carries its own label via React.useId\r\n * plumbed through inputProps.id + <label htmlFor>.\r\n * - The presets group is wrapped in role=\"group\" with an\r\n * aria-label so SR users hear \"Raccourcis\" before the buttons.\r\n *\r\n * Locale + i18n:\r\n * - adapterLocale forwards to BOTH inner pickers.\r\n * - labels.{startLabel, endLabel} override the FR defaults.\r\n * - presets.label is host-controlled, host owns translation.\r\n */\r\n\r\nexport interface DateRangeValue {\r\n startDate: Date | null;\r\n endDate: Date | null;\r\n}\r\n\r\nexport interface DateRangePreset {\r\n id?: string | number | undefined;\r\n label: React.ReactNode;\r\n from: Date;\r\n to: Date;\r\n}\r\n\r\nexport interface DateRangeLabels {\r\n startLabel?: React.ReactNode | undefined;\r\n endLabel?: React.ReactNode | undefined;\r\n presetsAria?: string | undefined;\r\n}\r\n\r\nexport interface DateRangePickerProps {\r\n value?: DateRangeValue | null | undefined;\r\n onChange?: ((value: DateRangeValue) => void) | undefined;\r\n minDate?: Date | null | undefined;\r\n maxDate?: Date | null | undefined;\r\n disablePast?: boolean | undefined;\r\n disableFuture?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n readOnly?: boolean | undefined;\r\n presets?: DateRangePreset[] | undefined;\r\n adapterLocale?: string | undefined;\r\n labels?: DateRangeLabels | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n startLabel: \"Du\",\r\n endLabel: \"Au\",\r\n presetsAria: \"Raccourcis\",\r\n});\r\n\r\n// Hoisted sx for visible elements that don't depend on props. The\r\n// preset button sx is hoisted too — same emotion-cache rationale as\r\n// Batch 14 D5.\r\nconst ROOT_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"column\", sm: \"row\" },\r\n gap: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PRESETS_GROUP_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"row\", sm: \"column\" },\r\n gap: \"var(--s-1)\",\r\n flexWrap: \"wrap\",\r\n minWidth: { sm: 140 },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PICKERS_ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"column\", sm: \"row\" },\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n alignItems: { sm: \"flex-end\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst FIELD_BLOCK_SX = Object.freeze({\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst FIELD_LABEL_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n color: \"var(--fg-muted)\",\r\n display: \"block\",\r\n marginBottom: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n// Visual range separator. transform: scaleX(...) flips on [dir=\"rtl\"]\r\n// via --pui-rtl-flip (declared in base.css). Hidden from SR — the\r\n// labels Du / Au already convey the relationship.\r\nconst SEPARATOR_SX = Object.freeze({\r\n flex: \"0 0 auto\",\r\n color: \"var(--fg-muted)\",\r\n fontSize: \"var(--text-sm)\",\r\n // align with the inputs (which sit at the bottom of FIELD_BLOCK_SX\r\n // because the label is above them in the same column).\r\n paddingBottom: \"var(--s-2)\",\r\n transform: \"scaleX(var(--pui-rtl-flip, 1))\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PRESET_BUTTON_SX = Object.freeze({\r\n font: \"inherit\",\r\n background: \"transparent\",\r\n border: \"1px solid var(--border)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-1) var(--s-3)\",\r\n borderRadius: \"var(--r-sm)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n cursor: \"pointer\",\r\n textAlign: \"start\", // RTL-safe equivalent of \"left\"\r\n whiteSpace: \"nowrap\",\r\n minHeight: \"var(--tactile-min)\",\r\n \"&:hover:not(:disabled)\": {\r\n background: \"var(--bg-hover)\",\r\n borderColor: \"var(--accent)\",\r\n color: \"var(--accent)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&:disabled\": {\r\n opacity: 0.5,\r\n cursor: \"not-allowed\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DateRangePicker({\r\n value,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n disablePast = false,\r\n disableFuture = false,\r\n disabled = false,\r\n readOnly = false,\r\n presets,\r\n adapterLocale = \"fr\",\r\n labels,\r\n sx,\r\n}: DateRangePickerProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const startDate = value?.startDate ?? null;\r\n const endDate = value?.endDate ?? null;\r\n\r\n const startInputId = React.useId();\r\n const endInputId = React.useId();\r\n\r\n const setStart = (next: Date | null) => {\r\n if (!onChange) return;\r\n let newEnd = endDate;\r\n // Cross-validation: clamp end UP if the new start exceeds it.\r\n if (next && endDate && next > endDate) newEnd = next;\r\n onChange({ startDate: next, endDate: newEnd });\r\n };\r\n\r\n const setEnd = (next: Date | null) => {\r\n if (!onChange) return;\r\n let newStart = startDate;\r\n // Cross-validation: clamp start DOWN if the new end precedes it.\r\n if (next && startDate && next < startDate) newStart = next;\r\n onChange({ startDate: newStart, endDate: next });\r\n };\r\n\r\n const applyPreset = (preset: DateRangePreset) => {\r\n if (!onChange) return;\r\n onChange({ startDate: preset.from, endDate: preset.to });\r\n };\r\n\r\n // The end picker's effective minDate is max(startDate, props.minDate).\r\n // Computing it here means the calendar dialog itself disables dates\r\n // before the start — the cross-validation in setEnd is the fallback\r\n // for direct text-typing.\r\n const endEffectiveMinDate =\r\n startDate && minDate\r\n ? (startDate > minDate ? startDate : minDate)\r\n : (startDate || minDate);\r\n\r\n return (\r\n <Box sx={sx ? { ...ROOT_SX, ...sx } : ROOT_SX}>\r\n {presets && presets.length > 0 && (\r\n <Box role=\"group\" aria-label={L.presetsAria} sx={PRESETS_GROUP_SX}>\r\n {presets.map((p, i) => (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n key={p.id ?? i}\r\n onClick={() => applyPreset(p)}\r\n disabled={disabled || readOnly}\r\n sx={PRESET_BUTTON_SX}\r\n >\r\n {p.label}\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n\r\n <Box sx={PICKERS_ROW_SX}>\r\n <Box sx={FIELD_BLOCK_SX}>\r\n <Box component=\"label\" htmlFor={startInputId} sx={FIELD_LABEL_SX}>\r\n {L.startLabel}\r\n </Box>\r\n <DatePicker\r\n value={startDate}\r\n onChange={setStart}\r\n {...(minDate != null ? { minDate } : {})}\r\n {...(maxDate != null ? { maxDate } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n adapterLocale={adapterLocale}\r\n inputProps={{ id: startInputId }}\r\n />\r\n </Box>\r\n\r\n <Box aria-hidden=\"true\" sx={SEPARATOR_SX}>→</Box>\r\n\r\n <Box sx={FIELD_BLOCK_SX}>\r\n <Box component=\"label\" htmlFor={endInputId} sx={FIELD_LABEL_SX}>\r\n {L.endLabel}\r\n </Box>\r\n <DatePicker\r\n value={endDate}\r\n onChange={setEnd}\r\n {...(endEffectiveMinDate != null ? { minDate: endEffectiveMinDate } : {})}\r\n {...(maxDate != null ? { maxDate } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n adapterLocale={adapterLocale}\r\n inputProps={{ id: endInputId }}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default DateRangePicker;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateRangePicker.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_DatePicker","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","freeze","startLabel","endLabel","presetsAria","ROOT_SX","display","flexDirection","xs","sm","gap","PRESETS_GROUP_SX","flexWrap","minWidth","PICKERS_ROW_SX","flex","alignItems","FIELD_BLOCK_SX","FIELD_LABEL_SX","fontSize","fontWeight","color","marginBottom","SEPARATOR_SX","paddingBottom","transform","PRESET_BUTTON_SX","font","background","border","padding","borderRadius","cursor","textAlign","whiteSpace","minHeight","borderColor","outline","outlineOffset","opacity","DateRangePicker","value","onChange","minDate","maxDate","disablePast","disableFuture","disabled","readOnly","presets","adapterLocale","labels","sx","L","mergeLabels","startDate","endDate","startInputId","useId","endInputId","setStart","next","newEnd","setEnd","newStart","applyPreset","preset","from","to","endEffectiveMinDate","jsxs","children","length","jsx","role","map","p","component","type","onClick","label","id","htmlFor","inputProps","_default","exports"],"sources":["../../../src/lib/v2/components/DateRangePicker.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport DatePicker from \"./DatePicker\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DateRangePicker — Portnet UI v2\r\n *\r\n * Two DatePicker instances side-by-side with cross-validation and\r\n * optional preset shortcuts. Built without @mui/x-date-pickers-pro —\r\n * see commit message for rationale.\r\n *\r\n * <Field label=\"Période\">\r\n * <DateRangePicker\r\n * value={{ startDate: from, endDate: to }}\r\n * onChange={({ startDate, endDate }) => setRange({ from: startDate, to: endDate })}\r\n * presets={[\r\n * { label: \"Aujourd'hui\", from: today, to: today },\r\n * { label: \"7 derniers jours\", from: weekAgo, to: today },\r\n * { label: \"Ce mois\", from: monthStart, to: monthEnd },\r\n * ]}\r\n * />\r\n * </Field>\r\n *\r\n * Value contract:\r\n * - value: { startDate: Date|null, endDate: Date|null } | null\r\n * - onChange({ startDate, endDate }) — both fields always included.\r\n * - Invalid dates from inner pickers come through as null; the\r\n * range stays consistent.\r\n *\r\n * Cross-validation:\r\n * - Picking startDate > endDate clamps endDate to startDate.\r\n * - Picking endDate < startDate clamps startDate to endDate.\r\n * - The end picker's effective minDate is max(startDate, minDate\r\n * prop) so the calendar dialog itself prevents invalid selection.\r\n *\r\n * Presets:\r\n * - Host-supplied. Shape: { id?, label, from, to }.\r\n * - Clicking a preset fires onChange with the preset's range.\r\n * - Lib ships NO default presets (locale + business meaning vary).\r\n *\r\n * A11y:\r\n * - Each inner DatePicker carries its own label via React.useId\r\n * plumbed through inputProps.id + <label htmlFor>.\r\n * - The presets group is wrapped in role=\"group\" with an\r\n * aria-label so SR users hear \"Raccourcis\" before the buttons.\r\n *\r\n * Locale + i18n:\r\n * - adapterLocale forwards to BOTH inner pickers.\r\n * - labels.{startLabel, endLabel} override the FR defaults.\r\n * - presets.label is host-controlled, host owns translation.\r\n */\r\n\r\nexport interface DateRangeValue {\r\n startDate: Date | null;\r\n endDate: Date | null;\r\n}\r\n\r\nexport interface DateRangePreset {\r\n id?: string | number | undefined;\r\n label: React.ReactNode;\r\n from: Date;\r\n to: Date;\r\n}\r\n\r\nexport interface DateRangeLabels {\r\n startLabel?: React.ReactNode | undefined;\r\n endLabel?: React.ReactNode | undefined;\r\n presetsAria?: string | undefined;\r\n}\r\n\r\nexport interface DateRangePickerProps {\r\n value?: DateRangeValue | null | undefined;\r\n onChange?: ((value: DateRangeValue) => void) | undefined;\r\n minDate?: Date | null | undefined;\r\n maxDate?: Date | null | undefined;\r\n disablePast?: boolean | undefined;\r\n disableFuture?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n readOnly?: boolean | undefined;\r\n presets?: DateRangePreset[] | undefined;\r\n adapterLocale?: string | undefined;\r\n labels?: DateRangeLabels | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n startLabel: \"Du\",\r\n endLabel: \"Au\",\r\n presetsAria: \"Raccourcis\",\r\n});\r\n\r\n// Hoisted sx for visible elements that don't depend on props. The\r\n// preset button sx is hoisted too — same emotion-cache rationale as\r\n// Batch 14 D5.\r\nconst ROOT_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"column\", sm: \"row\" },\r\n gap: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PRESETS_GROUP_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"row\", sm: \"column\" },\r\n gap: \"var(--s-1)\",\r\n flexWrap: \"wrap\",\r\n minWidth: { sm: 140 },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PICKERS_ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: { xs: \"column\", sm: \"row\" },\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n alignItems: { sm: \"flex-end\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst FIELD_BLOCK_SX = Object.freeze({\r\n flex: 1,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst FIELD_LABEL_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n color: \"var(--fg-muted)\",\r\n display: \"block\",\r\n marginBottom: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n// Visual range separator. transform: scaleX(...) flips on [dir=\"rtl\"]\r\n// via --pui-rtl-flip (declared in base.css). Hidden from SR — the\r\n// labels Du / Au already convey the relationship.\r\nconst SEPARATOR_SX = Object.freeze({\r\n flex: \"0 0 auto\",\r\n color: \"var(--fg-muted)\",\r\n fontSize: \"var(--text-sm)\",\r\n // align with the inputs (which sit at the bottom of FIELD_BLOCK_SX\r\n // because the label is above them in the same column).\r\n paddingBottom: \"var(--s-2)\",\r\n transform: \"scaleX(var(--pui-rtl-flip, 1))\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst PRESET_BUTTON_SX = Object.freeze({\r\n font: \"inherit\",\r\n background: \"transparent\",\r\n border: \"1px solid var(--border)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-1) var(--s-3)\",\r\n borderRadius: \"var(--r-sm)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-medium)\",\r\n cursor: \"pointer\",\r\n textAlign: \"start\", // RTL-safe equivalent of \"left\"\r\n whiteSpace: \"nowrap\",\r\n minHeight: \"var(--tactile-min)\",\r\n \"&:hover:not(:disabled)\": {\r\n background: \"var(--bg-hover)\",\r\n borderColor: \"var(--accent)\",\r\n color: \"var(--accent)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&:disabled\": {\r\n opacity: 0.5,\r\n cursor: \"not-allowed\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DateRangePicker({\r\n value,\r\n onChange,\r\n minDate,\r\n maxDate,\r\n disablePast = false,\r\n disableFuture = false,\r\n disabled = false,\r\n readOnly = false,\r\n presets,\r\n adapterLocale = \"fr\",\r\n labels,\r\n sx,\r\n}: DateRangePickerProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const startDate = value?.startDate ?? null;\r\n const endDate = value?.endDate ?? null;\r\n\r\n const startInputId = React.useId();\r\n const endInputId = React.useId();\r\n\r\n const setStart = (next: Date | null) => {\r\n if (!onChange) return;\r\n let newEnd = endDate;\r\n // Cross-validation: clamp end UP if the new start exceeds it.\r\n if (next && endDate && next > endDate) newEnd = next;\r\n onChange({ startDate: next, endDate: newEnd });\r\n };\r\n\r\n const setEnd = (next: Date | null) => {\r\n if (!onChange) return;\r\n let newStart = startDate;\r\n // Cross-validation: clamp start DOWN if the new end precedes it.\r\n if (next && startDate && next < startDate) newStart = next;\r\n onChange({ startDate: newStart, endDate: next });\r\n };\r\n\r\n const applyPreset = (preset: DateRangePreset) => {\r\n if (!onChange) return;\r\n onChange({ startDate: preset.from, endDate: preset.to });\r\n };\r\n\r\n // The end picker's effective minDate is max(startDate, props.minDate).\r\n // Computing it here means the calendar dialog itself disables dates\r\n // before the start — the cross-validation in setEnd is the fallback\r\n // for direct text-typing.\r\n const endEffectiveMinDate =\r\n startDate && minDate\r\n ? (startDate > minDate ? startDate : minDate)\r\n : (startDate || minDate);\r\n\r\n return (\r\n <Box sx={sx ? { ...ROOT_SX, ...sx } : ROOT_SX}>\r\n {presets && presets.length > 0 && (\r\n <Box role=\"group\" aria-label={L.presetsAria} sx={PRESETS_GROUP_SX}>\r\n {presets.map((p, i) => (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n key={p.id ?? i}\r\n onClick={() => applyPreset(p)}\r\n disabled={disabled || readOnly}\r\n sx={PRESET_BUTTON_SX}\r\n >\r\n {p.label}\r\n </Box>\r\n ))}\r\n </Box>\r\n )}\r\n\r\n <Box sx={PICKERS_ROW_SX}>\r\n <Box sx={FIELD_BLOCK_SX}>\r\n <Box component=\"label\" htmlFor={startInputId} sx={FIELD_LABEL_SX}>\r\n {L.startLabel}\r\n </Box>\r\n <DatePicker\r\n value={startDate}\r\n onChange={setStart}\r\n {...(minDate != null ? { minDate } : {})}\r\n {...(maxDate != null ? { maxDate } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n adapterLocale={adapterLocale}\r\n inputProps={{ id: startInputId }}\r\n />\r\n </Box>\r\n\r\n <Box aria-hidden=\"true\" sx={SEPARATOR_SX}>→</Box>\r\n\r\n <Box sx={FIELD_BLOCK_SX}>\r\n <Box component=\"label\" htmlFor={endInputId} sx={FIELD_LABEL_SX}>\r\n {L.endLabel}\r\n </Box>\r\n <DatePicker\r\n value={endDate}\r\n onChange={setEnd}\r\n {...(endEffectiveMinDate != null ? { minDate: endEffectiveMinDate } : {})}\r\n {...(maxDate != null ? { maxDate } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n adapterLocale={adapterLocale}\r\n inputProps={{ id: endInputId }}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default DateRangePicker;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/DateTimePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAGxG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAuD3D,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,sBAAsB,EACtB,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK,CACpF;IACD,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACrF,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAED,QAAA,MAAM,cAAc,4FAgIlB,CAAC;AAEH,eAAO,MAAM,uBAAuB,qBAAiB,CAAC;AAEtD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/DateTimePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAGxG,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAwF3D,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,sBAAsB,EACtB,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,IAAI,GAAG,KAAK,CACpF;IACD,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACrF,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AAED,QAAA,MAAM,cAAc,4FAgIlB,CAAC;AAEH,eAAO,MAAM,uBAAuB,qBAAiB,CAAC;AAEtD,eAAe,cAAc,CAAC"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = exports.DATETIME_FORMAT_CHARTER = void 0;
6
+ exports.default = exports.DATETIME_FORMAT_CHARTER = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
10
9
  var _DateTimePicker = require("@mui/x-date-pickers/DateTimePicker");
@@ -12,8 +11,7 @@ var _AdapterMoment = require("@mui/x-date-pickers/AdapterMoment");
12
11
  require("moment/locale/fr");
13
12
  var _pickerShared = require("./_pickerShared");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
- var _excluded = ["value", "onChange", "onBlur", "minDate", "maxDate", "disablePast", "disableFuture", "disabled", "readOnly", "error", "placeholder", "fullWidth", "ampm", "minutesStep", "inputProps", "adapterLocale", "sx"],
16
- _excluded2 = ["id", "aria-describedby", "aria-invalid", "aria-required", "aria-labelledby"];
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
15
  /**
18
16
  * DateTimePicker — Portnet UI v2
19
17
  *
@@ -51,10 +49,43 @@ var _excluded = ["value", "onChange", "onBlur", "minDate", "maxDate", "disablePa
51
49
  * the picker dialog also lets the user choose hours/minutes within
52
50
  * the resulting day.
53
51
  *
54
- * A11y (DP-1): as with DatePicker, when used inside <Field> the injected id +
55
- * aria-describedby / aria-invalid / aria-required are intercepted and routed
56
- * onto the field <input> via slotProps.htmlInput (MUI X does not forward
57
- * top-level aria/id to the input). Explicit `inputProps` still win.
52
+ * A11y (DP-1) : when used inside <Field> the injected id + aria-describedby /
53
+ * aria-invalid / aria-required are intercepted and routed onto the field
54
+ * <input> via slotProps.htmlInput (MUI X does not forward top-level aria/id to
55
+ * the input). Explicit `inputProps` still win.
56
+ *
57
+ * ── KNOWN A11Y DEFECT, NOT FIXED HERE (opened as G-F, deferred) ────
58
+ *
59
+ * DP-1's routing lands on the value <input>, and MUI X v9 marks that input
60
+ * `aria-hidden="true"`. The visible field is a `role="group"` of one
61
+ * `role="spinbutton"` per section (Year, Month, Day, Hours, Minutes).
62
+ *
63
+ * So all four association attributes are INERT, on every date field of the
64
+ * platform, and none of it is visible on screen:
65
+ * — the `<label htmlFor>` names nothing: a screen reader announces « Year »,
66
+ * « Month », « Hours » without ever saying of WHAT (R-I.1) ;
67
+ * — a hint or an error message rendered by Field is never announced
68
+ * (R-I.3, R-4.1) ;
69
+ * — a required field does not report itself as required (R-I.2).
70
+ *
71
+ * Found while writing the tests for gap G-E: the DOM dump showed `role="group"`
72
+ * with `Name ""` beside a correctly wired `<label for>`.
73
+ *
74
+ * TWO ATTEMPTS FAILED, and both are worth recording so the next person does
75
+ * not repeat them:
76
+ * 1. routing the attrs through `slotProps.textField.InputProps` — accepted
77
+ * by the types, lands nowhere. `InputProps` is not the v9 anchor for the
78
+ * group element.
79
+ * 2. switching the Formik bridge to `Field`'s `group` mode — `Field` does
80
+ * emit `aria-labelledby` (verified in its source), but with (1) failing
81
+ * nothing carries it to the group, AND group mode drops the `<label
82
+ * for>`, so the label-click-to-focus is lost for no gain. A net
83
+ * regression.
84
+ *
85
+ * The fix needs the real v9 anchor for the `PickersInputBase` root, and it
86
+ * touches DatePicker AND DateTimePicker, hence every date field in the
87
+ * portfolio. It belongs to a pass with time to investigate the slot chain —
88
+ * Batch 10 (accessibility certification), not a side effect of G-E.
58
89
  *
59
90
  * MUI X v9 surface notes (migrated from v5 in Batch 4):
60
91
  * See DatePicker.tsx for the same rationale — renderInput +
@@ -62,58 +93,41 @@ var _excluded = ["value", "onChange", "onBlur", "minDate", "maxDate", "disablePa
62
93
  * slotProps + format API. The textField slot is the canonical
63
94
  * input customisation entry point; slotProps.htmlInput is the v9
64
95
  * landing zone for what used to be TextField's inputProps.
65
- */
66
- 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); }
67
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
68
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
69
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
70
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
71
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
72
- 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); }
73
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
74
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
75
- var CHARTER_FORMAT = "YYYY-MM-DD HH:mm";
76
- var DateTimePicker = /*#__PURE__*/React.forwardRef(function DateTimePicker(_ref, ref) {
77
- var value = _ref.value,
78
- onChange = _ref.onChange,
79
- onBlur = _ref.onBlur,
80
- minDate = _ref.minDate,
81
- maxDate = _ref.maxDate,
82
- _ref$disablePast = _ref.disablePast,
83
- disablePast = _ref$disablePast === void 0 ? false : _ref$disablePast,
84
- _ref$disableFuture = _ref.disableFuture,
85
- disableFuture = _ref$disableFuture === void 0 ? false : _ref$disableFuture,
86
- _ref$disabled = _ref.disabled,
87
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
88
- _ref$readOnly = _ref.readOnly,
89
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
90
- error = _ref.error,
91
- _ref$placeholder = _ref.placeholder,
92
- placeholder = _ref$placeholder === void 0 ? "AAAA-MM-JJ HH:MM" : _ref$placeholder,
93
- _ref$fullWidth = _ref.fullWidth,
94
- fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
95
- _ref$ampm = _ref.ampm,
96
- ampm = _ref$ampm === void 0 ? false : _ref$ampm,
97
- _ref$minutesStep = _ref.minutesStep,
98
- minutesStep = _ref$minutesStep === void 0 ? 1 : _ref$minutesStep,
99
- inputProps = _ref.inputProps,
100
- _ref$adapterLocale = _ref.adapterLocale,
101
- adapterLocale = _ref$adapterLocale === void 0 ? "fr" : _ref$adapterLocale,
102
- sx = _ref.sx,
103
- rest = _objectWithoutProperties(_ref, _excluded);
96
+ */const CHARTER_FORMAT = "YYYY-MM-DD HH:mm";
97
+ const DateTimePicker = /*#__PURE__*/React.forwardRef(function DateTimePicker({
98
+ value,
99
+ onChange,
100
+ onBlur,
101
+ minDate,
102
+ maxDate,
103
+ disablePast = false,
104
+ disableFuture = false,
105
+ disabled = false,
106
+ readOnly = false,
107
+ error,
108
+ placeholder = "AAAA-MM-JJ HH:MM",
109
+ fullWidth = true,
110
+ ampm = false,
111
+ minutesStep = 1,
112
+ inputProps,
113
+ adapterLocale = "fr",
114
+ sx,
115
+ ...rest
116
+ }, ref) {
104
117
  // DP-1 — see DatePicker.tsx. Field cloneElement-injects the label + hint/error
105
118
  // association props onto this child; MUI X won't forward top-level aria/id to
106
119
  // the field input, so intercept them (cast — not part of the picker props) and
107
120
  // route them onto the <input> via slotProps.htmlInput below. Everything else
108
121
  // stays in domRest for MuiDateTimePicker.
109
- var _ref2 = rest,
110
- fieldId = _ref2.id,
111
- ariaDescribedby = _ref2["aria-describedby"],
112
- ariaInvalid = _ref2["aria-invalid"],
113
- ariaRequired = _ref2["aria-required"],
114
- ariaLabelledby = _ref2["aria-labelledby"],
115
- domRest = _objectWithoutProperties(_ref2, _excluded2);
116
- var handleChange = function handleChange(next) {
122
+ const {
123
+ id: fieldId,
124
+ "aria-describedby": ariaDescribedby,
125
+ "aria-invalid": ariaInvalid,
126
+ "aria-required": ariaRequired,
127
+ "aria-labelledby": ariaLabelledby,
128
+ ...domRest
129
+ } = rest;
130
+ const handleChange = next => {
117
131
  if (!onChange) return;
118
132
  onChange((0, _pickerShared.momentToDate)(next));
119
133
  };
@@ -122,57 +136,68 @@ var DateTimePicker = /*#__PURE__*/React.forwardRef(function DateTimePicker(_ref,
122
136
  // nested slotProps.htmlInput rationale. htmlInput is also the DP-1
123
137
  // landing zone for the Field-injected id + aria-* so the label /
124
138
  // hint / error associate with the date-time input.
125
- var slotProps = React.useMemo(function () {
126
- return {
127
- textField: _objectSpread(_objectSpread({
128
- ref: ref,
129
- error: !!error,
130
- fullWidth: fullWidth,
131
- size: "small"
132
- }, onBlur ? {
139
+ const slotProps = React.useMemo(() => ({
140
+ textField: {
141
+ ref,
142
+ error: !!error,
143
+ fullWidth,
144
+ size: "small",
145
+ // onBlur: the textField slot types this as FocusEventHandler<HTMLDivElement>;
146
+ // our public onBlur is input-based. Cast (type-only) and include only
147
+ // when defined so no explicit undefined reaches the slot.
148
+ ...(onBlur ? {
133
149
  onBlur: onBlur
134
- } : {}), {}, {
135
- sx: _objectSpread({
136
- // R-T.3 — tabular-nums for vertical alignment in tables/forms.
137
- "& .MuiOutlinedInput-input": {
138
- fontVariantNumeric: "tabular-nums"
139
- }
140
- }, sx),
141
- slotProps: {
142
- htmlInput: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
143
- placeholder: placeholder
144
- }, fieldId != null ? {
150
+ } : {}),
151
+ sx: {
152
+ // R-T.3 — tabular-nums for vertical alignment in tables/forms.
153
+ "& .MuiOutlinedInput-input": {
154
+ fontVariantNumeric: "tabular-nums"
155
+ },
156
+ ...sx
157
+ },
158
+ slotProps: {
159
+ htmlInput: {
160
+ placeholder,
161
+ // DP-1 — Field-injected association attrs land on the <input>.
162
+ ...(fieldId != null ? {
145
163
  id: fieldId
146
- } : {}), ariaDescribedby != null ? {
164
+ } : {}),
165
+ ...(ariaDescribedby != null ? {
147
166
  "aria-describedby": ariaDescribedby
148
- } : {}), ariaInvalid != null ? {
167
+ } : {}),
168
+ ...(ariaInvalid != null ? {
149
169
  "aria-invalid": ariaInvalid
150
- } : {}), ariaRequired != null ? {
170
+ } : {}),
171
+ ...(ariaRequired != null ? {
151
172
  "aria-required": ariaRequired
152
- } : {}), ariaLabelledby != null ? {
173
+ } : {}),
174
+ ...(ariaLabelledby != null ? {
153
175
  "aria-labelledby": ariaLabelledby
154
- } : {}), inputProps)
176
+ } : {}),
177
+ // Explicit host inputProps win over the injected defaults.
178
+ ...inputProps
155
179
  }
156
- })
157
- };
158
- }, [ref, error, fullWidth, onBlur, sx, placeholder, inputProps, fieldId, ariaDescribedby, ariaInvalid, ariaRequired, ariaLabelledby]);
180
+ }
181
+ }
182
+ }), [ref, error, fullWidth, onBlur, sx, placeholder, inputProps, fieldId, ariaDescribedby, ariaInvalid, ariaRequired, ariaLabelledby]);
159
183
 
160
184
  // exactOptionalPropertyTypes: MUI's minDate/maxDate are `Moment` (not
161
185
  // `Moment | undefined`), so spread the key only when a bound is set
162
186
  // rather than passing an explicit `undefined`.
163
- var minDateM = minDate ? (0, _pickerShared.dateToMoment)(minDate) : null;
164
- var maxDateM = maxDate ? (0, _pickerShared.dateToMoment)(maxDate) : null;
187
+ const minDateM = minDate ? (0, _pickerShared.dateToMoment)(minDate) : null;
188
+ const maxDateM = maxDate ? (0, _pickerShared.dateToMoment)(maxDate) : null;
165
189
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
166
190
  dateAdapter: _AdapterMoment.AdapterMoment,
167
191
  adapterLocale: adapterLocale,
168
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTimePicker.DateTimePicker, _objectSpread(_objectSpread(_objectSpread({
192
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_DateTimePicker.DateTimePicker, {
169
193
  value: (0, _pickerShared.dateToMoment)(value),
170
- onChange: handleChange
171
- }, minDateM ? {
172
- minDate: minDateM
173
- } : {}), maxDateM ? {
174
- maxDate: maxDateM
175
- } : {}), {}, {
194
+ onChange: handleChange,
195
+ ...(minDateM ? {
196
+ minDate: minDateM
197
+ } : {}),
198
+ ...(maxDateM ? {
199
+ maxDate: maxDateM
200
+ } : {}),
176
201
  disablePast: disablePast,
177
202
  disableFuture: disableFuture,
178
203
  disabled: disabled,
@@ -180,10 +205,11 @@ var DateTimePicker = /*#__PURE__*/React.forwardRef(function DateTimePicker(_ref,
180
205
  ampm: ampm,
181
206
  minutesStep: minutesStep,
182
207
  format: CHARTER_FORMAT,
183
- slotProps: slotProps
184
- }, domRest))
208
+ slotProps: slotProps,
209
+ ...domRest
210
+ })
185
211
  });
186
212
  });
187
- var DATETIME_FORMAT_CHARTER = exports.DATETIME_FORMAT_CHARTER = CHARTER_FORMAT;
188
- var _default = exports["default"] = DateTimePicker;
213
+ const DATETIME_FORMAT_CHARTER = exports.DATETIME_FORMAT_CHARTER = CHARTER_FORMAT;
214
+ var _default = exports.default = DateTimePicker;
189
215
  //# sourceMappingURL=DateTimePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.js","names":["React","_interopRequireWildcard","require","_LocalizationProvider","_DateTimePicker","_AdapterMoment","_pickerShared","_jsxRuntime","_excluded","_excluded2","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","CHARTER_FORMAT","DateTimePicker","forwardRef","_ref","ref","onChange","onBlur","minDate","maxDate","_ref$disablePast","disablePast","_ref$disableFuture","disableFuture","_ref$disabled","disabled","_ref$readOnly","readOnly","error","_ref$placeholder","placeholder","_ref$fullWidth","fullWidth","_ref$ampm","ampm","_ref$minutesStep","minutesStep","inputProps","_ref$adapterLocale","adapterLocale","sx","rest","_ref2","fieldId","id","ariaDescribedby","ariaInvalid","ariaRequired","ariaLabelledby","domRest","handleChange","next","momentToDate","slotProps","useMemo","textField","size","fontVariantNumeric","htmlInput","minDateM","dateToMoment","maxDateM","jsx","LocalizationProvider","dateAdapter","AdapterMoment","children","format","DATETIME_FORMAT_CHARTER","exports","_default"],"sources":["../../../src/lib/v2/components/DateTimePicker.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DateTimePicker as MuiDateTimePicker } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport type { DateTimePickerProps as MuiDateTimePickerProps } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport { AdapterMoment } from \"@mui/x-date-pickers/AdapterMoment\";\r\nimport type { Moment } from \"moment\";\r\nimport \"moment/locale/fr\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { dateToMoment, momentToDate } from \"./_pickerShared\";\r\n\r\n/**\r\n * DateTimePicker — Portnet UI v2\r\n *\r\n * Extends the DatePicker family (Charter §03) for date+time-of-day\r\n * workflows: LC validity to the minute, audit-log timestamps,\r\n * scheduled exports, deadline pickers.\r\n *\r\n * <Field label=\"Date d'échéance\">\r\n * <DateTimePicker\r\n * value={deadline}\r\n * onChange={setDeadline}\r\n * minDate={new Date()}\r\n * />\r\n * </Field>\r\n *\r\n * Value contract:\r\n * Same as DatePicker — value/onChange exchange Date | null. Invalid\r\n * dates are coerced to null. Hosts never receive Invalid Date.\r\n *\r\n * Locale:\r\n * adapterLocale defaults to \"fr\". Hosts using other locales must\r\n * import the matching moment locale data themselves:\r\n *\r\n * import \"moment/locale/ar\";\r\n * <DateTimePicker adapterLocale=\"ar\" />\r\n *\r\n * Format:\r\n * Display + parse: AAAA-MM-JJ HH:MM (24h). MUI X v6+ derives the\r\n * input mask from this format string automatically.\r\n * ampm={true} switches to 12h with AM/PM marker — opt-in for hosts\r\n * targeting English-speaking users.\r\n *\r\n * Constraints:\r\n * minDate / maxDate accept Date objects. They bound the DATE part;\r\n * the picker dialog also lets the user choose hours/minutes within\r\n * the resulting day.\r\n *\r\n * A11y (DP-1): as with DatePicker, when used inside <Field> the injected id +\r\n * aria-describedby / aria-invalid / aria-required are intercepted and routed\r\n * onto the field <input> via slotProps.htmlInput (MUI X does not forward\r\n * top-level aria/id to the input). Explicit `inputProps` still win.\r\n *\r\n * MUI X v9 surface notes (migrated from v5 in Batch 4):\r\n * See DatePicker.tsx for the same rationale — renderInput +\r\n * inputFormat + mask removed in favor of the unified slots /\r\n * slotProps + format API. The textField slot is the canonical\r\n * input customisation entry point; slotProps.htmlInput is the v9\r\n * landing zone for what used to be TextField's inputProps.\r\n */\r\n\r\nconst CHARTER_FORMAT = \"YYYY-MM-DD HH:mm\";\r\n\r\nexport interface DateTimePickerProps\r\n extends Omit<\r\n MuiDateTimePickerProps,\r\n \"value\" | \"onChange\" | \"minDate\" | \"maxDate\" | \"slots\" | \"slotProps\" | \"sx\" | \"ref\"\r\n > {\r\n value?: Date | null | undefined;\r\n onChange?: ((value: Date | null) => void) | undefined;\r\n onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;\r\n minDate?: Date | null | undefined;\r\n maxDate?: Date | null | undefined;\r\n error?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n fullWidth?: boolean | undefined;\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n adapterLocale?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DateTimePicker = React.forwardRef<HTMLDivElement, DateTimePickerProps>(function DateTimePicker(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n minDate,\r\n maxDate,\r\n disablePast = false,\r\n disableFuture = false,\r\n disabled = false,\r\n readOnly = false,\r\n error,\r\n placeholder = \"AAAA-MM-JJ HH:MM\",\r\n fullWidth = true,\r\n ampm = false,\r\n minutesStep = 1,\r\n inputProps,\r\n adapterLocale = \"fr\",\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n // DP-1 — see DatePicker.tsx. Field cloneElement-injects the label + hint/error\r\n // association props onto this child; MUI X won't forward top-level aria/id to\r\n // the field input, so intercept them (cast — not part of the picker props) and\r\n // route them onto the <input> via slotProps.htmlInput below. Everything else\r\n // stays in domRest for MuiDateTimePicker.\r\n const {\r\n id: fieldId,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-labelledby\": ariaLabelledby,\r\n ...domRest\r\n } = rest as typeof rest & {\r\n id?: string;\r\n \"aria-describedby\"?: string;\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\r\n \"aria-required\"?: boolean | \"true\" | \"false\";\r\n \"aria-labelledby\"?: string;\r\n };\r\n\r\n const handleChange = (next: Moment | null) => {\r\n if (!onChange) return;\r\n onChange(momentToDate(next));\r\n };\r\n\r\n // MUI X v9 — see DatePicker.tsx for the slotProps.textField +\r\n // nested slotProps.htmlInput rationale. htmlInput is also the DP-1\r\n // landing zone for the Field-injected id + aria-* so the label /\r\n // hint / error associate with the date-time input.\r\n const slotProps = React.useMemo<NonNullable<MuiDateTimePickerProps[\"slotProps\"]>>(\r\n () => ({\r\n textField: {\r\n ref,\r\n error: !!error,\r\n fullWidth,\r\n size: \"small\",\r\n // onBlur: the textField slot types this as FocusEventHandler<HTMLDivElement>;\r\n // our public onBlur is input-based. Cast (type-only) and include only\r\n // when defined so no explicit undefined reaches the slot.\r\n ...(onBlur ? { onBlur: onBlur as unknown as React.FocusEventHandler<HTMLDivElement> } : {}),\r\n sx: {\r\n // R-T.3 — tabular-nums for vertical alignment in tables/forms.\r\n \"& .MuiOutlinedInput-input\": { fontVariantNumeric: \"tabular-nums\" },\r\n ...sx,\r\n },\r\n slotProps: {\r\n htmlInput: {\r\n placeholder,\r\n // DP-1 — Field-injected association attrs land on the <input>.\r\n ...(fieldId != null ? { id: fieldId } : {}),\r\n ...(ariaDescribedby != null\r\n ? { \"aria-describedby\": ariaDescribedby }\r\n : {}),\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaLabelledby != null\r\n ? { \"aria-labelledby\": ariaLabelledby }\r\n : {}),\r\n // Explicit host inputProps win over the injected defaults.\r\n ...inputProps,\r\n },\r\n },\r\n },\r\n }),\r\n [\r\n ref,\r\n error,\r\n fullWidth,\r\n onBlur,\r\n sx,\r\n placeholder,\r\n inputProps,\r\n fieldId,\r\n ariaDescribedby,\r\n ariaInvalid,\r\n ariaRequired,\r\n ariaLabelledby,\r\n ],\r\n );\r\n\r\n // exactOptionalPropertyTypes: MUI's minDate/maxDate are `Moment` (not\r\n // `Moment | undefined`), so spread the key only when a bound is set\r\n // rather than passing an explicit `undefined`.\r\n const minDateM = minDate ? dateToMoment(minDate) : null;\r\n const maxDateM = maxDate ? dateToMoment(maxDate) : null;\r\n\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterMoment} adapterLocale={adapterLocale}>\r\n <MuiDateTimePicker\r\n value={dateToMoment(value)}\r\n onChange={handleChange}\r\n {...(minDateM ? { minDate: minDateM } : {})}\r\n {...(maxDateM ? { maxDate: maxDateM } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n ampm={ampm}\r\n minutesStep={minutesStep}\r\n format={CHARTER_FORMAT}\r\n slotProps={slotProps}\r\n {...domRest}\r\n />\r\n </LocalizationProvider>\r\n );\r\n});\r\n\r\nexport const DATETIME_FORMAT_CHARTER = CHARTER_FORMAT;\r\n\r\nexport default DateTimePicker;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DateTimePicker.js","names":["React","_interopRequireWildcard","require","_LocalizationProvider","_DateTimePicker","_AdapterMoment","_pickerShared","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CHARTER_FORMAT","DateTimePicker","forwardRef","value","onChange","onBlur","minDate","maxDate","disablePast","disableFuture","disabled","readOnly","error","placeholder","fullWidth","ampm","minutesStep","inputProps","adapterLocale","sx","rest","ref","id","fieldId","ariaDescribedby","ariaInvalid","ariaRequired","ariaLabelledby","domRest","handleChange","next","momentToDate","slotProps","useMemo","textField","size","fontVariantNumeric","htmlInput","minDateM","dateToMoment","maxDateM","jsx","LocalizationProvider","dateAdapter","AdapterMoment","children","format","DATETIME_FORMAT_CHARTER","exports","_default"],"sources":["../../../src/lib/v2/components/DateTimePicker.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DateTimePicker as MuiDateTimePicker } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport type { DateTimePickerProps as MuiDateTimePickerProps } from \"@mui/x-date-pickers/DateTimePicker\";\r\nimport { AdapterMoment } from \"@mui/x-date-pickers/AdapterMoment\";\r\nimport type { Moment } from \"moment\";\r\nimport \"moment/locale/fr\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { dateToMoment, momentToDate } from \"./_pickerShared\";\r\n\r\n/**\r\n * DateTimePicker — Portnet UI v2\r\n *\r\n * Extends the DatePicker family (Charter §03) for date+time-of-day\r\n * workflows: LC validity to the minute, audit-log timestamps,\r\n * scheduled exports, deadline pickers.\r\n *\r\n * <Field label=\"Date d'échéance\">\r\n * <DateTimePicker\r\n * value={deadline}\r\n * onChange={setDeadline}\r\n * minDate={new Date()}\r\n * />\r\n * </Field>\r\n *\r\n * Value contract:\r\n * Same as DatePicker — value/onChange exchange Date | null. Invalid\r\n * dates are coerced to null. Hosts never receive Invalid Date.\r\n *\r\n * Locale:\r\n * adapterLocale defaults to \"fr\". Hosts using other locales must\r\n * import the matching moment locale data themselves:\r\n *\r\n * import \"moment/locale/ar\";\r\n * <DateTimePicker adapterLocale=\"ar\" />\r\n *\r\n * Format:\r\n * Display + parse: AAAA-MM-JJ HH:MM (24h). MUI X v6+ derives the\r\n * input mask from this format string automatically.\r\n * ampm={true} switches to 12h with AM/PM marker — opt-in for hosts\r\n * targeting English-speaking users.\r\n *\r\n * Constraints:\r\n * minDate / maxDate accept Date objects. They bound the DATE part;\r\n * the picker dialog also lets the user choose hours/minutes within\r\n * the resulting day.\r\n *\r\n * A11y (DP-1) : when used inside <Field> the injected id + aria-describedby /\r\n * aria-invalid / aria-required are intercepted and routed onto the field\r\n * <input> via slotProps.htmlInput (MUI X does not forward top-level aria/id to\r\n * the input). Explicit `inputProps` still win.\r\n *\r\n * ── KNOWN A11Y DEFECT, NOT FIXED HERE (opened as G-F, deferred) ────\r\n *\r\n * DP-1's routing lands on the value <input>, and MUI X v9 marks that input\r\n * `aria-hidden=\"true\"`. The visible field is a `role=\"group\"` of one\r\n * `role=\"spinbutton\"` per section (Year, Month, Day, Hours, Minutes).\r\n *\r\n * So all four association attributes are INERT, on every date field of the\r\n * platform, and none of it is visible on screen:\r\n * — the `<label htmlFor>` names nothing: a screen reader announces « Year »,\r\n * « Month », « Hours » without ever saying of WHAT (R-I.1) ;\r\n * — a hint or an error message rendered by Field is never announced\r\n * (R-I.3, R-4.1) ;\r\n * — a required field does not report itself as required (R-I.2).\r\n *\r\n * Found while writing the tests for gap G-E: the DOM dump showed `role=\"group\"`\r\n * with `Name \"\"` beside a correctly wired `<label for>`.\r\n *\r\n * TWO ATTEMPTS FAILED, and both are worth recording so the next person does\r\n * not repeat them:\r\n * 1. routing the attrs through `slotProps.textField.InputProps` — accepted\r\n * by the types, lands nowhere. `InputProps` is not the v9 anchor for the\r\n * group element.\r\n * 2. switching the Formik bridge to `Field`'s `group` mode — `Field` does\r\n * emit `aria-labelledby` (verified in its source), but with (1) failing\r\n * nothing carries it to the group, AND group mode drops the `<label\r\n * for>`, so the label-click-to-focus is lost for no gain. A net\r\n * regression.\r\n *\r\n * The fix needs the real v9 anchor for the `PickersInputBase` root, and it\r\n * touches DatePicker AND DateTimePicker, hence every date field in the\r\n * portfolio. It belongs to a pass with time to investigate the slot chain —\r\n * Batch 10 (accessibility certification), not a side effect of G-E.\r\n *\r\n * MUI X v9 surface notes (migrated from v5 in Batch 4):\r\n * See DatePicker.tsx for the same rationale — renderInput +\r\n * inputFormat + mask removed in favor of the unified slots /\r\n * slotProps + format API. The textField slot is the canonical\r\n * input customisation entry point; slotProps.htmlInput is the v9\r\n * landing zone for what used to be TextField's inputProps.\r\n */\r\n\r\nconst CHARTER_FORMAT = \"YYYY-MM-DD HH:mm\";\r\n\r\nexport interface DateTimePickerProps\r\n extends Omit<\r\n MuiDateTimePickerProps,\r\n \"value\" | \"onChange\" | \"minDate\" | \"maxDate\" | \"slots\" | \"slotProps\" | \"sx\" | \"ref\"\r\n > {\r\n value?: Date | null | undefined;\r\n onChange?: ((value: Date | null) => void) | undefined;\r\n onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;\r\n minDate?: Date | null | undefined;\r\n maxDate?: Date | null | undefined;\r\n error?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n fullWidth?: boolean | undefined;\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n adapterLocale?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DateTimePicker = React.forwardRef<HTMLDivElement, DateTimePickerProps>(function DateTimePicker(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n minDate,\r\n maxDate,\r\n disablePast = false,\r\n disableFuture = false,\r\n disabled = false,\r\n readOnly = false,\r\n error,\r\n placeholder = \"AAAA-MM-JJ HH:MM\",\r\n fullWidth = true,\r\n ampm = false,\r\n minutesStep = 1,\r\n inputProps,\r\n adapterLocale = \"fr\",\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n // DP-1 — see DatePicker.tsx. Field cloneElement-injects the label + hint/error\r\n // association props onto this child; MUI X won't forward top-level aria/id to\r\n // the field input, so intercept them (cast — not part of the picker props) and\r\n // route them onto the <input> via slotProps.htmlInput below. Everything else\r\n // stays in domRest for MuiDateTimePicker.\r\n const {\r\n id: fieldId,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-labelledby\": ariaLabelledby,\r\n ...domRest\r\n } = rest as typeof rest & {\r\n id?: string;\r\n \"aria-describedby\"?: string;\r\n \"aria-invalid\"?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\";\r\n \"aria-required\"?: boolean | \"true\" | \"false\";\r\n \"aria-labelledby\"?: string;\r\n };\r\n\r\n const handleChange = (next: Moment | null) => {\r\n if (!onChange) return;\r\n onChange(momentToDate(next));\r\n };\r\n\r\n // MUI X v9 — see DatePicker.tsx for the slotProps.textField +\r\n // nested slotProps.htmlInput rationale. htmlInput is also the DP-1\r\n // landing zone for the Field-injected id + aria-* so the label /\r\n // hint / error associate with the date-time input.\r\n const slotProps = React.useMemo<NonNullable<MuiDateTimePickerProps[\"slotProps\"]>>(\r\n () => ({\r\n textField: {\r\n ref,\r\n error: !!error,\r\n fullWidth,\r\n size: \"small\",\r\n // onBlur: the textField slot types this as FocusEventHandler<HTMLDivElement>;\r\n // our public onBlur is input-based. Cast (type-only) and include only\r\n // when defined so no explicit undefined reaches the slot.\r\n ...(onBlur ? { onBlur: onBlur as unknown as React.FocusEventHandler<HTMLDivElement> } : {}),\r\n sx: {\r\n // R-T.3 — tabular-nums for vertical alignment in tables/forms.\r\n \"& .MuiOutlinedInput-input\": { fontVariantNumeric: \"tabular-nums\" },\r\n ...sx,\r\n },\r\n slotProps: {\r\n htmlInput: {\r\n placeholder,\r\n // DP-1 — Field-injected association attrs land on the <input>.\r\n ...(fieldId != null ? { id: fieldId } : {}),\r\n ...(ariaDescribedby != null\r\n ? { \"aria-describedby\": ariaDescribedby }\r\n : {}),\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaLabelledby != null\r\n ? { \"aria-labelledby\": ariaLabelledby }\r\n : {}),\r\n // Explicit host inputProps win over the injected defaults.\r\n ...inputProps,\r\n },\r\n },\r\n },\r\n }),\r\n [\r\n ref,\r\n error,\r\n fullWidth,\r\n onBlur,\r\n sx,\r\n placeholder,\r\n inputProps,\r\n fieldId,\r\n ariaDescribedby,\r\n ariaInvalid,\r\n ariaRequired,\r\n ariaLabelledby,\r\n ],\r\n );\r\n\r\n // exactOptionalPropertyTypes: MUI's minDate/maxDate are `Moment` (not\r\n // `Moment | undefined`), so spread the key only when a bound is set\r\n // rather than passing an explicit `undefined`.\r\n const minDateM = minDate ? dateToMoment(minDate) : null;\r\n const maxDateM = maxDate ? dateToMoment(maxDate) : null;\r\n\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterMoment} adapterLocale={adapterLocale}>\r\n <MuiDateTimePicker\r\n value={dateToMoment(value)}\r\n onChange={handleChange}\r\n {...(minDateM ? { minDate: minDateM } : {})}\r\n {...(maxDateM ? { maxDate: maxDateM } : {})}\r\n disablePast={disablePast}\r\n disableFuture={disableFuture}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n ampm={ampm}\r\n minutesStep={minutesStep}\r\n format={CHARTER_FORMAT}\r\n slotProps={slotProps}\r\n {...domRest}\r\n />\r\n </LocalizationProvider>\r\n );\r\n});\r\n\r\nexport const DATETIME_FORMAT_CHARTER = CHARTER_FORMAT;\r\n\r\nexport default DateTimePicker;\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA+H/B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,iBAAS,MAAM,CAAC,EACd,IAAI,EACJ,OAAO,EACP,KAAqB,EACrB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAe,EACf,OAAe,EACf,QAAQ,EACR,MAAgB,EAChB,MAAM,GACP,EAAE,WAAW,qBA6Jb;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwJ/B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACtC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,iBAAS,MAAM,CAAC,EACd,IAAI,EACJ,OAAO,EACP,KAAqB,EACrB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,MAAM,EACN,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAe,EACf,OAAe,EACf,QAAQ,EACR,MAAgB,EAChB,MAAM,GACP,EAAE,WAAW,qBA6Jb;AAED,eAAe,MAAM,CAAC"}