@portnet/ui 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1011) hide show
  1. package/CHANGELOG.md +737 -0
  2. package/dist/esm/index.js +90 -3
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
  5. package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
  7. package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
  9. package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
  11. package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
  13. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
  14. package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
  15. package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  17. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
  19. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
  20. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
  21. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
  23. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
  25. package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
  27. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
  29. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
  30. package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
  31. package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
  33. package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  34. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
  35. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  36. package/dist/esm/v2/__tests__/apiError.test.js +50 -69
  37. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
  38. package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
  39. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
  40. package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
  41. package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
  42. package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
  43. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
  44. package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
  45. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
  46. package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
  47. package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
  48. package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
  49. package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
  50. package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
  51. package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
  52. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
  53. package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  54. package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
  55. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
  56. package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
  57. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
  58. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
  59. package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  60. package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
  61. package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
  62. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
  63. package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  64. package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
  65. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
  66. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
  67. package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  68. package/dist/esm/v2/components/Accordion.js +48 -70
  69. package/dist/esm/v2/components/Accordion.js.map +1 -1
  70. package/dist/esm/v2/components/ActionStrip.js +31 -43
  71. package/dist/esm/v2/components/ActionStrip.js.map +1 -1
  72. package/dist/esm/v2/components/Banner.js +25 -22
  73. package/dist/esm/v2/components/Banner.js.map +1 -1
  74. package/dist/esm/v2/components/Busy.js +14 -19
  75. package/dist/esm/v2/components/Busy.js.map +1 -1
  76. package/dist/esm/v2/components/Button.js +34 -45
  77. package/dist/esm/v2/components/Button.js.map +1 -1
  78. package/dist/esm/v2/components/CategoryTag.js +44 -27
  79. package/dist/esm/v2/components/CategoryTag.js.map +1 -1
  80. package/dist/esm/v2/components/Checkbox.js +32 -38
  81. package/dist/esm/v2/components/Checkbox.js.map +1 -1
  82. package/dist/esm/v2/components/Chip.js +23 -36
  83. package/dist/esm/v2/components/Chip.js.map +1 -1
  84. package/dist/esm/v2/components/Combobox.js +112 -136
  85. package/dist/esm/v2/components/Combobox.js.map +1 -1
  86. package/dist/esm/v2/components/CommandPalette.js +113 -198
  87. package/dist/esm/v2/components/CommandPalette.js.map +1 -1
  88. package/dist/esm/v2/components/ConfirmDialog.js +36 -45
  89. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
  90. package/dist/esm/v2/components/DatePicker.js +78 -81
  91. package/dist/esm/v2/components/DatePicker.js.map +1 -1
  92. package/dist/esm/v2/components/DateRangePicker.js +63 -74
  93. package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
  94. package/dist/esm/v2/components/DateTimePicker.js +118 -90
  95. package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
  96. package/dist/esm/v2/components/Drawer.js +71 -65
  97. package/dist/esm/v2/components/Drawer.js.map +1 -1
  98. package/dist/esm/v2/components/Dropzone.js +130 -177
  99. package/dist/esm/v2/components/Dropzone.js.map +1 -1
  100. package/dist/esm/v2/components/EmptyState.js +9 -9
  101. package/dist/esm/v2/components/EmptyState.js.map +1 -1
  102. package/dist/esm/v2/components/FavoriteToggle.js +24 -33
  103. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
  104. package/dist/esm/v2/components/Field.js +210 -52
  105. package/dist/esm/v2/components/Field.js.map +1 -1
  106. package/dist/esm/v2/components/FieldError.js +9 -13
  107. package/dist/esm/v2/components/FieldError.js.map +1 -1
  108. package/dist/esm/v2/components/FieldHelp.js +28 -49
  109. package/dist/esm/v2/components/FieldHelp.js.map +1 -1
  110. package/dist/esm/v2/components/FileCard.js +14 -19
  111. package/dist/esm/v2/components/FileCard.js.map +1 -1
  112. package/dist/esm/v2/components/FilterTab.js +22 -31
  113. package/dist/esm/v2/components/FilterTab.js.map +1 -1
  114. package/dist/esm/v2/components/ForbiddenPage.js +28 -8
  115. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
  116. package/dist/esm/v2/components/FormGrid.js +48 -54
  117. package/dist/esm/v2/components/FormGrid.js.map +1 -1
  118. package/dist/esm/v2/components/FormikDisplay.js +98 -24
  119. package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
  120. package/dist/esm/v2/components/Input.js +75 -34
  121. package/dist/esm/v2/components/Input.js.map +1 -1
  122. package/dist/esm/v2/components/KPICard.js +42 -51
  123. package/dist/esm/v2/components/KPICard.js.map +1 -1
  124. package/dist/esm/v2/components/KPIStrip.js +9 -15
  125. package/dist/esm/v2/components/KPIStrip.js.map +1 -1
  126. package/dist/esm/v2/components/KV.js +16 -23
  127. package/dist/esm/v2/components/KV.js.map +1 -1
  128. package/dist/esm/v2/components/KVGrid.js +15 -23
  129. package/dist/esm/v2/components/KVGrid.js.map +1 -1
  130. package/dist/esm/v2/components/Layout.js +81 -117
  131. package/dist/esm/v2/components/Layout.js.map +1 -1
  132. package/dist/esm/v2/components/MobileRowCard.js +64 -75
  133. package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
  134. package/dist/esm/v2/components/Modal.js +44 -53
  135. package/dist/esm/v2/components/Modal.js.map +1 -1
  136. package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
  137. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
  138. package/dist/esm/v2/components/NotFoundPage.js +28 -9
  139. package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
  140. package/dist/esm/v2/components/NumberInput.js +77 -107
  141. package/dist/esm/v2/components/NumberInput.js.map +1 -1
  142. package/dist/esm/v2/components/OverflowMenu.js +24 -42
  143. package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
  144. package/dist/esm/v2/components/PdfViewer.js +24 -33
  145. package/dist/esm/v2/components/PdfViewer.js.map +1 -1
  146. package/dist/esm/v2/components/ProgressBar.js +28 -36
  147. package/dist/esm/v2/components/ProgressBar.js.map +1 -1
  148. package/dist/esm/v2/components/Radio.js +49 -57
  149. package/dist/esm/v2/components/Radio.js.map +1 -1
  150. package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
  151. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
  152. package/dist/esm/v2/components/SectionHeader.js +24 -31
  153. package/dist/esm/v2/components/SectionHeader.js.map +1 -1
  154. package/dist/esm/v2/components/Segmented.js +59 -84
  155. package/dist/esm/v2/components/Segmented.js.map +1 -1
  156. package/dist/esm/v2/components/Select.js +100 -138
  157. package/dist/esm/v2/components/Select.js.map +1 -1
  158. package/dist/esm/v2/components/ServerErrorPage.js +27 -10
  159. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
  160. package/dist/esm/v2/components/Skeleton.js +81 -96
  161. package/dist/esm/v2/components/Skeleton.js.map +1 -1
  162. package/dist/esm/v2/components/SkipLink.js +6 -7
  163. package/dist/esm/v2/components/SkipLink.js.map +1 -1
  164. package/dist/esm/v2/components/Spinner.js +13 -22
  165. package/dist/esm/v2/components/Spinner.js.map +1 -1
  166. package/dist/esm/v2/components/Status.js +14 -25
  167. package/dist/esm/v2/components/Status.js.map +1 -1
  168. package/dist/esm/v2/components/Stepper.js +68 -71
  169. package/dist/esm/v2/components/Stepper.js.map +1 -1
  170. package/dist/esm/v2/components/Surface.js +25 -44
  171. package/dist/esm/v2/components/Surface.js.map +1 -1
  172. package/dist/esm/v2/components/Switch.js +21 -29
  173. package/dist/esm/v2/components/Switch.js.map +1 -1
  174. package/dist/esm/v2/components/TabPanel.js +84 -0
  175. package/dist/esm/v2/components/TabPanel.js.map +1 -0
  176. package/dist/esm/v2/components/Tabs.js +43 -19
  177. package/dist/esm/v2/components/Tabs.js.map +1 -1
  178. package/dist/esm/v2/components/TelInput.js +75 -108
  179. package/dist/esm/v2/components/TelInput.js.map +1 -1
  180. package/dist/esm/v2/components/Textarea.js +21 -30
  181. package/dist/esm/v2/components/Textarea.js.map +1 -1
  182. package/dist/esm/v2/components/TimePicker.js +59 -69
  183. package/dist/esm/v2/components/TimePicker.js.map +1 -1
  184. package/dist/esm/v2/components/Toast.js +109 -163
  185. package/dist/esm/v2/components/Toast.js.map +1 -1
  186. package/dist/esm/v2/components/Tooltip.js +18 -31
  187. package/dist/esm/v2/components/Tooltip.js.map +1 -1
  188. package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
  189. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
  190. package/dist/esm/v2/components/_pickerShared.js +2 -2
  191. package/dist/esm/v2/components/_pickerShared.js.map +1 -1
  192. package/dist/esm/v2/components/index.js +64 -0
  193. package/dist/esm/v2/components/index.js.map +1 -1
  194. package/dist/esm/v2/hooks/index.js +62 -0
  195. package/dist/esm/v2/hooks/index.js.map +1 -1
  196. package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
  197. package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
  198. package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
  199. package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
  200. package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
  201. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
  202. package/dist/esm/v2/hooks/useDensity.js +13 -17
  203. package/dist/esm/v2/hooks/useDensity.js.map +1 -1
  204. package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
  205. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
  206. package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
  207. package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  208. package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
  209. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
  210. package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
  211. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
  212. package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
  213. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
  214. package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
  215. package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  216. package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
  217. package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  218. package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
  219. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
  220. package/dist/esm/v2/hooks/useSortedRows.js +3 -5
  221. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
  222. package/dist/esm/v2/hooks/useTabLoading.js +6 -21
  223. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
  224. package/dist/esm/v2/index.js +14 -4
  225. package/dist/esm/v2/index.js.map +1 -1
  226. package/dist/esm/v2/modalContext.js +2 -2
  227. package/dist/esm/v2/modalContext.js.map +1 -1
  228. package/dist/esm/v2/models/favorite.js.map +1 -1
  229. package/dist/esm/v2/models/personalization.js.map +1 -1
  230. package/dist/esm/v2/models/referentiel.js.map +1 -1
  231. package/dist/esm/v2/models/savedFilter.js.map +1 -1
  232. package/dist/esm/v2/patterns/ActionBar.js +115 -159
  233. package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
  234. package/dist/esm/v2/patterns/AppMain.js +108 -0
  235. package/dist/esm/v2/patterns/AppMain.js.map +1 -0
  236. package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
  237. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
  238. package/dist/esm/v2/patterns/ChartFigure.js +151 -0
  239. package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
  240. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
  241. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  242. package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
  243. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
  244. package/dist/esm/v2/patterns/DataGrid.js +221 -255
  245. package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
  246. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
  247. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  248. package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
  249. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
  250. package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
  251. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
  252. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
  253. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  254. package/dist/esm/v2/patterns/DetailSplit.js +108 -0
  255. package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
  256. package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
  257. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
  258. package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
  259. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
  260. package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
  261. package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
  262. package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
  263. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
  264. package/dist/esm/v2/patterns/FormPageShell.js +43 -41
  265. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
  266. package/dist/esm/v2/patterns/FormSection.js +30 -38
  267. package/dist/esm/v2/patterns/FormSection.js.map +1 -1
  268. package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
  269. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  270. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
  271. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  272. package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
  273. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
  274. package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
  275. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
  276. package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
  277. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  278. package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
  279. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
  280. package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
  281. package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
  282. package/dist/esm/v2/patterns/FormikFile.js +94 -78
  283. package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
  284. package/dist/esm/v2/patterns/FormikInput.js +40 -50
  285. package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
  286. package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
  287. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  288. package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
  289. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
  290. package/dist/esm/v2/patterns/FormikSelect.js +64 -84
  291. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
  292. package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
  293. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
  294. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
  295. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  296. package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
  297. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
  298. package/dist/esm/v2/patterns/PageContent.js +10 -14
  299. package/dist/esm/v2/patterns/PageContent.js.map +1 -1
  300. package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
  301. package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
  302. package/dist/esm/v2/patterns/ReferentielField.js +327 -312
  303. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
  304. package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
  305. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  306. package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
  307. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
  308. package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
  309. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
  310. package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
  311. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
  312. package/dist/esm/v2/patterns/SortableHeader.js +22 -45
  313. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
  314. package/dist/esm/v2/patterns/Tour.js +94 -120
  315. package/dist/esm/v2/patterns/Tour.js.map +1 -1
  316. package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
  317. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
  318. package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
  319. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  320. package/dist/esm/v2/patterns/_sort.js +17 -33
  321. package/dist/esm/v2/patterns/_sort.js.map +1 -1
  322. package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
  323. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
  324. package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
  325. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
  326. package/dist/esm/v2/patterns/filterCriteria.js +102 -0
  327. package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
  328. package/dist/esm/v2/patterns/index.js +235 -0
  329. package/dist/esm/v2/patterns/index.js.map +1 -1
  330. package/dist/esm/v2/patterns/rowActions.js +223 -0
  331. package/dist/esm/v2/patterns/rowActions.js.map +1 -0
  332. package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
  333. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
  334. package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
  335. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
  336. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
  337. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  338. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
  339. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  340. package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
  341. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
  342. package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
  343. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
  344. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
  345. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  346. package/dist/esm/v2/personalization/capabilities/index.js +5 -0
  347. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
  348. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
  349. package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  350. package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
  351. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
  352. package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
  353. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
  354. package/dist/esm/v2/personalization/index.js +35 -0
  355. package/dist/esm/v2/personalization/index.js.map +1 -1
  356. package/dist/esm/v2/personalization/personalizationContext.js +9 -9
  357. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
  358. package/dist/esm/v2/personalization/schema.js +8 -9
  359. package/dist/esm/v2/personalization/schema.js.map +1 -1
  360. package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
  361. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
  362. package/dist/esm/v2/referentiel/types.js +2 -0
  363. package/dist/esm/v2/referentiel/types.js.map +1 -0
  364. package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
  365. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
  366. package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
  367. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
  368. package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
  369. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
  370. package/dist/esm/v2/theme/_brand.js +8 -24
  371. package/dist/esm/v2/theme/_brand.js.map +1 -1
  372. package/dist/esm/v2/theme/_brandSecondary.js +8 -24
  373. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
  374. package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
  375. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
  376. package/dist/esm/v2/theme/cssVariables.js +62 -69
  377. package/dist/esm/v2/theme/cssVariables.js.map +1 -1
  378. package/dist/esm/v2/theme/index.js +5 -5
  379. package/dist/esm/v2/theme/index.js.map +1 -1
  380. package/dist/esm/v2/tokens/breakpoints.js +14 -14
  381. package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
  382. package/dist/esm/v2/tokens/chart.js +261 -0
  383. package/dist/esm/v2/tokens/chart.js.map +1 -0
  384. package/dist/esm/v2/tokens/colors.js +22 -22
  385. package/dist/esm/v2/tokens/colors.js.map +1 -1
  386. package/dist/esm/v2/tokens/density.js +62 -7
  387. package/dist/esm/v2/tokens/density.js.map +1 -1
  388. package/dist/esm/v2/tokens/index.js +49 -34
  389. package/dist/esm/v2/tokens/index.js.map +1 -1
  390. package/dist/esm/v2/tokens/motion.js +12 -20
  391. package/dist/esm/v2/tokens/motion.js.map +1 -1
  392. package/dist/esm/v2/tokens/radius.js +1 -1
  393. package/dist/esm/v2/tokens/radius.js.map +1 -1
  394. package/dist/esm/v2/tokens/shadows.js +6 -6
  395. package/dist/esm/v2/tokens/shadows.js.map +1 -1
  396. package/dist/esm/v2/tokens/spacing.js +2 -2
  397. package/dist/esm/v2/tokens/spacing.js.map +1 -1
  398. package/dist/esm/v2/tokens/state.js +1 -1
  399. package/dist/esm/v2/tokens/state.js.map +1 -1
  400. package/dist/esm/v2/tokens/statusPalette.js +17 -21
  401. package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
  402. package/dist/esm/v2/tokens/tokens.json +6 -1
  403. package/dist/esm/v2/tokens/typography.js +13 -13
  404. package/dist/esm/v2/tokens/typography.js.map +1 -1
  405. package/dist/esm/v2/tokens/zIndex.js +1 -1
  406. package/dist/esm/v2/tokens/zIndex.js.map +1 -1
  407. package/dist/esm/v2/types/datagrid.js.map +1 -1
  408. package/dist/esm/v2/utils/apiError.js +16 -37
  409. package/dist/esm/v2/utils/apiError.js.map +1 -1
  410. package/dist/esm/v2/utils/contrast.js +31 -32
  411. package/dist/esm/v2/utils/contrast.js.map +1 -1
  412. package/dist/esm/v2/utils/cx.js +5 -25
  413. package/dist/esm/v2/utils/cx.js.map +1 -1
  414. package/dist/esm/v2/utils/fileDownload.js +23 -26
  415. package/dist/esm/v2/utils/fileDownload.js.map +1 -1
  416. package/dist/esm/v2/utils/fileValidation.js +209 -0
  417. package/dist/esm/v2/utils/fileValidation.js.map +1 -0
  418. package/dist/esm/v2/utils/fmtDate.js +111 -0
  419. package/dist/esm/v2/utils/fmtDate.js.map +1 -0
  420. package/dist/esm/v2/utils/fmtMoney.js +8 -10
  421. package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
  422. package/dist/esm/v2/utils/formikErrors.js +78 -0
  423. package/dist/esm/v2/utils/formikErrors.js.map +1 -0
  424. package/dist/esm/v2/utils/index.js +35 -2
  425. package/dist/esm/v2/utils/index.js.map +1 -1
  426. package/dist/esm/v2/utils/mergeLabels.js +7 -12
  427. package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
  428. package/dist/esm/v2/utils/networkStatus.js +12 -12
  429. package/dist/esm/v2/utils/networkStatus.js.map +1 -1
  430. package/dist/index.d.ts +9 -1
  431. package/dist/index.d.ts.map +1 -1
  432. package/dist/index.js +122 -47
  433. package/dist/index.js.map +1 -1
  434. package/dist/v2/__tests__/AppMain.test.js +133 -0
  435. package/dist/v2/__tests__/AppMain.test.js.map +1 -0
  436. package/dist/v2/__tests__/ChartFigure.test.js +183 -0
  437. package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
  438. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
  439. package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
  440. package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
  441. package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
  442. package/dist/v2/__tests__/FieldError.test.js +98 -69
  443. package/dist/v2/__tests__/FieldError.test.js.map +1 -1
  444. package/dist/v2/__tests__/FieldNaming.test.js +161 -0
  445. package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
  446. package/dist/v2/__tests__/FieldWidth.test.js +148 -0
  447. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  448. package/dist/v2/__tests__/FileCard.test.js +45 -48
  449. package/dist/v2/__tests__/FileCard.test.js.map +1 -1
  450. package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
  451. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  452. package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
  453. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  454. package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
  455. package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
  456. package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
  457. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  458. package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
  459. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  460. package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
  461. package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
  462. package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
  463. package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
  464. package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
  465. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
  466. package/dist/v2/__tests__/apiError.test.js +50 -69
  467. package/dist/v2/__tests__/apiError.test.js.map +1 -1
  468. package/dist/v2/__tests__/banned-patterns.test.js +42 -123
  469. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
  470. package/dist/v2/__tests__/chart-palette.test.js +205 -0
  471. package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
  472. package/dist/v2/__tests__/contrast-palette.test.js +42 -74
  473. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
  474. package/dist/v2/__tests__/cssVariables.test.js +44 -51
  475. package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
  476. package/dist/v2/__tests__/fileValidation.test.js +136 -0
  477. package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
  478. package/dist/v2/__tests__/filterCriteria.test.js +324 -0
  479. package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
  480. package/dist/v2/__tests__/fmtDate.test.js +69 -0
  481. package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
  482. package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
  483. package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
  484. package/dist/v2/__tests__/labels-merge.test.js +38 -46
  485. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  486. package/dist/v2/__tests__/locale-fallback.test.js +47 -52
  487. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
  488. package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
  489. package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
  490. package/dist/v2/__tests__/rowActions.test.js +186 -0
  491. package/dist/v2/__tests__/rowActions.test.js.map +1 -0
  492. package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
  493. package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
  494. package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
  495. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
  496. package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
  497. package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
  498. package/dist/v2/components/Accordion.js +60 -82
  499. package/dist/v2/components/Accordion.js.map +1 -1
  500. package/dist/v2/components/ActionStrip.js +40 -52
  501. package/dist/v2/components/ActionStrip.js.map +1 -1
  502. package/dist/v2/components/Banner.js +42 -41
  503. package/dist/v2/components/Banner.js.map +1 -1
  504. package/dist/v2/components/Busy.js +22 -27
  505. package/dist/v2/components/Busy.js.map +1 -1
  506. package/dist/v2/components/Button.js +39 -50
  507. package/dist/v2/components/Button.js.map +1 -1
  508. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  509. package/dist/v2/components/CategoryTag.js +49 -32
  510. package/dist/v2/components/CategoryTag.js.map +1 -1
  511. package/dist/v2/components/Checkbox.js +39 -45
  512. package/dist/v2/components/Checkbox.js.map +1 -1
  513. package/dist/v2/components/Chip.js +29 -42
  514. package/dist/v2/components/Chip.js.map +1 -1
  515. package/dist/v2/components/Combobox.js +122 -144
  516. package/dist/v2/components/Combobox.js.map +1 -1
  517. package/dist/v2/components/CommandPalette.js +138 -225
  518. package/dist/v2/components/CommandPalette.js.map +1 -1
  519. package/dist/v2/components/ConfirmDialog.js +46 -56
  520. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  521. package/dist/v2/components/DatePicker.js +81 -86
  522. package/dist/v2/components/DatePicker.js.map +1 -1
  523. package/dist/v2/components/DateRangePicker.js +77 -87
  524. package/dist/v2/components/DateRangePicker.js.map +1 -1
  525. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  526. package/dist/v2/components/DateTimePicker.js +121 -95
  527. package/dist/v2/components/DateTimePicker.js.map +1 -1
  528. package/dist/v2/components/Drawer.d.ts.map +1 -1
  529. package/dist/v2/components/Drawer.js +93 -88
  530. package/dist/v2/components/Drawer.js.map +1 -1
  531. package/dist/v2/components/Dropzone.js +150 -196
  532. package/dist/v2/components/Dropzone.js.map +1 -1
  533. package/dist/v2/components/EmptyState.js +18 -20
  534. package/dist/v2/components/EmptyState.js.map +1 -1
  535. package/dist/v2/components/FavoriteToggle.js +28 -39
  536. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  537. package/dist/v2/components/Field.d.ts +121 -5
  538. package/dist/v2/components/Field.d.ts.map +1 -1
  539. package/dist/v2/components/Field.js +221 -62
  540. package/dist/v2/components/Field.js.map +1 -1
  541. package/dist/v2/components/FieldError.js +18 -21
  542. package/dist/v2/components/FieldError.js.map +1 -1
  543. package/dist/v2/components/FieldHelp.js +40 -60
  544. package/dist/v2/components/FieldHelp.js.map +1 -1
  545. package/dist/v2/components/FileCard.js +27 -31
  546. package/dist/v2/components/FileCard.js.map +1 -1
  547. package/dist/v2/components/FilterTab.js +30 -38
  548. package/dist/v2/components/FilterTab.js.map +1 -1
  549. package/dist/v2/components/ForbiddenPage.d.ts +25 -1
  550. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
  551. package/dist/v2/components/ForbiddenPage.js +37 -17
  552. package/dist/v2/components/ForbiddenPage.js.map +1 -1
  553. package/dist/v2/components/FormGrid.js +53 -59
  554. package/dist/v2/components/FormGrid.js.map +1 -1
  555. package/dist/v2/components/FormikDisplay.d.ts +50 -1
  556. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  557. package/dist/v2/components/FormikDisplay.js +108 -33
  558. package/dist/v2/components/FormikDisplay.js.map +1 -1
  559. package/dist/v2/components/Input.d.ts +40 -0
  560. package/dist/v2/components/Input.d.ts.map +1 -1
  561. package/dist/v2/components/Input.js +81 -41
  562. package/dist/v2/components/Input.js.map +1 -1
  563. package/dist/v2/components/KPICard.js +57 -67
  564. package/dist/v2/components/KPICard.js.map +1 -1
  565. package/dist/v2/components/KPIStrip.js +16 -22
  566. package/dist/v2/components/KPIStrip.js.map +1 -1
  567. package/dist/v2/components/KV.js +25 -31
  568. package/dist/v2/components/KV.js.map +1 -1
  569. package/dist/v2/components/KVGrid.js +19 -26
  570. package/dist/v2/components/KVGrid.js.map +1 -1
  571. package/dist/v2/components/Layout.js +91 -120
  572. package/dist/v2/components/Layout.js.map +1 -1
  573. package/dist/v2/components/MobileRowCard.js +79 -91
  574. package/dist/v2/components/MobileRowCard.js.map +1 -1
  575. package/dist/v2/components/Modal.js +61 -69
  576. package/dist/v2/components/Modal.js.map +1 -1
  577. package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
  578. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  579. package/dist/v2/components/NetworkErrorPage.js +38 -21
  580. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  581. package/dist/v2/components/NotFoundPage.d.ts +17 -1
  582. package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
  583. package/dist/v2/components/NotFoundPage.js +37 -18
  584. package/dist/v2/components/NotFoundPage.js.map +1 -1
  585. package/dist/v2/components/NumberInput.js +88 -118
  586. package/dist/v2/components/NumberInput.js.map +1 -1
  587. package/dist/v2/components/OverflowMenu.js +38 -56
  588. package/dist/v2/components/OverflowMenu.js.map +1 -1
  589. package/dist/v2/components/PdfViewer.js +34 -45
  590. package/dist/v2/components/PdfViewer.js.map +1 -1
  591. package/dist/v2/components/ProgressBar.js +42 -49
  592. package/dist/v2/components/ProgressBar.js.map +1 -1
  593. package/dist/v2/components/Radio.js +59 -67
  594. package/dist/v2/components/Radio.js.map +1 -1
  595. package/dist/v2/components/SectionErrorBoundary.js +90 -135
  596. package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
  597. package/dist/v2/components/SectionHeader.js +34 -41
  598. package/dist/v2/components/SectionHeader.js.map +1 -1
  599. package/dist/v2/components/Segmented.js +69 -93
  600. package/dist/v2/components/Segmented.js.map +1 -1
  601. package/dist/v2/components/Select.d.ts +26 -2
  602. package/dist/v2/components/Select.d.ts.map +1 -1
  603. package/dist/v2/components/Select.js +120 -155
  604. package/dist/v2/components/Select.js.map +1 -1
  605. package/dist/v2/components/ServerErrorPage.d.ts +27 -1
  606. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  607. package/dist/v2/components/ServerErrorPage.js +37 -20
  608. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  609. package/dist/v2/components/Skeleton.js +86 -100
  610. package/dist/v2/components/Skeleton.js.map +1 -1
  611. package/dist/v2/components/SkipLink.js +9 -12
  612. package/dist/v2/components/SkipLink.js.map +1 -1
  613. package/dist/v2/components/Spinner.js +16 -25
  614. package/dist/v2/components/Spinner.js.map +1 -1
  615. package/dist/v2/components/Status.js +18 -29
  616. package/dist/v2/components/Status.js.map +1 -1
  617. package/dist/v2/components/Stepper.js +80 -82
  618. package/dist/v2/components/Stepper.js.map +1 -1
  619. package/dist/v2/components/Surface.js +34 -49
  620. package/dist/v2/components/Surface.js.map +1 -1
  621. package/dist/v2/components/Switch.js +29 -37
  622. package/dist/v2/components/Switch.js.map +1 -1
  623. package/dist/v2/components/TabPanel.d.ts +17 -0
  624. package/dist/v2/components/TabPanel.d.ts.map +1 -0
  625. package/dist/v2/components/TabPanel.js +90 -0
  626. package/dist/v2/components/TabPanel.js.map +1 -0
  627. package/dist/v2/components/Tabs.d.ts +25 -0
  628. package/dist/v2/components/Tabs.d.ts.map +1 -1
  629. package/dist/v2/components/Tabs.js +53 -29
  630. package/dist/v2/components/Tabs.js.map +1 -1
  631. package/dist/v2/components/TelInput.js +80 -115
  632. package/dist/v2/components/TelInput.js.map +1 -1
  633. package/dist/v2/components/Textarea.js +26 -35
  634. package/dist/v2/components/Textarea.js.map +1 -1
  635. package/dist/v2/components/TimePicker.js +62 -74
  636. package/dist/v2/components/TimePicker.js.map +1 -1
  637. package/dist/v2/components/Toast.js +119 -174
  638. package/dist/v2/components/Toast.js.map +1 -1
  639. package/dist/v2/components/Tooltip.js +23 -38
  640. package/dist/v2/components/Tooltip.js.map +1 -1
  641. package/dist/v2/components/_ErrorPageBody.js +15 -16
  642. package/dist/v2/components/_ErrorPageBody.js.map +1 -1
  643. package/dist/v2/components/_pickerShared.js +5 -5
  644. package/dist/v2/components/_pickerShared.js.map +1 -1
  645. package/dist/v2/components/index.d.ts +67 -1
  646. package/dist/v2/components/index.d.ts.map +1 -1
  647. package/dist/v2/components/index.js +153 -136
  648. package/dist/v2/components/index.js.map +1 -1
  649. package/dist/v2/hooks/index.d.ts +65 -0
  650. package/dist/v2/hooks/index.d.ts.map +1 -1
  651. package/dist/v2/hooks/index.js +63 -24
  652. package/dist/v2/hooks/index.js.map +1 -1
  653. package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
  654. package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
  655. package/dist/v2/hooks/useAppliedFilters.js +117 -0
  656. package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
  657. package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
  658. package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
  659. package/dist/v2/hooks/useDebouncedCallback.js +87 -0
  660. package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
  661. package/dist/v2/hooks/useDelayedFlag.js +6 -20
  662. package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
  663. package/dist/v2/hooks/useDensity.d.ts.map +1 -1
  664. package/dist/v2/hooks/useDensity.js +14 -18
  665. package/dist/v2/hooks/useDensity.js.map +1 -1
  666. package/dist/v2/hooks/useFocusFirstError.js +26 -34
  667. package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
  668. package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
  669. package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
  670. package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
  671. package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
  672. package/dist/v2/hooks/useFocusTrap.js +20 -24
  673. package/dist/v2/hooks/useFocusTrap.js.map +1 -1
  674. package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
  675. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
  676. package/dist/v2/hooks/useFormAutoSave.js +39 -54
  677. package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
  678. package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
  679. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
  680. package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
  681. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
  682. package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
  683. package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  684. package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
  685. package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
  686. package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
  687. package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
  688. package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
  689. package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
  690. package/dist/v2/hooks/useResolvedDensity.js +5 -13
  691. package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
  692. package/dist/v2/hooks/useSortedRows.js +4 -6
  693. package/dist/v2/hooks/useSortedRows.js.map +1 -1
  694. package/dist/v2/hooks/useTabLoading.js +7 -22
  695. package/dist/v2/hooks/useTabLoading.js.map +1 -1
  696. package/dist/v2/index.d.ts.map +1 -1
  697. package/dist/v2/index.js +143 -145
  698. package/dist/v2/index.js.map +1 -1
  699. package/dist/v2/modalContext.js +2 -2
  700. package/dist/v2/modalContext.js.map +1 -1
  701. package/dist/v2/models/favorite.d.ts +8 -9
  702. package/dist/v2/models/favorite.d.ts.map +1 -1
  703. package/dist/v2/models/favorite.js.map +1 -1
  704. package/dist/v2/models/index.js +4 -4
  705. package/dist/v2/models/index.js.map +1 -1
  706. package/dist/v2/models/personalization.d.ts +44 -48
  707. package/dist/v2/models/personalization.d.ts.map +1 -1
  708. package/dist/v2/models/personalization.js.map +1 -1
  709. package/dist/v2/models/referentiel.d.ts +32 -50
  710. package/dist/v2/models/referentiel.d.ts.map +1 -1
  711. package/dist/v2/models/referentiel.js.map +1 -1
  712. package/dist/v2/models/savedFilter.d.ts +8 -17
  713. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  714. package/dist/v2/models/savedFilter.js.map +1 -1
  715. package/dist/v2/patterns/ActionBar.js +152 -187
  716. package/dist/v2/patterns/ActionBar.js.map +1 -1
  717. package/dist/v2/patterns/AppMain.d.ts +109 -0
  718. package/dist/v2/patterns/AppMain.d.ts.map +1 -0
  719. package/dist/v2/patterns/AppMain.js +115 -0
  720. package/dist/v2/patterns/AppMain.js.map +1 -0
  721. package/dist/v2/patterns/BulkActionBar.js +40 -42
  722. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  723. package/dist/v2/patterns/ChartFigure.d.ts +124 -0
  724. package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
  725. package/dist/v2/patterns/ChartFigure.js +159 -0
  726. package/dist/v2/patterns/ChartFigure.js.map +1 -0
  727. package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
  728. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  729. package/dist/v2/patterns/ColumnsToggle.js +60 -94
  730. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  731. package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
  732. package/dist/v2/patterns/DataGrid.js +262 -297
  733. package/dist/v2/patterns/DataGrid.js.map +1 -1
  734. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
  735. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  736. package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
  737. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  738. package/dist/v2/patterns/DataGridToolbar.js +103 -106
  739. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  740. package/dist/v2/patterns/DataGridVirtualized.js +179 -217
  741. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  742. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
  743. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  744. package/dist/v2/patterns/DetailSplit.d.ts +87 -0
  745. package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
  746. package/dist/v2/patterns/DetailSplit.js +116 -0
  747. package/dist/v2/patterns/DetailSplit.js.map +1 -0
  748. package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
  749. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  750. package/dist/v2/patterns/FavoriteColumn.js +32 -80
  751. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  752. package/dist/v2/patterns/FavoritesFilter.js +36 -44
  753. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  754. package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
  755. package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
  756. package/dist/v2/patterns/FilterTabBar.js +120 -0
  757. package/dist/v2/patterns/FilterTabBar.js.map +1 -0
  758. package/dist/v2/patterns/FormErrorSummary.js +20 -23
  759. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  760. package/dist/v2/patterns/FormPageShell.js +53 -50
  761. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  762. package/dist/v2/patterns/FormSection.d.ts +8 -3
  763. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  764. package/dist/v2/patterns/FormSection.js +44 -51
  765. package/dist/v2/patterns/FormSection.js.map +1 -1
  766. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  767. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  768. package/dist/v2/patterns/FormikCheckbox.js +138 -0
  769. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  770. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
  771. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  772. package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
  773. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  774. package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
  775. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  776. package/dist/v2/patterns/FormikCombobox.js +55 -69
  777. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  778. package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
  779. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  780. package/dist/v2/patterns/FormikDatePicker.js +59 -106
  781. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  782. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  783. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  784. package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
  785. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  786. package/dist/v2/patterns/FormikErrorFocus.js +25 -26
  787. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  788. package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
  789. package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikErrorSummary.js +97 -0
  791. package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
  792. package/dist/v2/patterns/FormikFile.d.ts +14 -1
  793. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  794. package/dist/v2/patterns/FormikFile.js +99 -83
  795. package/dist/v2/patterns/FormikFile.js.map +1 -1
  796. package/dist/v2/patterns/FormikInput.d.ts +11 -1
  797. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  798. package/dist/v2/patterns/FormikInput.js +45 -55
  799. package/dist/v2/patterns/FormikInput.js.map +1 -1
  800. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  801. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  802. package/dist/v2/patterns/FormikRadioGroup.js +137 -0
  803. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  804. package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
  805. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  806. package/dist/v2/patterns/FormikReferentielField.js +54 -64
  807. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  808. package/dist/v2/patterns/FormikSelect.d.ts +9 -1
  809. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  810. package/dist/v2/patterns/FormikSelect.js +70 -89
  811. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  812. package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
  813. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  814. package/dist/v2/patterns/FormikTextarea.js +35 -48
  815. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  816. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
  817. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  818. package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
  819. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  820. package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
  821. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  822. package/dist/v2/patterns/PageContent.js +17 -20
  823. package/dist/v2/patterns/PageContent.js.map +1 -1
  824. package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
  825. package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
  826. package/dist/v2/patterns/PreviewDrawer.js +159 -0
  827. package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
  828. package/dist/v2/patterns/ReferentielField.d.ts +86 -2
  829. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  830. package/dist/v2/patterns/ReferentielField.js +347 -327
  831. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  832. package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
  833. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  834. package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
  835. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  836. package/dist/v2/patterns/SaveFilterDialog.js +50 -77
  837. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  838. package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
  839. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  840. package/dist/v2/patterns/SkeletonPageShell.js +122 -143
  841. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  842. package/dist/v2/patterns/SortableHeader.js +35 -57
  843. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  844. package/dist/v2/patterns/Tour.js +121 -142
  845. package/dist/v2/patterns/Tour.js.map +1 -1
  846. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  847. package/dist/v2/patterns/_dataGridShared.js +131 -147
  848. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  849. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  850. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  851. package/dist/v2/patterns/_pickerSerialisation.js +80 -0
  852. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  853. package/dist/v2/patterns/_sort.js +17 -33
  854. package/dist/v2/patterns/_sort.js.map +1 -1
  855. package/dist/v2/patterns/_useColumnReorder.js +124 -163
  856. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  857. package/dist/v2/patterns/_useColumnResize.js +80 -99
  858. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  859. package/dist/v2/patterns/filterCriteria.d.ts +78 -0
  860. package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
  861. package/dist/v2/patterns/filterCriteria.js +110 -0
  862. package/dist/v2/patterns/filterCriteria.js.map +1 -0
  863. package/dist/v2/patterns/index.d.ts +247 -0
  864. package/dist/v2/patterns/index.d.ts.map +1 -1
  865. package/dist/v2/patterns/index.js +182 -70
  866. package/dist/v2/patterns/index.js.map +1 -1
  867. package/dist/v2/patterns/rowActions.d.ts +150 -0
  868. package/dist/v2/patterns/rowActions.d.ts.map +1 -0
  869. package/dist/v2/patterns/rowActions.js +232 -0
  870. package/dist/v2/patterns/rowActions.js.map +1 -0
  871. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  872. package/dist/v2/personalization/PersonalizationProvider.js +57 -53
  873. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  874. package/dist/v2/personalization/adapters/_storageKey.js +5 -5
  875. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
  876. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
  877. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  878. package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
  879. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  880. package/dist/v2/personalization/adapters/index.js +5 -5
  881. package/dist/v2/personalization/adapters/index.js.map +1 -1
  882. package/dist/v2/personalization/capabilities/favorites.js +39 -62
  883. package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
  884. package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
  885. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  886. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  887. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  888. package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
  889. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  890. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  891. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  892. package/dist/v2/personalization/capabilities/index.js +23 -10
  893. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  894. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
  895. package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
  896. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
  897. package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
  898. package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
  899. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  900. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  901. package/dist/v2/personalization/createPersonalizationStore.js +81 -182
  902. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  903. package/dist/v2/personalization/index.d.ts +34 -0
  904. package/dist/v2/personalization/index.d.ts.map +1 -1
  905. package/dist/v2/personalization/index.js +41 -21
  906. package/dist/v2/personalization/index.js.map +1 -1
  907. package/dist/v2/personalization/personalizationContext.js +10 -12
  908. package/dist/v2/personalization/personalizationContext.js.map +1 -1
  909. package/dist/v2/personalization/schema.js +8 -9
  910. package/dist/v2/personalization/schema.js.map +1 -1
  911. package/dist/v2/referentiel/ReferentielProvider.js +31 -45
  912. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  913. package/dist/v2/referentiel/index.js +11 -13
  914. package/dist/v2/referentiel/index.js.map +1 -1
  915. package/dist/v2/referentiel/types.d.ts +105 -0
  916. package/dist/v2/referentiel/types.d.ts.map +1 -0
  917. package/dist/v2/referentiel/types.js +6 -0
  918. package/dist/v2/referentiel/types.js.map +1 -0
  919. package/dist/v2/referentiel/useReferentielClient.js +13 -16
  920. package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
  921. package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
  922. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  923. package/dist/v2/referentiel/useReferentielOptions.js +63 -120
  924. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  925. package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
  926. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  927. package/dist/v2/referentiel/useReferentielSearch.js +40 -95
  928. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  929. package/dist/v2/theme/_brand.js +12 -26
  930. package/dist/v2/theme/_brand.js.map +1 -1
  931. package/dist/v2/theme/_brandSecondary.js +12 -26
  932. package/dist/v2/theme/_brandSecondary.js.map +1 -1
  933. package/dist/v2/theme/createPortnetTheme.js +41 -49
  934. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  935. package/dist/v2/theme/cssVariables.d.ts +3 -3
  936. package/dist/v2/theme/cssVariables.d.ts.map +1 -1
  937. package/dist/v2/theme/cssVariables.js +65 -70
  938. package/dist/v2/theme/cssVariables.js.map +1 -1
  939. package/dist/v2/theme/index.js +10 -10
  940. package/dist/v2/theme/index.js.map +1 -1
  941. package/dist/v2/tokens/breakpoints.js +16 -16
  942. package/dist/v2/tokens/breakpoints.js.map +1 -1
  943. package/dist/v2/tokens/chart.d.ts +103 -0
  944. package/dist/v2/tokens/chart.d.ts.map +1 -0
  945. package/dist/v2/tokens/chart.js +270 -0
  946. package/dist/v2/tokens/chart.js.map +1 -0
  947. package/dist/v2/tokens/colors.js +24 -24
  948. package/dist/v2/tokens/colors.js.map +1 -1
  949. package/dist/v2/tokens/density.d.ts +104 -0
  950. package/dist/v2/tokens/density.d.ts.map +1 -1
  951. package/dist/v2/tokens/density.js +67 -12
  952. package/dist/v2/tokens/density.js.map +1 -1
  953. package/dist/v2/tokens/index.d.ts +50 -1
  954. package/dist/v2/tokens/index.d.ts.map +1 -1
  955. package/dist/v2/tokens/index.js +116 -68
  956. package/dist/v2/tokens/index.js.map +1 -1
  957. package/dist/v2/tokens/motion.js +16 -22
  958. package/dist/v2/tokens/motion.js.map +1 -1
  959. package/dist/v2/tokens/radius.js +3 -3
  960. package/dist/v2/tokens/radius.js.map +1 -1
  961. package/dist/v2/tokens/shadows.js +8 -8
  962. package/dist/v2/tokens/shadows.js.map +1 -1
  963. package/dist/v2/tokens/spacing.js +4 -4
  964. package/dist/v2/tokens/spacing.js.map +1 -1
  965. package/dist/v2/tokens/state.js +3 -3
  966. package/dist/v2/tokens/state.js.map +1 -1
  967. package/dist/v2/tokens/statusPalette.js +21 -23
  968. package/dist/v2/tokens/statusPalette.js.map +1 -1
  969. package/dist/v2/tokens/tokens.json +6 -1
  970. package/dist/v2/tokens/typography.js +15 -15
  971. package/dist/v2/tokens/typography.js.map +1 -1
  972. package/dist/v2/tokens/zIndex.js +3 -3
  973. package/dist/v2/tokens/zIndex.js.map +1 -1
  974. package/dist/v2/types/datagrid.d.ts +9 -1
  975. package/dist/v2/types/datagrid.d.ts.map +1 -1
  976. package/dist/v2/types/datagrid.js.map +1 -1
  977. package/dist/v2/types/index.js +2 -2
  978. package/dist/v2/types/index.js.map +1 -1
  979. package/dist/v2/utils/apiError.js +16 -37
  980. package/dist/v2/utils/apiError.js.map +1 -1
  981. package/dist/v2/utils/contrast.js +31 -32
  982. package/dist/v2/utils/contrast.js.map +1 -1
  983. package/dist/v2/utils/cx.js +7 -27
  984. package/dist/v2/utils/cx.js.map +1 -1
  985. package/dist/v2/utils/fileDownload.js +25 -28
  986. package/dist/v2/utils/fileDownload.js.map +1 -1
  987. package/dist/v2/utils/fileValidation.d.ts +116 -0
  988. package/dist/v2/utils/fileValidation.d.ts.map +1 -0
  989. package/dist/v2/utils/fileValidation.js +220 -0
  990. package/dist/v2/utils/fileValidation.js.map +1 -0
  991. package/dist/v2/utils/fmtDate.d.ts +103 -0
  992. package/dist/v2/utils/fmtDate.d.ts.map +1 -0
  993. package/dist/v2/utils/fmtDate.js +119 -0
  994. package/dist/v2/utils/fmtDate.js.map +1 -0
  995. package/dist/v2/utils/fmtMoney.d.ts +3 -3
  996. package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
  997. package/dist/v2/utils/fmtMoney.js +9 -11
  998. package/dist/v2/utils/fmtMoney.js.map +1 -1
  999. package/dist/v2/utils/formikErrors.d.ts +67 -0
  1000. package/dist/v2/utils/formikErrors.d.ts.map +1 -0
  1001. package/dist/v2/utils/formikErrors.js +85 -0
  1002. package/dist/v2/utils/formikErrors.js.map +1 -0
  1003. package/dist/v2/utils/index.d.ts +5 -0
  1004. package/dist/v2/utils/index.d.ts.map +1 -1
  1005. package/dist/v2/utils/index.js +67 -18
  1006. package/dist/v2/utils/index.js.map +1 -1
  1007. package/dist/v2/utils/mergeLabels.js +9 -14
  1008. package/dist/v2/utils/mergeLabels.js.map +1 -1
  1009. package/dist/v2/utils/networkStatus.js +14 -14
  1010. package/dist/v2/utils/networkStatus.js.map +1 -1
  1011. package/package.json +26 -9
