@portnet/ui 6.0.2 → 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 (980) hide show
  1. package/CHANGELOG.md +652 -0
  2. package/dist/esm/index.js +72 -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 -38
  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 +11 -11
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  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 +118 -199
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
  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 -21
  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 +81 -86
  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 +155 -59
  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 +37 -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 +2 -3
  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 +15 -17
  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 +29 -39
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
  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 -69
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
  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 -53
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
  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 -87
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
  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 +27 -22
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
  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 +6 -8
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
  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 +152 -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 +28 -34
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  346. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  347. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  348. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  349. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  350. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  351. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  352. package/dist/esm/v2/personalization/index.js +17 -0
  353. package/dist/esm/v2/personalization/index.js.map +1 -1
  354. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  355. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  356. package/dist/esm/v2/personalization/schema.js +8 -9
  357. package/dist/esm/v2/personalization/schema.js.map +1 -1
  358. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  359. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  360. package/dist/esm/v2/referentiel/types.js +2 -0
  361. package/dist/esm/v2/referentiel/types.js.map +1 -0
  362. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  363. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  364. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  365. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  367. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  368. package/dist/esm/v2/theme/_brand.js +8 -24
  369. package/dist/esm/v2/theme/_brand.js.map +1 -1
  370. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  371. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  372. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  373. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  374. package/dist/esm/v2/theme/cssVariables.js +62 -69
  375. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  376. package/dist/esm/v2/theme/index.js +5 -5
  377. package/dist/esm/v2/theme/index.js.map +1 -1
  378. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  379. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  380. package/dist/esm/v2/tokens/chart.js +261 -0
  381. package/dist/esm/v2/tokens/chart.js.map +1 -0
  382. package/dist/esm/v2/tokens/colors.js +22 -22
  383. package/dist/esm/v2/tokens/colors.js.map +1 -1
  384. package/dist/esm/v2/tokens/density.js +62 -7
  385. package/dist/esm/v2/tokens/density.js.map +1 -1
  386. package/dist/esm/v2/tokens/index.js +49 -34
  387. package/dist/esm/v2/tokens/index.js.map +1 -1
  388. package/dist/esm/v2/tokens/motion.js +12 -20
  389. package/dist/esm/v2/tokens/motion.js.map +1 -1
  390. package/dist/esm/v2/tokens/radius.js +1 -1
  391. package/dist/esm/v2/tokens/radius.js.map +1 -1
  392. package/dist/esm/v2/tokens/shadows.js +6 -6
  393. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  394. package/dist/esm/v2/tokens/spacing.js +2 -2
  395. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  396. package/dist/esm/v2/tokens/state.js +1 -1
  397. package/dist/esm/v2/tokens/state.js.map +1 -1
  398. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  399. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  400. package/dist/esm/v2/tokens/tokens.json +6 -1
  401. package/dist/esm/v2/tokens/typography.js +13 -13
  402. package/dist/esm/v2/tokens/typography.js.map +1 -1
  403. package/dist/esm/v2/tokens/zIndex.js +1 -1
  404. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  405. package/dist/esm/v2/types/datagrid.js.map +1 -1
  406. package/dist/esm/v2/utils/apiError.js +16 -37
  407. package/dist/esm/v2/utils/apiError.js.map +1 -1
  408. package/dist/esm/v2/utils/contrast.js +31 -32
  409. package/dist/esm/v2/utils/contrast.js.map +1 -1
  410. package/dist/esm/v2/utils/cx.js +5 -25
  411. package/dist/esm/v2/utils/cx.js.map +1 -1
  412. package/dist/esm/v2/utils/fileDownload.js +23 -26
  413. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  414. package/dist/esm/v2/utils/fileValidation.js +209 -0
  415. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  416. package/dist/esm/v2/utils/fmtDate.js +111 -0
  417. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  419. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  420. package/dist/esm/v2/utils/formikErrors.js +78 -0
  421. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  422. package/dist/esm/v2/utils/index.js +35 -2
  423. package/dist/esm/v2/utils/index.js.map +1 -1
  424. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  425. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  426. package/dist/esm/v2/utils/networkStatus.js +12 -12
  427. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  428. package/dist/index.d.ts +7 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +110 -49
  431. package/dist/index.js.map +1 -1
  432. package/dist/v2/__tests__/AppMain.test.js +133 -0
  433. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  434. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  435. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  436. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  437. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  438. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  439. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  440. package/dist/v2/__tests__/FieldError.test.js +82 -49
  441. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  442. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  443. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  444. package/dist/v2/__tests__/FieldWidth.test.js +23 -25
  445. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
  446. package/dist/v2/__tests__/FileCard.test.js +29 -28
  447. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  448. package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
  449. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
  451. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
  452. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  453. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
  455. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
  456. package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
  457. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  458. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  459. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  460. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  461. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  462. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  463. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  464. package/dist/v2/__tests__/apiError.test.js +50 -69
  465. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  466. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  467. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  468. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  469. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  470. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  471. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  472. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  473. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  474. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  475. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  476. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  477. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  478. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  479. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  480. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  481. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  482. package/dist/v2/__tests__/labels-merge.test.js +23 -27
  483. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  484. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  485. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  486. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  487. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  488. package/dist/v2/__tests__/rowActions.test.js +186 -0
  489. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  490. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  491. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  493. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  494. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  495. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  496. package/dist/v2/components/Accordion.js +60 -82
  497. package/dist/v2/components/Accordion.js.map +1 -1
  498. package/dist/v2/components/ActionStrip.js +40 -52
  499. package/dist/v2/components/ActionStrip.js.map +1 -1
  500. package/dist/v2/components/Banner.js +42 -41
  501. package/dist/v2/components/Banner.js.map +1 -1
  502. package/dist/v2/components/Busy.js +22 -27
  503. package/dist/v2/components/Busy.js.map +1 -1
  504. package/dist/v2/components/Button.js +39 -50
  505. package/dist/v2/components/Button.js.map +1 -1
  506. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  507. package/dist/v2/components/CategoryTag.js +49 -32
  508. package/dist/v2/components/CategoryTag.js.map +1 -1
  509. package/dist/v2/components/Checkbox.js +39 -45
  510. package/dist/v2/components/Checkbox.js.map +1 -1
  511. package/dist/v2/components/Chip.js +29 -42
  512. package/dist/v2/components/Chip.js.map +1 -1
  513. package/dist/v2/components/Combobox.js +122 -144
  514. package/dist/v2/components/Combobox.js.map +1 -1
  515. package/dist/v2/components/CommandPalette.js +138 -225
  516. package/dist/v2/components/CommandPalette.js.map +1 -1
  517. package/dist/v2/components/ConfirmDialog.js +46 -56
  518. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  519. package/dist/v2/components/DatePicker.js +81 -86
  520. package/dist/v2/components/DatePicker.js.map +1 -1
  521. package/dist/v2/components/DateRangePicker.js +77 -87
  522. package/dist/v2/components/DateRangePicker.js.map +1 -1
  523. package/dist/v2/components/DateTimePicker.js +84 -91
  524. package/dist/v2/components/DateTimePicker.js.map +1 -1
  525. package/dist/v2/components/Drawer.d.ts.map +1 -1
  526. package/dist/v2/components/Drawer.js +93 -88
  527. package/dist/v2/components/Drawer.js.map +1 -1
  528. package/dist/v2/components/Dropzone.js +150 -196
  529. package/dist/v2/components/Dropzone.js.map +1 -1
  530. package/dist/v2/components/EmptyState.js +18 -20
  531. package/dist/v2/components/EmptyState.js.map +1 -1
  532. package/dist/v2/components/FavoriteToggle.js +28 -39
  533. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  534. package/dist/v2/components/Field.d.ts +62 -4
  535. package/dist/v2/components/Field.d.ts.map +1 -1
  536. package/dist/v2/components/Field.js +169 -70
  537. package/dist/v2/components/Field.js.map +1 -1
  538. package/dist/v2/components/FieldError.js +18 -21
  539. package/dist/v2/components/FieldError.js.map +1 -1
  540. package/dist/v2/components/FieldHelp.js +40 -60
  541. package/dist/v2/components/FieldHelp.js.map +1 -1
  542. package/dist/v2/components/FileCard.js +27 -31
  543. package/dist/v2/components/FileCard.js.map +1 -1
  544. package/dist/v2/components/FilterTab.js +30 -38
  545. package/dist/v2/components/FilterTab.js.map +1 -1
  546. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  547. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  548. package/dist/v2/components/ForbiddenPage.js +37 -17
  549. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  550. package/dist/v2/components/FormGrid.js +53 -59
  551. package/dist/v2/components/FormGrid.js.map +1 -1
  552. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  553. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  554. package/dist/v2/components/FormikDisplay.js +108 -33
  555. package/dist/v2/components/FormikDisplay.js.map +1 -1
  556. package/dist/v2/components/Input.d.ts +40 -0
  557. package/dist/v2/components/Input.d.ts.map +1 -1
  558. package/dist/v2/components/Input.js +81 -41
  559. package/dist/v2/components/Input.js.map +1 -1
  560. package/dist/v2/components/KPICard.js +57 -67
  561. package/dist/v2/components/KPICard.js.map +1 -1
  562. package/dist/v2/components/KPIStrip.js +16 -22
  563. package/dist/v2/components/KPIStrip.js.map +1 -1
  564. package/dist/v2/components/KV.js +25 -31
  565. package/dist/v2/components/KV.js.map +1 -1
  566. package/dist/v2/components/KVGrid.js +19 -26
  567. package/dist/v2/components/KVGrid.js.map +1 -1
  568. package/dist/v2/components/Layout.js +91 -120
  569. package/dist/v2/components/Layout.js.map +1 -1
  570. package/dist/v2/components/MobileRowCard.js +79 -91
  571. package/dist/v2/components/MobileRowCard.js.map +1 -1
  572. package/dist/v2/components/Modal.js +61 -69
  573. package/dist/v2/components/Modal.js.map +1 -1
  574. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  575. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  576. package/dist/v2/components/NetworkErrorPage.js +38 -21
  577. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  578. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  579. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  580. package/dist/v2/components/NotFoundPage.js +37 -18
  581. package/dist/v2/components/NotFoundPage.js.map +1 -1
  582. package/dist/v2/components/NumberInput.js +88 -118
  583. package/dist/v2/components/NumberInput.js.map +1 -1
  584. package/dist/v2/components/OverflowMenu.js +38 -56
  585. package/dist/v2/components/OverflowMenu.js.map +1 -1
  586. package/dist/v2/components/PdfViewer.js +34 -45
  587. package/dist/v2/components/PdfViewer.js.map +1 -1
  588. package/dist/v2/components/ProgressBar.js +42 -49
  589. package/dist/v2/components/ProgressBar.js.map +1 -1
  590. package/dist/v2/components/Radio.js +59 -67
  591. package/dist/v2/components/Radio.js.map +1 -1
  592. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  593. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  594. package/dist/v2/components/SectionHeader.js +34 -41
  595. package/dist/v2/components/SectionHeader.js.map +1 -1
  596. package/dist/v2/components/Segmented.js +69 -93
  597. package/dist/v2/components/Segmented.js.map +1 -1
  598. package/dist/v2/components/Select.d.ts +26 -2
  599. package/dist/v2/components/Select.d.ts.map +1 -1
  600. package/dist/v2/components/Select.js +120 -155
  601. package/dist/v2/components/Select.js.map +1 -1
  602. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  603. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  604. package/dist/v2/components/ServerErrorPage.js +37 -20
  605. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  606. package/dist/v2/components/Skeleton.js +86 -100
  607. package/dist/v2/components/Skeleton.js.map +1 -1
  608. package/dist/v2/components/SkipLink.js +9 -12
  609. package/dist/v2/components/SkipLink.js.map +1 -1
  610. package/dist/v2/components/Spinner.js +16 -25
  611. package/dist/v2/components/Spinner.js.map +1 -1
  612. package/dist/v2/components/Status.js +18 -29
  613. package/dist/v2/components/Status.js.map +1 -1
  614. package/dist/v2/components/Stepper.js +80 -82
  615. package/dist/v2/components/Stepper.js.map +1 -1
  616. package/dist/v2/components/Surface.js +34 -49
  617. package/dist/v2/components/Surface.js.map +1 -1
  618. package/dist/v2/components/Switch.js +29 -37
  619. package/dist/v2/components/Switch.js.map +1 -1
  620. package/dist/v2/components/TabPanel.d.ts +17 -0
  621. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  622. package/dist/v2/components/TabPanel.js +90 -0
  623. package/dist/v2/components/TabPanel.js.map +1 -0
  624. package/dist/v2/components/Tabs.d.ts +25 -0
  625. package/dist/v2/components/Tabs.d.ts.map +1 -1
  626. package/dist/v2/components/Tabs.js +53 -29
  627. package/dist/v2/components/Tabs.js.map +1 -1
  628. package/dist/v2/components/TelInput.js +80 -115
  629. package/dist/v2/components/TelInput.js.map +1 -1
  630. package/dist/v2/components/Textarea.js +26 -35
  631. package/dist/v2/components/Textarea.js.map +1 -1
  632. package/dist/v2/components/TimePicker.js +62 -74
  633. package/dist/v2/components/TimePicker.js.map +1 -1
  634. package/dist/v2/components/Toast.js +119 -174
  635. package/dist/v2/components/Toast.js.map +1 -1
  636. package/dist/v2/components/Tooltip.js +23 -38
  637. package/dist/v2/components/Tooltip.js.map +1 -1
  638. package/dist/v2/components/_ErrorPageBody.js +15 -16
  639. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  640. package/dist/v2/components/_pickerShared.js +5 -5
  641. package/dist/v2/components/_pickerShared.js.map +1 -1
  642. package/dist/v2/components/index.d.ts +40 -1
  643. package/dist/v2/components/index.d.ts.map +1 -1
  644. package/dist/v2/components/index.js +153 -136
  645. package/dist/v2/components/index.js.map +1 -1
  646. package/dist/v2/hooks/index.d.ts +65 -0
  647. package/dist/v2/hooks/index.d.ts.map +1 -1
  648. package/dist/v2/hooks/index.js +63 -24
  649. package/dist/v2/hooks/index.js.map +1 -1
  650. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  651. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  652. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  653. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  654. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  655. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  656. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  657. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  658. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  659. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  660. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  661. package/dist/v2/hooks/useDensity.js +14 -18
  662. package/dist/v2/hooks/useDensity.js.map +1 -1
  663. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  664. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  665. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  666. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  667. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  668. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  669. package/dist/v2/hooks/useFocusTrap.js +20 -24
  670. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  671. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  672. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  673. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  674. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  675. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  676. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  677. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  678. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  679. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  680. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  681. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  682. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  683. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  684. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  685. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  687. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  688. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  689. package/dist/v2/hooks/useSortedRows.js +4 -6
  690. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  691. package/dist/v2/hooks/useTabLoading.js +7 -22
  692. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  693. package/dist/v2/index.js +143 -145
  694. package/dist/v2/index.js.map +1 -1
  695. package/dist/v2/modalContext.js +2 -2
  696. package/dist/v2/modalContext.js.map +1 -1
  697. package/dist/v2/models/favorite.d.ts +8 -9
  698. package/dist/v2/models/favorite.d.ts.map +1 -1
  699. package/dist/v2/models/favorite.js.map +1 -1
  700. package/dist/v2/models/index.js +4 -4
  701. package/dist/v2/models/index.js.map +1 -1
  702. package/dist/v2/models/personalization.d.ts +44 -48
  703. package/dist/v2/models/personalization.d.ts.map +1 -1
  704. package/dist/v2/models/personalization.js.map +1 -1
  705. package/dist/v2/models/referentiel.d.ts +32 -50
  706. package/dist/v2/models/referentiel.d.ts.map +1 -1
  707. package/dist/v2/models/referentiel.js.map +1 -1
  708. package/dist/v2/models/savedFilter.d.ts +8 -17
  709. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  710. package/dist/v2/models/savedFilter.js.map +1 -1
  711. package/dist/v2/patterns/ActionBar.js +152 -187
  712. package/dist/v2/patterns/ActionBar.js.map +1 -1
  713. package/dist/v2/patterns/AppMain.d.ts +109 -0
  714. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  715. package/dist/v2/patterns/AppMain.js +115 -0
  716. package/dist/v2/patterns/AppMain.js.map +1 -0
  717. package/dist/v2/patterns/BulkActionBar.js +40 -42
  718. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  719. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  720. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  721. package/dist/v2/patterns/ChartFigure.js +159 -0
  722. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  723. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  724. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  725. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  726. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  727. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  728. package/dist/v2/patterns/DataGrid.js +262 -297
  729. package/dist/v2/patterns/DataGrid.js.map +1 -1
  730. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  731. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  733. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  734. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  735. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  736. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  737. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  738. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  739. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  740. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  741. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  742. package/dist/v2/patterns/DetailSplit.js +116 -0
  743. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  744. package/dist/v2/patterns/FavoriteColumn.js +22 -23
  745. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  746. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  747. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  748. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  749. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  750. package/dist/v2/patterns/FilterTabBar.js +120 -0
  751. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  752. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  753. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  754. package/dist/v2/patterns/FormPageShell.js +53 -50
  755. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  756. package/dist/v2/patterns/FormSection.d.ts +8 -3
  757. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  758. package/dist/v2/patterns/FormSection.js +44 -51
  759. package/dist/v2/patterns/FormSection.js.map +1 -1
  760. package/dist/v2/patterns/FormikCheckbox.js +36 -45
  761. package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
  762. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  763. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  765. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  766. package/dist/v2/patterns/FormikCombobox.js +55 -72
  767. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  768. package/dist/v2/patterns/FormikDatePicker.js +50 -64
  769. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  770. package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
  771. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
  772. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  773. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  774. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  775. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  776. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  777. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  778. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  779. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikFile.js +99 -83
  781. package/dist/v2/patterns/FormikFile.js.map +1 -1
  782. package/dist/v2/patterns/FormikInput.js +45 -58
  783. package/dist/v2/patterns/FormikInput.js.map +1 -1
  784. package/dist/v2/patterns/FormikRadioGroup.js +45 -56
  785. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
  786. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  787. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  788. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  789. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  790. package/dist/v2/patterns/FormikSelect.js +70 -92
  791. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  792. package/dist/v2/patterns/FormikTextarea.js +35 -51
  793. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  796. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  797. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  798. package/dist/v2/patterns/PageContent.js +17 -20
  799. package/dist/v2/patterns/PageContent.js.map +1 -1
  800. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  801. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  802. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  803. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/ReferentielField.js +347 -327
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
  809. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
  810. package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
  811. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
  812. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  813. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  814. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  816. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  817. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  818. package/dist/v2/patterns/SortableHeader.js +35 -57
  819. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  820. package/dist/v2/patterns/Tour.js +121 -142
  821. package/dist/v2/patterns/Tour.js.map +1 -1
  822. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  823. package/dist/v2/patterns/_dataGridShared.js +131 -147
  824. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  825. package/dist/v2/patterns/_pickerSerialisation.js +9 -10
  826. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
  827. package/dist/v2/patterns/_sort.js +17 -33
  828. package/dist/v2/patterns/_sort.js.map +1 -1
  829. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  830. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  831. package/dist/v2/patterns/_useColumnResize.js +80 -99
  832. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  833. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  834. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  835. package/dist/v2/patterns/filterCriteria.js +110 -0
  836. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  837. package/dist/v2/patterns/index.d.ts +160 -0
  838. package/dist/v2/patterns/index.d.ts.map +1 -1
  839. package/dist/v2/patterns/index.js +157 -79
  840. package/dist/v2/patterns/index.js.map +1 -1
  841. package/dist/v2/patterns/rowActions.d.ts +150 -0
  842. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  843. package/dist/v2/patterns/rowActions.js +232 -0
  844. package/dist/v2/patterns/rowActions.js.map +1 -0
  845. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  846. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  847. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  848. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  849. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  850. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  851. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  852. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  853. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  854. package/dist/v2/personalization/adapters/index.js +5 -5
  855. package/dist/v2/personalization/adapters/index.js.map +1 -1
  856. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  857. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  858. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  859. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  860. package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
  861. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
  862. package/dist/v2/personalization/capabilities/index.js +12 -12
  863. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  864. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  865. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  866. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  867. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  868. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  869. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  870. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  871. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  872. package/dist/v2/personalization/index.d.ts +16 -0
  873. package/dist/v2/personalization/index.d.ts.map +1 -1
  874. package/dist/v2/personalization/index.js +30 -23
  875. package/dist/v2/personalization/index.js.map +1 -1
  876. package/dist/v2/personalization/personalizationContext.js +10 -12
  877. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  878. package/dist/v2/personalization/schema.js +8 -9
  879. package/dist/v2/personalization/schema.js.map +1 -1
  880. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  881. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  882. package/dist/v2/referentiel/index.js +11 -13
  883. package/dist/v2/referentiel/index.js.map +1 -1
  884. package/dist/v2/referentiel/types.d.ts +105 -0
  885. package/dist/v2/referentiel/types.d.ts.map +1 -0
  886. package/dist/v2/referentiel/types.js +6 -0
  887. package/dist/v2/referentiel/types.js.map +1 -0
  888. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  889. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  890. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  891. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  892. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  893. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  894. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  895. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  896. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  897. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  898. package/dist/v2/theme/_brand.js +12 -26
  899. package/dist/v2/theme/_brand.js.map +1 -1
  900. package/dist/v2/theme/_brandSecondary.js +12 -26
  901. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  902. package/dist/v2/theme/createPortnetTheme.js +41 -49
  903. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  904. package/dist/v2/theme/cssVariables.d.ts +3 -3
  905. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  906. package/dist/v2/theme/cssVariables.js +65 -70
  907. package/dist/v2/theme/cssVariables.js.map +1 -1
  908. package/dist/v2/theme/index.js +10 -10
  909. package/dist/v2/theme/index.js.map +1 -1
  910. package/dist/v2/tokens/breakpoints.js +16 -16
  911. package/dist/v2/tokens/breakpoints.js.map +1 -1
  912. package/dist/v2/tokens/chart.d.ts +103 -0
  913. package/dist/v2/tokens/chart.d.ts.map +1 -0
  914. package/dist/v2/tokens/chart.js +270 -0
  915. package/dist/v2/tokens/chart.js.map +1 -0
  916. package/dist/v2/tokens/colors.js +24 -24
  917. package/dist/v2/tokens/colors.js.map +1 -1
  918. package/dist/v2/tokens/density.d.ts +104 -0
  919. package/dist/v2/tokens/density.d.ts.map +1 -1
  920. package/dist/v2/tokens/density.js +67 -12
  921. package/dist/v2/tokens/density.js.map +1 -1
  922. package/dist/v2/tokens/index.d.ts +50 -1
  923. package/dist/v2/tokens/index.d.ts.map +1 -1
  924. package/dist/v2/tokens/index.js +116 -68
  925. package/dist/v2/tokens/index.js.map +1 -1
  926. package/dist/v2/tokens/motion.js +16 -22
  927. package/dist/v2/tokens/motion.js.map +1 -1
  928. package/dist/v2/tokens/radius.js +3 -3
  929. package/dist/v2/tokens/radius.js.map +1 -1
  930. package/dist/v2/tokens/shadows.js +8 -8
  931. package/dist/v2/tokens/shadows.js.map +1 -1
  932. package/dist/v2/tokens/spacing.js +4 -4
  933. package/dist/v2/tokens/spacing.js.map +1 -1
  934. package/dist/v2/tokens/state.js +3 -3
  935. package/dist/v2/tokens/state.js.map +1 -1
  936. package/dist/v2/tokens/statusPalette.js +21 -23
  937. package/dist/v2/tokens/statusPalette.js.map +1 -1
  938. package/dist/v2/tokens/tokens.json +6 -1
  939. package/dist/v2/tokens/typography.js +15 -15
  940. package/dist/v2/tokens/typography.js.map +1 -1
  941. package/dist/v2/tokens/zIndex.js +3 -3
  942. package/dist/v2/tokens/zIndex.js.map +1 -1
  943. package/dist/v2/types/datagrid.d.ts +9 -1
  944. package/dist/v2/types/datagrid.d.ts.map +1 -1
  945. package/dist/v2/types/datagrid.js.map +1 -1
  946. package/dist/v2/types/index.js +2 -2
  947. package/dist/v2/types/index.js.map +1 -1
  948. package/dist/v2/utils/apiError.js +16 -37
  949. package/dist/v2/utils/apiError.js.map +1 -1
  950. package/dist/v2/utils/contrast.js +31 -32
  951. package/dist/v2/utils/contrast.js.map +1 -1
  952. package/dist/v2/utils/cx.js +7 -27
  953. package/dist/v2/utils/cx.js.map +1 -1
  954. package/dist/v2/utils/fileDownload.js +25 -28
  955. package/dist/v2/utils/fileDownload.js.map +1 -1
  956. package/dist/v2/utils/fileValidation.d.ts +116 -0
  957. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  958. package/dist/v2/utils/fileValidation.js +220 -0
  959. package/dist/v2/utils/fileValidation.js.map +1 -0
  960. package/dist/v2/utils/fmtDate.d.ts +103 -0
  961. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  962. package/dist/v2/utils/fmtDate.js +119 -0
  963. package/dist/v2/utils/fmtDate.js.map +1 -0
  964. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  965. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  966. package/dist/v2/utils/fmtMoney.js +9 -11
  967. package/dist/v2/utils/fmtMoney.js.map +1 -1
  968. package/dist/v2/utils/formikErrors.d.ts +67 -0
  969. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  970. package/dist/v2/utils/formikErrors.js +85 -0
  971. package/dist/v2/utils/formikErrors.js.map +1 -0
  972. package/dist/v2/utils/index.d.ts +5 -0
  973. package/dist/v2/utils/index.d.ts.map +1 -1
  974. package/dist/v2/utils/index.js +67 -18
  975. package/dist/v2/utils/index.js.map +1 -1
  976. package/dist/v2/utils/mergeLabels.js +9 -14
  977. package/dist/v2/utils/mergeLabels.js.map +1 -1
  978. package/dist/v2/utils/networkStatus.js +14 -14
  979. package/dist/v2/utils/networkStatus.js.map +1 -1
  980. package/package.json +26 -9
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
9
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
@@ -16,28 +16,16 @@ var _DatePicker = _interopRequireDefault(require("../components/DatePicker"));
16
16
  var _Button = _interopRequireDefault(require("../components/Button"));
