@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
@@ -37,31 +37,31 @@ import type { RowId, SortDescriptor } from "../types/common";
37
37
  */
38
38
  /** Localisable strings; `resultsHeading` is a function for plural rules. */
39
39
  export interface ReferentielFieldLabels {
40
- searchAria?: string;
41
- clearAria?: string;
42
- modalCancel?: React.ReactNode;
43
- modalConfirm?: React.ReactNode;
44
- searchSubmit?: React.ReactNode;
45
- resultsHeading?: (n: number) => string;
46
- initialEmptyTitle?: React.ReactNode;
47
- initialEmptyHint?: React.ReactNode;
48
- noResultsTitle?: React.ReactNode;
49
- noResultsHint?: React.ReactNode;
50
- errorTitle?: React.ReactNode;
51
- errorRetry?: React.ReactNode;
52
- loadingHint?: React.ReactNode;
53
- placeholder?: string;
40
+ searchAria?: string | undefined;
41
+ clearAria?: string | undefined;
42
+ modalCancel?: React.ReactNode | undefined;
43
+ modalConfirm?: React.ReactNode | undefined;
44
+ searchSubmit?: React.ReactNode | undefined;
45
+ resultsHeading?: ((n: number) => string) | undefined;
46
+ initialEmptyTitle?: React.ReactNode | undefined;
47
+ initialEmptyHint?: React.ReactNode | undefined;
48
+ noResultsTitle?: React.ReactNode | undefined;
49
+ noResultsHint?: React.ReactNode | undefined;
50
+ errorTitle?: React.ReactNode | undefined;
51
+ errorRetry?: React.ReactNode | undefined;
52
+ loadingHint?: React.ReactNode | undefined;
53
+ placeholder?: string | undefined;
54
54
  }
55
55
  /** One search criterion. combobox/date-only fields reuse the real
56
56
  * component prop types so they stay exactly aligned. */