@@ -1,33 +1,17 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports["default"] = void 0;
6
+ exports.default = void 0;
8
7
  var React = _interopRequireWildcard(require("react"));
9
8
  var _formik = require("formik");
10
9
  var _Field = _interopRequireDefault(require("../components/Field"));
11
10
  var _Checkbox = require("../components/Checkbox");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
- 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); }
15
- 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; }
16
- 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; }
17
- 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; }
18
- 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; }
19
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
20
- 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); }
21
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
22
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
24
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
25
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
26
- 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."); }
27
- 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); }
28
- 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; }
29
- 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; } }
30
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ 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); }
14
+ /**
31
15
  * FormikCheckboxGroup — bridge between Formik state and
32
16
  * v2.Field + v2.CheckboxGroup.
33
17
  *
@@ -59,59 +43,72 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
59
43
  * ARIA group). CheckboxGroup renders role="group" and forwards the injected
60
44
  * aria-labelledby / aria-describedby / aria-invalid onto that element.
61
45
  *
46
+ * Error focus (P-2): each Checkbox carries the field `name` on its native
47
+ * <input>, so `focusFieldByName` — and therefore `FormikErrorFocus` after a
48
+ * failed submit (R-F.3) — can resolve [name=…] and focus the first checkbox
49
+ * of the group. Note this is NOT the `htmlFor` route the other bridges use:
50
+ * in group mode there is no labelable element for htmlFor to target, so the
51
+ * name attribute is the only handle. Without it the field had neither an id
52
+ * nor a name and was silently skipped.
53
+ *
62
54
  * Charter R-Sel.4. Peer dependency: formik >= 2.x.
63
55
  */