17
17
  var _Banner = _interopRequireDefault(require("../components/Banner"));
18
18
  var _Modal = _interopRequireDefault(require("../components/Modal"));
19
+ var _Drawer = _interopRequireDefault(require("../components/Drawer"));
19
20
  var _DataGrid = _interopRequireDefault(require("./DataGrid"));
20
21
  var _EmptyState = _interopRequireDefault(require("../components/EmptyState"));
22
+ var _KV = _interopRequireDefault(require("../components/KV"));
23
+ var _KVGrid = _interopRequireDefault(require("../components/KVGrid"));
21
24
  var _mergeLabels = require("../utils/mergeLabels");
22
25
  var _jsxRuntime = require("react/jsx-runtime");
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
- 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); }
25
- 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; }
26
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
27
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
28
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
30
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
32
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
33
- function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
34
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
35
- 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; }
36
- 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; }
37
- 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; }
38
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
39
- 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); }
40
- 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); } /**
26
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ 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); }
28
+ /**
41
29
  * ReferentielField — Portnet UI v2 (pattern)
42
30
  *
43
31
  * Charter §03 · Component "Referentiel · Search-and-select".
@@ -67,17 +55,20 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
67
55
  * trigger is routed through `inputProps` → slotProps.input. This
68
56
  * includes the Field-injected aria-invalid / aria-required /
69
57
  * aria-describedby so the whole aria contract lives on one element.
70
- */ /** Localisable strings; `resultsHeading` is a function for plural rules. */ /** One search criterion. combobox/date-only fields reuse the real
58
+ */
59
+
60
+ /** Localisable strings; `resultsHeading` is a function for plural rules. */
61
+
62
+ /** One search criterion. combobox/date-only fields reuse the real
71
63
  * component prop types so they stay exactly aligned. */
