@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 @@
1
+ {"version":3,"file":"FormikReferentielField.js","names":["React","useField","useFormikContext","Field","ReferentielField","jsx","_jsx","FormikReferentielField","_ref","name","label","required","disabled","hint","htmlFor","getOptionValue","getDescription","onPick","seenRows","refProps","_objectWithoutProperties","_excluded","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","cacheRef","useRef","Map","forEach","row","current","set","valueRow","useMemo","_cacheRef$current$get","value","get","handleChange","val","display","useCallback","rowOrVal","_typeof","String","cached","_objectSpread","undefined","children","onChange","getDisplayValue"],"sources":["../../../../src/lib/v2/patterns/FormikReferentielField.tsx"],"sourcesContent":["/**\r\n * FormikReferentielField — bridge between Formik state and\r\n * v2.ReferentielField.\r\n *\r\n * Mirrors the API surface of the legacy AppFormikSearchField wrapper:\r\n * - stores `getOptionValue(row)` in Formik state under `name`\r\n * - displays `getDescription(row)` in the trigger Input (resolves\r\n * via a host-supplied lookup or a cached map of seen rows)\r\n * - calls `onPick(row)` after a successful selection so the host\r\n * can mirror sibling fields (e.g. *.id + *.description pairs)\r\n *\r\n * Charter R-Sel.1 → 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 ReferentielField, { type ReferentielFieldProps } from \"./ReferentielField\";\r\n\r\nexport interface FormikReferentielFieldProps<T>\r\n extends Omit<\r\n ReferentielFieldProps<T>,\r\n \"value\" | \"onChange\" | \"getDisplayValue\" | \"name\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n htmlFor?: string | undefined;\r\n /** Resolve the primitive stored in Formik state from a picked row. */\r\n getOptionValue?: ((row: T) => unknown) | undefined;\r\n /** Resolve the trigger display string from a row. */\r\n getDescription?: ((row: T) => string) | undefined;\r\n /** Called after a successful pick so the host can mirror siblings. */\r\n onPick?: ((row: T) => void) | undefined;\r\n /** Rows to seed the label cache with (e.g. an edit form's initial value). */\r\n seenRows?: T[] | undefined;\r\n}\r\n\r\nfunction FormikReferentielField<T>({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n hint,\r\n htmlFor,\r\n getOptionValue,\r\n getDescription,\r\n onPick,\r\n seenRows,\r\n ...refProps\r\n}: FormikReferentielFieldProps<T>) {\r\n const [field, meta] = useField<unknown>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n /* Cache of rows the user has picked in this session, keyed by the\r\n * resolved option value. Lets us render the trigger label after a\r\n * pick without re-fetching. */\r\n const cacheRef = React.useRef(new Map<unknown, T>());\r\n // `seenRows` (if provided) seeds the cache and is NOT forwarded to\r\n // ReferentielField — consuming it via the destructure keeps refProps clean.\r\n if (seenRows) {\r\n seenRows.forEach((row) => {\r\n cacheRef.current.set(getOptionValue ? getOptionValue(row) : row, row);\r\n });\r\n }\r\n\r\n const valueRow = React.useMemo<T | null>(() => {\r\n if (field.value == null || field.value === \"\") return null;\r\n return cacheRef.current.get(field.value) ?? null;\r\n }, [field.value]);\r\n\r\n const handleChange = (row: T | null) => {\r\n if (row == null) {\r\n setFieldValue(name, \"\");\r\n setFieldTouched(name, true, false);\r\n return;\r\n }\r\n const val = getOptionValue ? getOptionValue(row) : row;\r\n cacheRef.current.set(val, row);\r\n setFieldValue(name, val);\r\n setFieldTouched(name, true, false);\r\n if (typeof onPick === \"function\") onPick(row);\r\n };\r\n\r\n const display = React.useCallback(\r\n (rowOrVal: T): string => {\r\n // ReferentielField calls getDisplayValue(value) — `value` here is\r\n // either the cached row (if available) or the raw formik primitive.\r\n // Resolve through the cache when we have it.\r\n if (rowOrVal && typeof rowOrVal === \"object\") {\r\n return getDescription ? getDescription(rowOrVal) : String(rowOrVal);\r\n }\r\n const cached = cacheRef.current.get(rowOrVal);\r\n if (cached)\r\n return getDescription ? getDescription(cached) : String(cached);\r\n return rowOrVal == null ? \"\" : String(rowOrVal);\r\n },\r\n [getDescription]\r\n );\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <ReferentielField\r\n name={name}\r\n value={(valueRow ?? field.value) as T | null}\r\n onChange={handleChange}\r\n getDisplayValue={display}\r\n {...refProps}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n />\r\n </Field>\r\n );\r\n}\r\n\r\nexport default FormikReferentielField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,162 @@
1
+ var _excluded = ["name", "label", "required", "hint", "options", "getOptionValue", "getOptionLabel", "loading", "disabled", "readOnly", "mono", "placeholder", "htmlFor", "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 _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
+ 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; }
14
+ 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; }
15
+ 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); }
16
+ /**
17
+ * FormikSelect — bridge between Formik state and v2.Field + v2.Select.
18
+ *
19
+ * Charter §03 · R-Sel.1 → R-Sel.5. Peer dependency: formik >= 2.x.
20
+ *
21
+ * Use for short / medium option lists. For large referential lists that
22
+ * need free-text filtering, prefer FormikCombobox, or pass `searchThreshold`
23
+ * straight through to the underlying v2.Select.
24
+ *
25
+ * Maps caller-supplied raw options to v2.Select's {value, label} shape and
26
+ * exposes onSelectionChange(rawOption) for consumers that need cross-field
27
+ * side effects on pick.
28
+ *
29
+ * <FormikSelect
30
+ * name="bureau"
31
+ * label="Bureau douanier"
32
+ * options={bureaux}
33
+ * getOptionValue={(b) => b.id}
34
+ * getOptionLabel={(b) => b.libelle}
35
+ * />
36
+ */
37
+
38
+ import * as React from "react";
39
+ import { useField, useFormikContext } from "formik";
40
+ import Field from "../components/Field";
41
+ import Select from "../components/Select";
42
+ import FormikDisplay from "../components/FormikDisplay";
43
+ import { labelFromValue, sameOptionValue } from "../components/Select";
44
+ import { jsx as _jsx } from "react/jsx-runtime";
45
+ function defaultGetOptionValue(opt) {
46
+ if (opt == null || _typeof(opt) !== "object") return opt;
47
+ var rec = opt;
48
+ if (rec["value"] !== undefined && rec["value"] !== null) return rec["value"];
49
+ if (rec["id"] !== undefined && rec["id"] !== null) return rec["id"];
50
+ // Unreachable for well-formed options: an object exposing neither value nor
51
+ // id can never be a valid Select value/key, so collapse to empty selection.
52
+ return "";
53
+ }
54
+ function defaultGetOptionLabel(opt) {
55
+ if (opt == null) return "";
56
+ if (_typeof(opt) !== "object") return String(opt);
57
+ var rec = opt;
58
+ if (rec["description"]) return String(rec["description"]);
59
+ if (rec["label"]) return String(rec["label"]);
60
+ if (rec["code"]) return String(rec["code"]);
61
+ return String(opt);
62
+ }
63
+ var FormikSelect = function FormikSelect(_ref) {
64
+ var _field$value;
65
+ var name = _ref.name,
66
+ label = _ref.label,
67
+ required = _ref.required,
68
+ hint = _ref.hint,
69
+ _ref$options = _ref.options,
70
+ options = _ref$options === void 0 ? [] : _ref$options,
71
+ _ref$getOptionValue = _ref.getOptionValue,
72
+ getOptionValue = _ref$getOptionValue === void 0 ? defaultGetOptionValue : _ref$getOptionValue,
73
+ _ref$getOptionLabel = _ref.getOptionLabel,
74
+ getOptionLabel = _ref$getOptionLabel === void 0 ? defaultGetOptionLabel : _ref$getOptionLabel,
75
+ _ref$loading = _ref.loading,
76
+ loading = _ref$loading === void 0 ? false : _ref$loading,
77
+ _ref$disabled = _ref.disabled,
78
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
79
+ _ref$readOnly = _ref.readOnly,
80
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
81
+ mono = _ref.mono,
82
+ placeholder = _ref.placeholder,
83
+ htmlFor = _ref.htmlFor,
84
+ width = _ref.width,
85
+ onSelectionChange = _ref.onSelectionChange,
86
+ rest = _objectWithoutProperties(_ref, _excluded);
87
+ var _useField = useField(name),
88
+ _useField2 = _slicedToArray(_useField, 2),
89
+ field = _useField2[0],
90
+ meta = _useField2[1];
91
+ var _useFormikContext = useFormikContext(),
92
+ setFieldValue = _useFormikContext.setFieldValue,
93
+ setFieldTouched = _useFormikContext.setFieldTouched;
94
+ var hasError = Boolean(meta.touched && meta.error);
95
+ var v2Options = options.map(function (opt) {
96
+ var raw = opt;
97
+ if (raw == null || _typeof(raw) !== "object") return raw;
98
+ return {
99
+ value: getOptionValue(opt),
100
+ label: getOptionLabel(opt),
101
+ __raw: opt
102
+ };
103
+ });
104
+ var handleChange = function handleChange(e) {
105
+ var next = e && e.target ? e.target.value : e;
106
+ setFieldValue(name, next === "" ? null : next);
107
+ setFieldTouched(name, true, false);
108
+ if (typeof onSelectionChange === "function") {
109
+ var found = v2Options.find(function (o) {
110
+ return _typeof(o) === "object" && o !== null && o.value === next;
111
+ });
112
+ var picked = found && _typeof(found) === "object" ? found.__raw : null;
113
+ onSelectionChange(picked);
114
+ }
115
+ };
116
+ var resolvedPlaceholder = loading ? "Chargement…" : placeholder;
117
+
118
+ /* Lecture seule : on résout le libellé de l'option avant de déléguer, sinon
119
+ * FormikDisplay afficherait la VALEUR brute (un code, ou un objet dont il ne
120
+ * lirait que `.description`). */
121
+ if (readOnly && !disabled) {
122
+ return /*#__PURE__*/_jsx(FormikDisplay, _objectSpread(_objectSpread(_objectSpread({
123
+ name: name,
124
+ label: label
125
+ }, hint !== undefined ? {
126
+ hint: hint
127
+ } : {}), mono !== undefined ? {
128
+ mono: mono
129
+ } : {}), {}, {
130
+ format: function format(raw) {
131
+ var match = options.find(function (opt) {
132
+ return sameOptionValue(getOptionValue(opt), raw);
133
+ });
134
+ if (match !== undefined) return getOptionLabel(match);
135
+ return labelFromValue(raw);
136
+ }
137
+ }));
138
+ }
139
+ return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
140
+ label: label,
141
+ error: hasError ? meta.error : null,
142
+ hint: !hasError ? hint : undefined,
143
+ htmlFor: htmlFor || name,
144
+ disabled: disabled
145
+ }, required !== undefined ? {
146
+ required: required
147
+ } : {}), width !== undefined ? {
148
+ width: width
149
+ } : {}), {}, {
150
+ children: /*#__PURE__*/_jsx(Select, _objectSpread(_objectSpread({
151
+ value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : "",
152
+ onChange: handleChange,
153
+ onBlur: field.onBlur,
154
+ options: v2Options,
155
+ disabled: Boolean(disabled || loading)
156
+ }, rest), resolvedPlaceholder !== undefined ? {
157
+ placeholder: resolvedPlaceholder
158
+ } : {}))
159
+ }));
160
+ };
161
+ export default FormikSelect;
162
+ //# sourceMappingURL=FormikSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikSelect.js","names":["React","useField","useFormikContext","Field","Select","FormikDisplay","labelFromValue","sameOptionValue","jsx","_jsx","defaultGetOptionValue","opt","_typeof","rec","undefined","defaultGetOptionLabel","String","FormikSelect","_ref","_field$value","name","label","required","hint","_ref$options","options","_ref$getOptionValue","getOptionValue","_ref$getOptionLabel","getOptionLabel","_ref$loading","loading","_ref$disabled","disabled","_ref$readOnly","readOnly","mono","placeholder","htmlFor","width","onSelectionChange","rest","_objectWithoutProperties","_excluded","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","v2Options","map","raw","value","__raw","handleChange","e","next","target","found","find","o","picked","resolvedPlaceholder","_objectSpread","format","match","children","onChange","onBlur"],"sources":["../../../../src/lib/v2/patterns/FormikSelect.tsx"],"sourcesContent":["/**\r\n * FormikSelect — bridge between Formik state and v2.Field + v2.Select.\r\n *\r\n * Charter §03 · R-Sel.1 → R-Sel.5. Peer dependency: formik >= 2.x.\r\n *\r\n * Use for short / medium option lists. For large referential lists that\r\n * need free-text filtering, prefer FormikCombobox, or pass `searchThreshold`\r\n * straight through to the underlying v2.Select.\r\n *\r\n * Maps caller-supplied raw options to v2.Select's {value, label} shape and\r\n * exposes onSelectionChange(rawOption) for consumers that need cross-field\r\n * side effects on pick.\r\n *\r\n * <FormikSelect\r\n * name=\"bureau\"\r\n * label=\"Bureau douanier\"\r\n * options={bureaux}\r\n * getOptionValue={(b) => b.id}\r\n * getOptionLabel={(b) => b.libelle}\r\n * />\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Select from \"../components/Select\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport { labelFromValue, sameOptionValue } from \"../components/Select\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type {\r\n SelectOptionValue,\r\n SelectProps,\r\n SelectValue,\r\n SelectChangeLike,\r\n} from \"../components/Select\";\r\n\r\nfunction defaultGetOptionValue(opt: unknown): SelectOptionValue {\r\n if (opt == null || typeof opt !== \"object\") return opt as SelectOptionValue;\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"value\"] !== undefined && rec[\"value\"] !== null) return rec[\"value\"] as SelectOptionValue;\r\n if (rec[\"id\"] !== undefined && rec[\"id\"] !== null) return rec[\"id\"] as SelectOptionValue;\r\n // Unreachable for well-formed options: an object exposing neither value nor\r\n // id can never be a valid Select value/key, so collapse to empty selection.\r\n return \"\";\r\n}\r\n\r\nfunction defaultGetOptionLabel(opt: unknown): string {\r\n if (opt == null) return \"\";\r\n if (typeof opt !== \"object\") return String(opt);\r\n const rec = opt as Record<string, unknown>;\r\n if (rec[\"description\"]) return String(rec[\"description\"]);\r\n if (rec[\"label\"]) return String(rec[\"label\"]);\r\n if (rec[\"code\"]) return String(rec[\"code\"]);\r\n return String(opt);\r\n}\r\n\r\nexport interface FormikSelectProps<TOption = unknown>\r\n extends Omit<\r\n SelectProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"onBlur\"\r\n | \"options\"\r\n | \"disabled\"\r\n | \"placeholder\"\r\n | \"label\"\r\n | \"required\"\r\n | \"error\"\r\n // SelectProps carries its own loosely-typed `ref` (Ref<unknown>, likely\r\n // inherited from its underlying MUI base) that isn't the real ref for\r\n // this wrapper. Excluding it here stops it leaking into ...rest below\r\n // and colliding with <Select>'s real RefAttributes<HTMLInputElement>.\r\n | \"ref\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n hint?: React.ReactNode | undefined;\r\n options?: TOption[] | undefined;\r\n getOptionValue?: ((opt: TOption) => SelectOptionValue) | undefined;\r\n getOptionLabel?: ((opt: TOption) => React.ReactNode) | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n /**\r\n * Render the RESOLVED OPTION LABEL as read-only text via FormikDisplay,\r\n * instead of a Select.\r\n *\r\n * Resolution matters here in a way it does not for FormikInput: the Formik\r\n * value is whatever `getOptionValue` produced — often a code, sometimes a\r\n * whole referentiel object — and printing it raw would show\r\n * \"DOMAIN_ACTIVITE_1\" where the user expects \"Domaine médical\". So the value is\r\n * matched back against `options` and `getOptionLabel` supplies the text.\r\n *\r\n * Matching goes through the same `sameOptionValue` the Select itself uses, so\r\n * a value seeded from an API payload still matches a separately-fetched\r\n * option (structural comparison, not reference identity). When nothing\r\n * matches, `labelFromValue` derives something readable from the value rather\r\n * than showing a code.\r\n *\r\n * `disabled` wins when both are passed — same rule as FormikInput.\r\n */\r\n readOnly?: boolean | undefined;\r\n /** Tabular-nums monospace in read-only mode. */\r\n mono?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n htmlFor?: string | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H). Sur un select, le gabarit se choisit\r\n * d'apres la longueur des LIBELLES d'options, pas d'une contrainte de\r\n * saisie : le standard range les « simple dropdowns » en `m` et les « long\r\n * dropdowns » en `l`. Ne s'applique pas en mode `readOnly`.\r\n */\r\n width?: FieldWidth | undefined;\r\n onSelectionChange?: ((picked: TOption | null) => void) | undefined;\r\n}\r\n\r\nconst FormikSelect = <TOption,>({\r\n name,\r\n label,\r\n required,\r\n hint,\r\n options = [],\r\n getOptionValue = defaultGetOptionValue,\r\n getOptionLabel = defaultGetOptionLabel,\r\n loading = false,\r\n disabled = false,\r\n readOnly = false,\r\n mono,\r\n placeholder,\r\n htmlFor,\r\n width,\r\n onSelectionChange,\r\n ...rest\r\n}: FormikSelectProps<TOption>) => {\r\n const [field, meta] = useField<SelectValue>(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const v2Options = options.map(\r\n (opt): string | { value: SelectOptionValue; label: React.ReactNode; __raw: TOption } => {\r\n const raw: unknown = opt;\r\n if (raw == null || typeof raw !== \"object\") return raw as string;\r\n return {\r\n value: getOptionValue(opt),\r\n label: getOptionLabel(opt),\r\n __raw: opt,\r\n };\r\n },\r\n );\r\n\r\n const handleChange = (e: SelectChangeLike) => {\r\n const next = e && e.target ? e.target.value : e;\r\n setFieldValue(name, next === \"\" ? null : next);\r\n setFieldTouched(name, true, false);\r\n if (typeof onSelectionChange === \"function\") {\r\n const found = v2Options.find(\r\n (o) => typeof o === \"object\" && o !== null && o.value === next,\r\n );\r\n const picked = found && typeof found === \"object\" ? found.__raw : null;\r\n onSelectionChange(picked);\r\n }\r\n };\r\n\r\n const resolvedPlaceholder = loading ? \"Chargement…\" : placeholder;\r\n\r\n /* Lecture seule : on résout le libellé de l'option avant de déléguer, sinon\r\n * FormikDisplay afficherait la VALEUR brute (un code, ou un objet dont il ne\r\n * lirait que `.description`). */\r\n if (readOnly && !disabled) {\r\n return (\r\n <FormikDisplay\r\n name={name}\r\n label={label}\r\n {...(hint !== undefined ? { hint } : {})}\r\n {...(mono !== undefined ? { mono } : {})}\r\n format={(raw) => {\r\n const match = options.find((opt) =>\r\n sameOptionValue(getOptionValue(opt), raw),\r\n );\r\n if (match !== undefined) return getOptionLabel(match);\r\n return labelFromValue(raw);\r\n }}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n disabled={disabled}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Select\r\n value={field.value ?? \"\"}\r\n onChange={handleChange}\r\n onBlur={field.onBlur}\r\n options={v2Options}\r\n disabled={Boolean(disabled || loading)}\r\n {...rest}\r\n {...(resolvedPlaceholder !== undefined ? { placeholder: resolvedPlaceholder } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikSelect;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,79 @@
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
+ var _excluded = ["name", "label", "required", "rows", "htmlFor", "hint", "disabled", "width"];
3
+ 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; }
4
+ 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; }
5
+ 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; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ 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); }
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
+ * FormikTextarea — bridge between Formik state and v2.Field + v2.Textarea.
18
+ *
19
+ * Default rows = 4 (matches the legacy Pui multiline default
20
+ * across ms-ti-fe / addpe-fe usage).
21
+ *
22
+ * Usage:
23
+ *
24
+ * import { FormikTextarea } from "@portnet/ui/lib/v2";
25
+ *
26
+ * <FormikTextarea
27
+ * name="observation"
28
+ * label="Observations"
29
+ * rows={4}
30
+ * />
31
+ *
32
+ * Charter §03 / R-I.1 → R-I.6. Peer dependency: `formik` >= 2.x.
33
+ */
34
+
35
+ import * as React from "react";
36
+ import { useField } from "formik";
37
+ import Field from "../components/Field";
38
+ import Textarea from "../components/Textarea";
39
+ import { jsx as _jsx } from "react/jsx-runtime";
40
+ var FormikTextarea = function FormikTextarea(_ref) {
41
+ var _field$value;
42
+ var name = _ref.name,
43
+ label = _ref.label,
44
+ required = _ref.required,
45
+ _ref$rows = _ref.rows,
46
+ rows = _ref$rows === void 0 ? 4 : _ref$rows,
47
+ htmlFor = _ref.htmlFor,
48
+ hint = _ref.hint,
49
+ disabled = _ref.disabled,
50
+ width = _ref.width,
51
+ rest = _objectWithoutProperties(_ref, _excluded);
52
+ var _useField = useField(name),
53
+ _useField2 = _slicedToArray(_useField, 2),
54
+ field = _useField2[0],
55
+ meta = _useField2[1];
56
+ var hasError = Boolean(meta.touched && meta.error);
57
+ return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
58
+ label: label,
59
+ error: hasError ? meta.error : null,
60
+ hint: !hasError ? hint : undefined,
61
+ htmlFor: htmlFor || name
62
+ }, required !== undefined ? {
63
+ required: required
64
+ } : {}), disabled !== undefined ? {
65
+ disabled: disabled
66
+ } : {}), width !== undefined ? {
67
+ width: width
68
+ } : {}), {}, {
69
+ children: /*#__PURE__*/_jsx(Textarea, _objectSpread({
70
+ name: field.name,
71
+ value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : "",
72
+ onChange: field.onChange,
73
+ onBlur: field.onBlur,
74
+ rows: rows
75
+ }, rest))
76
+ }));
77
+ };
78
+ export default FormikTextarea;
79
+ //# sourceMappingURL=FormikTextarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormikTextarea.js","names":["React","useField","Field","Textarea","jsx","_jsx","FormikTextarea","_ref","_field$value","name","label","required","_ref$rows","rows","htmlFor","hint","disabled","width","rest","_objectWithoutProperties","_excluded","_useField","_useField2","_slicedToArray","field","meta","hasError","Boolean","touched","error","_objectSpread","undefined","children","value","onChange","onBlur"],"sources":["../../../../src/lib/v2/patterns/FormikTextarea.tsx"],"sourcesContent":["/**\r\n * FormikTextarea — bridge between Formik state and v2.Field + v2.Textarea.\r\n *\r\n * Default rows = 4 (matches the legacy Pui multiline default\r\n * across ms-ti-fe / addpe-fe usage).\r\n *\r\n * Usage:\r\n *\r\n * import { FormikTextarea } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikTextarea\r\n * name=\"observation\"\r\n * label=\"Observations\"\r\n * rows={4}\r\n * />\r\n *\r\n * Charter §03 / R-I.1 → R-I.6. Peer dependency: `formik` >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Textarea from \"../components/Textarea\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type { TextareaProps } from \"../components/Textarea\";\r\n\r\nexport interface FormikTextareaProps\r\n extends Omit<\r\n TextareaProps,\r\n \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"label\" | \"required\" | \"disabled\" | \"error\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H). Sur une zone de texte, le standard\r\n * range les descriptions et les editeurs en `xl` (pleine largeur du bloc) :\r\n * c'est donc rarement autre chose, mais la prop existe pour les cas ou la\r\n * zone est courte et bornee.\r\n */\r\n width?: FieldWidth | undefined;\r\n}\r\n\r\nconst FormikTextarea = ({\r\n name,\r\n label,\r\n required,\r\n rows = 4,\r\n htmlFor,\r\n hint,\r\n disabled,\r\n width,\r\n ...rest\r\n}: FormikTextareaProps) => {\r\n const [field, meta] = useField<string>(name);\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Textarea\r\n name={field.name}\r\n value={field.value ?? \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n rows={rows}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikTextarea;\r\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,QAAQ;AACjC,OAAOC,KAAK,MAAM,qBAAqB;AACvC,OAAOC,QAAQ,MAAM,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAwB9C,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAUO;EAAA,IAAAC,YAAA;EAAA,IATzBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,KAAK,GAAAH,IAAA,CAALG,KAAK;IACLC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IAAAC,SAAA,GAAAL,IAAA,CACRM,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,CAAC,GAAAA,SAAA;IACRE,OAAO,GAAAP,IAAA,CAAPO,OAAO;IACPC,IAAI,GAAAR,IAAA,CAAJQ,IAAI;IACJC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;IACRC,KAAK,GAAAV,IAAA,CAALU,KAAK;IACFC,IAAI,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEP,IAAAC,SAAA,GAAsBpB,QAAQ,CAASQ,IAAI,CAAC;IAAAa,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAArCG,KAAK,GAAAF,UAAA;IAAEG,IAAI,GAAAH,UAAA;EAClB,IAAMI,QAAQ,GAAGC,OAAO,CAACF,IAAI,CAACG,OAAO,IAAIH,IAAI,CAACI,KAAK,CAAC;EAEpD,oBACExB,IAAA,CAACH,KAAK,EAAA4B,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACJpB,KAAK,EAAEA,KAAM;IACbmB,KAAK,EAAEH,QAAQ,GAAGD,IAAI,CAACI,KAAK,GAAG,IAAK;IACpCd,IAAI,EAAE,CAACW,QAAQ,GAAGX,IAAI,GAAGgB,SAAU;IACnCjB,OAAO,EAAEA,OAAO,IAAIL;EAAK,GACpBE,QAAQ,KAAKoB,SAAS,GAAG;IAAEpB,QAAQ,EAARA;EAAS,CAAC,GAAG,CAAC,CAAC,GAC1CK,QAAQ,KAAKe,SAAS,GAAG;IAAEf,QAAQ,EAARA;EAAS,CAAC,GAAG,CAAC,CAAC,GAC1CC,KAAK,KAAKc,SAAS,GAAG;IAAEd,KAAK,EAALA;EAAM,CAAC,GAAG,CAAC,CAAC;IAAAe,QAAA,eAEzC3B,IAAA,CAACF,QAAQ,EAAA2B,aAAA;MACPrB,IAAI,EAAEe,KAAK,CAACf,IAAK;MACjBwB,KAAK,GAAAzB,YAAA,GAAEgB,KAAK,CAACS,KAAK,cAAAzB,YAAA,cAAAA,YAAA,GAAI,EAAG;MACzB0B,QAAQ,EAAEV,KAAK,CAACU,QAAS;MACzBC,MAAM,EAAEX,KAAK,CAACW,MAAO;MACrBtB,IAAI,EAAEA;IAAK,GACPK,IAAI,CACT;EAAC,EACG,CAAC;AAEZ,CAAC;AAED,eAAeZ,cAAc","ignoreList":[]}
@@ -0,0 +1,212 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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."); }
3
+ 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); }
4
+ 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; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import * as React from "react";
8
+ import Modal from "../components/Modal";
9
+ import { mergeLabels } from "../utils/mergeLabels";
10
+
11
+ /* ── Body-only focus guard ────────────────────────────────────────
12
+ * The "?" key is a printable character. If a user types "?" inside an
13
+ * Input / Textarea / contentEditable element we must NOT hijack the
14
+ * keypress to open the help — they're trying to type a question mark.
15
+ *
16
+ * BUTTON / A focus is NOT blocking by design: when the user has tabbed
17
+ * onto an interactive non-text element, hitting "?" makes sense as a
18
+ * help affordance (navigation mode, not text-entry mode).
19
+ */
20
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
+ function isFocusOnTextEntry() {
22
+ var el = typeof document !== "undefined" ? document.activeElement : null;
23
+ if (!el) return false;
24
+ var tag = el.tagName;
25
+ if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
26
+ if (el instanceof HTMLElement && el.isContentEditable) return true;
27
+ return false;
28
+ }
29
+ function ShortcutKey(_ref) {
30
+ var children = _ref.children;
31
+ return /*#__PURE__*/_jsx("kbd", {
32
+ style: {
33
+ display: "inline-block",
34
+ minWidth: "1.75em",
35
+ padding: "0.15em 0.5em",
36
+ background: "var(--bg-subtle)",
37
+ border: "1px solid var(--border)",
38
+ borderBottomColor: "var(--border-strong, var(--border))",
39
+ borderRadius: "var(--r-sm)",
40
+ boxShadow: "inset 0 -1px 0 var(--border)",
41
+ fontFamily: "var(--font-mono, monospace)",
42
+ fontSize: "var(--text-sm)",
43
+ textAlign: "center",
44
+ lineHeight: 1.4,
45
+ color: "var(--fg)"
46
+ },
47
+ children: children
48
+ });
49
+ }
50
+ var SHORTCUT_ROW_SX = {
51
+ display: "grid",
52
+ gridTemplateColumns: "auto 1fr",
53
+ gap: "var(--s-4)",
54
+ alignItems: "center",
55
+ padding: "var(--s-2) 0",
56
+ borderBottom: "1px solid var(--border-subtle, var(--border))"
57
+ };
58
+ var SHORTCUT_KEYS_SX = {
59
+ display: "flex",
60
+ gap: "var(--s-1)",
61
+ alignItems: "center",
62
+ flexWrap: "wrap"
63
+ };
64
+ var HELP_FOOTNOTE_SX = {
65
+ marginTop: "var(--s-4)",
66
+ paddingTop: "var(--s-3)",
67
+ borderTop: "1px solid var(--border)",
68
+ fontSize: "var(--text-xs)",
69
+ color: "var(--fg-subtle)",
70
+ lineHeight: 1.5
71
+ };
72
+ var DEFAULT_LABELS = Object.freeze({
73
+ /* Footnote rendered below the shortcut list. Split into two parts so the
74
+ * keycap can be embedded in the middle without forcing the i18n string to
75
+ * carry HTML tags. */
76
+ footnoteIntro: "Astuce : appuyez sur",
77
+ footnoteOutro: "à tout moment pour ouvrir ou fermer cette aide. Les raccourcis s'activent uniquement quand votre curseur n'est pas dans un champ de saisie.",
78
+ /* aria-label on the <dl> listing every shortcut. */
79
+ listAriaLabel: "Liste des raccourcis clavier disponibles sur cette page",
80
+ /* Joiner rendered between alternative keys for the same shortcut. */
81
+ keyJoiner: "ou"
82
+ });
83
+
84
+ /**
85
+ * KeyboardShortcutsHelp — Portnet UI v2
86
+ *
87
+ * Charter §5.2 SHOULD — discoverable help overlay for page-level keyboard
88
+ * shortcuts. Listens globally for "?" and opens a v2.Modal listing every
89
+ * shortcut as <kbd> elements (WCAG 1.3.1 semantic).
90
+ *
91
+ * Self-contained: the host page only declares the shortcuts array and renders
92
+ * <KeyboardShortcutsHelp shortcuts={…} /> once.
93
+ *
94
+ * Localisation (FR / EN / AR):
95
+ * <KeyboardShortcutsHelp
96
+ * title="Keyboard shortcuts"
97
+ * labels={{
98
+ * footnoteIntro: "Tip: press",
99
+ * footnoteOutro: "anytime to toggle this help…",
100
+ * listAriaLabel: "List of keyboard shortcuts available on this page",
101
+ * keyJoiner: "or",
102
+ * }}
103
+ * shortcuts={…}
104
+ * />
105
+ *
106
+ * Charter §5.2 SHOULD + WCAG 1.3.1 (semantic <kbd>) + 2.1.1 (keyboard
107
+ * reachable) + R-M.* (modal focus trap inherited from v2.Modal).
108
+ */
109
+
110
+ function KeyboardShortcutsHelp(_ref2) {
111
+ var _ref2$shortcuts = _ref2.shortcuts,
112
+ shortcuts = _ref2$shortcuts === void 0 ? [] : _ref2$shortcuts,
113
+ _ref2$title = _ref2.title,
114
+ title = _ref2$title === void 0 ? "Raccourcis clavier" : _ref2$title,
115
+ labels = _ref2.labels,
116
+ open = _ref2.open,
117
+ onOpenChange = _ref2.onOpenChange;
118
+ var _React$useState = React.useState(false),
119
+ _React$useState2 = _slicedToArray(_React$useState, 2),
120
+ uncontrolledOpen = _React$useState2[0],
121
+ setUncontrolledOpen = _React$useState2[1];
122
+ var isControlled = open !== undefined;
123
+ var isOpen = isControlled ? open : uncontrolledOpen;
124
+ var L = mergeLabels(DEFAULT_LABELS, labels);
125
+
126
+ /* Refs so the "?" listener can stay on a `[]` dependency list — it must not
127
+ * be torn down and re-added on every open/close, and in controlled mode there
128
+ * is no functional-update form to fall back on. */
129
+ var isOpenRef = React.useRef(isOpen);
130
+ isOpenRef.current = isOpen;
131
+ var onOpenChangeRef = React.useRef(onOpenChange);
132
+ onOpenChangeRef.current = onOpenChange;
133
+ var isControlledRef = React.useRef(isControlled);
134
+ isControlledRef.current = isControlled;
135
+ var requestOpen = React.useCallback(function (next) {
136
+ var _onOpenChangeRef$curr;
137
+ if (!isControlledRef.current) setUncontrolledOpen(next);
138
+ (_onOpenChangeRef$curr = onOpenChangeRef.current) === null || _onOpenChangeRef$curr === void 0 ? void 0 : _onOpenChangeRef$curr.call(onOpenChangeRef, next);
139
+ }, []);
140
+ React.useEffect(function () {
141
+ var handler = function handler(event) {
142
+ // Only react to "?" (Shift+/ on US, AltGr+, on many AZERTY layouts).
143
+ // event.key gives us the resolved character regardless of physical key.
144
+ if (event.key !== "?") return;
145
+
146
+ // Modifier keys (Ctrl, Meta, Alt) reserved for browser / OS shortcuts.
147
+ if (event.ctrlKey || event.metaKey || event.altKey) return;
148
+
149
+ // User is typing in a text field — let "?" through.
150
+ if (isFocusOnTextEntry()) return;
151
+ event.preventDefault();
152
+ requestOpen(!isOpenRef.current);
153
+ };
154
+ window.addEventListener("keydown", handler);
155
+ return function () {
156
+ return window.removeEventListener("keydown", handler);
157
+ };
158
+ }, [requestOpen]);
159
+ if (!Array.isArray(shortcuts) || shortcuts.length === 0) {
160
+ return null;
161
+ }
162
+ return /*#__PURE__*/_jsxs(Modal, {
163
+ open: isOpen,
164
+ title: title,
165
+ onClose: function onClose() {
166
+ return requestOpen(false);
167
+ },
168
+ size: "md",
169
+ children: [/*#__PURE__*/_jsx("dl", {
170
+ style: {
171
+ margin: 0,
172
+ padding: 0
173
+ },
174
+ "aria-label": L.listAriaLabel,
175
+ children: shortcuts.map(function (sc, i) {
176
+ return /*#__PURE__*/_jsxs("div", {
177
+ style: SHORTCUT_ROW_SX,
178
+ children: [/*#__PURE__*/_jsx("dt", {
179
+ style: SHORTCUT_KEYS_SX,
180
+ children: sc.keys.map(function (k, j) {
181
+ return /*#__PURE__*/_jsxs(React.Fragment, {
182
+ children: [/*#__PURE__*/_jsx(ShortcutKey, {
183
+ children: k
184
+ }), j < sc.keys.length - 1 && /*#__PURE__*/_jsx("span", {
185
+ "aria-hidden": "true",
186
+ style: {
187
+ color: "var(--fg-subtle)",
188
+ fontSize: "var(--text-xs)"
189
+ },
190
+ children: L.keyJoiner
191
+ })]
192
+ }, j);
193
+ })
194
+ }), /*#__PURE__*/_jsx("dd", {
195
+ style: {
196
+ margin: 0,
197
+ fontSize: "var(--text-body)"
198
+ },
199
+ children: sc.description
200
+ })]
201
+ }, i);
202
+ })
203
+ }), /*#__PURE__*/_jsxs("div", {
204
+ style: HELP_FOOTNOTE_SX,
205
+ children: [L.footnoteIntro, " ", /*#__PURE__*/_jsx(ShortcutKey, {
206
+ children: "?"
207
+ }), " ", L.footnoteOutro]
208
+ })]
209
+ });
210
+ }
211
+ export default KeyboardShortcutsHelp;
212
+ //# sourceMappingURL=KeyboardShortcutsHelp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeyboardShortcutsHelp.js","names":["React","Modal","mergeLabels","jsx","_jsx","jsxs","_jsxs","isFocusOnTextEntry","el","document","activeElement","tag","tagName","HTMLElement","isContentEditable","ShortcutKey","_ref","children","style","display","minWidth","padding","background","border","borderBottomColor","borderRadius","boxShadow","fontFamily","fontSize","textAlign","lineHeight","color","SHORTCUT_ROW_SX","gridTemplateColumns","gap","alignItems","borderBottom","SHORTCUT_KEYS_SX","flexWrap","HELP_FOOTNOTE_SX","marginTop","paddingTop","borderTop","DEFAULT_LABELS","Object","freeze","footnoteIntro","footnoteOutro","listAriaLabel","keyJoiner","KeyboardShortcutsHelp","_ref2","_ref2$shortcuts","shortcuts","_ref2$title","title","labels","open","onOpenChange","_React$useState","useState","_React$useState2","_slicedToArray","uncontrolledOpen","setUncontrolledOpen","isControlled","undefined","isOpen","L","isOpenRef","useRef","current","onOpenChangeRef","isControlledRef","requestOpen","useCallback","next","_onOpenChangeRef$curr","call","useEffect","handler","event","key","ctrlKey","metaKey","altKey","preventDefault","window","addEventListener","removeEventListener","Array","isArray","length","onClose","size","margin","map","sc","i","keys","k","j","Fragment","description"],"sources":["../../../../src/lib/v2/patterns/KeyboardShortcutsHelp.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Modal from \"../components/Modal\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/* ── Body-only focus guard ────────────────────────────────────────\r\n * The \"?\" key is a printable character. If a user types \"?\" inside an\r\n * Input / Textarea / contentEditable element we must NOT hijack the\r\n * keypress to open the help — they're trying to type a question mark.\r\n *\r\n * BUTTON / A focus is NOT blocking by design: when the user has tabbed\r\n * onto an interactive non-text element, hitting \"?\" makes sense as a\r\n * help affordance (navigation mode, not text-entry mode).\r\n */\r\nfunction isFocusOnTextEntry(): boolean {\r\n const el = typeof document !== \"undefined\" ? document.activeElement : null;\r\n if (!el) return false;\r\n const tag = el.tagName;\r\n if (tag === \"INPUT\" || tag === \"TEXTAREA\" || tag === \"SELECT\") return true;\r\n if (el instanceof HTMLElement && el.isContentEditable) return true;\r\n return false;\r\n}\r\n\r\nfunction ShortcutKey({ children }: { children?: React.ReactNode }) {\r\n return (\r\n <kbd\r\n style={{\r\n display: \"inline-block\",\r\n minWidth: \"1.75em\",\r\n padding: \"0.15em 0.5em\",\r\n background: \"var(--bg-subtle)\",\r\n border: \"1px solid var(--border)\",\r\n borderBottomColor: \"var(--border-strong, var(--border))\",\r\n borderRadius: \"var(--r-sm)\",\r\n boxShadow: \"inset 0 -1px 0 var(--border)\",\r\n fontFamily: \"var(--font-mono, monospace)\",\r\n fontSize: \"var(--text-sm)\",\r\n textAlign: \"center\",\r\n lineHeight: 1.4,\r\n color: \"var(--fg)\",\r\n }}\r\n >\r\n {children}\r\n </kbd>\r\n );\r\n}\r\n\r\nconst SHORTCUT_ROW_SX: React.CSSProperties = {\r\n display: \"grid\",\r\n gridTemplateColumns: \"auto 1fr\",\r\n gap: \"var(--s-4)\",\r\n alignItems: \"center\",\r\n padding: \"var(--s-2) 0\",\r\n borderBottom: \"1px solid var(--border-subtle, var(--border))\",\r\n};\r\n\r\nconst SHORTCUT_KEYS_SX: React.CSSProperties = {\r\n display: \"flex\",\r\n gap: \"var(--s-1)\",\r\n alignItems: \"center\",\r\n flexWrap: \"wrap\",\r\n};\r\n\r\nconst HELP_FOOTNOTE_SX: React.CSSProperties = {\r\n marginTop: \"var(--s-4)\",\r\n paddingTop: \"var(--s-3)\",\r\n borderTop: \"1px solid var(--border)\",\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n lineHeight: 1.5,\r\n};\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n /* Footnote rendered below the shortcut list. Split into two parts so the\r\n * keycap can be embedded in the middle without forcing the i18n string to\r\n * carry HTML tags. */\r\n footnoteIntro: \"Astuce : appuyez sur\",\r\n footnoteOutro:\r\n \"à tout moment pour ouvrir ou fermer cette aide. Les raccourcis s'activent uniquement quand votre curseur n'est pas dans un champ de saisie.\",\r\n /* aria-label on the <dl> listing every shortcut. */\r\n listAriaLabel: \"Liste des raccourcis clavier disponibles sur cette page\",\r\n /* Joiner rendered between alternative keys for the same shortcut. */\r\n keyJoiner: \"ou\",\r\n});\r\n\r\n/**\r\n * KeyboardShortcutsHelp — Portnet UI v2\r\n *\r\n * Charter §5.2 SHOULD — discoverable help overlay for page-level keyboard\r\n * shortcuts. Listens globally for \"?\" and opens a v2.Modal listing every\r\n * shortcut as <kbd> elements (WCAG 1.3.1 semantic).\r\n *\r\n * Self-contained: the host page only declares the shortcuts array and renders\r\n * <KeyboardShortcutsHelp shortcuts={…} /> once.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <KeyboardShortcutsHelp\r\n * title=\"Keyboard shortcuts\"\r\n * labels={{\r\n * footnoteIntro: \"Tip: press\",\r\n * footnoteOutro: \"anytime to toggle this help…\",\r\n * listAriaLabel: \"List of keyboard shortcuts available on this page\",\r\n * keyJoiner: \"or\",\r\n * }}\r\n * shortcuts={…}\r\n * />\r\n *\r\n * Charter §5.2 SHOULD + WCAG 1.3.1 (semantic <kbd>) + 2.1.1 (keyboard\r\n * reachable) + R-M.* (modal focus trap inherited from v2.Modal).\r\n */\r\n\r\nexport interface KeyboardShortcut {\r\n keys: string[];\r\n description: React.ReactNode;\r\n}\r\n\r\nexport interface KeyboardShortcutsHelpLabels {\r\n footnoteIntro?: string | undefined;\r\n footnoteOutro?: string | undefined;\r\n listAriaLabel?: string | undefined;\r\n keyJoiner?: string | undefined;\r\n}\r\n\r\nexport interface KeyboardShortcutsHelpProps {\r\n shortcuts?: KeyboardShortcut[] | undefined;\r\n title?: React.ReactNode | undefined;\r\n labels?: KeyboardShortcutsHelpLabels | undefined;\r\n /**\r\n * Optional CONTROLLED open state. Omit for the original self-contained\r\n * behaviour (the \"?\" listener owns the state).\r\n *\r\n * Added because the panel had no trigger but the keystroke. Hosts wired it\r\n * correctly and users still reported the shortcuts \"missing\" — they are, in\r\n * every practical sense, if the only affordance is a key you have to already\r\n * know about. Charter §05.2 asks for DISCOVERABLE help, and a host cannot add\r\n * a menu item or button without being able to open this.\r\n */\r\n open?: boolean | undefined;\r\n /** Called with the requested next state, for both \"?\" and the close button. */\r\n onOpenChange?: ((open: boolean) => void) | undefined;\r\n}\r\n\r\nfunction KeyboardShortcutsHelp({\r\n shortcuts = [],\r\n title = \"Raccourcis clavier\",\r\n labels,\r\n open,\r\n onOpenChange,\r\n}: KeyboardShortcutsHelpProps) {\r\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);\r\n const isControlled = open !== undefined;\r\n const isOpen = isControlled ? open : uncontrolledOpen;\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n /* Refs so the \"?\" listener can stay on a `[]` dependency list — it must not\r\n * be torn down and re-added on every open/close, and in controlled mode there\r\n * is no functional-update form to fall back on. */\r\n const isOpenRef = React.useRef(isOpen);\r\n isOpenRef.current = isOpen;\r\n const onOpenChangeRef = React.useRef(onOpenChange);\r\n onOpenChangeRef.current = onOpenChange;\r\n const isControlledRef = React.useRef(isControlled);\r\n isControlledRef.current = isControlled;\r\n\r\n const requestOpen = React.useCallback((next: boolean) => {\r\n if (!isControlledRef.current) setUncontrolledOpen(next);\r\n onOpenChangeRef.current?.(next);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const handler = (event: KeyboardEvent) => {\r\n // Only react to \"?\" (Shift+/ on US, AltGr+, on many AZERTY layouts).\r\n // event.key gives us the resolved character regardless of physical key.\r\n if (event.key !== \"?\") return;\r\n\r\n // Modifier keys (Ctrl, Meta, Alt) reserved for browser / OS shortcuts.\r\n if (event.ctrlKey || event.metaKey || event.altKey) return;\r\n\r\n // User is typing in a text field — let \"?\" through.\r\n if (isFocusOnTextEntry()) return;\r\n\r\n event.preventDefault();\r\n requestOpen(!isOpenRef.current);\r\n };\r\n\r\n window.addEventListener(\"keydown\", handler);\r\n return () => window.removeEventListener(\"keydown\", handler);\r\n }, [requestOpen]);\r\n\r\n if (!Array.isArray(shortcuts) || shortcuts.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n <Modal\r\n open={isOpen}\r\n title={title}\r\n onClose={() => requestOpen(false)}\r\n size=\"md\"\r\n >\r\n <dl style={{ margin: 0, padding: 0 }} aria-label={L.listAriaLabel}>\r\n {shortcuts.map((sc, i) => (\r\n <div key={i} style={SHORTCUT_ROW_SX}>\r\n <dt style={SHORTCUT_KEYS_SX}>\r\n {sc.keys.map((k, j) => (\r\n <React.Fragment key={j}>\r\n <ShortcutKey>{k}</ShortcutKey>\r\n {j < sc.keys.length - 1 && (\r\n <span\r\n aria-hidden=\"true\"\r\n style={{\r\n color: \"var(--fg-subtle)\",\r\n fontSize: \"var(--text-xs)\",\r\n }}\r\n >\r\n {L.keyJoiner}\r\n </span>\r\n )}\r\n </React.Fragment>\r\n ))}\r\n </dt>\r\n <dd style={{ margin: 0, fontSize: \"var(--text-body)\" }}>\r\n {sc.description}\r\n </dd>\r\n </div>\r\n ))}\r\n </dl>\r\n <div style={HELP_FOOTNOTE_SX}>\r\n {L.footnoteIntro}{\" \"}\r\n <ShortcutKey>?</ShortcutKey>{\" \"}\r\n {L.footnoteOutro}\r\n </div>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default KeyboardShortcutsHelp;\r\n"],"mappings":"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","ignoreList":[]}