64
- var FormikCheckboxGroup = function FormikCheckboxGroup(_ref) {
65
- var name = _ref.name,
66
- label = _ref.label,
67
- required = _ref.required,
68
- _ref$options = _ref.options,
69
- options = _ref$options === void 0 ? [] : _ref$options,
70
- hint = _ref.hint,
71
- disabled = _ref.disabled,
72
- _ref$row = _ref.row,
73
- row = _ref$row === void 0 ? false : _ref$row;
74
- var _useField = (0, _formik.useField)(name),
75
- _useField2 = _slicedToArray(_useField, 2),
76
- field = _useField2[0],
77
- meta = _useField2[1];
78
- var _useFormikContext = (0, _formik.useFormikContext)(),
79
- setFieldValue = _useFormikContext.setFieldValue,
80
- setFieldTouched = _useFormikContext.setFieldTouched;
81
- var hasError = Boolean(meta.touched && meta.error);
82
- var selected = Array.isArray(field.value) ? field.value : [];
83
- var toggle = function toggle(optValue) {
84
- return function (event) {
85
- var checked = event.target.checked;
86
- var next = checked ? [].concat(_toConsumableArray(selected), [optValue]) : selected.filter(function (v) {
87
- return v !== optValue;
88
- });
89
- setFieldValue(name, next);
90
- setFieldTouched(name, true, false);
91
- };
56
+
57
+ const FormikCheckboxGroup = ({
58
+ name,
59
+ label,
60
+ required,
61
+ options = [],
62
+ hint,
63
+ disabled,
64
+ row = false,
65
+ inputProps
66
+ }) => {
67
+ const [field, meta] = (0, _formik.useField)(name);
68
+ const {
69
+ setFieldValue,
70
+ setFieldTouched
71
+ } = (0, _formik.useFormikContext)();
72
+ const hasError = Boolean(meta.touched && meta.error);
73
+ const selected = Array.isArray(field.value) ? field.value : [];
74
+
75
+ /* P-2 the field name on each native input. focusFieldByName resolves
76
+ [id=…] then [name=…]; group mode offers no labelable element for an id,
77
+ so this is the handle. Sharing one name across checkboxes is correct HTML
78
+ (unlike radios, checkboxes are not grouped by name) and changes nothing
79
+ at runtime, since Formik does not use native form serialisation. */
80
+ const nativeInputProps = {
81
+ ...(inputProps ?? {}),
82
+ name
83
+ };
84
+ const toggle = optValue => event => {
85
+ const checked = event.target.checked;
86
+ const next = checked ? [...selected, optValue] : selected.filter(v => v !== optValue);
87
+ setFieldValue(name, next);
88
+ setFieldTouched(name, true, false);
92
89
  };
93
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
90
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
94
91
  label: label,
95
92
  error: hasError ? meta.error : null,
96
93
  hint: !hasError ? hint : undefined,
97
- group: true
98
- }, required !== undefined ? {
99
- required: required
100
- } : {}), disabled !== undefined ? {
101
- disabled: disabled
102
- } : {}), {}, {
94
+ group: true,
95
+ ...(required !== undefined ? {
96
+ required
97
+ } : {}),
98
+ ...(disabled !== undefined ? {
99
+ disabled
100
+ } : {}),
103
101
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.CheckboxGroup, {
104
102
  row: row,
105
- children: options.map(function (opt) {
106
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
107
- label: opt.label,
108
- checked: selected.includes(opt.value),
109
- onChange: toggle(opt.value),
110
- disabled: disabled
111
- }, opt.value);
112
- })
103
+ children: options.map(opt => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.Checkbox, {
104
+ label: opt.label,
105
+ checked: selected.includes(opt.value),
106
+ onChange: toggle(opt.value),
107
+ disabled: disabled,
108
+ inputProps: nativeInputProps
109
+ }, opt.value))
113
110
  })
