@portnet/ui 6.0.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (820) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/esm/index.js +214 -0
  3. package/dist/esm/index.js.map +1 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
  5. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  7. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
  9. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
  11. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
  13. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  14. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
  15. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
  17. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  19. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  20. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  21. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  23. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  25. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  27. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
  29. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  30. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  31. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  33. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  34. package/dist/esm/v2/components/Accordion.js +230 -0
  35. package/dist/esm/v2/components/Accordion.js.map +1 -0
  36. package/dist/esm/v2/components/ActionStrip.js +146 -0
  37. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  38. package/dist/esm/v2/components/Banner.js +254 -0
  39. package/dist/esm/v2/components/Banner.js.map +1 -0
  40. package/dist/esm/v2/components/Busy.js +97 -0
  41. package/dist/esm/v2/components/Busy.js.map +1 -0
  42. package/dist/esm/v2/components/Button.js +114 -0
  43. package/dist/esm/v2/components/Button.js.map +1 -0
  44. package/dist/esm/v2/components/CategoryTag.js +81 -0
  45. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  46. package/dist/esm/v2/components/Checkbox.js +124 -0
  47. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  48. package/dist/esm/v2/components/Chip.js +124 -0
  49. package/dist/esm/v2/components/Chip.js.map +1 -0
  50. package/dist/esm/v2/components/Combobox.js +394 -0
  51. package/dist/esm/v2/components/Combobox.js.map +1 -0
  52. package/dist/esm/v2/components/CommandPalette.js +660 -0
  53. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  54. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  55. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  56. package/dist/esm/v2/components/DatePicker.js +200 -0
  57. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  58. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  59. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  60. package/dist/esm/v2/components/DateTimePicker.js +215 -0
  61. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  62. package/dist/esm/v2/components/Drawer.js +333 -0
  63. package/dist/esm/v2/components/Drawer.js.map +1 -0
  64. package/dist/esm/v2/components/Dropzone.js +540 -0
  65. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  66. package/dist/esm/v2/components/EmptyState.js +102 -0
  67. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  68. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  69. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  70. package/dist/esm/v2/components/Field.js +259 -0
  71. package/dist/esm/v2/components/Field.js.map +1 -0
  72. package/dist/esm/v2/components/FieldError.js +124 -0
  73. package/dist/esm/v2/components/FieldError.js.map +1 -0
  74. package/dist/esm/v2/components/FieldHelp.js +202 -0
  75. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  76. package/dist/esm/v2/components/FileCard.js +162 -0
  77. package/dist/esm/v2/components/FileCard.js.map +1 -0
  78. package/dist/esm/v2/components/FilterTab.js +138 -0
  79. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  80. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  81. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  82. package/dist/esm/v2/components/FormGrid.js +179 -0
  83. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  84. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  85. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  86. package/dist/esm/v2/components/Input.js +107 -0
  87. package/dist/esm/v2/components/Input.js.map +1 -0
  88. package/dist/esm/v2/components/KPICard.js +237 -0
  89. package/dist/esm/v2/components/KPICard.js.map +1 -0
  90. package/dist/esm/v2/components/KPIStrip.js +84 -0
  91. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  92. package/dist/esm/v2/components/KV.js +75 -0
  93. package/dist/esm/v2/components/KV.js.map +1 -0
  94. package/dist/esm/v2/components/KVGrid.js +74 -0
  95. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  96. package/dist/esm/v2/components/Layout.js +284 -0
  97. package/dist/esm/v2/components/Layout.js.map +1 -0
  98. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  99. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  100. package/dist/esm/v2/components/Modal.js +276 -0
  101. package/dist/esm/v2/components/Modal.js.map +1 -0
  102. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  103. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  104. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  105. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  106. package/dist/esm/v2/components/NumberInput.js +309 -0
  107. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  108. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  109. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  110. package/dist/esm/v2/components/PdfViewer.js +122 -0
  111. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  112. package/dist/esm/v2/components/ProgressBar.js +202 -0
  113. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  114. package/dist/esm/v2/components/Radio.js +228 -0
  115. package/dist/esm/v2/components/Radio.js.map +1 -0
  116. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  117. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  118. package/dist/esm/v2/components/SectionHeader.js +132 -0
  119. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  120. package/dist/esm/v2/components/Segmented.js +254 -0
  121. package/dist/esm/v2/components/Segmented.js.map +1 -0
  122. package/dist/esm/v2/components/Select.js +490 -0
  123. package/dist/esm/v2/components/Select.js.map +1 -0
  124. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  125. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  126. package/dist/esm/v2/components/Skeleton.js +269 -0
  127. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  128. package/dist/esm/v2/components/SkipLink.js +49 -0
  129. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  130. package/dist/esm/v2/components/Spinner.js +69 -0
  131. package/dist/esm/v2/components/Spinner.js.map +1 -0
  132. package/dist/esm/v2/components/Status.js +64 -0
  133. package/dist/esm/v2/components/Status.js.map +1 -0
  134. package/dist/esm/v2/components/Stepper.js +432 -0
  135. package/dist/esm/v2/components/Stepper.js.map +1 -0
  136. package/dist/esm/v2/components/Surface.js +159 -0
  137. package/dist/esm/v2/components/Surface.js.map +1 -0
  138. package/dist/esm/v2/components/Switch.js +128 -0
  139. package/dist/esm/v2/components/Switch.js.map +1 -0
  140. package/dist/esm/v2/components/Tabs.js +150 -0
  141. package/dist/esm/v2/components/Tabs.js.map +1 -0
  142. package/dist/esm/v2/components/TelInput.js +274 -0
  143. package/dist/esm/v2/components/TelInput.js.map +1 -0
  144. package/dist/esm/v2/components/Textarea.js +72 -0
  145. package/dist/esm/v2/components/Textarea.js.map +1 -0
  146. package/dist/esm/v2/components/TimePicker.js +134 -0
  147. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  148. package/dist/esm/v2/components/Toast.js +376 -0
  149. package/dist/esm/v2/components/Toast.js.map +1 -0
  150. package/dist/esm/v2/components/Tooltip.js +161 -0
  151. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  152. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  153. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  154. package/dist/esm/v2/components/_pickerShared.js +60 -0
  155. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  156. package/dist/esm/v2/components/index.js +271 -0
  157. package/dist/esm/v2/components/index.js.map +1 -0
  158. package/dist/esm/v2/hooks/index.js +10 -0
  159. package/dist/esm/v2/hooks/index.js.map +1 -0
  160. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  161. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  162. package/dist/esm/v2/hooks/useDensity.js +119 -0
  163. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  164. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  165. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  166. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  167. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  168. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  169. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  170. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  171. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  172. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  173. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  174. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  175. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  176. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  177. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  178. package/dist/esm/v2/index.js +132 -0
  179. package/dist/esm/v2/index.js.map +1 -0
  180. package/dist/esm/v2/modalContext.js +108 -0
  181. package/dist/esm/v2/modalContext.js.map +1 -0
  182. package/dist/esm/v2/models/favorite.js +2 -0
  183. package/dist/esm/v2/models/favorite.js.map +1 -0
  184. package/dist/esm/v2/models/index.js +12 -0
  185. package/dist/esm/v2/models/index.js.map +1 -0
  186. package/dist/esm/v2/models/personalization.js +2 -0
  187. package/dist/esm/v2/models/personalization.js.map +1 -0
  188. package/dist/esm/v2/models/referentiel.js +2 -0
  189. package/dist/esm/v2/models/referentiel.js.map +1 -0
  190. package/dist/esm/v2/models/savedFilter.js +2 -0
  191. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  192. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  193. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  194. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  195. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  196. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  197. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  198. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  199. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  200. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  201. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  202. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  203. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  204. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  205. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  206. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  207. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  208. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  209. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  210. package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
  211. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  212. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  213. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  214. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  215. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  216. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  217. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  218. package/dist/esm/v2/patterns/FormSection.js +190 -0
  219. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  220. package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
  221. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  222. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  223. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  224. package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
  225. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  226. package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
  227. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  228. package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
  229. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  230. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  231. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  232. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  233. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  234. package/dist/esm/v2/patterns/FormikInput.js +130 -0
  235. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  236. package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
  237. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  238. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  239. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  240. package/dist/esm/v2/patterns/FormikSelect.js +162 -0
  241. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  242. package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
  243. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  244. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
  245. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  246. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  247. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  248. package/dist/esm/v2/patterns/PageContent.js +62 -0
  249. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  250. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  251. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  252. package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
  253. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  254. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  255. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  256. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  257. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  258. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  259. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  260. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  261. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  262. package/dist/esm/v2/patterns/Tour.js +471 -0
  263. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  264. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  265. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  266. package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
  267. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  268. package/dist/esm/v2/patterns/_sort.js +112 -0
  269. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  270. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  271. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  272. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  273. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  274. package/dist/esm/v2/patterns/index.js +178 -0
  275. package/dist/esm/v2/patterns/index.js.map +1 -0
  276. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  277. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  278. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  279. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  280. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  281. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  282. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  283. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  284. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  285. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  286. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  287. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  288. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  289. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  290. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
  291. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  292. package/dist/esm/v2/personalization/capabilities/index.js +22 -0
  293. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  294. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  295. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  296. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  297. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  298. package/dist/esm/v2/personalization/index.js +64 -0
  299. package/dist/esm/v2/personalization/index.js.map +1 -0
  300. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  301. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  302. package/dist/esm/v2/personalization/schema.js +92 -0
  303. package/dist/esm/v2/personalization/schema.js.map +1 -0
  304. package/dist/esm/v2/personalization/types.js +2 -0
  305. package/dist/esm/v2/personalization/types.js.map +1 -0
  306. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  307. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  308. package/dist/esm/v2/referentiel/index.js +15 -0
  309. package/dist/esm/v2/referentiel/index.js.map +1 -0
  310. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  311. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  312. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  313. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  314. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  315. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  316. package/dist/esm/v2/styles/base.css +425 -0
  317. package/dist/esm/v2/styles/css.d.ts +10 -0
  318. package/dist/esm/v2/styles/index.js +12 -0
  319. package/dist/esm/v2/styles/index.js.map +1 -0
  320. package/dist/esm/v2/theme/_brand.js +64 -0
  321. package/dist/esm/v2/theme/_brand.js.map +1 -0
  322. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  323. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  324. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  325. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  326. package/dist/esm/v2/theme/cssVariables.js +198 -0
  327. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  328. package/dist/esm/v2/theme/index.js +32 -0
  329. package/dist/esm/v2/theme/index.js.map +1 -0
  330. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  331. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  332. package/dist/esm/v2/tokens/colors.js +219 -0
  333. package/dist/esm/v2/tokens/colors.js.map +1 -0
  334. package/dist/esm/v2/tokens/density.js +98 -0
  335. package/dist/esm/v2/tokens/density.js.map +1 -0
  336. package/dist/esm/v2/tokens/index.js +80 -0
  337. package/dist/esm/v2/tokens/index.js.map +1 -0
  338. package/dist/esm/v2/tokens/motion.js +88 -0
  339. package/dist/esm/v2/tokens/motion.js.map +1 -0
  340. package/dist/esm/v2/tokens/radius.js +22 -0
  341. package/dist/esm/v2/tokens/radius.js.map +1 -0
  342. package/dist/esm/v2/tokens/shadows.js +40 -0
  343. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  344. package/dist/esm/v2/tokens/spacing.js +51 -0
  345. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  346. package/dist/esm/v2/tokens/state.js +41 -0
  347. package/dist/esm/v2/tokens/state.js.map +1 -0
  348. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  349. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  350. package/dist/esm/v2/tokens/tokens.json +153 -0
  351. package/dist/esm/v2/tokens/typography.js +149 -0
  352. package/dist/esm/v2/tokens/typography.js.map +1 -0
  353. package/dist/esm/v2/tokens/zIndex.js +44 -0
  354. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  355. package/dist/esm/v2/types/common.js +2 -0
  356. package/dist/esm/v2/types/common.js.map +1 -0
  357. package/dist/esm/v2/types/datagrid.js +2 -0
  358. package/dist/esm/v2/types/datagrid.js.map +1 -0
  359. package/dist/esm/v2/types/index.js +12 -0
  360. package/dist/esm/v2/types/index.js.map +1 -0
  361. package/dist/esm/v2/utils/apiError.js +281 -0
  362. package/dist/esm/v2/utils/apiError.js.map +1 -0
  363. package/dist/esm/v2/utils/contrast.js +157 -0
  364. package/dist/esm/v2/utils/contrast.js.map +1 -0
  365. package/dist/esm/v2/utils/cx.js +38 -0
  366. package/dist/esm/v2/utils/cx.js.map +1 -0
  367. package/dist/esm/v2/utils/fileDownload.js +226 -0
  368. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  369. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  370. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  371. package/dist/esm/v2/utils/index.js +43 -0
  372. package/dist/esm/v2/utils/index.js.map +1 -0
  373. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  374. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  375. package/dist/esm/v2/utils/networkStatus.js +114 -0
  376. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  377. package/dist/index.d.ts +5 -2
  378. package/dist/index.d.ts.map +1 -1
  379. package/dist/index.js +35 -0
  380. package/dist/index.js.map +1 -1
  381. package/dist/v2/__tests__/FieldError.test.js +160 -0
  382. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  383. package/dist/v2/__tests__/FieldWidth.test.js +150 -0
  384. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  385. package/dist/v2/__tests__/FileCard.test.js +144 -0
  386. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  387. package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
  388. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  389. package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
  390. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  391. package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
  392. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  393. package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
  394. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  395. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  396. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  397. package/dist/v2/__tests__/labels-merge.test.js +20 -24
  398. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  399. package/dist/v2/components/Accordion.d.ts +6 -6
  400. package/dist/v2/components/Accordion.d.ts.map +1 -1
  401. package/dist/v2/components/Accordion.js.map +1 -1
  402. package/dist/v2/components/ActionStrip.d.ts +12 -12
  403. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  404. package/dist/v2/components/ActionStrip.js.map +1 -1
  405. package/dist/v2/components/Banner.d.ts +48 -9
  406. package/dist/v2/components/Banner.d.ts.map +1 -1
  407. package/dist/v2/components/Banner.js +116 -35
  408. package/dist/v2/components/Banner.js.map +1 -1
  409. package/dist/v2/components/Busy.d.ts +3 -3
  410. package/dist/v2/components/Busy.d.ts.map +1 -1
  411. package/dist/v2/components/Busy.js.map +1 -1
  412. package/dist/v2/components/Button.d.ts +6 -6
  413. package/dist/v2/components/Button.d.ts.map +1 -1
  414. package/dist/v2/components/Button.js.map +1 -1
  415. package/dist/v2/components/CategoryTag.d.ts +3 -3
  416. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  417. package/dist/v2/components/CategoryTag.js.map +1 -1
  418. package/dist/v2/components/Checkbox.d.ts +11 -11
  419. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  420. package/dist/v2/components/Checkbox.js.map +1 -1
  421. package/dist/v2/components/Chip.d.ts +8 -8
  422. package/dist/v2/components/Chip.d.ts.map +1 -1
  423. package/dist/v2/components/Chip.js +2 -1
  424. package/dist/v2/components/Chip.js.map +1 -1
  425. package/dist/v2/components/Combobox.d.ts +27 -27
  426. package/dist/v2/components/Combobox.d.ts.map +1 -1
  427. package/dist/v2/components/Combobox.js +3 -2
  428. package/dist/v2/components/Combobox.js.map +1 -1
  429. package/dist/v2/components/CommandPalette.d.ts +20 -20
  430. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  431. package/dist/v2/components/CommandPalette.js +2 -6
  432. package/dist/v2/components/CommandPalette.js.map +1 -1
  433. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  434. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  435. package/dist/v2/components/ConfirmDialog.js +2 -1
  436. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  437. package/dist/v2/components/DatePicker.d.ts +11 -11
  438. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  439. package/dist/v2/components/DatePicker.js.map +1 -1
  440. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  441. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  442. package/dist/v2/components/DateRangePicker.js +2 -1
  443. package/dist/v2/components/DateRangePicker.js.map +1 -1
  444. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  445. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  446. package/dist/v2/components/DateTimePicker.js +37 -4
  447. package/dist/v2/components/DateTimePicker.js.map +1 -1
  448. package/dist/v2/components/Drawer.d.ts +18 -18
  449. package/dist/v2/components/Drawer.d.ts.map +1 -1
  450. package/dist/v2/components/Drawer.js +2 -1
  451. package/dist/v2/components/Drawer.js.map +1 -1
  452. package/dist/v2/components/Dropzone.d.ts +34 -34
  453. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  454. package/dist/v2/components/Dropzone.js +11 -3
  455. package/dist/v2/components/Dropzone.js.map +1 -1
  456. package/dist/v2/components/EmptyState.d.ts +7 -7
  457. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  458. package/dist/v2/components/EmptyState.js.map +1 -1
  459. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  460. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  461. package/dist/v2/components/FavoriteToggle.js +2 -1
  462. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  463. package/dist/v2/components/Field.d.ts +76 -13
  464. package/dist/v2/components/Field.d.ts.map +1 -1
  465. package/dist/v2/components/Field.js +87 -9
  466. package/dist/v2/components/Field.js.map +1 -1
  467. package/dist/v2/components/FieldError.d.ts +78 -0
  468. package/dist/v2/components/FieldError.d.ts.map +1 -0
  469. package/dist/v2/components/FieldError.js +131 -0
  470. package/dist/v2/components/FieldError.js.map +1 -0
  471. package/dist/v2/components/FieldHelp.d.ts +7 -7
  472. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  473. package/dist/v2/components/FieldHelp.js.map +1 -1
  474. package/dist/v2/components/FileCard.d.ts +75 -0
  475. package/dist/v2/components/FileCard.d.ts.map +1 -0
  476. package/dist/v2/components/FileCard.js +169 -0
  477. package/dist/v2/components/FileCard.js.map +1 -0
  478. package/dist/v2/components/FilterTab.d.ts +9 -9
  479. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  480. package/dist/v2/components/FilterTab.js +2 -1
  481. package/dist/v2/components/FilterTab.js.map +1 -1
  482. package/dist/v2/components/FormGrid.d.ts +9 -4
  483. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  484. package/dist/v2/components/FormGrid.js +11 -1
  485. package/dist/v2/components/FormGrid.js.map +1 -1
  486. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  487. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  488. package/dist/v2/components/FormikDisplay.js.map +1 -1
  489. package/dist/v2/components/Input.d.ts +6 -6
  490. package/dist/v2/components/Input.d.ts.map +1 -1
  491. package/dist/v2/components/Input.js.map +1 -1
  492. package/dist/v2/components/KPICard.d.ts +43 -13
  493. package/dist/v2/components/KPICard.d.ts.map +1 -1
  494. package/dist/v2/components/KPICard.js +53 -14
  495. package/dist/v2/components/KPICard.js.map +1 -1
  496. package/dist/v2/components/KPIStrip.d.ts +68 -0
  497. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  498. package/dist/v2/components/KPIStrip.js +92 -0
  499. package/dist/v2/components/KPIStrip.js.map +1 -0
  500. package/dist/v2/components/KV.d.ts +3 -3
  501. package/dist/v2/components/KV.d.ts.map +1 -1
  502. package/dist/v2/components/KV.js.map +1 -1
  503. package/dist/v2/components/KVGrid.d.ts +2 -2
  504. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  505. package/dist/v2/components/KVGrid.js +8 -1
  506. package/dist/v2/components/KVGrid.js.map +1 -1
  507. package/dist/v2/components/Layout.d.ts +7 -7
  508. package/dist/v2/components/Layout.d.ts.map +1 -1
  509. package/dist/v2/components/Layout.js.map +1 -1
  510. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  511. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  512. package/dist/v2/components/MobileRowCard.js.map +1 -1
  513. package/dist/v2/components/Modal.d.ts +12 -12
  514. package/dist/v2/components/Modal.d.ts.map +1 -1
  515. package/dist/v2/components/Modal.js.map +1 -1
  516. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  517. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  519. package/dist/v2/components/NumberInput.d.ts +14 -14
  520. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  521. package/dist/v2/components/NumberInput.js +7 -6
  522. package/dist/v2/components/NumberInput.js.map +1 -1
  523. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  524. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  525. package/dist/v2/components/OverflowMenu.js +4 -8
  526. package/dist/v2/components/OverflowMenu.js.map +1 -1
  527. package/dist/v2/components/PdfViewer.d.ts +9 -9
  528. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  529. package/dist/v2/components/PdfViewer.js.map +1 -1
  530. package/dist/v2/components/ProgressBar.d.ts +10 -10
  531. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  532. package/dist/v2/components/ProgressBar.js.map +1 -1
  533. package/dist/v2/components/Radio.d.ts +7 -7
  534. package/dist/v2/components/Radio.d.ts.map +1 -1
  535. package/dist/v2/components/Radio.js.map +1 -1
  536. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  537. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  538. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  539. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  540. package/dist/v2/components/SectionHeader.d.ts +5 -5
  541. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  542. package/dist/v2/components/SectionHeader.js.map +1 -1
  543. package/dist/v2/components/Segmented.d.ts +11 -11
  544. package/dist/v2/components/Segmented.d.ts.map +1 -1
  545. package/dist/v2/components/Segmented.js.map +1 -1
  546. package/dist/v2/components/Select.d.ts +33 -15
  547. package/dist/v2/components/Select.d.ts.map +1 -1
  548. package/dist/v2/components/Select.js +147 -30
  549. package/dist/v2/components/Select.js.map +1 -1
  550. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  551. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  552. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  553. package/dist/v2/components/Skeleton.d.ts +15 -15
  554. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  555. package/dist/v2/components/Skeleton.js.map +1 -1
  556. package/dist/v2/components/SkipLink.d.ts +2 -2
  557. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  558. package/dist/v2/components/SkipLink.js.map +1 -1
  559. package/dist/v2/components/Status.d.ts +3 -3
  560. package/dist/v2/components/Status.d.ts.map +1 -1
  561. package/dist/v2/components/Status.js.map +1 -1
  562. package/dist/v2/components/Stepper.d.ts +28 -22
  563. package/dist/v2/components/Stepper.d.ts.map +1 -1
  564. package/dist/v2/components/Stepper.js +31 -5
  565. package/dist/v2/components/Stepper.js.map +1 -1
  566. package/dist/v2/components/Surface.d.ts +94 -0
  567. package/dist/v2/components/Surface.d.ts.map +1 -0
  568. package/dist/v2/components/Surface.js +163 -0
  569. package/dist/v2/components/Surface.js.map +1 -0
  570. package/dist/v2/components/Switch.d.ts +4 -4
  571. package/dist/v2/components/Switch.d.ts.map +1 -1
  572. package/dist/v2/components/Switch.js.map +1 -1
  573. package/dist/v2/components/Tabs.d.ts +6 -6
  574. package/dist/v2/components/Tabs.d.ts.map +1 -1
  575. package/dist/v2/components/Tabs.js.map +1 -1
  576. package/dist/v2/components/TelInput.d.ts +8 -8
  577. package/dist/v2/components/TelInput.d.ts.map +1 -1
  578. package/dist/v2/components/TelInput.js +18 -18
  579. package/dist/v2/components/TelInput.js.map +1 -1
  580. package/dist/v2/components/Textarea.d.ts +1 -1
  581. package/dist/v2/components/Textarea.d.ts.map +1 -1
  582. package/dist/v2/components/Textarea.js.map +1 -1
  583. package/dist/v2/components/TimePicker.d.ts +11 -11
  584. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  585. package/dist/v2/components/TimePicker.js.map +1 -1
  586. package/dist/v2/components/Toast.d.ts +6 -6
  587. package/dist/v2/components/Toast.d.ts.map +1 -1
  588. package/dist/v2/components/Toast.js +9 -8
  589. package/dist/v2/components/Toast.js.map +1 -1
  590. package/dist/v2/components/Tooltip.d.ts +1 -1
  591. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  592. package/dist/v2/components/Tooltip.js.map +1 -1
  593. package/dist/v2/components/index.d.ts +170 -0
  594. package/dist/v2/components/index.d.ts.map +1 -1
  595. package/dist/v2/components/index.js +35 -0
  596. package/dist/v2/components/index.js.map +1 -1
  597. package/dist/v2/index.d.ts.map +1 -1
  598. package/dist/v2/index.js.map +1 -1
  599. package/dist/v2/models/favorite.d.ts +1 -1
  600. package/dist/v2/models/favorite.d.ts.map +1 -1
  601. package/dist/v2/models/favorite.js.map +1 -1
  602. package/dist/v2/models/personalization.d.ts +13 -13
  603. package/dist/v2/models/personalization.d.ts.map +1 -1
  604. package/dist/v2/models/personalization.js.map +1 -1
  605. package/dist/v2/models/referentiel.d.ts +11 -11
  606. package/dist/v2/models/referentiel.d.ts.map +1 -1
  607. package/dist/v2/models/referentiel.js.map +1 -1
  608. package/dist/v2/models/savedFilter.d.ts +8 -8
  609. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  610. package/dist/v2/models/savedFilter.js.map +1 -1
  611. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  612. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  613. package/dist/v2/patterns/ActionBar.js +2 -1
  614. package/dist/v2/patterns/ActionBar.js.map +1 -1
  615. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  616. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  617. package/dist/v2/patterns/BulkActionBar.js +2 -1
  618. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  619. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  620. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  621. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  622. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  623. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  624. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  625. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  626. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  627. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  628. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  629. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  630. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  631. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  632. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  633. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  634. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  635. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  636. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  637. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  638. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  639. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  640. package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
  641. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  642. package/dist/v2/patterns/FavoriteColumn.js +14 -61
  643. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  644. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  645. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  646. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  647. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  648. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  649. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  651. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  652. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  653. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  654. package/dist/v2/patterns/FormSection.d.ts +19 -8
  655. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  656. package/dist/v2/patterns/FormSection.js +106 -71
  657. package/dist/v2/patterns/FormSection.js.map +1 -1
  658. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  659. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  660. package/dist/v2/patterns/FormikCheckbox.js +147 -0
  661. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  662. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  663. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  664. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  665. package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
  666. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  667. package/dist/v2/patterns/FormikCombobox.js +5 -2
  668. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  669. package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
  670. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  671. package/dist/v2/patterns/FormikDatePicker.js +58 -65
  672. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  673. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  674. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  675. package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
  676. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  677. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  678. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  679. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  680. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  681. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  682. package/dist/v2/patterns/FormikFile.js.map +1 -1
  683. package/dist/v2/patterns/FormikInput.d.ts +51 -6
  684. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  685. package/dist/v2/patterns/FormikInput.js +53 -2
  686. package/dist/v2/patterns/FormikInput.js.map +1 -1
  687. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  688. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  689. package/dist/v2/patterns/FormikRadioGroup.js +148 -0
  690. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  691. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  692. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  693. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  694. package/dist/v2/patterns/FormikSelect.d.ts +41 -12
  695. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  696. package/dist/v2/patterns/FormikSelect.js +32 -3
  697. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  698. package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
  699. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  700. package/dist/v2/patterns/FormikTextarea.js +5 -2
  701. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  702. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
  703. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  704. package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
  705. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  706. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  707. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  708. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  709. package/dist/v2/patterns/PageContent.d.ts +3 -3
  710. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  711. package/dist/v2/patterns/PageContent.js.map +1 -1
  712. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  713. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  714. package/dist/v2/patterns/ReferentielField.js +2 -1
  715. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  716. package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
  717. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  718. package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
  719. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  720. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  721. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  722. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  723. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  724. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  725. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  726. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  727. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  728. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  729. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  730. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  731. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  732. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  733. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  734. package/dist/v2/patterns/Tour.d.ts +12 -12
  735. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  736. package/dist/v2/patterns/Tour.js +9 -8
  737. package/dist/v2/patterns/Tour.js.map +1 -1
  738. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  739. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  740. package/dist/v2/patterns/_dataGridShared.js +37 -3
  741. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  742. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  743. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  744. package/dist/v2/patterns/_pickerSerialisation.js +81 -0
  745. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  746. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  747. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  748. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  749. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  750. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  751. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  752. package/dist/v2/patterns/index.d.ts +114 -0
  753. package/dist/v2/patterns/index.d.ts.map +1 -1
  754. package/dist/v2/patterns/index.js +34 -0
  755. package/dist/v2/patterns/index.js.map +1 -1
  756. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  757. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  758. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  759. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  760. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  761. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  762. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  763. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  764. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  765. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  766. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  767. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  768. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  769. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  770. package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
  771. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  772. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  773. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  774. package/dist/v2/personalization/capabilities/index.js +13 -0
  775. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  776. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  777. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  778. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  779. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  780. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  781. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  782. package/dist/v2/personalization/index.d.ts +18 -0
  783. package/dist/v2/personalization/index.d.ts.map +1 -1
  784. package/dist/v2/personalization/index.js +13 -0
  785. package/dist/v2/personalization/index.js.map +1 -1
  786. package/dist/v2/personalization/schema.d.ts +2 -2
  787. package/dist/v2/personalization/schema.d.ts.map +1 -1
  788. package/dist/v2/personalization/schema.js.map +1 -1
  789. package/dist/v2/personalization/types.d.ts +19 -19
  790. package/dist/v2/personalization/types.d.ts.map +1 -1
  791. package/dist/v2/personalization/types.js.map +1 -1
  792. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  793. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  794. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  795. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  796. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  797. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  798. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  799. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  800. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  801. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  802. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  803. package/dist/v2/theme/createPortnetTheme.js +25 -1
  804. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  805. package/dist/v2/types/datagrid.d.ts +59 -59
  806. package/dist/v2/types/datagrid.d.ts.map +1 -1
  807. package/dist/v2/types/datagrid.js.map +1 -1
  808. package/dist/v2/utils/apiError.d.ts +65 -4
  809. package/dist/v2/utils/apiError.d.ts.map +1 -1
  810. package/dist/v2/utils/apiError.js +69 -6
  811. package/dist/v2/utils/apiError.js.map +1 -1
  812. package/dist/v2/utils/index.d.ts +1 -0
  813. package/dist/v2/utils/index.d.ts.map +1 -1
  814. package/dist/v2/utils/index.js +7 -0
  815. package/dist/v2/utils/index.js.map +1 -1
  816. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  817. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  818. package/dist/v2/utils/mergeLabels.js +93 -0
  819. package/dist/v2/utils/mergeLabels.js.map +1 -0
  820. package/package.json +23 -15