72
- var DEFAULT_LABELS = Object.freeze({
64
+
65
+ const DEFAULT_LABELS = Object.freeze({
73
66
  searchAria: "Rechercher",
74
67
  clearAria: "Effacer la sélection",
75
68
  modalCancel: "Annuler",
76
69
  modalConfirm: "Sélectionner",
77
70
  searchSubmit: "Rechercher",
78
- resultsHeading: function resultsHeading(n) {
79
- return "".concat(n, " r\xE9sultat").concat(n > 1 ? "s" : "");
80
- },
71
+ resultsHeading: n => `${n} résultat${n > 1 ? "s" : ""}`,
81
72
  initialEmptyTitle: "Aucune recherche",
82
73
  initialEmptyHint: "Saisissez un critère puis lancez la recherche.",
83
74
  noResultsTitle: "Aucun résultat",
@@ -87,125 +78,122 @@ var DEFAULT_LABELS = Object.freeze({
87
78
  loadingHint: "Recherche en cours…",
88
79
  placeholder: "Sélectionner…"
89
80
  });
90
- var DEFAULT_PAGE_SIZE = 25;
91
- var DEFAULT_PAGE_SIZES = [25, 50, 100];
81
+ const DEFAULT_PAGE_SIZE = 25;
82
+ const DEFAULT_PAGE_SIZES = [25, 50, 100];
92
83
 
93
84
  /* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to
94
85
  * the declared `(row: T) => RowId` by parameter contravariance. */
95
- var defaultGetRowId = function defaultGetRowId(row) {
96
- return row.id;
97
- };
86
+ const defaultGetRowId = row => row.id;
98
87
 
99
88
  /* B17 — render a single criterion based on its `kind` discriminator.
100
89
  * Falls back to Input for unknown kinds. The draft value is `unknown`
101
90
  * (criteria are heterogeneous); one assertion at each value seam. */
102
- function renderCriterionField(c, value, _onChange) {
103
- var _c$options;
104
- var kind = c.kind || "input";
91
+ function renderCriterionField(c, value, onChange) {
92
+ const kind = c.kind || "input";
105
93
  switch (kind) {
106
94
  case "combobox":
107
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox["default"], _objectSpread(_objectSpread({
108
- value: value !== null && value !== void 0 ? value : "",
109
- onChange: function onChange(next) {
110
- var _target$value, _target;
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox.default, {
96
+ value: value ?? "",
97
+ onChange: next => {
111
98
  // Combobox may emit either a raw value or an event-like object;
112
99
  // extract defensively in a way that is sound for any shape.
113
- var extracted = next && _typeof(next) === "object" && "target" in next ? (_target$value = (_target = next.target) === null || _target === void 0 ? void 0 : _target.value) !== null && _target$value !== void 0 ? _target$value : next : next;
114
- _onChange(extracted);
100
+ const extracted = next && typeof next === "object" && "target" in next ? next.target?.value ?? next : next;
101
+ onChange(extracted);
115
102
  },
116
- options: (_c$options = c.options) !== null && _c$options !== void 0 ? _c$options : [],
117
- loading: Boolean(c.loading)
118
- }, c.getOptionLabel !== undefined ? {
119
- getOptionLabel: c.getOptionLabel
120
- } : {}), c.placeholder !== undefined ? {
121
- placeholder: c.placeholder
122
- } : {}));
103
+ options: c.options ?? [],
104
+ loading: Boolean(c.loading),
105
+ ...(c.getOptionLabel !== undefined ? {
106
+ getOptionLabel: c.getOptionLabel
107
+ } : {}),
108
+ ...(c.placeholder !== undefined ? {
109
+ placeholder: c.placeholder
110
+ } : {})
111
+ });
123
112
  case "date":
124
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker["default"], _objectSpread({
113
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePicker.default, {
125
114
  name: c.name,
126
- value: value !== null && value !== void 0 ? value : null,
127
- onChange: function onChange(next) {
128
- return _onChange(next);
129
- },
130
- disableFuture: Boolean(c.disableFuture)
131
- }, c.placeholder !== undefined ? {
132
- placeholder: c.placeholder
133
- } : {}));
115
+ value: value ?? null,
116
+ onChange: next => onChange(next),
117
+ disableFuture: Boolean(c.disableFuture),
118
+ ...(c.placeholder !== undefined ? {
119
+ placeholder: c.placeholder
120
+ } : {})
121
+ });
134
122
  case "input":
135
123
  default:
136
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input["default"], {
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.default, {
137
125
  name: c.name,
138
- value: value !== null && value !== void 0 ? value : "",
139
- onChange: function onChange(e) {
140
- return _onChange(e.target.value);
141
- },
142
- placeholder: c.placeholder
126
+ value: value ?? "",
127
+ onChange: e => onChange(e.target.value),
128
+ placeholder: c.placeholder,
129
+ ...(c.maxLength != null ? {
130
+ inputProps: {
131
+ maxLength: c.maxLength
132
+ }
133
+ } : {})
143
134
  });
144
135
  }
145
136
  }
146
- function ReferentielField(_ref) {
147
- var value = _ref.value,
148
- onChange = _ref.onChange,
149
- getDisplayValue = _ref.getDisplayValue,
150
- placeholder = _ref.placeholder,
151
- _ref$disabled = _ref.disabled,
152
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
153
- _ref$readOnly = _ref.readOnly,
154
- readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
155
- _ref$clearable = _ref.clearable,
156
- clearable = _ref$clearable === void 0 ? true : _ref$clearable,
157
- _ref$title = _ref.title,
158
- title = _ref$title === void 0 ? "Rechercher" : _ref$title,
159
- subtitle = _ref.subtitle,
160
- _ref$size = _ref.size,
161
- size = _ref$size === void 0 ? "lg" : _ref$size,
162
- modalProps = _ref.modalProps,
163
- search = _ref.search,
164
- _ref$criteria = _ref.criteria,
165
- criteria = _ref$criteria === void 0 ? [] : _ref$criteria,
166
- initialCriteria = _ref.initialCriteria,
167
- _ref$columns = _ref.columns,
168
- columns = _ref$columns === void 0 ? [] : _ref$columns,
169
- _ref$pageSize = _ref.pageSize,
170
- pageSizeProp = _ref$pageSize === void 0 ? DEFAULT_PAGE_SIZE : _ref$pageSize,
171
- _ref$pageSizes = _ref.pageSizes,
172
- pageSizes = _ref$pageSizes === void 0 ? DEFAULT_PAGE_SIZES : _ref$pageSizes,
173
- _ref$getRowId = _ref.getRowId,
174
- getRowId = _ref$getRowId === void 0 ? defaultGetRowId : _ref$getRowId,
175
- _ref$confirmOnSelecti = _ref.confirmOnSelection,
176
- confirmOnSelection = _ref$confirmOnSelecti === void 0 ? false : _ref$confirmOnSelecti,
177
- sort = _ref.sort,
178
- onSortChange = _ref.onSortChange,
179
- labels = _ref.labels,
180
- locale = _ref.locale,
181
- id = _ref.id,
182
- name = _ref.name,
183
- ariaInvalid = _ref["aria-invalid"],
184
- ariaRequired = _ref["aria-required"],
185
- ariaDescribedBy = _ref["aria-describedby"];
186
- var L = React.useMemo(function () {
187
- return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
188
- }, [labels]);
137
+ function ReferentielField({
138
+ value,
139
+ onChange,
140
+ // Display / trigger
141
+ getDisplayValue,
142
+ placeholder,
143
+ disabled = false,
144
+ readOnly = false,
145
+ clearable = true,
146
+ // Modal content
147
+ title = "Rechercher",
148
+ subtitle,
149
+ size = "lg",
150
+ modalProps,
151
+ container = "modal",
152
+ drawerWidth,
153
+ searchOnOpen = false,
154
+ // Search contract
155
+ search,
156
+ criteria = [],
157
+ initialCriteria,
158
+ columns = [],
159
+ pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,
160
+ pageSizes = DEFAULT_PAGE_SIZES,
161
+ getRowId = defaultGetRowId,
162
+ // Selection UX
163
+ confirmOnSelection = false,
164
+ // Sort (delegated to DataGrid)
165
+ sort,
166
+ onSortChange,
167
+ // Localisation
168
+ labels,
169
+ locale,
170
+ renderMobileCard,
171
+ mobileBreakpoint = "sm",
172
+ // Forwarded down so Field can wire id / aria-* / name
173
+ id,
174
+ name,
175
+ "aria-invalid": ariaInvalid,
176
+ "aria-required": ariaRequired,
177
+ "aria-describedby": ariaDescribedBy
178
+ }) {
179
+ const L = React.useMemo(() => (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels), [labels]);
189
180
 
190
181
  /* ── Modal lifecycle ──────────────────────────────────────── */
191
- var _React$useState = React.useState(false),
192
- _React$useState2 = _slicedToArray(_React$useState, 2),
193
- open = _React$useState2[0],
194
- setOpen = _React$useState2[1];
195
- var triggerRef = React.useRef(null);
196
- var openModal = React.useCallback(function () {
182
+ const [open, setOpen] = React.useState(false);
183
+ const triggerRef = React.useRef(null);
184
+ const openModal = React.useCallback(() => {
197
185
  if (disabled || readOnly) return;
198
186
  setOpen(true);
199
187
  }, [disabled, readOnly]);
200
- var closeModal = React.useCallback(function () {
188
+ const closeModal = React.useCallback(() => {
201
189
  setOpen(false);
202
- setTimeout(function () {
190
+ setTimeout(() => {
203
191
  // triggerRef's element type resolves to `{}` via React.ElementRef<typeof
204
192
  // Input> (a TS inference gap, not a real absence of .focus at runtime —
205
193
  // Input forwards its ref to a real focusable element). Cast narrowly at
206
194
  // the point of use rather than widening the ref's declared type, so the
207
195
  // `ref={triggerRef}` binding on <Input> below is unaffected.
208
- var el = triggerRef.current;
196
+ const el = triggerRef.current;
209
197
  if (el && typeof el.focus === "function") {
210
198
  el.focus({
211
199
  preventScroll: true
@@ -215,128 +203,60 @@ function ReferentielField(_ref) {
215
203
  }, []);
216
204
 
217
205
  /* ── Criteria draft + search state ───────────────────────── */
218
- var seedCriteria = React.useMemo(function () {
219
- var seed = {};
220
- (criteria || []).forEach(function (c) {
206
+ const seedCriteria = React.useMemo(() => {
207
+ const seed = {};
208
+ (criteria || []).forEach(c => {
221
209
  seed[c.name] = initialCriteria && initialCriteria[c.name] || "";
222
210
  });
223
211
  return seed;
224
212
  }, [criteria, initialCriteria]);
225
- var _React$useState3 = React.useState(seedCriteria),
226
- _React$useState4 = _slicedToArray(_React$useState3, 2),
227
- draft = _React$useState4[0],
228
- setDraft = _React$useState4[1];
229
- React.useEffect(function () {
213
+ const [draft, setDraft] = React.useState(seedCriteria);
214
+ React.useEffect(() => {
230
215
  if (open) setDraft(seedCriteria);
231
216
  }, [open, seedCriteria]);
232
- var _React$useState5 = React.useState(1),
233
- _React$useState6 = _slicedToArray(_React$useState5, 2),
234
- page = _React$useState6[0],
235
- setPage = _React$useState6[1];
236
- var _React$useState7 = React.useState(pageSizeProp),
237
- _React$useState8 = _slicedToArray(_React$useState7, 2),
238
- pageSize = _React$useState8[0],
239
- setPageSize = _React$useState8[1];
240
- var _React$useState9 = React.useState([]),
241
- _React$useState0 = _slicedToArray(_React$useState9, 2),
242
- items = _React$useState0[0],
243
- setItems = _React$useState0[1];
244
- var _React$useState1 = React.useState(0),
245
- _React$useState10 = _slicedToArray(_React$useState1, 2),
246
- total = _React$useState10[0],
247
- setTotal = _React$useState10[1];
248
- var _React$useState11 = React.useState(false),
249
- _React$useState12 = _slicedToArray(_React$useState11, 2),
250
- loading = _React$useState12[0],
251
- setLoading = _React$useState12[1];
252
- var _React$useState13 = React.useState(null),
253
- _React$useState14 = _slicedToArray(_React$useState13, 2),
254
- error = _React$useState14[0],
255
- setError = _React$useState14[1];
256
- var _React$useState15 = React.useState(false),
257
- _React$useState16 = _slicedToArray(_React$useState15, 2),
258
- hasSearched = _React$useState16[0],
259
- setHasSearched = _React$useState16[1];
260
- var _React$useState17 = React.useState(null),
261
- _React$useState18 = _slicedToArray(_React$useState17, 2),
262
- pendingSelection = _React$useState18[0],
263
- setPendingSelection = _React$useState18[1];
217
+ const [page, setPage] = React.useState(1);
218
+ const [pageSize, setPageSize] = React.useState(pageSizeProp);
219
+ const [items, setItems] = React.useState([]);
220
+ const [total, setTotal] = React.useState(0);
221
+ const [loading, setLoading] = React.useState(false);
222
+ const [error, setError] = React.useState(null);
223
+ const [hasSearched, setHasSearched] = React.useState(false);
224
+ const [pendingSelection, setPendingSelection] = React.useState(null);
264
225
 
265
226
  /* ── Search executor ─────────────────────────────────────── */
266
- var requestSeq = React.useRef(0);
267
- var runSearch = React.useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
268
- var _overrides$criteria, _overrides$page, _overrides$pageSize;
269
- var overrides,
270
- myReq,
271
- effective,
272
- result,
273
- nextTotal,
274
- _args = arguments;
275
- return _regeneratorRuntime().wrap(function _callee$(_context) {
276
- while (1) {
277
- switch (_context.prev = _context.next) {
278
- case 0:
279
- overrides = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
280
- if (!(typeof search !== "function")) {
281
- _context.next = 3;
282
- break;
283
- }
284
- return _context.abrupt("return");
285
- case 3:
286
- myReq = ++requestSeq.current;
287
- effective = {
288
- criteria: (_overrides$criteria = overrides.criteria) !== null && _overrides$criteria !== void 0 ? _overrides$criteria : draft,
289
- page: (_overrides$page = overrides.page) !== null && _overrides$page !== void 0 ? _overrides$page : 1,
290
- pageSize: (_overrides$pageSize = overrides.pageSize) !== null && _overrides$pageSize !== void 0 ? _overrides$pageSize : pageSize,
291
- sort: sort
292
- };
293
- setLoading(true);
294
- setError(null);
295
- setHasSearched(true);
296
- _context.prev = 8;
297
- _context.next = 11;
298
- return search(effective);
299
- case 11:
300
- result = _context.sent;
301
- if (!(myReq !== requestSeq.current)) {
302
- _context.next = 14;
303
- break;
304
- }
305
- return _context.abrupt("return");
306
- case 14:
307
- setItems(Array.isArray(result.items) ? result.items : []);
308
- nextTotal = typeof result.total === "number" && Number.isFinite(result.total) ? result.total : result.items.length;
309
- setTotal(nextTotal);
310
- setPage(effective.page);
311
- setPageSize(effective.pageSize);
312
- _context.next = 28;
313
- break;
314
- case 21:
315
- _context.prev = 21;
316
- _context.t0 = _context["catch"](8);
317
- if (!(myReq !== requestSeq.current)) {
318
- _context.next = 25;
319
- break;
320
- }
321
- return _context.abrupt("return");
322
- case 25:
323
- setError(_context.t0 instanceof Error ? _context.t0 : new Error("search failed"));
324
- setItems([]);
325
- setTotal(0);
326
- case 28:
327
- _context.prev = 28;
328
- if (myReq === requestSeq.current) setLoading(false);
329
- return _context.finish(28);
330
- case 31:
331
- case "end":
332
- return _context.stop();
333
- }
334
- }
335
- }, _callee, null, [[8, 21, 28, 31]]);
336
- })), [search, draft, pageSize, sort]);
227
+ const requestSeq = React.useRef(0);
228
+ const runSearch = React.useCallback(async (overrides = {}) => {
229
+ if (typeof search !== "function") return;
230
+ const myReq = ++requestSeq.current;
231
+ const effective = {
232
+ criteria: overrides.criteria ?? draft,
233
+ page: overrides.page ?? 1,
234
+ pageSize: overrides.pageSize ?? pageSize,
235
+ sort
236
+ };
237
+ setLoading(true);
238
+ setError(null);
239
+ setHasSearched(true);
240
+ try {
241
+ const result = await search(effective);
242
+ if (myReq !== requestSeq.current) return;
243
+ setItems(Array.isArray(result.items) ? result.items : []);
244
+ const nextTotal = typeof result.total === "number" && Number.isFinite(result.total) ? result.total : result.items.length;
245
+ setTotal(nextTotal);
246
+ setPage(effective.page);
247
+ setPageSize(effective.pageSize);
248
+ } catch (e) {
249
+ if (myReq !== requestSeq.current) return;
250
+ setError(e instanceof Error ? e : new Error("search failed"));
251
+ setItems([]);
252
+ setTotal(0);
253
+ } finally {
254
+ if (myReq === requestSeq.current) setLoading(false);
255
+ }
256
+ }, [search, draft, pageSize, sort]);
337
257
 
338
258
  /* ── Form submission inside the modal ────────────────────── */
339
- var onSubmitCriteria = function onSubmitCriteria(e) {
259
+ const onSubmitCriteria = e => {
340
260
  e.preventDefault();
341
261
  setPendingSelection(null);
342
262
  runSearch({
@@ -344,12 +264,43 @@ function ReferentielField(_ref) {
344
264
  page: 1
345
265
  });
346
266
  };
347
- var onPageChange = function onPageChange(nextPage) {
267
+
268
+ /**
269
+ * S-2 — une recherche à vide par ouverture, quand `searchOnOpen` est demandé.
270
+ *
271
+ * Placé APRÈS `runSearch` délibérément : un effet qui référence une valeur
272
+ * déclarée plus bas s'exécute correctement (les effets partent après le
273
+ * rendu) mais se lit mal, et `no-use-before-define` le refuserait.
274
+ *
275
+ * Le drapeau est un ref et non de l'état : `runSearch` dépend de `draft`,
276
+ * donc sans garde l'effet repartirait à chaque frappe dans un critère —
277
+ * exactement ce que le bouton « Rechercher » existe pour éviter. Une
278
+ * fermeture le réarme.
279
+ *
280
+ * Les critères semés sont passés EXPLICITEMENT : `runSearch` lirait sinon le
281
+ * `draft` du rendu courant, que le `setDraft` de l'effet d'ouverture n'a pas
282
+ * encore appliqué.
283
+ */
284
+ const searchedOnOpenRef = React.useRef(false);
285
+ React.useEffect(() => {
286
+ if (!open) {
287
+ searchedOnOpenRef.current = false;
288
+ return;
289
+ }
290
+ if (!searchOnOpen || searchedOnOpenRef.current) return;
291
+ searchedOnOpenRef.current = true;
292
+ void runSearch({
293
+ criteria: seedCriteria,
294
+ page: 1
295
+ });
296
+ // eslint-disable-next-line react-hooks/exhaustive-deps
297
+ }, [open, searchOnOpen, seedCriteria]);
298
+ const onPageChange = nextPage => {
348
299
  runSearch({
349
300
  page: nextPage
350
301
  });
351
302
  };
352
- var onPageSizeChange = function onPageSizeChange(nextPageSize) {
303
+ const onPageSizeChange = nextPageSize => {
353
304
  runSearch({
354
305
  page: 1,
355
306
  pageSize: nextPageSize
@@ -357,112 +308,140 @@ function ReferentielField(_ref) {
357
308
  };
358
309
 
359
310
  /* ── Selection ───────────────────────────────────────────── */
360
- var handleRowClick = function handleRowClick(row) {
311
+ const handleRowClick = row => {
361
312
  if (confirmOnSelection) {
362
313
  setPendingSelection(row);
363
314
  return;
364
315
  }
365
- onChange === null || onChange === void 0 ? void 0 : onChange(row);
316
+ onChange?.(row);
366
317
  closeModal();
367
318
  };
368
- var handleConfirmSelection = function handleConfirmSelection() {
319
+ const handleConfirmSelection = () => {
369
320
  if (!pendingSelection) return;
370
- onChange === null || onChange === void 0 ? void 0 : onChange(pendingSelection);
321
+ onChange?.(pendingSelection);
371
322
  setPendingSelection(null);
372
323
  closeModal();
373
324
  };
374
- var handleClear = function handleClear(e) {
325
+ const handleClear = e => {
375
326
  e.stopPropagation();
376
327
  if (disabled || readOnly) return;
377
- onChange === null || onChange === void 0 ? void 0 : onChange(null);
328
+ onChange?.(null);
378
329
  };
379
330
 
331
+ /* ── Result-grid mobile card (A9) ───────────────────────────
332
+ * Derived from the same `columns` the table uses, so the two cannot
333
+ * disagree. `getValue` is declared `(row) => unknown` by the grid contract,
334
+ * so its result is stringified here rather than handed to `KV` as a
335
+ * ReactNode; `render` already returns one. */
336
+ const cellContent = React.useCallback((col, row) => {
337
+ if (typeof col.render === "function") return col.render(row);
338
+ if (typeof col.getValue === "function") {
339
+ const v = col.getValue(row);
340
+ return v == null ? "" : String(v);
341
+ }
342
+ const raw = row?.[col.key];
343
+ return raw == null ? "" : String(raw);
344
+ }, []);
345
+ const effectiveMobileCard = React.useCallback(row => {
346
+ if (typeof renderMobileCard === "function") return renderMobileCard(row);
347
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
348
+ sx: {
349
+ display: "flex",
350
+ flexDirection: "column",
351
+ gap: "var(--s-2)"
352
+ },
353
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_KVGrid.default, {
354
+ minColumnWidth: 140,
355
+ children: columns.map(col => /*#__PURE__*/(0, _jsxRuntime.jsx)(_KV.default, {
356
+ label: col.header,
357
+ value: cellContent(col, row)
358
+ }, col.key))
359
+ })
360
+ });
361
+ }, [renderMobileCard, columns, cellContent]);
362
+
380
363
  /* ── Trigger display ─────────────────────────────────────── */
381
- var display = React.useMemo(function () {
364
+ const display = React.useMemo(() => {
382
365
  if (value == null || value === "") return "";
383
366
  if (typeof getDisplayValue === "function") {
384
367
  try {
385
- var _getDisplayValue;
386
- return (_getDisplayValue = getDisplayValue(value)) !== null && _getDisplayValue !== void 0 ? _getDisplayValue : "";
387
- } catch (_unused) {
368
+ return getDisplayValue(value) ?? "";
369
+ } catch {
388
370
  return "";
389
371
  }
390
372
  }
391
373
  if (typeof value === "string") return value;
392
- if (value && _typeof(value) === "object") {
393
- var v = value;
374
+ if (value && typeof value === "object") {
375
+ const v = value;
394
376
  return v.description || v.label || v.name || v.code || "";
395
377
  }
396
378
  return String(value);
397
379
  }, [value, getDisplayValue]);
398
380
 
399
381
  /* ── DataGrid pagination contract ────────────────────────── */
400
- var pagination = React.useMemo(function () {
401
- return {
402
- page: page,
403
- pageSize: pageSize,
404
- total: total,
405
- pageSizes: pageSizes,
406
- onPageChange: onPageChange,
407
- onPageSizeChange: onPageSizeChange
408
- };
409
- },
382
+ const pagination = React.useMemo(() => ({
383
+ page,
384
+ pageSize,
385
+ total,
386
+ pageSizes,
387
+ onPageChange,
388
+ onPageSizeChange
389
+ }),
410
390
  // eslint-disable-next-line react-hooks/exhaustive-deps
411
391
  [page, pageSize, total, pageSizes]);
412
392
 
413
393
  /* ── Empty / error states for DataGrid ───────────────────── */
414
- var initialEmpty = /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmptyState["default"], {
394
+ const initialEmpty = /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmptyState.default, {
415
395
  variant: "initial",
416
396
  title: L.initialEmptyTitle,
417
397
  description: L.initialEmptyHint
418
398
  });
419
- var filteredEmpty = /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmptyState["default"], {
399
+ const filteredEmpty = /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmptyState.default, {
420
400
  variant: "filtered",
421
401
  title: L.noResultsTitle,
422
402
  description: L.noResultsHint
423
403
  });
424
- var errorState = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Banner["default"], {
404
+ const errorState = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Banner.default, {
425
405
  variant: "error",
426
406
  title: L.errorTitle,
427
407
  action: {
428
408
  label: L.errorRetry,
429
- onClick: function onClick() {
430
- return runSearch({
431
- page: 1
432
- });
433
- }
409
+ onClick: () => runSearch({
410
+ page: 1
411
+ })
434
412
  },
435
- children: (error === null || error === void 0 ? void 0 : error.message) || String(error || "")
413
+ children: error?.message || String(error || "")
436
414
  });
437
415
 
438
416
  /* ── Render the trigger ──────────────────────────────────── */
439
- var showClear = clearable && !disabled && !readOnly && Boolean(display);
417
+ const showClear = clearable && !disabled && !readOnly && Boolean(display);
440
418
 
441
419
  // B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input
442
420
  // routes them into slotProps.input → the native <input/>. Typed as
443
421
  // AriaAttributes so "aria-haspopup":"dialog" stays a valid literal.
444
- var triggerAria = React.useMemo(function () {
445
- return _objectSpread(_objectSpread(_objectSpread({
446
- "aria-haspopup": "dialog",
447
- "aria-expanded": open
448
- }, ariaInvalid != null ? {
422
+ const triggerAria = React.useMemo(() => ({
423
+ "aria-haspopup": "dialog",
424
+ "aria-expanded": open,
425
+ ...(ariaInvalid != null ? {
449
426
  "aria-invalid": ariaInvalid
450
- } : {}), ariaRequired != null ? {
427
+ } : {}),
428
+ ...(ariaRequired != null ? {
451
429
  "aria-required": ariaRequired
452
- } : {}), ariaDescribedBy ? {
430
+ } : {}),
431
+ ...(ariaDescribedBy ? {
453
432
  "aria-describedby": ariaDescribedBy
454
- } : {});
455
- }, [open, ariaInvalid, ariaRequired, ariaDescribedBy]);
456
- var trigger = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input["default"], {
433
+ } : {})
434
+ }), [open, ariaInvalid, ariaRequired, ariaDescribedBy]);
435
+ const trigger = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.default, {
457
436
  ref: triggerRef,
458
437
  id: id,
459
438
  name: name,
460
439
  value: display,
461
- placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : L.placeholder,
440
+ placeholder: placeholder ?? L.placeholder,
462
441
  readOnly: true,
463
442
  disabled: disabled,
464
443
  onClick: openModal,
465
- onKeyDown: function onKeyDown(e) {
444
+ onKeyDown: e => {
466
445
  if (e.key === "Enter" || e.key === " ") {
467
446
  e.preventDefault();
468
447
  openModal();
@@ -475,13 +454,13 @@ function ReferentielField(_ref) {
475
454
  cursor: disabled ? "not-allowed" : "pointer"
476
455
  }
477
456
  },
478
- endIcon: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
457
+ endIcon: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
479
458
  sx: {
480
459
  display: "inline-flex",
481
460
  alignItems: "center",
482
461
  gap: "var(--s-1)"
483
462
  },
484
- children: [showClear && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
463
+ children: [showClear && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
485
464
  type: "button",
486
465
  size: "small",
487
466
  onClick: handleClear,
@@ -490,13 +469,13 @@ function ReferentielField(_ref) {
490
469
  sx: {
491
470
  color: "var(--fg-subtle)"
492
471
  },
493
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close["default"], {
472
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {
494
473
  fontSize: "small"
495
474
  })
496
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
475
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
497
476
  type: "button",
498
477
  size: "small",
499
- onClick: function onClick(e) {
478
+ onClick: e => {
500
479
  e.stopPropagation();
501
480
  openModal();
502
481
  },
@@ -506,7 +485,7 @@ function ReferentielField(_ref) {
506
485
  sx: {
507
486
  color: "var(--accent)"
508
487
  },
509
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Search["default"], {
488
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Search.default, {
510
489
  fontSize: "small"
511
490
  })
512
491
  })]
@@ -514,7 +493,7 @@ function ReferentielField(_ref) {
514
493
  });
515
494
 
516
495
  /* ── Modal body ──────────────────────────────────────────── */
517
- var criteriaRow = criteria.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
496
+ const criteriaRow = criteria.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
518
497
  component: "form",
519
498
  onSubmit: onSubmitCriteria,
520
499
  sx: {
@@ -523,27 +502,24 @@ function ReferentielField(_ref) {
523
502
  gridTemplateColumns: {
524
503
  xs: "1fr",
525
504
  sm: criteria.length > 1 ? "1fr 1fr" : "1fr",
526
- md: "repeat(".concat(Math.min(criteria.length, 3), ", 1fr) auto")
505
+ md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`
527
506
  },
528
507
  alignItems: "end",
529
508
  marginBottom: "var(--s-4)"
530
509
  },
531
- children: [criteria.map(function (c) {
532
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], {
533
- label: c.label,
534
- hint: c.hint,
535
- children: renderCriterionField(c, draft[c.name], function (next) {
536
- return setDraft(function (d) {
537
- return _objectSpread(_objectSpread({}, d), {}, _defineProperty({}, c.name, next));
538
- });
539
- })
540
- }, c.name);
541
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
510
+ children: [criteria.map(c => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
511
+ label: c.label,
512
+ hint: c.hint,
513
+ children: renderCriterionField(c, draft[c.name], next => setDraft(d => ({
514
+ ...d,
515
+ [c.name]: next
516
+ })))
517
+ }, c.name)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
542
518
  sx: {
543
519
  display: "flex",
544
520
  justifyContent: "flex-end"
545
521
  },
546
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
522
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
547
523
  variant: "primary",
548
524
  type: "submit",
549
525
  loading: loading,
@@ -551,68 +527,112 @@ function ReferentielField(_ref) {
551
527
  })
552
528
  })]
553
529
  });
554
- var liveResults = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
530
+ const liveResults = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
555
531
  "aria-live": "polite",
556
532
  "aria-atomic": "true",
557
533
  className: "pui-sr-only",
558
534
  children: hasSearched && !loading && !error ? L.resultsHeading(total) : ""
559
535
  });
560
- var decoratedRows = React.useMemo(function () {
536
+ const decoratedRows = React.useMemo(() => {
561
537
  if (!confirmOnSelection || !pendingSelection) return items;
562
- var pendingId = getRowId(pendingSelection);
563
- return items.map(function (r) {
564
- return getRowId(r) === pendingId ? _objectSpread(_objectSpread({}, r), {}, {
565
- __pending: true
566
- }) : r;
567
- });
538
+ const pendingId = getRowId(pendingSelection);
539
+ return items.map(r => getRowId(r) === pendingId ? {
540
+ ...r,
541
+ __pending: true
542
+ } : r);
568
543
  // eslint-disable-next-line react-hooks/exhaustive-deps
569
544
  }, [items, pendingSelection, confirmOnSelection]);
570
545
 
571
546
  /* ── Modal footer ────────────────────────────────────────── */
572
- var footer = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
573
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
547
+ const footer = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
548
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
574
549
  variant: "ghost",
575
550
  onClick: closeModal,
576
551
  children: L.modalCancel
577
- }), confirmOnSelection && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
552
+ }), confirmOnSelection && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
578
553
  variant: "primary",
579
554
  disabled: !pendingSelection,
580
555
  onClick: handleConfirmSelection,
581
556
  children: L.modalConfirm
582
557
  })]
583
558
  });
559
+
560
+ /* ── Corps commun aux deux conteneurs (S-1) ──────────────────────
561
+ *
562
+ * Extrait pour que `Modal` et `Drawer` reçoivent LE MÊME contenu : aucun
563
+ * comportement de recherche, de sélection ou de pagination ne peut diverger
564
+ * entre les deux conteneurs, puisqu'il n'en existe qu'une expression.
565
+ *
566
+ * Déclaré ICI et non plus haut : `criteriaRow`, `liveResults` et
567
+ * `decoratedRows` sont des `const` du même corps de fonction, évaluées
568
+ * PENDANT le rendu. Les lire avant leur déclaration est une vraie TDZ —
569
+ * contrairement à un effet, qui ne s'exécute qu'après. */
570
+ const pickerBody = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
571
+ children: [criteriaRow, liveResults, /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataGrid.default, {
572
+ rows: decoratedRows,
573
+ columns: columns,
574
+ loading: loading,
575
+ error: error,
576
+ onRowClick: handleRowClick,
577
+ pagination: pagination,
578
+ getRowId: getRowId,
579
+ emptyState: initialEmpty,
580
+ filteredEmptyState: filteredEmpty,
581
+ errorState: errorState,
582
+ filtered: hasSearched,
583
+ renderMobileCard: row => effectiveMobileCard(row),
584
+ mobileBreakpoint: mobileBreakpoint,
585
+ ...(sort !== undefined ? {
586
+ sort
587
+ } : {}),
588
+ ...(onSortChange !== undefined ? {
589
+ onSortChange
590
+ } : {}),
591
+ ...(locale !== undefined ? {
592
+ locale
593
+ } : {}),
594
+ ...(confirmOnSelection && pendingSelection ? {
595
+ rowFlashId: getRowId(pendingSelection)
596
+ } : {})
597
+ })]
598
+ });
584
599
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
585
- children: [trigger, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Modal["default"], _objectSpread(_objectSpread({
600
+ children: [trigger, container === "drawer" ?
601
+ /*#__PURE__*/
602
+ /* S-1 — R-M.5 : un sélecteur à critères + grille paginée est à la fois
603
+ * « ≥ 3 champs » et « contenu défilable long ». Le corps est
604
+ * IDENTIQUE dans les deux branches : seule l'enveloppe change, donc
605
+ * aucun comportement de recherche, de sélection ou de pagination ne
606
+ * peut diverger entre les deux conteneurs.
607
+ *
608
+ * `footer` devient `actions` : c'est le nom du même emplacement sur
609
+ * `Drawer`. `size` n'a pas d'équivalent — un drawer est borné par sa
610
+ * largeur, pas par un gabarit de modale — et `modalProps` n'est
611
+ * délibérément PAS transmis ici : son type est celui de `Modal`, le
612
+ * faire fuiter sur un `Drawer` serait un mensonge de typage. */
613
+ (0, _jsxRuntime.jsx)(_Drawer.default, {
614
+ open: open,
615
+ onClose: closeModal,
616
+ title: title,
617
+ ...(subtitle !== undefined ? {
618
+ subtitle
619
+ } : {}),
620
+ ...(drawerWidth !== undefined ? {
621
+ width: drawerWidth
622
+ } : {}),
623
+ actions: footer,
624
+ children: pickerBody
625
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.default, {
586
626
  open: open,
587
627
  onClose: closeModal,
588
628
  title: title,
589
629
  subtitle: subtitle,
590
630
  size: size,
591
- footer: footer
592
- }, modalProps), {}, {
593
- children: [criteriaRow, liveResults, /*#__PURE__*/(0, _jsxRuntime.jsx)(_DataGrid["default"], _objectSpread(_objectSpread(_objectSpread(_objectSpread({
594
- rows: decoratedRows,
595
- columns: columns,
596
- loading: loading,
597
- error: error,
598
- onRowClick: handleRowClick,
599
- pagination: pagination,
600
- getRowId: getRowId,
601
- emptyState: initialEmpty,
602
- filteredEmptyState: filteredEmpty,
603
- errorState: errorState,
604
- filtered: hasSearched
605
- }, sort !== undefined ? {
606
- sort: sort
607
- } : {}), onSortChange !== undefined ? {
608
- onSortChange: onSortChange
609
- } : {}), locale !== undefined ? {
610
- locale: locale
611
- } : {}), confirmOnSelection && pendingSelection ? {
612
- rowFlashId: getRowId(pendingSelection)
613
- } : {}))]
614
- }))]
631
+ footer: footer,
632
+ ...modalProps,
633
+ children: pickerBody
634
+ })]
615
635
  });
616
636
  }
617
- var _default = exports["default"] = ReferentielField;
637
+ var _default = exports.default = ReferentielField;
618
638
  //# sourceMappingURL=ReferentielField.js.map