114
- }));
111
+ });
115
112
  };
116
- var _default = exports["default"] = FormikCheckboxGroup;
113
+ var _default = exports.default = FormikCheckboxGroup;
117
114
  //# sourceMappingURL=FormikCheckboxGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikCheckboxGroup.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Checkbox","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","FormikCheckboxGroup","_ref","label","required","_ref$options","options","disabled","_ref$row","row","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","selected","toggle","optValue","event","checked","concat","v","jsx","group","children","CheckboxGroup","map","opt","Checkbox","includes","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikCheckboxGroup.tsx"],"sourcesContent":["/**\r\n * FormikCheckboxGroup — bridge between Formik state and\r\n * v2.Field + v2.CheckboxGroup.\r\n *\r\n * The v2 CheckboxGroup uses composition slots — children must be\r\n * <Checkbox> elements, each with their own checked/onChange. This\r\n * bridge wraps that contract behind an ergonomic\r\n * `options=[{value, label}]` prop and manages the add/remove of\r\n * values in the Formik-held array.\r\n *\r\n * `field.value` holds an array of selected values, defaulting to []\r\n * when unset.\r\n *\r\n * Usage:\r\n *\r\n * import { FormikCheckboxGroup } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikCheckboxGroup\r\n * name=\"departements\"\r\n * label=\"Départements\"\r\n * required\r\n * options={departements.content.map((d) => ({\r\n * value: String(d.id),\r\n * label: d.description,\r\n * }))}\r\n * />\r\n *\r\n * A11y (CC-6): the wrapping Field is put in `group` mode so the label names the\r\n * CheckboxGroup via aria-labelledby (a native <label htmlFor> cannot name an\r\n * ARIA group). CheckboxGroup renders role=\"group\" and forwards the injected\r\n * aria-labelledby / aria-describedby / aria-invalid onto that element.\r\n *\r\n * Charter R-Sel.4. Peer dependency: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport { Checkbox, CheckboxGroup } from \"../components/Checkbox\";\r\n\r\nexport interface FormikCheckboxOption {\r\n value: string | number;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport interface FormikCheckboxGroupProps {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n options?: FormikCheckboxOption[] | undefined;\r\n hint?: React.ReactNode | undefined;\r\n disabled?: boolean | undefined;\r\n row?: boolean | undefined;\r\n}\r\n\r\nconst FormikCheckboxGroup = ({\r\n name,\r\n label,\r\n required,\r\n options = [],\r\n hint,\r\n disabled,\r\n row = false,\r\n}: FormikCheckboxGroupProps) => {\r\n const [field, meta] = useField<Array<string | number>>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const selected = Array.isArray(field.value) ? field.value : [];\r\n\r\n const toggle =\r\n (optValue: string | number) =>\r\n (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const checked = event.target.checked;\r\n const next = checked\r\n ? [...selected, optValue]\r\n : selected.filter((v) => v !== optValue);\r\n setFieldValue(name, next);\r\n setFieldTouched(name, true, false);\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n group\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <CheckboxGroup row={row}>\r\n {options.map((opt) => (\r\n <Checkbox\r\n key={opt.value}\r\n label={opt.label}\r\n checked={selected.includes(opt.value)}\r\n onChange={toggle(opt.value)}\r\n disabled={disabled}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikCheckboxGroup;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormikCheckboxGroup.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Checkbox","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormikCheckboxGroup","name","label","required","options","hint","disabled","row","inputProps","field","meta","useField","setFieldValue","setFieldTouched","useFormikContext","hasError","Boolean","touched","error","selected","Array","isArray","value","nativeInputProps","toggle","optValue","event","checked","target","next","filter","v","jsx","undefined","group","children","CheckboxGroup","map","opt","Checkbox","includes","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikCheckboxGroup.tsx"],"sourcesContent":["/**\r\n * FormikCheckboxGroup — bridge between Formik state and\r\n * v2.Field + v2.CheckboxGroup.\r\n *\r\n * The v2 CheckboxGroup uses composition slots — children must be\r\n * <Checkbox> elements, each with their own checked/onChange. This\r\n * bridge wraps that contract behind an ergonomic\r\n * `options=[{value, label}]` prop and manages the add/remove of\r\n * values in the Formik-held array.\r\n *\r\n * `field.value` holds an array of selected values, defaulting to []\r\n * when unset.\r\n *\r\n * Usage:\r\n *\r\n * import { FormikCheckboxGroup } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikCheckboxGroup\r\n * name=\"departements\"\r\n * label=\"Départements\"\r\n * required\r\n * options={departements.content.map((d) => ({\r\n * value: String(d.id),\r\n * label: d.description,\r\n * }))}\r\n * />\r\n *\r\n * A11y (CC-6): the wrapping Field is put in `group` mode so the label names the\r\n * CheckboxGroup via aria-labelledby (a native <label htmlFor> cannot name an\r\n * ARIA group). CheckboxGroup renders role=\"group\" and forwards the injected\r\n * aria-labelledby / aria-describedby / aria-invalid onto that element.\r\n *\r\n * Error focus (P-2): each Checkbox carries the field `name` on its native\r\n * <input>, so `focusFieldByName` — and therefore `FormikErrorFocus` after a\r\n * failed submit (R-F.3) — can resolve [name=…] and focus the first checkbox\r\n * of the group. Note this is NOT the `htmlFor` route the other bridges use:\r\n * in group mode there is no labelable element for htmlFor to target, so the\r\n * name attribute is the only handle. Without it the field had neither an id\r\n * nor a name and was silently skipped.\r\n *\r\n * Charter R-Sel.4. Peer dependency: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport { Checkbox, CheckboxGroup } from \"../components/Checkbox\";\r\n\r\nexport interface FormikCheckboxOption {\r\n value: string | number;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport interface FormikCheckboxGroupProps {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n options?: FormikCheckboxOption[] | undefined;\r\n hint?: React.ReactNode | undefined;\r\n disabled?: boolean | undefined;\r\n row?: boolean | undefined;\r\n /**\r\n * Native <input> attributes applied to every checkbox in the group.\r\n *\r\n * The field `name` is added automatically (P-2) and takes precedence, since\r\n * it is what makes the group reachable by focusFieldByName. Anything passed\r\n * here is merged ahead of it.\r\n */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nconst FormikCheckboxGroup = ({\r\n name,\r\n label,\r\n required,\r\n options = [],\r\n hint,\r\n disabled,\r\n row = false,\r\n inputProps,\r\n}: FormikCheckboxGroupProps) => {\r\n const [field, meta] = useField<Array<string | number>>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const selected = Array.isArray(field.value) ? field.value : [];\r\n\r\n /* P-2 — the field name on each native input. focusFieldByName resolves\r\n [id=…] then [name=…]; group mode offers no labelable element for an id,\r\n so this is the handle. Sharing one name across checkboxes is correct HTML\r\n (unlike radios, checkboxes are not grouped by name) and changes nothing\r\n at runtime, since Formik does not use native form serialisation. */\r\n const nativeInputProps: React.InputHTMLAttributes<HTMLInputElement> = {\r\n ...(inputProps ?? {}),\r\n name,\r\n };\r\n\r\n const toggle =\r\n (optValue: string | number) =>\r\n (event: React.ChangeEvent<HTMLInputElement>) => {\r\n const checked = event.target.checked;\r\n const next = checked\r\n ? [...selected, optValue]\r\n : selected.filter((v) => v !== optValue);\r\n setFieldValue(name, next);\r\n setFieldTouched(name, true, false);\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n group\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <CheckboxGroup row={row}>\r\n {options.map((opt) => (\r\n <Checkbox\r\n key={opt.value}\r\n label={opt.label}\r\n checked={selected.includes(opt.value)}\r\n onChange={toggle(opt.value)}\r\n disabled={disabled}\r\n inputProps={nativeInputProps}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikCheckboxGroup;\r\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@