57
57
  export interface ReferentielCriterion {
58
58
  name: string;
59
59
  label: React.ReactNode;
60
- placeholder?: string;
61
- hint?: React.ReactNode;
62
- kind?: "input" | "combobox" | "date";
63
- options?: React.ComponentProps<typeof Combobox>["options"];
64
- loading?: boolean;
60
+ placeholder?: string | undefined;
61
+ hint?: React.ReactNode | undefined;
62
+ kind?: "input" | "combobox" | "date" | undefined;
63
+ options?: React.ComponentProps<typeof Combobox>["options"] | undefined;
64
+ loading?: boolean | undefined;
65
65
  /**
66
66
  * Accepted for backward API compatibility with older criterion configs.
67
67
  * Combobox has no equivalent hook (it resolves value/label straight off
@@ -69,9 +69,9 @@ export interface ReferentielCriterion {
69
69
  * the "combobox" kind's render below — kept typed rather than removed so
70
70
  * any existing caller that sets it doesn't get a compile error.
71
71
  */
72
- getOptionValue?: (option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue;
73
- getOptionLabel?: React.ComponentProps<typeof Combobox>["getOptionLabel"];
74
- disableFuture?: boolean;
72
+ getOptionValue?: ((option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue) | undefined;
73
+ getOptionLabel?: React.ComponentProps<typeof Combobox>["getOptionLabel"] | undefined;
74
+ disableFuture?: boolean | undefined;
75
75
  }
76
76
  export interface ReferentielSearchParams {
77
77
  criteria: Record<string, unknown>;
@@ -81,37 +81,37 @@ export interface ReferentielSearchParams {
81
81
  }
82
82
  export interface ReferentielSearchResult<T> {
83
83
  items: T[];
84
- total?: number;
84
+ total?: number | undefined;
85
85
  }
86
86
  export interface ReferentielFieldProps<T> {
87
- value?: T | null;
88
- onChange?: (value: T | null) => void;
89
- getDisplayValue?: (value: T) => string;
90
- placeholder?: string;
91
- disabled?: boolean;
92
- readOnly?: boolean;
93
- clearable?: boolean;
94
- title?: React.ReactNode;
95
- subtitle?: React.ReactNode;
96
- size?: "sm" | "md" | "lg" | "xl";
97
- modalProps?: Partial<React.ComponentProps<typeof Modal>>;
87
+ value?: T | null | undefined;
88
+ onChange?: ((value: T | null) => void) | undefined;
89
+ getDisplayValue?: ((value: T) => string) | undefined;
90
+ placeholder?: string | undefined;
91
+ disabled?: boolean | undefined;
92
+ readOnly?: boolean | undefined;
93
+ clearable?: boolean | undefined;
94
+ title?: React.ReactNode | undefined;
95
+ subtitle?: React.ReactNode | undefined;
96
+ size?: "sm" | "md" | "lg" | "xl" | undefined;
97
+ modalProps?: Partial<React.ComponentProps<typeof Modal>> | undefined;
98
98
  search: (params: ReferentielSearchParams) => ReferentielSearchResult<T> | Promise<ReferentielSearchResult<T>>;
99
- criteria?: ReferentielCriterion[];
100
- initialCriteria?: Record<string, unknown>;
99
+ criteria?: ReferentielCriterion[] | undefined;
100
+ initialCriteria?: Record<string, unknown> | undefined;
101
101
  columns: DataGridColumn<T>[];
102
- pageSize?: number;
103
- pageSizes?: number[];
104
- getRowId?: (row: T) => RowId;
105
- confirmOnSelection?: boolean;
106
- sort?: SortDescriptor[];
107
- onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>>;
108
- labels?: ReferentielFieldLabels;
109
- locale?: string;
110
- id?: string;
111
- name?: string;
112
- "aria-invalid"?: React.AriaAttributes["aria-invalid"];
113
- "aria-required"?: React.AriaAttributes["aria-required"];
114
- "aria-describedby"?: string;
102
+ pageSize?: number | undefined;
103
+ pageSizes?: number[] | undefined;
104
+ getRowId?: ((row: T) => RowId) | undefined;
105
+ confirmOnSelection?: boolean | undefined;
106
+ sort?: SortDescriptor[] | undefined;
107
+ onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;
108
+ labels?: ReferentielFieldLabels | undefined;
109
+ locale?: string | undefined;
110
+ id?: string | undefined;
111
+ name?: string | undefined;
112
+ "aria-invalid"?: React.AriaAttributes["aria-invalid"] | undefined;
113
+ "aria-required"?: React.AriaAttributes["aria-required"] | undefined;
114
+ "aria-describedby"?: string | undefined;
115
115
  }
116
116
  declare function ReferentielField<T>({ value, onChange, getDisplayValue, placeholder, disabled, readOnly, clearable, title, subtitle, size, modalProps, search, criteria, initialCriteria, columns, pageSize: pageSizeProp, pageSizes, getRowId, confirmOnSelection, sort, onSortChange, labels, locale, id, name, "aria-invalid": ariaInvalid, "aria-required": ariaRequired, "aria-describedby": ariaDescribedBy, }: ReferentielFieldProps<T>): React.JSX.Element;
117
117
  export default ReferentielField;
@@ -1 +1 @@
1
- {"version":3,"file":"ReferentielField.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ReferentielField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferentielField.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ReferentielField.tsx"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ var _Banner = _interopRequireDefault(require("../components/Banner"));
18
18
  var _Modal = _interopRequireDefault(require("../components/Modal"));
19
19
  var _DataGrid = _interopRequireDefault(require("./DataGrid"));
20
20
  var _EmptyState = _interopRequireDefault(require("../components/EmptyState"));
21
+ var _mergeLabels = require("../utils/mergeLabels");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
24
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -183,7 +184,7 @@ function ReferentielField(_ref) {
183
184
  ariaRequired = _ref["aria-required"],
184
185
  ariaDescribedBy = _ref["aria-describedby"];
185
186
  var L = React.useMemo(function () {
186
- return labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
187
+ return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
187
188
  }, [labels]);
188
189
 
189
190
  /* ── Modal lifecycle ──────────────────────────────────────── */
@@ -1 +1 @@
1
- {"version":3,"file":"ReferentielField.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Search","_Close","_Field","_Input","_Combobox","_DatePicker","_Button","_Banner","_Modal","_DataGrid","_EmptyState","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","DEFAULT_LABELS","freeze","searchAria","clearAria","modalCancel","modalConfirm","searchSubmit","resultsHeading","concat","initialEmptyTitle","initialEmptyHint","noResultsTitle","noResultsHint","errorTitle","errorRetry","loadingHint","placeholder","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZES","defaultGetRowId","row","id","renderCriterionField","c","onChange","_c$options","kind","jsx","_target$value","_target","extracted","options","loading","Boolean","getOptionLabel","disableFuture","e","ReferentielField","_ref","getDisplayValue","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$clearable","clearable","_ref$title","title","subtitle","_ref$size","size","modalProps","search","_ref$criteria","criteria","initialCriteria","_ref$columns","columns","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$getRowId","getRowId","_ref$confirmOnSelecti","confirmOnSelection","sort","onSortChange","labels","locale","ariaInvalid","ariaRequired","ariaDescribedBy","L","useMemo","_React$useState","useState","_React$useState2","open","setOpen","triggerRef","useRef","openModal","useCallback","closeModal","setTimeout","el","current","focus","preventScroll","seedCriteria","seed","_React$useState3","_React$useState4","draft","setDraft","useEffect","_React$useState5","_React$useState6","page","setPage","_React$useState7","_React$useState8","setPageSize","_React$useState9","_React$useState0","items","setItems","_React$useState1","_React$useState10","total","setTotal","_React$useState11","_React$useState12","setLoading","_React$useState13","_React$useState14","setError","_React$useState15","_React$useState16","hasSearched","setHasSearched","_React$useState17","_React$useState18","pendingSelection","setPendingSelection","requestSeq","runSearch","_callee","_overrides$criteria","_overrides$page","_overrides$pageSize","overrides","myReq","effective","nextTotal","_args","_callee$","_context","isFinite","t0","onSubmitCriteria","preventDefault","onPageChange","nextPage","onPageSizeChange","nextPageSize","handleRowClick","handleConfirmSelection","handleClear","stopPropagation","display","_getDisplayValue","_unused","v","description","label","code","pagination","initialEmpty","variant","filteredEmpty","errorState","action","onClick","children","message","showClear","triggerAria","trigger","ref","onKeyDown","inputProps","sx","cursor","endIcon","jsxs","alignItems","gap","edge","color","fontSize","criteriaRow","component","onSubmit","gridTemplateColumns","xs","sm","md","Math","min","marginBottom","map","d","justifyContent","liveResults","className","decoratedRows","pendingId","r","__pending","footer","Fragment","onClose","rows","onRowClick","emptyState","filteredEmptyState","filtered","rowFlashId","_default"],"sources":["../../../src/lib/v2/patterns/ReferentielField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport ClearIcon from \"@mui/icons-material/Close\";\r\n\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type { ComboboxOption, ComboboxOptionValue, ComboboxValue } from \"../components/Combobox\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport Button from \"../components/Button\";\r\nimport Banner from \"../components/Banner\";\r\nimport Modal from \"../components/Modal\";\r\nimport DataGrid from \"./DataGrid\";\r\nimport EmptyState from \"../components/EmptyState\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * ReferentielField — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"Referentiel · Search-and-select\".\r\n *\r\n * Use this when:\r\n * - The selectable population is too large for <Combobox> to load.\r\n * - The host needs MULTI-CRITERIA search.\r\n * - The result rows benefit from a structured view.\r\n *\r\n * Criteria shape (B17 extension)\r\n * ------------------------------\r\n * Each criterion descriptor accepts:\r\n *\r\n * { name, label, placeholder, hint, kind, options, loading,\r\n * getOptionValue, getOptionLabel, disableFuture }\r\n *\r\n * - kind — discriminator: \"input\" (default) | \"combobox\" | \"date\"\r\n *\r\n * The B17 extension is purely additive: existing call sites with\r\n * `criteria=[{name, label}]` keep rendering plain Inputs because\r\n * `kind` defaults to \"input\".\r\n *\r\n * A11y trigger (audit Batch 5, finding B4-3):\r\n * The trigger Input acts as a combobox-like disclosure for a dialog\r\n * (the search Modal). aria-haspopup=\"dialog\" + aria-expanded MUST sit\r\n * on the FOCUSABLE element (the <input/>), so every aria-* on the\r\n * trigger is routed through `inputProps` → slotProps.input. This\r\n * includes the Field-injected aria-invalid / aria-required /\r\n * aria-describedby so the whole aria contract lives on one element.\r\n */\r\n\r\n/** Localisable strings; `resultsHeading` is a function for plural rules. */\r\nexport interface ReferentielFieldLabels {\r\n searchAria?: string;\r\n clearAria?: string;\r\n modalCancel?: React.ReactNode;\r\n modalConfirm?: React.ReactNode;\r\n searchSubmit?: React.ReactNode;\r\n resultsHeading?: (n: number) => string;\r\n initialEmptyTitle?: React.ReactNode;\r\n initialEmptyHint?: React.ReactNode;\r\n noResultsTitle?: React.ReactNode;\r\n noResultsHint?: React.ReactNode;\r\n errorTitle?: React.ReactNode;\r\n errorRetry?: React.ReactNode;\r\n loadingHint?: React.ReactNode;\r\n placeholder?: string;\r\n}\r\n\r\n/** One search criterion. combobox/date-only fields reuse the real\r\n * component prop types so they stay exactly aligned. */\r\nexport interface ReferentielCriterion {\r\n name: string;\r\n label: React.ReactNode;\r\n placeholder?: string;\r\n hint?: React.ReactNode;\r\n kind?: \"input\" | \"combobox\" | \"date\";\r\n options?: React.ComponentProps<typeof Combobox>[\"options\"];\r\n loading?: boolean;\r\n /**\r\n * Accepted for backward API compatibility with older criterion configs.\r\n * Combobox has no equivalent hook (it resolves value/label straight off\r\n * each option's own .value/.label), so this is currently NOT wired into\r\n * the \"combobox\" kind's render below — kept typed rather than removed so\r\n * any existing caller that sets it doesn't get a compile error.\r\n */\r\n getOptionValue?: (option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue;\r\n getOptionLabel?: React.ComponentProps<typeof Combobox>[\"getOptionLabel\"];\r\n disableFuture?: boolean;\r\n}\r\n\r\nexport interface ReferentielSearchParams {\r\n criteria: Record<string, unknown>;\r\n page: number;\r\n pageSize: number;\r\n sort: SortDescriptor[] | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchResult<T> {\r\n items: T[];\r\n total?: number;\r\n}\r\n\r\nexport interface ReferentielFieldProps<T> {\r\n // Value contract\r\n value?: T | null;\r\n onChange?: (value: T | null) => void;\r\n getDisplayValue?: (value: T) => string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readOnly?: boolean;\r\n clearable?: boolean;\r\n // Modal\r\n title?: React.ReactNode;\r\n subtitle?: React.ReactNode;\r\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\";\r\n modalProps?: Partial<React.ComponentProps<typeof Modal>>;\r\n // Search contract\r\n search: (\r\n params: ReferentielSearchParams\r\n ) => ReferentielSearchResult<T> | Promise<ReferentielSearchResult<T>>;\r\n criteria?: ReferentielCriterion[];\r\n initialCriteria?: Record<string, unknown>;\r\n columns: DataGridColumn<T>[];\r\n pageSize?: number;\r\n pageSizes?: number[];\r\n getRowId?: (row: T) => RowId;\r\n // Selection UX\r\n confirmOnSelection?: boolean;\r\n // Sort (delegated to DataGrid)\r\n sort?: SortDescriptor[];\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>>;\r\n // Localisation\r\n labels?: ReferentielFieldLabels;\r\n locale?: string;\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id?: string;\r\n name?: string;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"];\r\n \"aria-required\"?: React.AriaAttributes[\"aria-required\"];\r\n \"aria-describedby\"?: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n searchAria: \"Rechercher\",\r\n clearAria: \"Effacer la sélection\",\r\n modalCancel: \"Annuler\",\r\n modalConfirm: \"Sélectionner\",\r\n searchSubmit: \"Rechercher\",\r\n resultsHeading: (n: number) => `${n} résultat${n > 1 ? \"s\" : \"\"}`,\r\n initialEmptyTitle: \"Aucune recherche\",\r\n initialEmptyHint: \"Saisissez un critère puis lancez la recherche.\",\r\n noResultsTitle: \"Aucun résultat\",\r\n noResultsHint: \"Modifiez vos critères et relancez la recherche.\",\r\n errorTitle: \"Recherche impossible\",\r\n errorRetry: \"Réessayer\",\r\n loadingHint: \"Recherche en cours…\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst DEFAULT_PAGE_SIZE = 25;\r\nconst DEFAULT_PAGE_SIZES = [25, 50, 100];\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\n/* B17 — render a single criterion based on its `kind` discriminator.\r\n * Falls back to Input for unknown kinds. The draft value is `unknown`\r\n * (criteria are heterogeneous); one assertion at each value seam. */\r\nfunction renderCriterionField(\r\n c: ReferentielCriterion,\r\n value: unknown,\r\n onChange: (next: unknown) => void\r\n): React.ReactElement {\r\n const kind = c.kind || \"input\";\r\n\r\n switch (kind) {\r\n case \"combobox\":\r\n return (\r\n <Combobox\r\n value={(value ?? \"\") as ComboboxValue}\r\n onChange={(next) => {\r\n // Combobox may emit either a raw value or an event-like object;\r\n // extract defensively in a way that is sound for any shape.\r\n const extracted =\r\n next && typeof next === \"object\" && \"target\" in next\r\n ? ((next as { target?: { value?: unknown } }).target?.value ??\r\n next)\r\n : next;\r\n onChange(extracted);\r\n }}\r\n options={c.options ?? []}\r\n loading={Boolean(c.loading)}\r\n {...(c.getOptionLabel !== undefined ? { getOptionLabel: c.getOptionLabel } : {})}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"date\":\r\n return (\r\n <DatePicker\r\n name={c.name}\r\n value={(value ?? null) as Date | null}\r\n onChange={(next) => onChange(next)}\r\n disableFuture={Boolean(c.disableFuture)}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"input\":\r\n default:\r\n return (\r\n <Input\r\n name={c.name}\r\n value={(value ?? \"\") as string}\r\n onChange={(e) => onChange(e.target.value)}\r\n placeholder={c.placeholder}\r\n />\r\n );\r\n }\r\n}\r\n\r\nfunction ReferentielField<T>({\r\n value,\r\n onChange,\r\n // Display / trigger\r\n getDisplayValue,\r\n placeholder,\r\n disabled = false,\r\n readOnly = false,\r\n clearable = true,\r\n // Modal content\r\n title = \"Rechercher\",\r\n subtitle,\r\n size = \"lg\",\r\n modalProps,\r\n // Search contract\r\n search,\r\n criteria = [],\r\n initialCriteria,\r\n columns = [],\r\n pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,\r\n pageSizes = DEFAULT_PAGE_SIZES,\r\n getRowId = defaultGetRowId,\r\n // Selection UX\r\n confirmOnSelection = false,\r\n // Sort (delegated to DataGrid)\r\n sort,\r\n onSortChange,\r\n // Localisation\r\n labels,\r\n locale,\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id,\r\n name,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-describedby\": ariaDescribedBy,\r\n}: ReferentielFieldProps<T>) {\r\n const L = React.useMemo(\r\n () => (labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS),\r\n [labels]\r\n );\r\n\r\n /* ── Modal lifecycle ──────────────────────────────────────── */\r\n const [open, setOpen] = React.useState(false);\r\n const triggerRef = React.useRef<React.ElementRef<typeof Input>>(null);\r\n\r\n const openModal = React.useCallback(() => {\r\n if (disabled || readOnly) return;\r\n setOpen(true);\r\n }, [disabled, readOnly]);\r\n\r\n const closeModal = React.useCallback(() => {\r\n setOpen(false);\r\n setTimeout(() => {\r\n // triggerRef's element type resolves to `{}` via React.ElementRef<typeof\r\n // Input> (a TS inference gap, not a real absence of .focus at runtime —\r\n // Input forwards its ref to a real focusable element). Cast narrowly at\r\n // the point of use rather than widening the ref's declared type, so the\r\n // `ref={triggerRef}` binding on <Input> below is unaffected.\r\n const el = triggerRef.current as { focus?: (options?: FocusOptions) => void } | null;\r\n if (el && typeof el.focus === \"function\") {\r\n el.focus({ preventScroll: true });\r\n }\r\n }, 0);\r\n }, []);\r\n\r\n /* ── Criteria draft + search state ───────────────────────── */\r\n const seedCriteria = React.useMemo(() => {\r\n const seed: Record<string, unknown> = {};\r\n (criteria || []).forEach((c) => {\r\n seed[c.name] = (initialCriteria && initialCriteria[c.name]) || \"\";\r\n });\r\n return seed;\r\n }, [criteria, initialCriteria]);\r\n\r\n const [draft, setDraft] = React.useState<Record<string, unknown>>(seedCriteria);\r\n\r\n React.useEffect(() => {\r\n if (open) setDraft(seedCriteria);\r\n }, [open, seedCriteria]);\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n\r\n const [items, setItems] = React.useState<T[]>([]);\r\n const [total, setTotal] = React.useState(0);\r\n const [loading, setLoading] = React.useState(false);\r\n const [error, setError] = React.useState<Error | null>(null);\r\n const [hasSearched, setHasSearched] = React.useState(false);\r\n const [pendingSelection, setPendingSelection] = React.useState<T | null>(null);\r\n\r\n /* ── Search executor ─────────────────────────────────────── */\r\n const requestSeq = React.useRef(0);\r\n\r\n const runSearch = React.useCallback(\r\n async (\r\n overrides: {\r\n criteria?: Record<string, unknown>;\r\n page?: number;\r\n pageSize?: number;\r\n } = {}\r\n ) => {\r\n if (typeof search !== \"function\") return;\r\n const myReq = ++requestSeq.current;\r\n const effective: ReferentielSearchParams = {\r\n criteria: overrides.criteria ?? draft,\r\n page: overrides.page ?? 1,\r\n pageSize: overrides.pageSize ?? pageSize,\r\n sort,\r\n };\r\n setLoading(true);\r\n setError(null);\r\n setHasSearched(true);\r\n try {\r\n const result = await search(effective);\r\n if (myReq !== requestSeq.current) return;\r\n setItems(Array.isArray(result.items) ? result.items : []);\r\n const nextTotal =\r\n typeof result.total === \"number\" && Number.isFinite(result.total)\r\n ? result.total\r\n : result.items.length;\r\n setTotal(nextTotal);\r\n setPage(effective.page);\r\n setPageSize(effective.pageSize);\r\n } catch (e) {\r\n if (myReq !== requestSeq.current) return;\r\n setError(e instanceof Error ? e : new Error(\"search failed\"));\r\n setItems([]);\r\n setTotal(0);\r\n } finally {\r\n if (myReq === requestSeq.current) setLoading(false);\r\n }\r\n },\r\n [search, draft, pageSize, sort]\r\n );\r\n\r\n /* ── Form submission inside the modal ────────────────────── */\r\n const onSubmitCriteria = (e: React.FormEvent<HTMLFormElement>) => {\r\n e.preventDefault();\r\n setPendingSelection(null);\r\n runSearch({ criteria: draft, page: 1 });\r\n };\r\n\r\n const onPageChange = (nextPage: number) => {\r\n runSearch({ page: nextPage });\r\n };\r\n const onPageSizeChange = (nextPageSize: number) => {\r\n runSearch({ page: 1, pageSize: nextPageSize });\r\n };\r\n\r\n /* ── Selection ───────────────────────────────────────────── */\r\n const handleRowClick = (row: T) => {\r\n if (confirmOnSelection) {\r\n setPendingSelection(row);\r\n return;\r\n }\r\n onChange?.(row);\r\n closeModal();\r\n };\r\n\r\n const handleConfirmSelection = () => {\r\n if (!pendingSelection) return;\r\n onChange?.(pendingSelection);\r\n setPendingSelection(null);\r\n closeModal();\r\n };\r\n\r\n const handleClear = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.stopPropagation();\r\n if (disabled || readOnly) return;\r\n onChange?.(null);\r\n };\r\n\r\n /* ── Trigger display ─────────────────────────────────────── */\r\n const display = React.useMemo<string>(() => {\r\n if (value == null || value === \"\") return \"\";\r\n if (typeof getDisplayValue === \"function\") {\r\n try {\r\n return getDisplayValue(value) ?? \"\";\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n if (typeof value === \"string\") return value;\r\n if (value && typeof value === \"object\") {\r\n const v = value as {\r\n description?: string;\r\n label?: string;\r\n name?: string;\r\n code?: string;\r\n };\r\n return v.description || v.label || v.name || v.code || \"\";\r\n }\r\n return String(value);\r\n }, [value, getDisplayValue]);\r\n\r\n /* ── DataGrid pagination contract ────────────────────────── */\r\n const pagination = React.useMemo(\r\n () => ({\r\n page,\r\n pageSize,\r\n total,\r\n pageSizes,\r\n onPageChange,\r\n onPageSizeChange,\r\n }),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [page, pageSize, total, pageSizes]\r\n );\r\n\r\n /* ── Empty / error states for DataGrid ───────────────────── */\r\n const initialEmpty = (\r\n <EmptyState\r\n variant=\"initial\"\r\n title={L.initialEmptyTitle}\r\n description={L.initialEmptyHint}\r\n />\r\n );\r\n const filteredEmpty = (\r\n <EmptyState\r\n variant=\"filtered\"\r\n title={L.noResultsTitle}\r\n description={L.noResultsHint}\r\n />\r\n );\r\n const errorState = (\r\n <Banner\r\n variant=\"error\"\r\n title={L.errorTitle}\r\n action={{ label: L.errorRetry, onClick: () => runSearch({ page: 1 }) }}\r\n >\r\n {error?.message || String(error || \"\")}\r\n </Banner>\r\n );\r\n\r\n /* ── Render the trigger ──────────────────────────────────── */\r\n const showClear = clearable && !disabled && !readOnly && Boolean(display);\r\n\r\n // B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input\r\n // routes them into slotProps.input → the native <input/>. Typed as\r\n // AriaAttributes so \"aria-haspopup\":\"dialog\" stays a valid literal.\r\n const triggerAria = React.useMemo<React.AriaAttributes>(\r\n () => ({\r\n \"aria-haspopup\": \"dialog\",\r\n \"aria-expanded\": open,\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaDescribedBy ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n }),\r\n [open, ariaInvalid, ariaRequired, ariaDescribedBy]\r\n );\r\n\r\n const trigger = (\r\n <Input\r\n ref={triggerRef}\r\n id={id}\r\n name={name}\r\n value={display}\r\n placeholder={placeholder ?? L.placeholder}\r\n readOnly\r\n disabled={disabled}\r\n onClick={openModal}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n openModal();\r\n }\r\n }}\r\n inputProps={triggerAria}\r\n sx={{\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n \"& input\": { cursor: disabled ? \"not-allowed\" : \"pointer\" },\r\n }}\r\n endIcon={\r\n <Box\r\n sx={{ display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}\r\n >\r\n {showClear && (\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={handleClear}\r\n aria-label={L.clearAria}\r\n edge=\"end\"\r\n sx={{ color: \"var(--fg-subtle)\" }}\r\n >\r\n <ClearIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n openModal();\r\n }}\r\n aria-label={L.searchAria}\r\n edge=\"end\"\r\n disabled={disabled}\r\n sx={{ color: \"var(--accent)\" }}\r\n >\r\n <SearchIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n }\r\n />\r\n );\r\n\r\n /* ── Modal body ──────────────────────────────────────────── */\r\n const criteriaRow = criteria.length > 0 && (\r\n <Box\r\n component=\"form\"\r\n onSubmit={onSubmitCriteria}\r\n sx={{\r\n display: \"grid\",\r\n gap: \"var(--s-3)\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: criteria.length > 1 ? \"1fr 1fr\" : \"1fr\",\r\n md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`,\r\n },\r\n alignItems: \"end\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n {criteria.map((c) => (\r\n <Field key={c.name} label={c.label} hint={c.hint}>\r\n {renderCriterionField(c, draft[c.name], (next) =>\r\n setDraft((d) => ({ ...d, [c.name]: next }))\r\n )}\r\n </Field>\r\n ))}\r\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\r\n <Button variant=\"primary\" type=\"submit\" loading={loading}>\r\n {L.searchSubmit}\r\n </Button>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n const liveResults = (\r\n <Box aria-live=\"polite\" aria-atomic=\"true\" className=\"pui-sr-only\">\r\n {hasSearched && !loading && !error ? L.resultsHeading(total) : \"\"}\r\n </Box>\r\n );\r\n\r\n const decoratedRows = React.useMemo<T[]>(() => {\r\n if (!confirmOnSelection || !pendingSelection) return items;\r\n const pendingId = getRowId(pendingSelection);\r\n return items.map((r) =>\r\n getRowId(r) === pendingId ? { ...r, __pending: true } : r\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [items, pendingSelection, confirmOnSelection]);\r\n\r\n /* ── Modal footer ────────────────────────────────────────── */\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" onClick={closeModal}>\r\n {L.modalCancel}\r\n </Button>\r\n {confirmOnSelection && (\r\n <Button\r\n variant=\"primary\"\r\n disabled={!pendingSelection}\r\n onClick={handleConfirmSelection}\r\n >\r\n {L.modalConfirm}\r\n </Button>\r\n )}\r\n </>\r\n );\r\n\r\n return (\r\n <>\r\n {trigger}\r\n <Modal\r\n open={open}\r\n onClose={closeModal}\r\n title={title}\r\n subtitle={subtitle}\r\n size={size}\r\n footer={footer}\r\n {...modalProps}\r\n >\r\n {criteriaRow}\r\n {liveResults}\r\n <DataGrid\r\n rows={decoratedRows}\r\n columns={columns}\r\n loading={loading}\r\n error={error}\r\n onRowClick={handleRowClick}\r\n pagination={pagination}\r\n getRowId={getRowId}\r\n emptyState={initialEmpty}\r\n filteredEmptyState={filteredEmpty}\r\n errorState={errorState}\r\n filtered={hasSearched}\r\n {...(sort !== undefined ? { sort } : {})}\r\n {...(onSortChange !== undefined ? { onSortChange } : {})}\r\n {...(locale !== undefined ? { locale } : {})}\r\n {...(confirmOnSelection && pendingSelection\r\n ? { rowFlashId: getRowId(pendingSelection) }\r\n : {})}\r\n />\r\n </Modal>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReferentielField;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ReferentielField.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Search","_Close","_Field","_Input","_Combobox","_DatePicker","_Button","_Banner","_Modal","_DataGrid","_EmptyState","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","DEFAULT_LABELS","freeze","searchAria","clearAria","modalCancel","modalConfirm","searchSubmit","resultsHeading","concat","initialEmptyTitle","initialEmptyHint","noResultsTitle","noResultsHint","errorTitle","errorRetry","loadingHint","placeholder","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZES","defaultGetRowId","row","id","renderCriterionField","c","onChange","_c$options","kind","jsx","_target$value","_target","extracted","options","loading","Boolean","getOptionLabel","disableFuture","e","ReferentielField","_ref","getDisplayValue","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$clearable","clearable","_ref$title","title","subtitle","_ref$size","size","modalProps","search","_ref$criteria","criteria","initialCriteria","_ref$columns","columns","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$getRowId","getRowId","_ref$confirmOnSelecti","confirmOnSelection","sort","onSortChange","labels","locale","ariaInvalid","ariaRequired","ariaDescribedBy","L","useMemo","mergeLabels","_React$useState","useState","_React$useState2","open","setOpen","triggerRef","useRef","openModal","useCallback","closeModal","setTimeout","el","current","focus","preventScroll","seedCriteria","seed","_React$useState3","_React$useState4","draft","setDraft","useEffect","_React$useState5","_React$useState6","page","setPage","_React$useState7","_React$useState8","setPageSize","_React$useState9","_React$useState0","items","setItems","_React$useState1","_React$useState10","total","setTotal","_React$useState11","_React$useState12","setLoading","_React$useState13","_React$useState14","setError","_React$useState15","_React$useState16","hasSearched","setHasSearched","_React$useState17","_React$useState18","pendingSelection","setPendingSelection","requestSeq","runSearch","_callee","_overrides$criteria","_overrides$page","_overrides$pageSize","overrides","myReq","effective","nextTotal","_args","_callee$","_context","isFinite","t0","onSubmitCriteria","preventDefault","onPageChange","nextPage","onPageSizeChange","nextPageSize","handleRowClick","handleConfirmSelection","handleClear","stopPropagation","display","_getDisplayValue","_unused","v","description","label","code","pagination","initialEmpty","variant","filteredEmpty","errorState","action","onClick","children","message","showClear","triggerAria","trigger","ref","onKeyDown","inputProps","sx","cursor","endIcon","jsxs","alignItems","gap","edge","color","fontSize","criteriaRow","component","onSubmit","gridTemplateColumns","xs","sm","md","Math","min","marginBottom","map","d","justifyContent","liveResults","className","decoratedRows","pendingId","r","__pending","footer","Fragment","onClose","rows","onRowClick","emptyState","filteredEmptyState","filtered","rowFlashId","_default"],"sources":["../../../src/lib/v2/patterns/ReferentielField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport ClearIcon from \"@mui/icons-material/Close\";\r\n\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type { ComboboxOption, ComboboxOptionValue, ComboboxValue } from \"../components/Combobox\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport Button from \"../components/Button\";\r\nimport Banner from \"../components/Banner\";\r\nimport Modal from \"../components/Modal\";\r\nimport DataGrid from \"./DataGrid\";\r\nimport EmptyState from \"../components/EmptyState\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId, SortDescriptor } from \"../types/common\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * ReferentielField — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"Referentiel · Search-and-select\".\r\n *\r\n * Use this when:\r\n * - The selectable population is too large for <Combobox> to load.\r\n * - The host needs MULTI-CRITERIA search.\r\n * - The result rows benefit from a structured view.\r\n *\r\n * Criteria shape (B17 extension)\r\n * ------------------------------\r\n * Each criterion descriptor accepts:\r\n *\r\n * { name, label, placeholder, hint, kind, options, loading,\r\n * getOptionValue, getOptionLabel, disableFuture }\r\n *\r\n * - kind — discriminator: \"input\" (default) | \"combobox\" | \"date\"\r\n *\r\n * The B17 extension is purely additive: existing call sites with\r\n * `criteria=[{name, label}]` keep rendering plain Inputs because\r\n * `kind` defaults to \"input\".\r\n *\r\n * A11y trigger (audit Batch 5, finding B4-3):\r\n * The trigger Input acts as a combobox-like disclosure for a dialog\r\n * (the search Modal). aria-haspopup=\"dialog\" + aria-expanded MUST sit\r\n * on the FOCUSABLE element (the <input/>), so every aria-* on the\r\n * trigger is routed through `inputProps` → slotProps.input. This\r\n * includes the Field-injected aria-invalid / aria-required /\r\n * aria-describedby so the whole aria contract lives on one element.\r\n */\r\n\r\n/** Localisable strings; `resultsHeading` is a function for plural rules. */\r\nexport interface ReferentielFieldLabels {\r\n searchAria?: string | undefined;\r\n clearAria?: string | undefined;\r\n modalCancel?: React.ReactNode | undefined;\r\n modalConfirm?: React.ReactNode | undefined;\r\n searchSubmit?: React.ReactNode | undefined;\r\n resultsHeading?: ((n: number) => string) | undefined;\r\n initialEmptyTitle?: React.ReactNode | undefined;\r\n initialEmptyHint?: React.ReactNode | undefined;\r\n noResultsTitle?: React.ReactNode | undefined;\r\n noResultsHint?: React.ReactNode | undefined;\r\n errorTitle?: React.ReactNode | undefined;\r\n errorRetry?: React.ReactNode | undefined;\r\n loadingHint?: React.ReactNode | undefined;\r\n placeholder?: string | undefined;\r\n}\r\n\r\n/** One search criterion. combobox/date-only fields reuse the real\r\n * component prop types so they stay exactly aligned. */\r\nexport interface ReferentielCriterion {\r\n name: string;\r\n label: React.ReactNode;\r\n placeholder?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n kind?: \"input\" | \"combobox\" | \"date\" | undefined;\r\n options?: React.ComponentProps<typeof Combobox>[\"options\"] | undefined;\r\n loading?: boolean | undefined;\r\n /**\r\n * Accepted for backward API compatibility with older criterion configs.\r\n * Combobox has no equivalent hook (it resolves value/label straight off\r\n * each option's own .value/.label), so this is currently NOT wired into\r\n * the \"combobox\" kind's render below — kept typed rather than removed so\r\n * any existing caller that sets it doesn't get a compile error.\r\n */\r\n getOptionValue?: ((option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue) | undefined;\r\n getOptionLabel?: React.ComponentProps<typeof Combobox>[\"getOptionLabel\"] | undefined;\r\n disableFuture?: boolean | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchParams {\r\n criteria: Record<string, unknown>;\r\n page: number;\r\n pageSize: number;\r\n sort: SortDescriptor[] | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchResult<T> {\r\n items: T[];\r\n total?: number | undefined;\r\n}\r\n\r\nexport interface ReferentielFieldProps<T> {\r\n // Value contract\r\n value?: T | null | undefined;\r\n onChange?: ((value: T | null) => void) | undefined;\r\n getDisplayValue?: ((value: T) => string) | undefined;\r\n placeholder?: string | undefined;\r\n disabled?: boolean | undefined;\r\n readOnly?: boolean | undefined;\r\n clearable?: boolean | undefined;\r\n // Modal\r\n title?: React.ReactNode | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | undefined;\r\n modalProps?: Partial<React.ComponentProps<typeof Modal>> | undefined;\r\n // Search contract\r\n search: (\r\n params: ReferentielSearchParams\r\n ) => ReferentielSearchResult<T> | Promise<ReferentielSearchResult<T>>;\r\n criteria?: ReferentielCriterion[] | undefined;\r\n initialCriteria?: Record<string, unknown> | undefined;\r\n columns: DataGridColumn<T>[];\r\n pageSize?: number | undefined;\r\n pageSizes?: number[] | undefined;\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n // Selection UX\r\n confirmOnSelection?: boolean | undefined;\r\n // Sort (delegated to DataGrid)\r\n sort?: SortDescriptor[] | undefined;\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;\r\n // Localisation\r\n labels?: ReferentielFieldLabels | undefined;\r\n locale?: string | undefined;\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"] | undefined;\r\n \"aria-required\"?: React.AriaAttributes[\"aria-required\"] | undefined;\r\n \"aria-describedby\"?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n searchAria: \"Rechercher\",\r\n clearAria: \"Effacer la sélection\",\r\n modalCancel: \"Annuler\",\r\n modalConfirm: \"Sélectionner\",\r\n searchSubmit: \"Rechercher\",\r\n resultsHeading: (n: number) => `${n} résultat${n > 1 ? \"s\" : \"\"}`,\r\n initialEmptyTitle: \"Aucune recherche\",\r\n initialEmptyHint: \"Saisissez un critère puis lancez la recherche.\",\r\n noResultsTitle: \"Aucun résultat\",\r\n noResultsHint: \"Modifiez vos critères et relancez la recherche.\",\r\n errorTitle: \"Recherche impossible\",\r\n errorRetry: \"Réessayer\",\r\n loadingHint: \"Recherche en cours…\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst DEFAULT_PAGE_SIZE = 25;\r\nconst DEFAULT_PAGE_SIZES = [25, 50, 100];\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\n/* B17 — render a single criterion based on its `kind` discriminator.\r\n * Falls back to Input for unknown kinds. The draft value is `unknown`\r\n * (criteria are heterogeneous); one assertion at each value seam. */\r\nfunction renderCriterionField(\r\n c: ReferentielCriterion,\r\n value: unknown,\r\n onChange: (next: unknown) => void\r\n): React.ReactElement {\r\n const kind = c.kind || \"input\";\r\n\r\n switch (kind) {\r\n case \"combobox\":\r\n return (\r\n <Combobox\r\n value={(value ?? \"\") as ComboboxValue}\r\n onChange={(next) => {\r\n // Combobox may emit either a raw value or an event-like object;\r\n // extract defensively in a way that is sound for any shape.\r\n const extracted =\r\n next && typeof next === \"object\" && \"target\" in next\r\n ? ((next as { target?: { value?: unknown } }).target?.value ??\r\n next)\r\n : next;\r\n onChange(extracted);\r\n }}\r\n options={c.options ?? []}\r\n loading={Boolean(c.loading)}\r\n {...(c.getOptionLabel !== undefined ? { getOptionLabel: c.getOptionLabel } : {})}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"date\":\r\n return (\r\n <DatePicker\r\n name={c.name}\r\n value={(value ?? null) as Date | null}\r\n onChange={(next) => onChange(next)}\r\n disableFuture={Boolean(c.disableFuture)}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"input\":\r\n default:\r\n return (\r\n <Input\r\n name={c.name}\r\n value={(value ?? \"\") as string}\r\n onChange={(e) => onChange(e.target.value)}\r\n placeholder={c.placeholder}\r\n />\r\n );\r\n }\r\n}\r\n\r\nfunction ReferentielField<T>({\r\n value,\r\n onChange,\r\n // Display / trigger\r\n getDisplayValue,\r\n placeholder,\r\n disabled = false,\r\n readOnly = false,\r\n clearable = true,\r\n // Modal content\r\n title = \"Rechercher\",\r\n subtitle,\r\n size = \"lg\",\r\n modalProps,\r\n // Search contract\r\n search,\r\n criteria = [],\r\n initialCriteria,\r\n columns = [],\r\n pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,\r\n pageSizes = DEFAULT_PAGE_SIZES,\r\n getRowId = defaultGetRowId,\r\n // Selection UX\r\n confirmOnSelection = false,\r\n // Sort (delegated to DataGrid)\r\n sort,\r\n onSortChange,\r\n // Localisation\r\n labels,\r\n locale,\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id,\r\n name,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-describedby\": ariaDescribedBy,\r\n}: ReferentielFieldProps<T>) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n /* ── Modal lifecycle ──────────────────────────────────────── */\r\n const [open, setOpen] = React.useState(false);\r\n const triggerRef = React.useRef<React.ElementRef<typeof Input>>(null);\r\n\r\n const openModal = React.useCallback(() => {\r\n if (disabled || readOnly) return;\r\n setOpen(true);\r\n }, [disabled, readOnly]);\r\n\r\n const closeModal = React.useCallback(() => {\r\n setOpen(false);\r\n setTimeout(() => {\r\n // triggerRef's element type resolves to `{}` via React.ElementRef<typeof\r\n // Input> (a TS inference gap, not a real absence of .focus at runtime —\r\n // Input forwards its ref to a real focusable element). Cast narrowly at\r\n // the point of use rather than widening the ref's declared type, so the\r\n // `ref={triggerRef}` binding on <Input> below is unaffected.\r\n const el = triggerRef.current as { focus?: (options?: FocusOptions) => void } | null;\r\n if (el && typeof el.focus === \"function\") {\r\n el.focus({ preventScroll: true });\r\n }\r\n }, 0);\r\n }, []);\r\n\r\n /* ── Criteria draft + search state ───────────────────────── */\r\n const seedCriteria = React.useMemo(() => {\r\n const seed: Record<string, unknown> = {};\r\n (criteria || []).forEach((c) => {\r\n seed[c.name] = (initialCriteria && initialCriteria[c.name]) || \"\";\r\n });\r\n return seed;\r\n }, [criteria, initialCriteria]);\r\n\r\n const [draft, setDraft] = React.useState<Record<string, unknown>>(seedCriteria);\r\n\r\n React.useEffect(() => {\r\n if (open) setDraft(seedCriteria);\r\n }, [open, seedCriteria]);\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n\r\n const [items, setItems] = React.useState<T[]>([]);\r\n const [total, setTotal] = React.useState(0);\r\n const [loading, setLoading] = React.useState(false);\r\n const [error, setError] = React.useState<Error | null>(null);\r\n const [hasSearched, setHasSearched] = React.useState(false);\r\n const [pendingSelection, setPendingSelection] = React.useState<T | null>(null);\r\n\r\n /* ── Search executor ─────────────────────────────────────── */\r\n const requestSeq = React.useRef(0);\r\n\r\n const runSearch = React.useCallback(\r\n async (\r\n overrides: {\r\n criteria?: Record<string, unknown>;\r\n page?: number;\r\n pageSize?: number;\r\n } = {}\r\n ) => {\r\n if (typeof search !== \"function\") return;\r\n const myReq = ++requestSeq.current;\r\n const effective: ReferentielSearchParams = {\r\n criteria: overrides.criteria ?? draft,\r\n page: overrides.page ?? 1,\r\n pageSize: overrides.pageSize ?? pageSize,\r\n sort,\r\n };\r\n setLoading(true);\r\n setError(null);\r\n setHasSearched(true);\r\n try {\r\n const result = await search(effective);\r\n if (myReq !== requestSeq.current) return;\r\n setItems(Array.isArray(result.items) ? result.items : []);\r\n const nextTotal =\r\n typeof result.total === \"number\" && Number.isFinite(result.total)\r\n ? result.total\r\n : result.items.length;\r\n setTotal(nextTotal);\r\n setPage(effective.page);\r\n setPageSize(effective.pageSize);\r\n } catch (e) {\r\n if (myReq !== requestSeq.current) return;\r\n setError(e instanceof Error ? e : new Error(\"search failed\"));\r\n setItems([]);\r\n setTotal(0);\r\n } finally {\r\n if (myReq === requestSeq.current) setLoading(false);\r\n }\r\n },\r\n [search, draft, pageSize, sort]\r\n );\r\n\r\n /* ── Form submission inside the modal ────────────────────── */\r\n const onSubmitCriteria = (e: React.FormEvent<HTMLFormElement>) => {\r\n e.preventDefault();\r\n setPendingSelection(null);\r\n runSearch({ criteria: draft, page: 1 });\r\n };\r\n\r\n const onPageChange = (nextPage: number) => {\r\n runSearch({ page: nextPage });\r\n };\r\n const onPageSizeChange = (nextPageSize: number) => {\r\n runSearch({ page: 1, pageSize: nextPageSize });\r\n };\r\n\r\n /* ── Selection ───────────────────────────────────────────── */\r\n const handleRowClick = (row: T) => {\r\n if (confirmOnSelection) {\r\n setPendingSelection(row);\r\n return;\r\n }\r\n onChange?.(row);\r\n closeModal();\r\n };\r\n\r\n const handleConfirmSelection = () => {\r\n if (!pendingSelection) return;\r\n onChange?.(pendingSelection);\r\n setPendingSelection(null);\r\n closeModal();\r\n };\r\n\r\n const handleClear = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.stopPropagation();\r\n if (disabled || readOnly) return;\r\n onChange?.(null);\r\n };\r\n\r\n /* ── Trigger display ─────────────────────────────────────── */\r\n const display = React.useMemo<string>(() => {\r\n if (value == null || value === \"\") return \"\";\r\n if (typeof getDisplayValue === \"function\") {\r\n try {\r\n return getDisplayValue(value) ?? \"\";\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n if (typeof value === \"string\") return value;\r\n if (value && typeof value === \"object\") {\r\n const v = value as {\r\n description?: string;\r\n label?: string;\r\n name?: string;\r\n code?: string;\r\n };\r\n return v.description || v.label || v.name || v.code || \"\";\r\n }\r\n return String(value);\r\n }, [value, getDisplayValue]);\r\n\r\n /* ── DataGrid pagination contract ────────────────────────── */\r\n const pagination = React.useMemo(\r\n () => ({\r\n page,\r\n pageSize,\r\n total,\r\n pageSizes,\r\n onPageChange,\r\n onPageSizeChange,\r\n }),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [page, pageSize, total, pageSizes]\r\n );\r\n\r\n /* ── Empty / error states for DataGrid ───────────────────── */\r\n const initialEmpty = (\r\n <EmptyState\r\n variant=\"initial\"\r\n title={L.initialEmptyTitle}\r\n description={L.initialEmptyHint}\r\n />\r\n );\r\n const filteredEmpty = (\r\n <EmptyState\r\n variant=\"filtered\"\r\n title={L.noResultsTitle}\r\n description={L.noResultsHint}\r\n />\r\n );\r\n const errorState = (\r\n <Banner\r\n variant=\"error\"\r\n title={L.errorTitle}\r\n action={{ label: L.errorRetry, onClick: () => runSearch({ page: 1 }) }}\r\n >\r\n {error?.message || String(error || \"\")}\r\n </Banner>\r\n );\r\n\r\n /* ── Render the trigger ──────────────────────────────────── */\r\n const showClear = clearable && !disabled && !readOnly && Boolean(display);\r\n\r\n // B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input\r\n // routes them into slotProps.input → the native <input/>. Typed as\r\n // AriaAttributes so \"aria-haspopup\":\"dialog\" stays a valid literal.\r\n const triggerAria = React.useMemo<React.AriaAttributes>(\r\n () => ({\r\n \"aria-haspopup\": \"dialog\",\r\n \"aria-expanded\": open,\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaDescribedBy ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n }),\r\n [open, ariaInvalid, ariaRequired, ariaDescribedBy]\r\n );\r\n\r\n const trigger = (\r\n <Input\r\n ref={triggerRef}\r\n id={id}\r\n name={name}\r\n value={display}\r\n placeholder={placeholder ?? L.placeholder}\r\n readOnly\r\n disabled={disabled}\r\n onClick={openModal}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n openModal();\r\n }\r\n }}\r\n inputProps={triggerAria}\r\n sx={{\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n \"& input\": { cursor: disabled ? \"not-allowed\" : \"pointer\" },\r\n }}\r\n endIcon={\r\n <Box\r\n sx={{ display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}\r\n >\r\n {showClear && (\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={handleClear}\r\n aria-label={L.clearAria}\r\n edge=\"end\"\r\n sx={{ color: \"var(--fg-subtle)\" }}\r\n >\r\n <ClearIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n openModal();\r\n }}\r\n aria-label={L.searchAria}\r\n edge=\"end\"\r\n disabled={disabled}\r\n sx={{ color: \"var(--accent)\" }}\r\n >\r\n <SearchIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n }\r\n />\r\n );\r\n\r\n /* ── Modal body ──────────────────────────────────────────── */\r\n const criteriaRow = criteria.length > 0 && (\r\n <Box\r\n component=\"form\"\r\n onSubmit={onSubmitCriteria}\r\n sx={{\r\n display: \"grid\",\r\n gap: \"var(--s-3)\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: criteria.length > 1 ? \"1fr 1fr\" : \"1fr\",\r\n md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`,\r\n },\r\n alignItems: \"end\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n {criteria.map((c) => (\r\n <Field key={c.name} label={c.label} hint={c.hint}>\r\n {renderCriterionField(c, draft[c.name], (next) =>\r\n setDraft((d) => ({ ...d, [c.name]: next }))\r\n )}\r\n </Field>\r\n ))}\r\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\r\n <Button variant=\"primary\" type=\"submit\" loading={loading}>\r\n {L.searchSubmit}\r\n </Button>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n const liveResults = (\r\n <Box aria-live=\"polite\" aria-atomic=\"true\" className=\"pui-sr-only\">\r\n {hasSearched && !loading && !error ? L.resultsHeading(total) : \"\"}\r\n </Box>\r\n );\r\n\r\n const decoratedRows = React.useMemo<T[]>(() => {\r\n if (!confirmOnSelection || !pendingSelection) return items;\r\n const pendingId = getRowId(pendingSelection);\r\n return items.map((r) =>\r\n getRowId(r) === pendingId ? { ...r, __pending: true } : r\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [items, pendingSelection, confirmOnSelection]);\r\n\r\n /* ── Modal footer ────────────────────────────────────────── */\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" onClick={closeModal}>\r\n {L.modalCancel}\r\n </Button>\r\n {confirmOnSelection && (\r\n <Button\r\n variant=\"primary\"\r\n disabled={!pendingSelection}\r\n onClick={handleConfirmSelection}\r\n >\r\n {L.modalConfirm}\r\n </Button>\r\n )}\r\n </>\r\n );\r\n\r\n return (\r\n <>\r\n {trigger}\r\n <Modal\r\n open={open}\r\n onClose={closeModal}\r\n title={title}\r\n subtitle={subtitle}\r\n size={size}\r\n footer={footer}\r\n {...modalProps}\r\n >\r\n {criteriaRow}\r\n {liveResults}\r\n <DataGrid\r\n rows={decoratedRows}\r\n columns={columns}\r\n loading={loading}\r\n error={error}\r\n onRowClick={handleRowClick}\r\n pagination={pagination}\r\n getRowId={getRowId}\r\n emptyState={initialEmpty}\r\n filteredEmptyState={filteredEmpty}\r\n errorState={errorState}\r\n filtered={hasSearched}\r\n {...(sort !== undefined ? { sort } : {})}\r\n {...(onSortChange !== undefined ? { onSortChange } : {})}\r\n {...(locale !== undefined ? { locale } : {})}\r\n {...(confirmOnSelection && pendingSelection\r\n ? { rowFlashId: getRowId(pendingSelection) }\r\n : {})}\r\n />\r\n </Modal>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReferentielField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ import * as React from "react";
2
+ import FavoriteToggle from "../components/FavoriteToggle";
3
+ import type { RowId } from "../types/common";
4
+ /**
5
+ * RowFavoriteToggle — Portnet UI v2 (pattern)
6
+ *
7
+ * A store-connected follow star for ONE row. Reads `useIsFavorite`, renders
8
+ * `FavoriteToggle`, and stops its own click/keydown from reaching the row's
9
+ * `onRowClick`.
10
+ *
11
+ * ─────────────────────────────────────────────────────────────────────────────
12
+ * WHY THIS BELONGS IN THE LIBRARY (capability gap G-36)
13
+ *
14
+ * This exact component already existed — as `FavoriteCell`, private inside
15
+ * `makeFavoriteColumn`. So the follow star was reachable in ONE context only:
16
+ * as a DataGrid column. Every other place a row appears had to rebuild it.
17
+ *
18
+ * The place that always appears is the MOBILE CARD. `DataGrid` swaps to
19
+ * `renderMobileCard` below its `mobileBreakpoint`, and `MobileRowCard` has a
20
+ * `leading` slot precisely for a per-row control — but a column definition
21
+ * cannot be rendered into a slot, so the host had to re-derive the star by
22
+ * hand. Observed in `onssa-export-fe` as a local `MobileFavoriteToggle`, and
23
+ * `ms-ti-fe` destructures the identical `MobileRowCard` + `FavoriteToggle` +
24
+ * `useIsFavorite` trio for the same reason.
25
+ *
26
+ * This is the same failure mode G-10 recorded for the card recipe welded
27
+ * inside `FormSection`: the library owned the behaviour but exposed it at only
28
+ * one composition point, so consumers reimplemented it at the others. And it
29
+ * was not a harmless copy — the local twin drifted on the part that matters
30
+ * least visibly and most to a screen-reader user. It labelled itself
31
+ * "Ajouter aux favoris" / "Retirer des favoris" while the grid column on the
32
+ * SAME page said "Suivre" / "Ne plus suivre", and it omitted the status
33
+ * Tooltip entirely. One list, one control, two accessible names, depending on
34
+ * viewport width — exactly what R-2.1 forbids.
35
+ *
36
+ * `makeFavoriteColumn` now renders this component, so the desktop column and
37
+ * the mobile card are guaranteed to agree by construction rather than by
38
+ * review.
39
+ * ─────────────────────────────────────────────────────────────────────────────
40
+ *
41
+ * Usage — mobile card `leading` slot:
42
+ *
43
+ * <MobileRowCard
44
+ * leading={
45
+ * <RowFavoriteToggle
46
+ * resourceKey="ti:list"
47
+ * rowId={row.reference}
48
+ * rowLabel={row.reference}
49
+ * />
50
+ * }
51
+ * title={row.reference}
52
+ * … />
53
+ *
54
+ * a11y. The accessible name is ACTION-oriented ("Suivre" / "Ne plus suivre",
55
+ * optionally enriched with `rowLabel`) because that is the toggle convention;
56
+ * `aria-pressed` — set by `FavoriteToggle` — carries the state. The visible
57
+ * status ("Suivi" / "Non suivi") is shown as a Tooltip on hover/focus. An
58
+ * `aria-label` is therefore ALWAYS supplied, which also stops Tooltip from
59
+ * mirroring its title onto the trigger and producing a doubled name.
60
+ *
61
+ * Requires a <UserPersonalizationProvider> ancestor (`useIsFavorite` throws
62
+ * otherwise). `rowId` MUST be the same id the grid uses, so the follow and the
63
+ * row agree.
64
+ */
65
+ /** `FavoriteToggle`'s own size union, re-derived rather than restated. */
66
+ export type FavoriteToggleSize = NonNullable<React.ComponentProps<typeof FavoriteToggle>["size"]>;
67
+ export interface RowFavoriteToggleLabels {
68
+ addFavorite: string;
69
+ removeFavorite: string;
70
+ statusFollowed: string;
71
+ statusNotFollowed: string;
72
+ }
73
+ export declare const DEFAULT_ROW_FAVORITE_LABELS: Readonly<{
74
+ addFavorite: string;
75
+ removeFavorite: string;
76
+ statusFollowed: string;
77
+ statusNotFollowed: string;
78
+ }>;
79
+ export interface RowFavoriteToggleProps {
80
+ /** Follow namespace — must match the list's other personalization calls. */
81
+ resourceKey: string;
82
+ /** Business row id. MUST match the grid's `getRowId` for this row. */
83
+ rowId: RowId;
84
+ /** Enriches the per-row accessible name ("Suivre : 2025-IM-0042"). */
85
+ rowLabel?: string | undefined;
86
+ /** @default "sm" — fits dense rows and card leading slots. */
87
+ size?: FavoriteToggleSize | undefined;
88
+ labels?: Partial<RowFavoriteToggleLabels> | undefined;
89
+ }
90
+ declare function RowFavoriteToggle(props: RowFavoriteToggleProps): React.JSX.Element;
91
+ export default RowFavoriteToggle;
92
+ //# sourceMappingURL=RowFavoriteToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowFavoriteToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/RowFavoriteToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAG1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,2BAA2B;;;;;EAKJ,CAAC;AAErC,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,KAAK,EAAE,KAAK,CAAC;IACb,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,SAAS,CAAC;CACvD;AAED,iBAAS,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAuC3E;AAED,eAAe,iBAAiB,CAAC"}