@@ -0,0 +1,190 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ 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."); }
9
+ 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); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ 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; }
13
+ import * as React from "react";
14
+ import Box from "@mui/material/Box";
15
+ import Typography from "@mui/material/Typography";
16
+ import FormGrid from "../components/FormGrid";
17
+ import Surface from "../components/Surface";
18
+
19
+ /**
20
+ * FormSection - Portnet UI v2 (pattern)
21
+ *
22
+ * Charter R-3.1 — groups form fields into named, numbered sections.
23
+ * Charter R-3.2 — 3-column grid is the standard for form sections.
24
+ *
25
+ * cols (default 3):
26
+ * 3 — three equal columns (DEFAULT — standard form layout)
27
+ * 2 — two equal columns (narrow forms, few fields, wide labels)
28
+ * 1 — single column (textareas, file uploads, notes)
29
+ * "auto" — auto-fill tracks min 220px
30
+ * "none" — no grid wrapper — children manage their own layout.
31
+ * Use for: KVGrid, DataGrid, nested FormGrid.
32
+ *
33
+ * Full-width items within a 3-col section:
34
+ * <FormGrid.Full><FormikTextarea name="obs" /></FormGrid.Full>
35
+ *
36
+ * Usage:
37
+ * // Standard form section — 3 cols (no need to specify)
38
+ * <FormSection number={1} title="Identification">
39
+ * <FormikInput name="nom" label="Nom" />
40
+ * <FormikInput name="prenom" label="Prénom" />
41
+ * <FormikInput name="code" label="Code" />
42
+ * </FormSection>
43
+ *
44
+ * // Read-only section — self-managed layout
45
+ * <FormSection title="Importateur" cols="none">
46
+ * <KVGrid minColumnWidth={180}>...</KVGrid>
47
+ * </FormSection>
48
+ */
49
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
50
+ var DEFAULT_SR_LABEL = function DEFAULT_SR_LABEL(n) {
51
+ return "Section ".concat(n, " : ");
52
+ };
53
+ function resolveGridProps(cols) {
54
+ if (!cols || cols === "none") return null;
55
+ if (cols === "auto") return {
56
+ minColumnWidth: 220
57
+ };
58
+ if (typeof cols === "number") return {
59
+ columns: cols
60
+ };
61
+ return null;
62
+ }
63
+ function FormSection(_ref) {
64
+ var number = _ref.number,
65
+ title = _ref.title,
66
+ description = _ref.description,
67
+ actions = _ref.actions,
68
+ _ref$srLabel = _ref.srLabel,
69
+ srLabel = _ref$srLabel === void 0 ? DEFAULT_SR_LABEL : _ref$srLabel,
70
+ _ref$headingLevel = _ref.headingLevel,
71
+ headingLevel = _ref$headingLevel === void 0 ? 2 : _ref$headingLevel,
72
+ _ref$cols = _ref.cols,
73
+ cols = _ref$cols === void 0 ? 3 : _ref$cols,
74
+ gap = _ref.gap,
75
+ children = _ref.children,
76
+ sx = _ref.sx;
77
+ var HeadingTag = "h".concat(headingLevel);
78
+ var gridProps = resolveGridProps(cols);
79
+ return (
80
+ /*#__PURE__*/
81
+ /*
82
+ * The card container is the shared `Surface` primitive (gap G-10), not an
83
+ * inline recipe. This component USED to hold the only copy of
84
+ * --surface + --border + -r-lg in the library, which is precisely why every
85
+ * consuming module rewrote it: the recipe was reachable only by also taking
86
+ * a numbered heading and an inner FormGrid. Dogfooding it here means a
87
+ * charter change to the card radius or elevation lands in ONE file.
88
+ *
89
+ * `padding="none"` / `elevation="none"` reproduce the previous rendering
90
+ * byte for byte: FormSection pads its header and body separately, and never
91
+ * carried a shadow.
92
+ */
93
+ _jsxs(Surface, {
94
+ padding: "none",
95
+ elevation: "none",
96
+ radius: "lg"
97
+ /* ARRAY form (gap G-23). This line previously spread `sx` into an object,
98
+ * which silently destroys the array and function shapes `SxProps<Theme>`
99
+ * allows — so a host writing MUI's own `sx={[base, cond && override]}` lost
100
+ * everything. Surface forwards the array through to its own composition. */,
101
+ sx: [{
102
+ marginBottom: 3
103
+ }].concat(_toConsumableArray(Array.isArray(sx) ? sx : sx ? [sx] : [])),
104
+ children: [/*#__PURE__*/_jsxs(Box, {
105
+ sx: {
106
+ padding: "var(--s-4) var(--s-5)",
107
+ borderBottom: "1px solid var(--border)",
108
+ display: "flex",
109
+ alignItems: "flex-start",
110
+ justifyContent: "space-between",
111
+ gap: 2
112
+ },
113
+ children: [/*#__PURE__*/_jsxs(Box, {
114
+ sx: {
115
+ display: "flex",
116
+ gap: 2,
117
+ alignItems: "flex-start",
118
+ flex: 1,
119
+ minWidth: 0
120
+ },
121
+ children: [number != null && /*#__PURE__*/_jsx(Box, {
122
+ "aria-hidden": "true",
123
+ sx: {
124
+ flexShrink: 0,
125
+ width: 28,
126
+ height: 28,
127
+ borderRadius: "var(--r-full)",
128
+ background: "var(--accent-soft)",
129
+ color: "var(--accent)",
130
+ display: "grid",
131
+ placeItems: "center",
132
+ fontSize: "var(--text-sm)",
133
+ fontWeight: "var(--fw-bold)"
134
+ },
135
+ children: number
136
+ }), /*#__PURE__*/_jsxs(Box, {
137
+ sx: {
138
+ minWidth: 0
139
+ },
140
+ children: [/*#__PURE__*/_jsxs(Typography, {
141
+ component: HeadingTag,
142
+ sx: {
143
+ /* R-2.3 / R-AI.1 MUST — was a bare `15`, a magic font-size no
144
+ * token can express (the type scale is 12/13/14/16/20/26).
145
+ * The Charter's own typography table assigns --text-h3 (16px)
146
+ * to "Card / form group" titles, which is exactly what a
147
+ * FormSection header is. Fleet-wide 15→16px on section
148
+ * headers — needs visual confirmation, but 15 could not
149
+ * remain: it is unrepresentable in the token system. */
150
+ fontSize: "var(--text-h3)",
151
+ fontWeight: "var(--fw-bold)",
152
+ color: "var(--fg)",
153
+ lineHeight: "var(--lh-snug)",
154
+ margin: 0
155
+ },
156
+ children: [number != null && /*#__PURE__*/_jsx("span", {
157
+ className: "pui-sr-only",
158
+ children: srLabel(number)
159
+ }), title]
160
+ }), description && /*#__PURE__*/_jsx(Typography, {
161
+ sx: {
162
+ fontSize: "var(--text-xs)",
163
+ color: "var(--fg-muted)",
164
+ marginTop: 0.25
165
+ },
166
+ children: description
167
+ })]
168
+ })]
169
+ }), actions]
170
+ }), /*#__PURE__*/_jsx(Box, {
171
+ sx: {
172
+ padding: "var(--s-5)"
173
+ },
174
+ children: gridProps ?
175
+ /*#__PURE__*/
176
+ /* `gap` applied by CONDITIONAL SPREAD, not `gap={gap}`: FormGridProps
177
+ * declares it optional, and forwarding an explicit `undefined` is
178
+ * what breaks under exactOptionalPropertyTypes. Omitting the key is
179
+ * what "inherit the charter default" means. */
180
+ _jsx(FormGrid, _objectSpread(_objectSpread(_objectSpread({}, gridProps), gap !== undefined ? {
181
+ gap: gap
182
+ } : {}), {}, {
183
+ children: children
184
+ })) : children
185
+ })]
186
+ })
187
+ );
188
+ }
189
+ export default FormSection;
190
+ //# sourceMappingURL=FormSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSection.js","names":["React","Box","Typography","FormGrid","Surface","jsx","_jsx","jsxs","_jsxs","DEFAULT_SR_LABEL","n","concat","resolveGridProps","cols","minColumnWidth","columns","FormSection","_ref","number","title","description","actions","_ref$srLabel","srLabel","_ref$headingLevel","headingLevel","_ref$cols","gap","children","sx","HeadingTag","gridProps","padding","elevation","radius","marginBottom","_toConsumableArray","Array","isArray","borderBottom","display","alignItems","justifyContent","flex","minWidth","flexShrink","width","height","borderRadius","background","color","placeItems","fontSize","fontWeight","component","lineHeight","margin","className","marginTop","_objectSpread","undefined"],"sources":["../../../../src/lib/v2/patterns/FormSection.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport FormGrid from \"../components/FormGrid\";\r\nimport Surface from \"../components/Surface\";\r\n\r\n/**\r\n * FormSection - Portnet UI v2 (pattern)\r\n *\r\n * Charter R-3.1 — groups form fields into named, numbered sections.\r\n * Charter R-3.2 — 3-column grid is the standard for form sections.\r\n *\r\n * cols (default 3):\r\n * 3 — three equal columns (DEFAULT — standard form layout)\r\n * 2 — two equal columns (narrow forms, few fields, wide labels)\r\n * 1 — single column (textareas, file uploads, notes)\r\n * \"auto\" — auto-fill tracks min 220px\r\n * \"none\" — no grid wrapper — children manage their own layout.\r\n * Use for: KVGrid, DataGrid, nested FormGrid.\r\n *\r\n * Full-width items within a 3-col section:\r\n * <FormGrid.Full><FormikTextarea name=\"obs\" /></FormGrid.Full>\r\n *\r\n * Usage:\r\n * // Standard form section — 3 cols (no need to specify)\r\n * <FormSection number={1} title=\"Identification\">\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * </FormSection>\r\n *\r\n * // Read-only section — self-managed layout\r\n * <FormSection title=\"Importateur\" cols=\"none\">\r\n * <KVGrid minColumnWidth={180}>...</KVGrid>\r\n * </FormSection>\r\n */\r\n\r\nexport interface FormSectionProps {\r\n number?: number | string | undefined;\r\n title: React.ReactNode;\r\n description?: React.ReactNode | undefined;\r\n actions?: React.ReactNode | undefined;\r\n srLabel?: ((n: number | string) => React.ReactNode) | undefined;\r\n headingLevel?: 2 | 3 | 4 | 5 | 6 | undefined;\r\n /**\r\n * cols — Charter R-3.2 field layout.\r\n * 3 (DEFAULT) : 3 equal columns — standard form layout.\r\n * 2 | 1 : fewer columns for narrow/simple forms.\r\n * \"auto\" : auto-fill tracks min 220px.\r\n * \"none\" : no grid wrapper — children manage own layout.\r\n */\r\n cols?: number | \"auto\" | \"none\" | undefined;\r\n /**\r\n * Gap forwarded to the inner `FormGrid`. Omit to inherit the charter default\r\n * (`--s-4`). Ignored when `cols=\"none\"`, where the child owns its layout.\r\n *\r\n * Added for gap G-13: `FormSection` wrapped its children in a `FormGrid` but\r\n * exposed no way to set that grid's gap, so a section needing a non-default\r\n * spacing had to abandon `cols` entirely and nest its own `FormGrid` — or,\r\n * as every audited module actually did, hand-roll a raw `Box` grid and\r\n * reimplement the breakpoint ladder.\r\n */\r\n gap?: string | number | undefined;\r\n children: React.ReactNode;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst DEFAULT_SR_LABEL = (n: number | string): string => `Section ${n} : `;\r\n\r\nfunction resolveGridProps(\r\n cols: number | \"auto\" | \"none\" | undefined\r\n): { minColumnWidth: number } | { columns: number } | null {\r\n if (!cols || cols === \"none\") return null;\r\n if (cols === \"auto\") return { minColumnWidth: 220 };\r\n if (typeof cols === \"number\") return { columns: cols };\r\n return null;\r\n}\r\n\r\nfunction FormSection({\r\n number,\r\n title,\r\n description,\r\n actions,\r\n srLabel = DEFAULT_SR_LABEL,\r\n headingLevel = 2,\r\n cols = 3,\r\n gap,\r\n children,\r\n sx,\r\n}: FormSectionProps) {\r\n const HeadingTag = `h${headingLevel}` as const;\r\n const gridProps = resolveGridProps(cols);\r\n\r\n return (\r\n /*\r\n * The card container is the shared `Surface` primitive (gap G-10), not an\r\n * inline recipe. This component USED to hold the only copy of\r\n * --surface + --border + -r-lg in the library, which is precisely why every\r\n * consuming module rewrote it: the recipe was reachable only by also taking\r\n * a numbered heading and an inner FormGrid. Dogfooding it here means a\r\n * charter change to the card radius or elevation lands in ONE file.\r\n *\r\n * `padding=\"none\"` / `elevation=\"none\"` reproduce the previous rendering\r\n * byte for byte: FormSection pads its header and body separately, and never\r\n * carried a shadow.\r\n */\r\n <Surface\r\n padding=\"none\"\r\n elevation=\"none\"\r\n radius=\"lg\"\r\n /* ARRAY form (gap G-23). This line previously spread `sx` into an object,\r\n * which silently destroys the array and function shapes `SxProps<Theme>`\r\n * allows — so a host writing MUI's own `sx={[base, cond && override]}` lost\r\n * everything. Surface forwards the array through to its own composition. */\r\n sx={[{ marginBottom: 3 }, ...(Array.isArray(sx) ? sx : sx ? [sx] : [])]}\r\n >\r\n {/* Section header */}\r\n <Box\r\n sx={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n justifyContent: \"space-between\",\r\n gap: 2,\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n gap: 2,\r\n alignItems: \"flex-start\",\r\n flex: 1,\r\n minWidth: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n flexShrink: 0,\r\n width: 28,\r\n height: 28,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent-soft)\",\r\n color: \"var(--accent)\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n }}\r\n >\r\n {number}\r\n </Box>\r\n )}\r\n <Box sx={{ minWidth: 0 }}>\r\n <Typography\r\n component={HeadingTag}\r\n sx={{\r\n /* R-2.3 / R-AI.1 MUST — was a bare `15`, a magic font-size no\r\n * token can express (the type scale is 12/13/14/16/20/26).\r\n * The Charter's own typography table assigns --text-h3 (16px)\r\n * to \"Card / form group\" titles, which is exactly what a\r\n * FormSection header is. Fleet-wide 15→16px on section\r\n * headers — needs visual confirmation, but 15 could not\r\n * remain: it is unrepresentable in the token system. */\r\n fontSize: \"var(--text-h3)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n margin: 0,\r\n }}\r\n >\r\n {number != null && (\r\n <span className=\"pui-sr-only\">{srLabel(number)}</span>\r\n )}\r\n {title}\r\n </Typography>\r\n {description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-muted)\",\r\n marginTop: 0.25,\r\n }}\r\n >\r\n {description}\r\n </Typography>\r\n )}\r\n </Box>\r\n </Box>\r\n {actions}\r\n </Box>\r\n\r\n {/* Section body */}\r\n <Box sx={{ padding: \"var(--s-5)\" }}>\r\n {gridProps ? (\r\n /* `gap` applied by CONDITIONAL SPREAD, not `gap={gap}`: FormGridProps\r\n * declares it optional, and forwarding an explicit `undefined` is\r\n * what breaks under exactOptionalPropertyTypes. Omitting the key is\r\n * what \"inherit the charter default\" means. */\r\n <FormGrid {...gridProps} {...(gap !== undefined ? { gap } : {})}>\r\n {children}\r\n </FormGrid>\r\n ) : (\r\n children\r\n )}\r\n </Box>\r\n </Surface>\r\n );\r\n}\r\n\r\nexport default FormSection;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ 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."); }
9
+ 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); }
10
+ 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; }
11
+ 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; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ /**
14
+ * FormikCheckbox — bridge between Formik state and v2.Field + v2.Checkbox,
15
+ * for a SINGLE BOOLEAN field.
16
+ *
17
+ * ── WHY THIS EXISTS ALONGSIDE FormikCheckboxGroup (gap G-A) ──────────
18
+ *
19
+ * `FormikCheckboxGroup` holds an ARRAY of selected values. That is the right
20
+ * model for "pick several from a list", and the wrong one for a lone flag:
21
+ *
22
+ * autreInfo.fabrication -> boolean
23
+ * objectDeclaration.premiereDeclaration -> boolean
24
+ *
25
+ * A host with boolean-shaped state cannot adopt the group bridge without
26
+ * changing what its payload sends, so every module ended up re-wiring
27
+ * `Checkbox` + `useField` by hand — the exact duplication R-2.1 forbids, and
28
+ * the one place where it hurts most: hand-rolled bridges lose the error
29
+ * rendering. Reported from refonte-frontend (lot 5), whose local masked/checked
30
+ * inputs displayed no validation message at all, so a required-field error was
31
+ * invisible to the user (R-4.1 MUST).
32
+ *
33
+ * Usage:
34
+ *
35
+ * import { FormikCheckbox } from "@portnet/ui/lib/v2";
36
+ *
37
+ * <FormikCheckbox
38
+ * name="autreInfo.fabrication"
39
+ * label="Fabrication"
40
+ * />
41
+ *
42
+ * <FormikCheckbox
43
+ * name="conditions"
44
+ * label="J'accepte les conditions"
45
+ * required
46
+ * hint="Obligatoire pour soumettre la demande"
47
+ * />
48
+ *
49
+ * ── WHY THE CHECKBOX IS WRAPPED IN A CheckboxGroup ──────────────────
50
+ *
51
+ * `Field` clones its child with `error` and `disabled` props, because several
52
+ * v2 inputs read them directly. `MuiCheckbox` spreads unknown props down to
53
+ * the native `<input>`, so a bare `Checkbox` inside `Field` would emit
54
+ * `error="false"` onto the DOM (React warning, invalid attribute).
55
+ * `CheckboxGroup` destructures its props explicitly and drops the rest, and it
56
+ * forwards the ARIA grouping attributes `Field` injects. Same composition as
57
+ * `FormikCheckboxGroup`, for the same reason.
58
+ *
59
+ * ── LABEL AND REQUIRED ──────────────────────────────────────────────
60
+ *
61
+ * The label belongs to the CHECKBOX (rendered by `FormControlLabel`, which
62
+ * names the input implicitly), not above the field: a lone checkbox with a
63
+ * field label AND a control label reads as two questions. `Field` therefore
64
+ * receives no label, and `required` is expressed twice where it counts —
65
+ * visually by the asterisk appended to the control label, and to assistive
66
+ * technology by `aria-required` on the input itself (`Field`'s own injection
67
+ * lands on the group, which does not forward it).
68
+ *
69
+ * Errors surface only once the field is touched, and toggling marks it touched
70
+ * — same semantics as `FormikCheckboxGroup`. A checkbox has no meaningful
71
+ * blur-before-change, so waiting for a blur would keep the message hidden.
72
+ *
73
+ * Charter §03 · R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.
74
+ */
75
+
76
+ import * as React from "react";
77
+ import Box from "@mui/material/Box";
78
+ import { useField, useFormikContext } from "formik";
79
+ import Field from "../components/Field";
80
+ import { Checkbox, CheckboxGroup } from "../components/Checkbox";
81
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
82
+ var FormikCheckbox = function FormikCheckbox(_ref) {
83
+ var name = _ref.name,
84
+ label = _ref.label,
85
+ required = _ref.required,
86
+ disabled = _ref.disabled,
87
+ hint = _ref.hint,
88
+ inputProps = _ref.inputProps;
89
+ var _useField = useField(name),
90
+ _useField2 = _slicedToArray(_useField, 2),
91
+ field = _useField2[0],
92
+ meta = _useField2[1];
93
+ var _useFormikContext = useFormikContext(),
94
+ setFieldValue = _useFormikContext.setFieldValue,
95
+ setFieldTouched = _useFormikContext.setFieldTouched;
96
+ var hasError = Boolean(meta.touched && meta.error);
97
+ var handleChange = function handleChange(event) {
98
+ setFieldValue(name, event.target.checked);
99
+ setFieldTouched(name, true, false);
100
+ };
101
+
102
+ /* `=== true` and not a truthy test: hosts seed these fields with `null`
103
+ * (a not-yet-answered flag), and `checked={null}` makes the input
104
+ * uncontrolled for one render. */
105
+ var checked = field.value === true;
106
+ var controlLabel = required ? /*#__PURE__*/_jsxs(_Fragment, {
107
+ children: [label, /*#__PURE__*/_jsx(Box, {
108
+ component: "span",
109
+ "aria-hidden": "true",
110
+ sx: {
111
+ color: "var(--danger)",
112
+ fontWeight: "var(--fw-bold, 700)",
113
+ marginInlineStart: "var(--s-1)"
114
+ },
115
+ children: "*"
116
+ })]
117
+ }) : label;
118
+ return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread({
119
+ error: hasError ? meta.error : null,
120
+ hint: !hasError ? hint : undefined,
121
+ group: true
122
+ }, disabled !== undefined ? {
123
+ disabled: disabled
124
+ } : {}), {}, {
125
+ children: /*#__PURE__*/_jsx(CheckboxGroup, {
126
+ children: /*#__PURE__*/_jsx(Checkbox, {
127
+ name: name,
128
+ label: controlLabel,
129
+ checked: checked,
130
+ onChange: handleChange,
131
+ disabled: disabled,
132
+ inputProps: _objectSpread(_objectSpread({}, required ? {
133
+ "aria-required": "true"
134
+ } : {}), inputProps)
135
+ })
136
+ })
137
+ }));
138
+ };
139
+ export default FormikCheckbox;
140
+ //# sourceMappingURL=FormikCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikCheckbox.js","names":["React","Box","useField","useFormikContext","Field","Checkbox","CheckboxGroup","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FormikCheckbox","_ref","name","label","required","disabled","hint","inputProps","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","handleChange","event","target","checked","value","controlLabel","children","component","sx","color","fontWeight","marginInlineStart","_objectSpread","undefined","group","onChange"],"sources":["../../../../src/lib/v2/patterns/FormikCheckbox.tsx"],"sourcesContent":["/**\r\n * FormikCheckbox — bridge between Formik state and v2.Field + v2.Checkbox,\r\n * for a SINGLE BOOLEAN field.\r\n *\r\n * ── WHY THIS EXISTS ALONGSIDE FormikCheckboxGroup (gap G-A) ──────────\r\n *\r\n * `FormikCheckboxGroup` holds an ARRAY of selected values. That is the right\r\n * model for \"pick several from a list\", and the wrong one for a lone flag:\r\n *\r\n * autreInfo.fabrication -> boolean\r\n * objectDeclaration.premiereDeclaration -> boolean\r\n *\r\n * A host with boolean-shaped state cannot adopt the group bridge without\r\n * changing what its payload sends, so every module ended up re-wiring\r\n * `Checkbox` + `useField` by hand — the exact duplication R-2.1 forbids, and\r\n * the one place where it hurts most: hand-rolled bridges lose the error\r\n * rendering. Reported from refonte-frontend (lot 5), whose local masked/checked\r\n * inputs displayed no validation message at all, so a required-field error was\r\n * invisible to the user (R-4.1 MUST).\r\n *\r\n * Usage:\r\n *\r\n * import { FormikCheckbox } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikCheckbox\r\n * name=\"autreInfo.fabrication\"\r\n * label=\"Fabrication\"\r\n * />\r\n *\r\n * <FormikCheckbox\r\n * name=\"conditions\"\r\n * label=\"J'accepte les conditions\"\r\n * required\r\n * hint=\"Obligatoire pour soumettre la demande\"\r\n * />\r\n *\r\n * ── WHY THE CHECKBOX IS WRAPPED IN A CheckboxGroup ──────────────────\r\n *\r\n * `Field` clones its child with `error` and `disabled` props, because several\r\n * v2 inputs read them directly. `MuiCheckbox` spreads unknown props down to\r\n * the native `<input>`, so a bare `Checkbox` inside `Field` would emit\r\n * `error=\"false\"` onto the DOM (React warning, invalid attribute).\r\n * `CheckboxGroup` destructures its props explicitly and drops the rest, and it\r\n * forwards the ARIA grouping attributes `Field` injects. Same composition as\r\n * `FormikCheckboxGroup`, for the same reason.\r\n *\r\n * ── LABEL AND REQUIRED ──────────────────────────────────────────────\r\n *\r\n * The label belongs to the CHECKBOX (rendered by `FormControlLabel`, which\r\n * names the input implicitly), not above the field: a lone checkbox with a\r\n * field label AND a control label reads as two questions. `Field` therefore\r\n * receives no label, and `required` is expressed twice where it counts —\r\n * visually by the asterisk appended to the control label, and to assistive\r\n * technology by `aria-required` on the input itself (`Field`'s own injection\r\n * lands on the group, which does not forward it).\r\n *\r\n * Errors surface only once the field is touched, and toggling marks it touched\r\n * — same semantics as `FormikCheckboxGroup`. A checkbox has no meaningful\r\n * blur-before-change, so waiting for a blur would keep the message hidden.\r\n *\r\n * Charter §03 · R-I.2, R-I.3, R-4.1. Peer dependency: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport { Checkbox, CheckboxGroup } from \"../components/Checkbox\";\r\n\r\nexport interface FormikCheckboxProps {\r\n name: string;\r\n /** Label rendered next to the checkbox — it names the control. */\r\n label?: React.ReactNode | undefined;\r\n /** Adds the asterisk on the label and `aria-required` on the input. */\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /** Native `<input>` attributes, routed to the checkbox input (v9 slot). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nconst FormikCheckbox = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n hint,\r\n inputProps,\r\n}: FormikCheckboxProps) => {\r\n const [field, meta] = useField<boolean>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setFieldValue(name, event.target.checked);\r\n setFieldTouched(name, true, false);\r\n };\r\n\r\n /* `=== true` and not a truthy test: hosts seed these fields with `null`\r\n * (a not-yet-answered flag), and `checked={null}` makes the input\r\n * uncontrolled for one render. */\r\n const checked = field.value === true;\r\n\r\n const controlLabel = required ? (\r\n <>\r\n {label}\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{\r\n color: \"var(--danger)\",\r\n fontWeight: \"var(--fw-bold, 700)\",\r\n marginInlineStart: \"var(--s-1)\",\r\n }}\r\n >\r\n *\r\n </Box>\r\n </>\r\n ) : (\r\n label\r\n );\r\n\r\n return (\r\n <Field\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n group\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <CheckboxGroup>\r\n <Checkbox\r\n name={name}\r\n label={controlLabel}\r\n checked={checked}\r\n onChange={handleChange}\r\n disabled={disabled}\r\n inputProps={{\r\n ...(required ? { \"aria-required\": \"true\" } : {}),\r\n ...inputProps,\r\n }}\r\n />\r\n </CheckboxGroup>\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikCheckbox;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ 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."); }
9
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
10
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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); }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
+ /**
18
+ * FormikCheckboxGroup — bridge between Formik state and
19
+ * v2.Field + v2.CheckboxGroup.
20
+ *
21
+ * The v2 CheckboxGroup uses composition slots — children must be
22
+ * <Checkbox> elements, each with their own checked/onChange. This
23
+ * bridge wraps that contract behind an ergonomic
24
+ * `options=[{value, label}]` prop and manages the add/remove of
25
+ * values in the Formik-held array.
26
+ *
27
+ * `field.value` holds an array of selected values, defaulting to []
28
+ * when unset.
29
+ *
30
+ * Usage:
31
+ *
32
+ * import { FormikCheckboxGroup } from "@portnet/ui/lib/v2";
33
+ *
34
+ * <FormikCheckboxGroup
35
+ * name="departements"
36
+ * label="Départements"
37
+ * required
38
+ * options={departements.content.map((d) => ({
39
+ * value: String(d.id),
40
+ * label: d.description,
41
+ * }))}
42
+ * />
43
+ *
44
+ * A11y (CC-6): the wrapping Field is put in `group` mode so the label names the
45
+ * CheckboxGroup via aria-labelledby (a native <label htmlFor> cannot name an
46
+ * ARIA group). CheckboxGroup renders role="group" and forwards the injected
47
+ * aria-labelledby / aria-describedby / aria-invalid onto that element.
48
+ *
49
+ * Charter R-Sel.4. Peer dependency: formik >= 2.x.
50
+ */
51
+
52
+ import * as React from "react";
53
+ import { useField, useFormikContext } from "formik";
54
+ import Field from "../components/Field";
55
+ import { Checkbox, CheckboxGroup } from "../components/Checkbox";
56
+ import { jsx as _jsx } from "react/jsx-runtime";
57
+ var FormikCheckboxGroup = function FormikCheckboxGroup(_ref) {
58
+ var name = _ref.name,
59
+ label = _ref.label,
60
+ required = _ref.required,
61
+ _ref$options = _ref.options,
62
+ options = _ref$options === void 0 ? [] : _ref$options,
63
+ hint = _ref.hint,
64
+ disabled = _ref.disabled,
65
+ _ref$row = _ref.row,
66
+ row = _ref$row === void 0 ? false : _ref$row;
67
+ var _useField = useField(name),
68
+ _useField2 = _slicedToArray(_useField, 2),
69
+ field = _useField2[0],
70
+ meta = _useField2[1];
71
+ var _useFormikContext = useFormikContext(),
72
+ setFieldValue = _useFormikContext.setFieldValue,
73
+ setFieldTouched = _useFormikContext.setFieldTouched;
74
+ var hasError = Boolean(meta.touched && meta.error);
75
+ var selected = Array.isArray(field.value) ? field.value : [];
76
+ var toggle = function toggle(optValue) {
77
+ return function (event) {
78
+ var checked = event.target.checked;
79
+ var next = checked ? [].concat(_toConsumableArray(selected), [optValue]) : selected.filter(function (v) {
80
+ return v !== optValue;
81
+ });
82
+ setFieldValue(name, next);
83
+ setFieldTouched(name, true, false);
84
+ };
85
+ };
86
+ return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
87
+ label: label,
88
+ error: hasError ? meta.error : null,
89
+ hint: !hasError ? hint : undefined,
90
+ group: true
91
+ }, required !== undefined ? {
92
+ required: required
93
+ } : {}), disabled !== undefined ? {
94
+ disabled: disabled
95
+ } : {}), {}, {
96
+ children: /*#__PURE__*/_jsx(CheckboxGroup, {
97
+ row: row,
98
+ children: options.map(function (opt) {
99
+ return /*#__PURE__*/_jsx(Checkbox, {
100
+ label: opt.label,
101
+ checked: selected.includes(opt.value),
102
+ onChange: toggle(opt.value),
103
+ disabled: disabled
104
+ }, opt.value);
105
+ })
106
+ })
107
+ }));
108
+ };
109
+ export default FormikCheckboxGroup;
110
+ //# sourceMappingURL=FormikCheckboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikCheckboxGroup.js","names":["React","useField","useFormikContext","Field","Checkbox","CheckboxGroup","jsx","_jsx","FormikCheckboxGroup","_ref","name","label","required","_ref$options","options","hint","disabled","_ref$row","row","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","selected","Array","isArray","value","toggle","optValue","event","checked","target","next","concat","_toConsumableArray","filter","v","_objectSpread","undefined","group","children","map","opt","includes","onChange"],"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":[]}
@@ -0,0 +1,118 @@
1
+ var _excluded = ["name", "label", "required", "options", "loading", "disabled", "htmlFor", "hint", "getOptionLabel", "getOptionValue", "descriptionField", "width", "onSelectionChange"];
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ 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); }
7
+ 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); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ 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."); }
10
+ 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); }
11
+ 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; }
12
+ 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; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ 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; }
15
+ 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; }
16
+ /**
17
+ * FormikCombobox — bridge between Formik state and v2.Field +
18
+ * v2.Combobox.
19
+ *
20
+ * Maps caller-supplied raw options to v2.Combobox's {value, label,
21
+ * helper} shape and exposes onSelectionChange(rawOption) for
22
+ * consumers that need cross-field side effects on pick.
23
+ *
24
+ * Charter R-Sel.1 → R-Sel.4. Peer dependency: formik >= 2.x.
25
+ *
26
+ * Hardening notes:
27
+ * - B7: defensive String() cast on the resolved label so a
28
+ * consumer-supplied getOptionLabel that returns a React node
29
+ * never crashes Autocomplete with the cryptic "Objects are
30
+ * not valid as a React child" error.
31
+ * - B10: `descriptionField` alias mirrors the legacy
32
+ * AppFormikSelect API — surfaces option[descriptionField] as
33
+ * the helper line under each Combobox row.
34
+ */
35
+
36
+ import { useField, useFormikContext } from "formik";
37
+ import Field from "../components/Field";
38
+ import Combobox from "../components/Combobox";
39
+ import { jsx as _jsx } from "react/jsx-runtime";
40
+ function FormikCombobox(_ref) {
41
+ var _field$value;
42
+ var name = _ref.name,
43
+ label = _ref.label,
44
+ required = _ref.required,
45
+ _ref$options = _ref.options,
46
+ options = _ref$options === void 0 ? [] : _ref$options,
47
+ loading = _ref.loading,
48
+ disabled = _ref.disabled,
49
+ htmlFor = _ref.htmlFor,
50
+ hint = _ref.hint,
51
+ getOptionLabel = _ref.getOptionLabel,
52
+ getOptionValue = _ref.getOptionValue,
53
+ descriptionField = _ref.descriptionField,
54
+ width = _ref.width,
55
+ onSelectionChange = _ref.onSelectionChange,
56
+ rest = _objectWithoutProperties(_ref, _excluded);
57
+ var _useField = useField(name),
58
+ _useField2 = _slicedToArray(_useField, 2),
59
+ field = _useField2[0],
60
+ meta = _useField2[1];
61
+ var _useFormikContext = useFormikContext(),
62
+ setFieldValue = _useFormikContext.setFieldValue,
63
+ setFieldTouched = _useFormikContext.setFieldTouched;
64
+ var hasError = Boolean(meta.touched && meta.error);
65
+ var v2Options = options.map(function (opt) {
66
+ var _ref2, _ref3;
67
+ if (opt == null || _typeof(opt) !== "object") return opt;
68
+ var rec = opt;
69
+ var rawLabel = typeof getOptionLabel === "function" ? getOptionLabel(opt) : rec["label"];
70
+ // B7: harden against getOptionLabel returning a React node.
71
+ // v2.Combobox feeds the label back through its internal
72
+ // labelOf when computing the displayed value, and that path
73
+ // assumes string. Always coerce defensively.
74
+ var safeLabel = typeof rawLabel === "string" || rawLabel == null ? rawLabel : String(rawLabel);
75
+ // B10: descriptionField alias → helper. Falls back to the
76
+ // canonical `helper`/`summary` fields if neither is set.
77
+ var helper = (_ref2 = (_ref3 = descriptionField && rec[descriptionField]) !== null && _ref3 !== void 0 ? _ref3 : rec["helper"]) !== null && _ref2 !== void 0 ? _ref2 : rec["summary"];
78
+ return {
79
+ value: typeof getOptionValue === "function" ? getOptionValue(opt) : opt,
80
+ label: safeLabel,
81
+ helper: helper,
82
+ __raw: opt
83
+ };
84
+ });
85
+ var handleChange = function handleChange(next) {
86
+ setFieldValue(name, next);
87
+ setFieldTouched(name, true, false);
88
+ if (typeof onSelectionChange === "function") {
89
+ var _raw, _v2Options$find;
90
+ var picked = (_raw = (_v2Options$find = v2Options.find(function (o) {
91
+ return o != null && _typeof(o) === "object" && "value" in o && o.value === next;
92
+ })) === null || _v2Options$find === void 0 ? void 0 : _v2Options$find.__raw) !== null && _raw !== void 0 ? _raw : null;
93
+ onSelectionChange(picked);
94
+ }
95
+ };
96
+ return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
97
+ label: label,
98
+ error: hasError ? meta.error : null,
99
+ hint: !hasError ? hint : undefined,
100
+ htmlFor: htmlFor || name
101
+ }, required !== undefined ? {
102
+ required: required
103
+ } : {}), disabled !== undefined ? {
104
+ disabled: disabled
105
+ } : {}), width !== undefined ? {
106
+ width: width
107
+ } : {}), {}, {
108
+ children: /*#__PURE__*/_jsx(Combobox, _objectSpread(_objectSpread({
109
+ value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : null,
110
+ options: v2Options,
111
+ onChange: handleChange
112
+ }, rest), loading !== undefined ? {
113
+ loading: loading
114
+ } : {}))
115
+ }));
116
+ }
117
+ export default FormikCombobox;
118
+ //# sourceMappingURL=FormikCombobox.js.map