18
18
  * the helper line under each Combobox row.
19
19
  */
20
20
  import type { ReactNode } from "react";
21
+ import type { FieldWidth } from "../components/Field";
21
22
  import type { ComboboxProps, ComboboxOptionValue } from "../components/Combobox";
22
23
  export interface FormikComboboxProps<TOption = unknown> extends Omit<ComboboxProps, "value" | "onChange" | "options" | "loading" | "disabled" | "getOptionLabel"> {
23
24
  name: string;
@@ -36,8 +37,13 @@ export interface FormikComboboxProps<TOption = unknown> extends Omit<ComboboxPro
36
37
  * the legacy `descriptionField` prop on AppFormikSelect.
37
38
  */
38
39
  descriptionField?: string | undefined;
40
+ /**
41
+ * Gabarit de largeur semantique (G-H). Le standard range les « complex
42
+ * search auto-completes » en `l` : c'est le cas le plus courant ici.
43
+ */
44
+ width?: FieldWidth | undefined;
39
45
  onSelectionChange?: ((raw: TOption | null) => void) | undefined;
40
46
  }
41
- declare function FormikCombobox<TOption = unknown>({ name, label, required, options, loading, disabled, htmlFor, hint, getOptionLabel, getOptionValue, descriptionField, onSelectionChange, ...rest }: FormikComboboxProps<TOption>): import("react").JSX.Element;
47
+ declare function FormikCombobox<TOption = unknown>({ name, label, required, options, loading, disabled, htmlFor, hint, getOptionLabel, getOptionValue, descriptionField, width, onSelectionChange, ...rest }: FormikComboboxProps<TOption>): import("react").JSX.Element;
42
48
  export default FormikCombobox;
43
49
  //# sourceMappingURL=FormikCombobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikCombobox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikCombobox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EACV,aAAa,EAEb,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,mBAAmB,CAAC,OAAO,GAAG,OAAO,CACpD,SAAQ,IAAI,CACV,aAAa,EACb,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAC7E;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACrE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE;AAED,iBAAS,cAAc,CAAC,OAAO,GAAG,OAAO,EAAE,EACzC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,mBAAmB,CAAC,OAAO,CAAC,+BAkE9B;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"FormikCombobox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikCombobox.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,aAAa,EAEb,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,mBAAmB,CAAC,OAAO,GAAG,OAAO,CACpD,SAAQ,IAAI,CACV,aAAa,EACb,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,CAC7E;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,SAAS,CAAC,GAAG,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACrE;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,iBAAiB,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE;AAED,iBAAS,cAAc,CAAC,OAAO,GAAG,OAAO,EAAE,EACzC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAY,EACZ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,KAAK,EACL,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,mBAAmB,CAAC,OAAO,CAAC,+BAmE9B;AAED,eAAe,cAAc,CAAC"}
@@ -3,12 +3,12 @@
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 _formik = require("formik");
8
8
  var _Field = _interopRequireDefault(require("../components/Field"));
9
9
  var _Combobox = _interopRequireDefault(require("../components/Combobox"));
10
10
  var _jsxRuntime = require("react/jsx-runtime");
11
- var _excluded = ["name", "label", "required", "options", "loading", "disabled", "htmlFor", "hint", "getOptionLabel", "getOptionValue", "descriptionField", "onSelectionChange"];
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  /**
13
13
  * FormikCombobox — bridge between Formik state and v2.Field +
14
14
  * v2.Combobox.
@@ -28,94 +28,80 @@ var _excluded = ["name", "label", "required", "options", "loading", "disabled",
28
28
  * AppFormikSelect API — surfaces option[descriptionField] as
29
29
  * the helper line under each Combobox row.
30
30
  */
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
32
- 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; }
33
- 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; }
34
- 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; }
35
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
36
- 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); }
37
- 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); }
38
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
- 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."); }
40
- 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); }
41
- 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; }
42
- 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; } }
43
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
44
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
45
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
46
- function FormikCombobox(_ref) {
47
- var _field$value;
48
- var name = _ref.name,
49
- label = _ref.label,
50
- required = _ref.required,
51
- _ref$options = _ref.options,
52
- options = _ref$options === void 0 ? [] : _ref$options,
53
- loading = _ref.loading,
54
- disabled = _ref.disabled,
55
- htmlFor = _ref.htmlFor,
56
- hint = _ref.hint,
57
- getOptionLabel = _ref.getOptionLabel,
58
- getOptionValue = _ref.getOptionValue,
59
- descriptionField = _ref.descriptionField,
60
- onSelectionChange = _ref.onSelectionChange,
61
- rest = _objectWithoutProperties(_ref, _excluded);
62
- var _useField = (0, _formik.useField)(name),
63
- _useField2 = _slicedToArray(_useField, 2),
64
- field = _useField2[0],
65
- meta = _useField2[1];
66
- var _useFormikContext = (0, _formik.useFormikContext)(),
67
- setFieldValue = _useFormikContext.setFieldValue,
68
- setFieldTouched = _useFormikContext.setFieldTouched;
69
- var hasError = Boolean(meta.touched && meta.error);
70
- var v2Options = options.map(function (opt) {
71
- var _ref2, _ref3;
72
- if (opt == null || _typeof(opt) !== "object") return opt;
73
- var rec = opt;
74
- var rawLabel = typeof getOptionLabel === "function" ? getOptionLabel(opt) : rec["label"];
31
+
32
+ function FormikCombobox({
33
+ name,
34
+ label,
35
+ required,
36
+ options = [],
37
+ loading,
38
+ disabled,
39
+ htmlFor,
40
+ hint,
41
+ getOptionLabel,
42
+ getOptionValue,
43
+ descriptionField,
44
+ width,
45
+ onSelectionChange,
46
+ ...rest
47
+ }) {
48
+ const [field, meta] = (0, _formik.useField)(name);
49
+ const {
50
+ setFieldValue,
51
+ setFieldTouched
52
+ } = (0, _formik.useFormikContext)();
53
+ const hasError = Boolean(meta.touched && meta.error);
54
+ const v2Options = options.map(opt => {
55
+ if (opt == null || typeof opt !== "object") return opt;
56
+ const rec = opt;
57
+ const rawLabel = typeof getOptionLabel === "function" ? getOptionLabel(opt) : rec["label"];
75
58
  // B7: harden against getOptionLabel returning a React node.
76
59
  // v2.Combobox feeds the label back through its internal
77
60
  // labelOf when computing the displayed value, and that path
78
61
  // assumes string. Always coerce defensively.
79
- var safeLabel = typeof rawLabel === "string" || rawLabel == null ? rawLabel : String(rawLabel);
62
+ const safeLabel = typeof rawLabel === "string" || rawLabel == null ? rawLabel : String(rawLabel);
80
63
  // B10: descriptionField alias → helper. Falls back to the
81
64
  // canonical `helper`/`summary` fields if neither is set.
82
- var helper = (_ref2 = (_ref3 = descriptionField && rec[descriptionField]) !== null && _ref3 !== void 0 ? _ref3 : rec["helper"]) !== null && _ref2 !== void 0 ? _ref2 : rec["summary"];
65
+ const helper = (descriptionField && rec[descriptionField]) ?? rec["helper"] ?? rec["summary"];
83
66
  return {
84
67
  value: typeof getOptionValue === "function" ? getOptionValue(opt) : opt,
85
68
  label: safeLabel,
86
- helper: helper,
69
+ helper,
87
70
  __raw: opt
88
71
  };
89
72
  });
90
- var handleChange = function handleChange(next) {
73
+ const handleChange = next => {
91
74
  setFieldValue(name, next);
92
75
  setFieldTouched(name, true, false);
93
76
  if (typeof onSelectionChange === "function") {
94
- var _raw, _v2Options$find;
95
- var picked = (_raw = (_v2Options$find = v2Options.find(function (o) {
96
- return o != null && _typeof(o) === "object" && "value" in o && o.value === next;
97
- })) === null || _v2Options$find === void 0 ? void 0 : _v2Options$find.__raw) !== null && _raw !== void 0 ? _raw : null;
77
+ const picked = v2Options.find(o => o != null && typeof o === "object" && "value" in o && o.value === next)?.__raw ?? null;
98
78
  onSelectionChange(picked);
99
79
  }
100
80
  };
101
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
81
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
102
82
  label: label,
103
83
  error: hasError ? meta.error : null,
104
84
  hint: !hasError ? hint : undefined,
105
- htmlFor: htmlFor || name
106
- }, required !== undefined ? {
107
- required: required
108
- } : {}), disabled !== undefined ? {
109
- disabled: disabled
110
- } : {}), {}, {
111
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox["default"], _objectSpread(_objectSpread({
112
- value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : null,
85
+ htmlFor: htmlFor || name,
86
+ ...(required !== undefined ? {
87
+ required
88
+ } : {}),
89
+ ...(disabled !== undefined ? {
90
+ disabled
91
+ } : {}),
92
+ ...(width !== undefined ? {
93
+ width
94
+ } : {}),
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Combobox.default, {
96
+ value: field.value ?? null,
113
97
  options: v2Options,
114
- onChange: handleChange
115
- }, rest), loading !== undefined ? {
116
- loading: loading
117
- } : {}))
118
- }));
98
+ onChange: handleChange,
99
+ ...rest,
100
+ ...(loading !== undefined ? {
101
+ loading
102
+ } : {})
103
+ })
104
+ });
119
105
  }
120
- var _default = exports["default"] = FormikCombobox;
106
+ var _default = exports.default = FormikCombobox;
121
107
  //# sourceMappingURL=FormikCombobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikCombobox.js","names":["_formik","require","_Field","_interopRequireDefault","_Combobox","_jsxRuntime","_excluded","obj","__esModule","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","_typeof","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","iterator","constructor","prototype","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormikCombobox","_ref","_field$value","label","required","_ref$options","options","loading","disabled","htmlFor","getOptionLabel","getOptionValue","descriptionField","onSelectionChange","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","v2Options","map","opt","_ref2","_ref3","rec","rawLabel","safeLabel","helper","__raw","handleChange","_raw","_v2Options$find","picked","find","jsx","children","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikCombobox.tsx"],"sourcesContent":["/**\r\n * FormikCombobox — bridge between Formik state and v2.Field +\r\n * v2.Combobox.\r\n *\r\n * Maps caller-supplied raw options to v2.Combobox's {value, label,\r\n * helper} shape and exposes onSelectionChange(rawOption) for\r\n * consumers that need cross-field side effects on pick.\r\n *\r\n * Charter R-Sel.1 → R-Sel.4. Peer dependency: formik >= 2.x.\r\n *\r\n * Hardening notes:\r\n * - B7: defensive String() cast on the resolved label so a\r\n * consumer-supplied getOptionLabel that returns a React node\r\n * never crashes Autocomplete with the cryptic \"Objects are\r\n * not valid as a React child\" error.\r\n * - B10: `descriptionField` alias mirrors the legacy\r\n * AppFormikSelect API — surfaces option[descriptionField] as\r\n * the helper line under each Combobox row.\r\n */\r\n\r\nimport type { ReactNode } from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type {\r\n ComboboxProps,\r\n ComboboxOption,\r\n ComboboxOptionValue,\r\n ComboboxValue,\r\n} from \"../components/Combobox\";\r\n\r\nexport interface FormikComboboxProps<TOption = unknown>\r\n extends Omit<\r\n ComboboxProps,\r\n \"value\" | \"onChange\" | \"options\" | \"loading\" | \"disabled\" | \"getOptionLabel\"\r\n > {\r\n name: string;\r\n label?: ReactNode | undefined;\r\n required?: boolean | undefined;\r\n options?: readonly TOption[] | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: ReactNode | undefined;\r\n getOptionLabel?: ((opt: TOption) => ReactNode) | undefined;\r\n getOptionValue?: ((opt: TOption) => ComboboxOptionValue) | undefined;\r\n /**\r\n * Key on each raw option whose value should appear as a helper\r\n * line beneath the main label in the dropdown. Equivalent to\r\n * the legacy `descriptionField` prop on AppFormikSelect.\r\n */\r\n descriptionField?: string | undefined;\r\n onSelectionChange?: ((raw: TOption | null) => void) | undefined;\r\n}\r\n\r\nfunction FormikCombobox<TOption = unknown>({\r\n name,\r\n label,\r\n required,\r\n options = [],\r\n loading,\r\n disabled,\r\n htmlFor,\r\n hint,\r\n getOptionLabel,\r\n getOptionValue,\r\n descriptionField,\r\n onSelectionChange,\r\n ...rest\r\n}: FormikComboboxProps<TOption>) {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const v2Options = options.map((opt) => {\r\n if (opt == null || typeof opt !== \"object\") return opt;\r\n const rec = opt as Record<string, unknown>;\r\n const rawLabel =\r\n typeof getOptionLabel === \"function\" ? getOptionLabel(opt) : rec[\"label\"];\r\n // B7: harden against getOptionLabel returning a React node.\r\n // v2.Combobox feeds the label back through its internal\r\n // labelOf when computing the displayed value, and that path\r\n // assumes string. Always coerce defensively.\r\n const safeLabel =\r\n typeof rawLabel === \"string\" || rawLabel == null\r\n ? rawLabel\r\n : String(rawLabel);\r\n // B10: descriptionField alias → helper. Falls back to the\r\n // canonical `helper`/`summary` fields if neither is set.\r\n const helper =\r\n ((descriptionField && rec[descriptionField]) ?? rec[\"helper\"] ?? rec[\"summary\"]) as ReactNode;\r\n return {\r\n value: typeof getOptionValue === \"function\" ? getOptionValue(opt) : opt,\r\n label: safeLabel,\r\n helper,\r\n __raw: opt,\r\n };\r\n });\r\n\r\n const handleChange = (next: ComboboxValue): void => {\r\n setFieldValue(name, next);\r\n setFieldTouched(name, true, false);\r\n if (typeof onSelectionChange === \"function\") {\r\n const picked =\r\n (\r\n v2Options.find(\r\n (o) =>\r\n o != null &&\r\n typeof o === \"object\" &&\r\n \"value\" in o &&\r\n (o as { value?: unknown }).value === next\r\n ) as { __raw?: unknown } | undefined\r\n )?.__raw ?? null;\r\n onSelectionChange(picked as TOption | null);\r\n }\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <Combobox\r\n value={field.value ?? null}\r\n options={v2Options as Array<string | ComboboxOption>}\r\n onChange={handleChange}\r\n {...rest}\r\n {...(loading !== undefined ? { loading } : {})}\r\n />\r\n </Field>\r\n );\r\n}\r\n\r\nexport default FormikCombobox;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormikCombobox.js","names":["_formik","require","_Field","_interopRequireDefault","_Combobox","_jsxRuntime","e","__esModule","default","FormikCombobox","name","label","required","options","loading","disabled","htmlFor","hint","getOptionLabel","getOptionValue","descriptionField","width","onSelectionChange","rest","field","meta","useField","setFieldValue","setFieldTouched","useFormikContext","hasError","Boolean","touched","error","v2Options","map","opt","rec","rawLabel","safeLabel","String","helper","value","__raw","handleChange","next","picked","find","o","jsx","undefined","children","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikCombobox.tsx"],"sourcesContent":["/**\r\n * FormikCombobox — bridge between Formik state and v2.Field +\r\n * v2.Combobox.\r\n *\r\n * Maps caller-supplied raw options to v2.Combobox's {value, label,\r\n * helper} shape and exposes onSelectionChange(rawOption) for\r\n * consumers that need cross-field side effects on pick.\r\n *\r\n * Charter R-Sel.1 → R-Sel.4. Peer dependency: formik >= 2.x.\r\n *\r\n * Hardening notes:\r\n * - B7: defensive String() cast on the resolved label so a\r\n * consumer-supplied getOptionLabel that returns a React node\r\n * never crashes Autocomplete with the cryptic \"Objects are\r\n * not valid as a React child\" error.\r\n * - B10: `descriptionField` alias mirrors the legacy\r\n * AppFormikSelect API — surfaces option[descriptionField] as\r\n * the helper line under each Combobox row.\r\n */\r\n\r\nimport type { ReactNode } from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type {\r\n ComboboxProps,\r\n ComboboxOption,\r\n ComboboxOptionValue,\r\n ComboboxValue,\r\n} from \"../components/Combobox\";\r\n\r\nexport interface FormikComboboxProps<TOption = unknown>\r\n extends Omit<\r\n ComboboxProps,\r\n \"value\" | \"onChange\" | \"options\" | \"loading\" | \"disabled\" | \"getOptionLabel\"\r\n > {\r\n name: string;\r\n label?: ReactNode | undefined;\r\n required?: boolean | undefined;\r\n options?: readonly TOption[] | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: ReactNode | undefined;\r\n getOptionLabel?: ((opt: TOption) => ReactNode) | undefined;\r\n getOptionValue?: ((opt: TOption) => ComboboxOptionValue) | undefined;\r\n /**\r\n * Key on each raw option whose value should appear as a helper\r\n * line beneath the main label in the dropdown. Equivalent to\r\n * the legacy `descriptionField` prop on AppFormikSelect.\r\n */\r\n descriptionField?: string | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H). Le standard range les « complex\r\n * search auto-completes » en `l` : c'est le cas le plus courant ici.\r\n */\r\n width?: FieldWidth | undefined;\r\n onSelectionChange?: ((raw: TOption | null) => void) | undefined;\r\n}\r\n\r\nfunction FormikCombobox<TOption = unknown>({\r\n name,\r\n label,\r\n required,\r\n options = [],\r\n loading,\r\n disabled,\r\n htmlFor,\r\n hint,\r\n getOptionLabel,\r\n getOptionValue,\r\n descriptionField,\r\n width,\r\n onSelectionChange,\r\n ...rest\r\n}: FormikComboboxProps<TOption>) {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const v2Options = options.map((opt) => {\r\n if (opt == null || typeof opt !== \"object\") return opt;\r\n const rec = opt as Record<string, unknown>;\r\n const rawLabel =\r\n typeof getOptionLabel === \"function\" ? getOptionLabel(opt) : rec[\"label\"];\r\n // B7: harden against getOptionLabel returning a React node.\r\n // v2.Combobox feeds the label back through its internal\r\n // labelOf when computing the displayed value, and that path\r\n // assumes string. Always coerce defensively.\r\n const safeLabel =\r\n typeof rawLabel === \"string\" || rawLabel == null\r\n ? rawLabel\r\n : String(rawLabel);\r\n // B10: descriptionField alias → helper. Falls back to the\r\n // canonical `helper`/`summary` fields if neither is set.\r\n const helper =\r\n ((descriptionField && rec[descriptionField]) ?? rec[\"helper\"] ?? rec[\"summary\"]) as ReactNode;\r\n return {\r\n value: typeof getOptionValue === \"function\" ? getOptionValue(opt) : opt,\r\n label: safeLabel,\r\n helper,\r\n __raw: opt,\r\n };\r\n });\r\n\r\n const handleChange = (next: ComboboxValue): void => {\r\n setFieldValue(name, next);\r\n setFieldTouched(name, true, false);\r\n if (typeof onSelectionChange === \"function\") {\r\n const picked =\r\n (\r\n v2Options.find(\r\n (o) =>\r\n o != null &&\r\n typeof o === \"object\" &&\r\n \"value\" in o &&\r\n (o as { value?: unknown }).value === next\r\n ) as { __raw?: unknown } | undefined\r\n )?.__raw ?? null;\r\n onSelectionChange(picked as TOption | null);\r\n }\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Combobox\r\n value={field.value ?? null}\r\n options={v2Options as Array<string | ComboboxOption>}\r\n onChange={handleChange}\r\n {...rest}\r\n {...(loading !== undefined ? { loading } : {})}\r\n />\r\n </Field>\r\n );\r\n}\r\n\r\nexport default FormikCombobox;\r\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,12 @@
48
48
  * objects, so they have no serialisation step and no equivalent asymmetry;
49
49
  * _pickerShared carries only Date<->Moment converters, not string parsing.
50
50
  *
51
+ * UPDATE (gap G-E): `FormikDateTimePicker` now exists too, and the two bridges
52
+ * SHARE `coerceToDate` / `serialiseDate` via `./_pickerSerialisation`. Keeping
53
+ * a private copy in each would have re-created the very asymmetry S-03
54
+ * describes, in a form even harder to spot: two bridges that look alike, that
55
+ * nobody compares, and that each look correct on their own.
56
+ *
51
57
  * Modal / Drawer usage (MUI X v9):
52
58
  * When rendered inside a v2.Drawer or a MUI Modal, the DatePicker
53
59
  * calendar popup may render behind the modal surface (both default
@@ -65,6 +71,7 @@
65
71
  * Charter R-I.*.
66
72
  */
67
73
  import * as React from "react";
74
+ import type { FieldWidth } from "../components/Field";
68
75
  import type { DatePickerProps } from "../components/DatePicker";
69
76
  export interface FormikDatePickerProps extends Omit<DatePickerProps, "value" | "onChange" | "disabled" | "error" | "label" | "readOnly"> {
70
77
  name: string;
@@ -109,7 +116,12 @@ export interface FormikDatePickerProps extends Omit<DatePickerProps, "value" | "
109
116
  * read as 31/12/2026.
110
117
  */
111
118
  readOnlyFormat?: string | undefined;
119
+ /**
120
+ * Gabarit de largeur semantique (G-H). Le standard range explicitement les
121
+ * dates en `s` (6 a 15 caracteres). Ne s'applique pas en mode `readOnly`.
122
+ */
123
+ width?: FieldWidth | undefined;
112
124
  }
113
- declare const FormikDatePicker: ({ name, label, required, disabled, readOnly, readOnlyFormat, htmlFor, hint, outputFormat, ...rest }: FormikDatePickerProps) => React.JSX.Element;
125
+ declare const FormikDatePicker: ({ name, label, required, disabled, readOnly, readOnlyFormat, htmlFor, hint, outputFormat, width, ...rest }: FormikDatePickerProps) => React.JSX.Element;
114
126
  export default FormikDatePicker;
115
127
  //# sourceMappingURL=FormikDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormikDatePicker.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikDatePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAkDhE,MAAM,WAAW,qBACf,SAAQ,IAAI,CACV,eAAe,EACf,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CACnE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,QAAA,MAAM,gBAAgB,GAAI,qGAWvB,qBAAqB,sBA8CvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FormikDatePicker.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikDatePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,qBACf,SAAQ,IAAI,CACV,eAAe,EACf,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,CACnE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CAChC;AAED,QAAA,MAAM,gBAAgB,GAAI,4GAYvB,qBAAqB,sBA+CvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}