@portnet/ui 5.0.32 → 6.0.1

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 (1121) hide show
  1. package/CHANGELOG.md +524 -0
  2. package/README.md +101 -38
  3. package/dist/esm/index.js +196 -0
  4. package/dist/esm/index.js.map +1 -0
  5. package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
  6. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  7. package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  9. package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
  10. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  11. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  12. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  13. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  14. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  15. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  16. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  17. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  18. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  19. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  20. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  21. package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
  22. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  23. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  24. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  25. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  26. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  27. package/dist/esm/v2/components/Accordion.js +230 -0
  28. package/dist/esm/v2/components/Accordion.js.map +1 -0
  29. package/dist/esm/v2/components/ActionStrip.js +146 -0
  30. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  31. package/dist/esm/v2/components/Banner.js +254 -0
  32. package/dist/esm/v2/components/Banner.js.map +1 -0
  33. package/dist/esm/v2/components/Busy.js +97 -0
  34. package/dist/esm/v2/components/Busy.js.map +1 -0
  35. package/dist/esm/v2/components/Button.js +114 -0
  36. package/dist/esm/v2/components/Button.js.map +1 -0
  37. package/dist/esm/v2/components/CategoryTag.js +81 -0
  38. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  39. package/dist/esm/v2/components/Checkbox.js +124 -0
  40. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  41. package/dist/esm/v2/components/Chip.js +124 -0
  42. package/dist/esm/v2/components/Chip.js.map +1 -0
  43. package/dist/esm/v2/components/Combobox.js +394 -0
  44. package/dist/esm/v2/components/Combobox.js.map +1 -0
  45. package/dist/esm/v2/components/CommandPalette.js +660 -0
  46. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  47. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  48. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  49. package/dist/esm/v2/components/DatePicker.js +200 -0
  50. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  51. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  52. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  53. package/dist/esm/v2/components/DateTimePicker.js +182 -0
  54. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  55. package/dist/esm/v2/components/Drawer.js +333 -0
  56. package/dist/esm/v2/components/Drawer.js.map +1 -0
  57. package/dist/esm/v2/components/Dropzone.js +540 -0
  58. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  59. package/dist/esm/v2/components/EmptyState.js +102 -0
  60. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  61. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  62. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  63. package/dist/esm/v2/components/Field.js +197 -0
  64. package/dist/esm/v2/components/Field.js.map +1 -0
  65. package/dist/esm/v2/components/FieldError.js +124 -0
  66. package/dist/esm/v2/components/FieldError.js.map +1 -0
  67. package/dist/esm/v2/components/FieldHelp.js +202 -0
  68. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  69. package/dist/esm/v2/components/FileCard.js +162 -0
  70. package/dist/esm/v2/components/FileCard.js.map +1 -0
  71. package/dist/esm/v2/components/FilterTab.js +138 -0
  72. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  73. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  74. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  75. package/dist/esm/v2/components/FormGrid.js +179 -0
  76. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  77. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  78. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  79. package/dist/esm/v2/components/Input.js +107 -0
  80. package/dist/esm/v2/components/Input.js.map +1 -0
  81. package/dist/esm/v2/components/KPICard.js +237 -0
  82. package/dist/esm/v2/components/KPICard.js.map +1 -0
  83. package/dist/esm/v2/components/KPIStrip.js +84 -0
  84. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  85. package/dist/esm/v2/components/KV.js +75 -0
  86. package/dist/esm/v2/components/KV.js.map +1 -0
  87. package/dist/esm/v2/components/KVGrid.js +74 -0
  88. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  89. package/dist/esm/v2/components/Layout.js +284 -0
  90. package/dist/esm/v2/components/Layout.js.map +1 -0
  91. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  92. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  93. package/dist/esm/v2/components/Modal.js +276 -0
  94. package/dist/esm/v2/components/Modal.js.map +1 -0
  95. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  96. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  97. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  98. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  99. package/dist/esm/v2/components/NumberInput.js +309 -0
  100. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  101. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  102. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  103. package/dist/esm/v2/components/PdfViewer.js +122 -0
  104. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  105. package/dist/esm/v2/components/ProgressBar.js +202 -0
  106. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  107. package/dist/esm/v2/components/Radio.js +228 -0
  108. package/dist/esm/v2/components/Radio.js.map +1 -0
  109. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  110. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  111. package/dist/esm/v2/components/SectionHeader.js +132 -0
  112. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  113. package/dist/esm/v2/components/Segmented.js +254 -0
  114. package/dist/esm/v2/components/Segmented.js.map +1 -0
  115. package/dist/esm/v2/components/Select.js +490 -0
  116. package/dist/esm/v2/components/Select.js.map +1 -0
  117. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  118. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  119. package/dist/esm/v2/components/Skeleton.js +269 -0
  120. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  121. package/dist/esm/v2/components/SkipLink.js +49 -0
  122. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  123. package/dist/esm/v2/components/Spinner.js +69 -0
  124. package/dist/esm/v2/components/Spinner.js.map +1 -0
  125. package/dist/esm/v2/components/Status.js +64 -0
  126. package/dist/esm/v2/components/Status.js.map +1 -0
  127. package/dist/esm/v2/components/Stepper.js +432 -0
  128. package/dist/esm/v2/components/Stepper.js.map +1 -0
  129. package/dist/esm/v2/components/Surface.js +159 -0
  130. package/dist/esm/v2/components/Surface.js.map +1 -0
  131. package/dist/esm/v2/components/Switch.js +128 -0
  132. package/dist/esm/v2/components/Switch.js.map +1 -0
  133. package/dist/esm/v2/components/Tabs.js +150 -0
  134. package/dist/esm/v2/components/Tabs.js.map +1 -0
  135. package/dist/esm/v2/components/TelInput.js +274 -0
  136. package/dist/esm/v2/components/TelInput.js.map +1 -0
  137. package/dist/esm/v2/components/Textarea.js +72 -0
  138. package/dist/esm/v2/components/Textarea.js.map +1 -0
  139. package/dist/esm/v2/components/TimePicker.js +134 -0
  140. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  141. package/dist/esm/v2/components/Toast.js +376 -0
  142. package/dist/esm/v2/components/Toast.js.map +1 -0
  143. package/dist/esm/v2/components/Tooltip.js +161 -0
  144. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  145. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  146. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  147. package/dist/esm/v2/components/_pickerShared.js +60 -0
  148. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  149. package/dist/esm/v2/components/index.js +244 -0
  150. package/dist/esm/v2/components/index.js.map +1 -0
  151. package/dist/esm/v2/hooks/index.js +10 -0
  152. package/dist/esm/v2/hooks/index.js.map +1 -0
  153. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  154. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  155. package/dist/esm/v2/hooks/useDensity.js +119 -0
  156. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  157. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  158. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  159. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  160. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  161. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  162. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  163. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  164. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  165. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  166. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  167. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  168. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  169. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  170. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  171. package/dist/esm/v2/index.js +121 -0
  172. package/dist/esm/v2/index.js.map +1 -0
  173. package/dist/esm/v2/modalContext.js +108 -0
  174. package/dist/esm/v2/modalContext.js.map +1 -0
  175. package/dist/esm/v2/models/favorite.js +2 -0
  176. package/dist/esm/v2/models/favorite.js.map +1 -0
  177. package/dist/esm/v2/models/index.js +12 -0
  178. package/dist/esm/v2/models/index.js.map +1 -0
  179. package/dist/esm/v2/models/personalization.js +2 -0
  180. package/dist/esm/v2/models/personalization.js.map +1 -0
  181. package/dist/esm/v2/models/referentiel.js +2 -0
  182. package/dist/esm/v2/models/referentiel.js.map +1 -0
  183. package/dist/esm/v2/models/savedFilter.js +2 -0
  184. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  185. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  186. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  187. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  188. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  189. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  190. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  191. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  192. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  193. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  194. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  195. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  196. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  197. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  198. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  199. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  200. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  201. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  202. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  203. package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
  204. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  205. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  206. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  207. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  208. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  209. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  210. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  211. package/dist/esm/v2/patterns/FormSection.js +190 -0
  212. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  213. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  214. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  215. package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
  216. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  217. package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
  218. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  219. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  220. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  221. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  222. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  223. package/dist/esm/v2/patterns/FormikInput.js +127 -0
  224. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  225. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  226. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  227. package/dist/esm/v2/patterns/FormikSelect.js +159 -0
  228. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  229. package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
  230. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  231. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
  232. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  233. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  234. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  235. package/dist/esm/v2/patterns/PageContent.js +62 -0
  236. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  237. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  238. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  239. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  240. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  241. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  242. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  243. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  244. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  245. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  246. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  247. package/dist/esm/v2/patterns/Tour.js +471 -0
  248. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  249. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  250. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  251. package/dist/esm/v2/patterns/_sort.js +112 -0
  252. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  253. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  254. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  255. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  256. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  257. package/dist/esm/v2/patterns/index.js +95 -0
  258. package/dist/esm/v2/patterns/index.js.map +1 -0
  259. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  260. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  261. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  262. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  263. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  264. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  265. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  266. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  267. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  268. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  269. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  270. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  271. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  272. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  273. package/dist/esm/v2/personalization/capabilities/index.js +17 -0
  274. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  275. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  276. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  277. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  278. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  279. package/dist/esm/v2/personalization/index.js +46 -0
  280. package/dist/esm/v2/personalization/index.js.map +1 -0
  281. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  282. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  283. package/dist/esm/v2/personalization/schema.js +92 -0
  284. package/dist/esm/v2/personalization/schema.js.map +1 -0
  285. package/dist/esm/v2/personalization/types.js +2 -0
  286. package/dist/esm/v2/personalization/types.js.map +1 -0
  287. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  288. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  289. package/dist/esm/v2/referentiel/index.js +15 -0
  290. package/dist/esm/v2/referentiel/index.js.map +1 -0
  291. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  292. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  293. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  294. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  295. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  296. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  297. package/dist/esm/v2/styles/base.css +425 -0
  298. package/dist/esm/v2/styles/css.d.ts +10 -0
  299. package/dist/esm/v2/styles/index.js +12 -0
  300. package/dist/esm/v2/styles/index.js.map +1 -0
  301. package/dist/esm/v2/theme/_brand.js +64 -0
  302. package/dist/esm/v2/theme/_brand.js.map +1 -0
  303. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  304. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  305. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  306. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  307. package/dist/esm/v2/theme/cssVariables.js +198 -0
  308. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  309. package/dist/esm/v2/theme/index.js +32 -0
  310. package/dist/esm/v2/theme/index.js.map +1 -0
  311. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  312. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  313. package/dist/esm/v2/tokens/colors.js +219 -0
  314. package/dist/esm/v2/tokens/colors.js.map +1 -0
  315. package/dist/esm/v2/tokens/density.js +98 -0
  316. package/dist/esm/v2/tokens/density.js.map +1 -0
  317. package/dist/esm/v2/tokens/index.js +80 -0
  318. package/dist/esm/v2/tokens/index.js.map +1 -0
  319. package/dist/esm/v2/tokens/motion.js +88 -0
  320. package/dist/esm/v2/tokens/motion.js.map +1 -0
  321. package/dist/esm/v2/tokens/radius.js +22 -0
  322. package/dist/esm/v2/tokens/radius.js.map +1 -0
  323. package/dist/esm/v2/tokens/shadows.js +40 -0
  324. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  325. package/dist/esm/v2/tokens/spacing.js +51 -0
  326. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  327. package/dist/esm/v2/tokens/state.js +41 -0
  328. package/dist/esm/v2/tokens/state.js.map +1 -0
  329. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  330. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  331. package/dist/esm/v2/tokens/tokens.json +153 -0
  332. package/dist/esm/v2/tokens/typography.js +149 -0
  333. package/dist/esm/v2/tokens/typography.js.map +1 -0
  334. package/dist/esm/v2/tokens/zIndex.js +44 -0
  335. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  336. package/dist/esm/v2/types/common.js +2 -0
  337. package/dist/esm/v2/types/common.js.map +1 -0
  338. package/dist/esm/v2/types/datagrid.js +2 -0
  339. package/dist/esm/v2/types/datagrid.js.map +1 -0
  340. package/dist/esm/v2/types/index.js +12 -0
  341. package/dist/esm/v2/types/index.js.map +1 -0
  342. package/dist/esm/v2/utils/apiError.js +281 -0
  343. package/dist/esm/v2/utils/apiError.js.map +1 -0
  344. package/dist/esm/v2/utils/contrast.js +157 -0
  345. package/dist/esm/v2/utils/contrast.js.map +1 -0
  346. package/dist/esm/v2/utils/cx.js +38 -0
  347. package/dist/esm/v2/utils/cx.js.map +1 -0
  348. package/dist/esm/v2/utils/fileDownload.js +226 -0
  349. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  350. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  351. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  352. package/dist/esm/v2/utils/index.js +43 -0
  353. package/dist/esm/v2/utils/index.js.map +1 -0
  354. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  355. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  356. package/dist/esm/v2/utils/networkStatus.js +114 -0
  357. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  358. package/dist/index.d.ts +60 -0
  359. package/dist/index.d.ts.map +1 -0
  360. package/dist/index.js +183 -191
  361. package/dist/index.js.map +1 -0
  362. package/dist/v2/__tests__/FieldError.test.js +164 -0
  363. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  364. package/dist/v2/__tests__/FileCard.test.js +148 -0
  365. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  366. package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
  367. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
  368. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  369. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  370. package/dist/v2/__tests__/apiError.test.js +182 -0
  371. package/dist/v2/__tests__/apiError.test.js.map +1 -0
  372. package/dist/v2/__tests__/banned-patterns.test.js +272 -0
  373. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
  374. package/dist/v2/__tests__/contrast-palette.test.js +225 -0
  375. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
  376. package/dist/v2/__tests__/cssVariables.test.js +158 -0
  377. package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
  378. package/dist/v2/__tests__/labels-merge.test.js +153 -0
  379. package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
  380. package/dist/v2/__tests__/locale-fallback.test.js +111 -0
  381. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
  382. package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
  383. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
  384. package/dist/v2/components/Accordion.d.ts +56 -0
  385. package/dist/v2/components/Accordion.d.ts.map +1 -0
  386. package/dist/v2/components/Accordion.js +238 -0
  387. package/dist/v2/components/Accordion.js.map +1 -0
  388. package/dist/v2/components/ActionStrip.d.ts +67 -0
  389. package/dist/v2/components/ActionStrip.d.ts.map +1 -0
  390. package/dist/v2/components/ActionStrip.js +154 -0
  391. package/dist/v2/components/ActionStrip.js.map +1 -0
  392. package/dist/v2/components/Banner.d.ts +88 -0
  393. package/dist/v2/components/Banner.d.ts.map +1 -0
  394. package/dist/v2/components/Banner.js +264 -0
  395. package/dist/v2/components/Banner.js.map +1 -0
  396. package/dist/v2/components/Busy.d.ts +18 -0
  397. package/dist/v2/components/Busy.d.ts.map +1 -0
  398. package/dist/v2/components/Busy.js +104 -0
  399. package/dist/v2/components/Busy.js.map +1 -0
  400. package/dist/v2/components/Button.d.ts +36 -0
  401. package/dist/v2/components/Button.d.ts.map +1 -0
  402. package/dist/v2/components/Button.js +122 -0
  403. package/dist/v2/components/Button.js.map +1 -0
  404. package/dist/v2/components/CategoryTag.d.ts +45 -0
  405. package/dist/v2/components/CategoryTag.d.ts.map +1 -0
  406. package/dist/v2/components/CategoryTag.js +89 -0
  407. package/dist/v2/components/CategoryTag.js.map +1 -0
  408. package/dist/v2/components/Checkbox.d.ts +59 -0
  409. package/dist/v2/components/Checkbox.d.ts.map +1 -0
  410. package/dist/v2/components/Checkbox.js +134 -0
  411. package/dist/v2/components/Checkbox.js.map +1 -0
  412. package/dist/v2/components/Chip.d.ts +48 -0
  413. package/dist/v2/components/Chip.d.ts.map +1 -0
  414. package/dist/v2/components/Chip.js +132 -0
  415. package/dist/v2/components/Chip.js.map +1 -0
  416. package/dist/v2/components/Combobox.d.ts +134 -0
  417. package/dist/v2/components/Combobox.d.ts.map +1 -0
  418. package/dist/v2/components/Combobox.js +400 -0
  419. package/dist/v2/components/Combobox.js.map +1 -0
  420. package/dist/v2/components/CommandPalette.d.ts +36 -0
  421. package/dist/v2/components/CommandPalette.d.ts.map +1 -0
  422. package/dist/v2/components/CommandPalette.js +668 -0
  423. package/dist/v2/components/CommandPalette.js.map +1 -0
  424. package/dist/v2/components/ConfirmDialog.d.ts +23 -0
  425. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
  426. package/dist/v2/components/ConfirmDialog.js +151 -0
  427. package/dist/v2/components/ConfirmDialog.js.map +1 -0
  428. package/dist/v2/components/DatePicker.d.ts +21 -0
  429. package/dist/v2/components/DatePicker.d.ts.map +1 -0
  430. package/dist/v2/components/DatePicker.js +207 -0
  431. package/dist/v2/components/DatePicker.js.map +1 -0
  432. package/dist/v2/components/DateRangePicker.d.ts +81 -0
  433. package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
  434. package/dist/v2/components/DateRangePicker.js +296 -0
  435. package/dist/v2/components/DateRangePicker.js.map +1 -0
  436. package/dist/v2/components/DateTimePicker.d.ts +21 -0
  437. package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
  438. package/dist/v2/components/DateTimePicker.js +189 -0
  439. package/dist/v2/components/DateTimePicker.js.map +1 -0
  440. package/dist/v2/components/Drawer.d.ts +34 -0
  441. package/dist/v2/components/Drawer.d.ts.map +1 -0
  442. package/dist/v2/components/Drawer.js +340 -0
  443. package/dist/v2/components/Drawer.js.map +1 -0
  444. package/dist/v2/components/Dropzone.d.ts +150 -0
  445. package/dist/v2/components/Dropzone.d.ts.map +1 -0
  446. package/dist/v2/components/Dropzone.js +547 -0
  447. package/dist/v2/components/Dropzone.js.map +1 -0
  448. package/dist/v2/components/EmptyState.d.ts +36 -0
  449. package/dist/v2/components/EmptyState.d.ts.map +1 -0
  450. package/dist/v2/components/EmptyState.js +112 -0
  451. package/dist/v2/components/EmptyState.js.map +1 -0
  452. package/dist/v2/components/FavoriteToggle.d.ts +22 -0
  453. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
  454. package/dist/v2/components/FavoriteToggle.js +135 -0
  455. package/dist/v2/components/FavoriteToggle.js.map +1 -0
  456. package/dist/v2/components/Field.d.ts +63 -0
  457. package/dist/v2/components/Field.d.ts.map +1 -0
  458. package/dist/v2/components/Field.js +204 -0
  459. package/dist/v2/components/Field.js.map +1 -0
  460. package/dist/v2/components/FieldError.d.ts +78 -0
  461. package/dist/v2/components/FieldError.d.ts.map +1 -0
  462. package/dist/v2/components/FieldError.js +131 -0
  463. package/dist/v2/components/FieldError.js.map +1 -0
  464. package/dist/v2/components/FieldHelp.d.ts +54 -0
  465. package/dist/v2/components/FieldHelp.d.ts.map +1 -0
  466. package/dist/v2/components/FieldHelp.js +209 -0
  467. package/dist/v2/components/FieldHelp.js.map +1 -0
  468. package/dist/v2/components/FileCard.d.ts +75 -0
  469. package/dist/v2/components/FileCard.d.ts.map +1 -0
  470. package/dist/v2/components/FileCard.js +169 -0
  471. package/dist/v2/components/FileCard.js.map +1 -0
  472. package/dist/v2/components/FilterTab.d.ts +35 -0
  473. package/dist/v2/components/FilterTab.d.ts.map +1 -0
  474. package/dist/v2/components/FilterTab.js +145 -0
  475. package/dist/v2/components/FilterTab.js.map +1 -0
  476. package/dist/v2/components/ForbiddenPage.d.ts +40 -0
  477. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
  478. package/dist/v2/components/ForbiddenPage.js +81 -0
  479. package/dist/v2/components/ForbiddenPage.js.map +1 -0
  480. package/dist/v2/components/FormGrid.d.ts +81 -0
  481. package/dist/v2/components/FormGrid.d.ts.map +1 -0
  482. package/dist/v2/components/FormGrid.js +187 -0
  483. package/dist/v2/components/FormGrid.js.map +1 -0
  484. package/dist/v2/components/FormikDisplay.d.ts +38 -0
  485. package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
  486. package/dist/v2/components/FormikDisplay.js +125 -0
  487. package/dist/v2/components/FormikDisplay.js.map +1 -0
  488. package/dist/v2/components/Input.d.ts +62 -0
  489. package/dist/v2/components/Input.d.ts.map +1 -0
  490. package/dist/v2/components/Input.js +115 -0
  491. package/dist/v2/components/Input.js.map +1 -0
  492. package/dist/v2/components/KPICard.d.ts +52 -0
  493. package/dist/v2/components/KPICard.d.ts.map +1 -0
  494. package/dist/v2/components/KPICard.js +244 -0
  495. package/dist/v2/components/KPICard.js.map +1 -0
  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 +25 -0
  501. package/dist/v2/components/KV.d.ts.map +1 -0
  502. package/dist/v2/components/KV.js +82 -0
  503. package/dist/v2/components/KV.js.map +1 -0
  504. package/dist/v2/components/KVGrid.d.ts +44 -0
  505. package/dist/v2/components/KVGrid.d.ts.map +1 -0
  506. package/dist/v2/components/KVGrid.js +80 -0
  507. package/dist/v2/components/KVGrid.js.map +1 -0
  508. package/dist/v2/components/Layout.d.ts +78 -0
  509. package/dist/v2/components/Layout.d.ts.map +1 -0
  510. package/dist/v2/components/Layout.js +284 -0
  511. package/dist/v2/components/Layout.js.map +1 -0
  512. package/dist/v2/components/MobileRowCard.d.ts +63 -0
  513. package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
  514. package/dist/v2/components/MobileRowCard.js +321 -0
  515. package/dist/v2/components/MobileRowCard.js.map +1 -0
  516. package/dist/v2/components/Modal.d.ts +21 -0
  517. package/dist/v2/components/Modal.d.ts.map +1 -0
  518. package/dist/v2/components/Modal.js +281 -0
  519. package/dist/v2/components/Modal.js.map +1 -0
  520. package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
  521. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
  522. package/dist/v2/components/NetworkErrorPage.js +86 -0
  523. package/dist/v2/components/NetworkErrorPage.js.map +1 -0
  524. package/dist/v2/components/NotFoundPage.d.ts +9 -0
  525. package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
  526. package/dist/v2/components/NotFoundPage.js +66 -0
  527. package/dist/v2/components/NotFoundPage.js.map +1 -0
  528. package/dist/v2/components/NumberInput.d.ts +83 -0
  529. package/dist/v2/components/NumberInput.d.ts.map +1 -0
  530. package/dist/v2/components/NumberInput.js +317 -0
  531. package/dist/v2/components/NumberInput.js.map +1 -0
  532. package/dist/v2/components/OverflowMenu.d.ts +55 -0
  533. package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
  534. package/dist/v2/components/OverflowMenu.js +192 -0
  535. package/dist/v2/components/OverflowMenu.js.map +1 -0
  536. package/dist/v2/components/PdfViewer.d.ts +56 -0
  537. package/dist/v2/components/PdfViewer.d.ts.map +1 -0
  538. package/dist/v2/components/PdfViewer.js +132 -0
  539. package/dist/v2/components/PdfViewer.js.map +1 -0
  540. package/dist/v2/components/ProgressBar.d.ts +53 -0
  541. package/dist/v2/components/ProgressBar.d.ts.map +1 -0
  542. package/dist/v2/components/ProgressBar.js +209 -0
  543. package/dist/v2/components/ProgressBar.js.map +1 -0
  544. package/dist/v2/components/Radio.d.ts +78 -0
  545. package/dist/v2/components/Radio.d.ts.map +1 -0
  546. package/dist/v2/components/Radio.js +238 -0
  547. package/dist/v2/components/Radio.js.map +1 -0
  548. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  549. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  550. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  551. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  552. package/dist/v2/components/SectionHeader.d.ts +53 -0
  553. package/dist/v2/components/SectionHeader.d.ts.map +1 -0
  554. package/dist/v2/components/SectionHeader.js +140 -0
  555. package/dist/v2/components/SectionHeader.js.map +1 -0
  556. package/dist/v2/components/Segmented.d.ts +61 -0
  557. package/dist/v2/components/Segmented.d.ts.map +1 -0
  558. package/dist/v2/components/Segmented.js +261 -0
  559. package/dist/v2/components/Segmented.js.map +1 -0
  560. package/dist/v2/components/Select.d.ts +90 -0
  561. package/dist/v2/components/Select.d.ts.map +1 -0
  562. package/dist/v2/components/Select.js +499 -0
  563. package/dist/v2/components/Select.js.map +1 -0
  564. package/dist/v2/components/ServerErrorPage.d.ts +11 -0
  565. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
  566. package/dist/v2/components/ServerErrorPage.js +82 -0
  567. package/dist/v2/components/ServerErrorPage.js.map +1 -0
  568. package/dist/v2/components/Skeleton.d.ts +56 -0
  569. package/dist/v2/components/Skeleton.d.ts.map +1 -0
  570. package/dist/v2/components/Skeleton.js +281 -0
  571. package/dist/v2/components/Skeleton.js.map +1 -0
  572. package/dist/v2/components/SkipLink.d.ts +30 -0
  573. package/dist/v2/components/SkipLink.d.ts.map +1 -0
  574. package/dist/v2/components/SkipLink.js +58 -0
  575. package/dist/v2/components/SkipLink.js.map +1 -0
  576. package/dist/v2/components/Spinner.d.ts +40 -0
  577. package/dist/v2/components/Spinner.d.ts.map +1 -0
  578. package/dist/v2/components/Spinner.js +76 -0
  579. package/dist/v2/components/Spinner.js.map +1 -0
  580. package/dist/v2/components/Status.d.ts +42 -0
  581. package/dist/v2/components/Status.d.ts.map +1 -0
  582. package/dist/v2/components/Status.js +71 -0
  583. package/dist/v2/components/Status.js.map +1 -0
  584. package/dist/v2/components/Stepper.d.ts +142 -0
  585. package/dist/v2/components/Stepper.d.ts.map +1 -0
  586. package/dist/v2/components/Stepper.js +441 -0
  587. package/dist/v2/components/Stepper.js.map +1 -0
  588. package/dist/v2/components/Surface.d.ts +94 -0
  589. package/dist/v2/components/Surface.d.ts.map +1 -0
  590. package/dist/v2/components/Surface.js +163 -0
  591. package/dist/v2/components/Surface.js.map +1 -0
  592. package/dist/v2/components/Switch.d.ts +30 -0
  593. package/dist/v2/components/Switch.d.ts.map +1 -0
  594. package/dist/v2/components/Switch.js +136 -0
  595. package/dist/v2/components/Switch.js.map +1 -0
  596. package/dist/v2/components/Tabs.d.ts +49 -0
  597. package/dist/v2/components/Tabs.d.ts.map +1 -0
  598. package/dist/v2/components/Tabs.js +160 -0
  599. package/dist/v2/components/Tabs.js.map +1 -0
  600. package/dist/v2/components/TelInput.d.ts +33 -0
  601. package/dist/v2/components/TelInput.d.ts.map +1 -0
  602. package/dist/v2/components/TelInput.js +282 -0
  603. package/dist/v2/components/TelInput.js.map +1 -0
  604. package/dist/v2/components/Textarea.d.ts +23 -0
  605. package/dist/v2/components/Textarea.d.ts.map +1 -0
  606. package/dist/v2/components/Textarea.js +80 -0
  607. package/dist/v2/components/Textarea.js.map +1 -0
  608. package/dist/v2/components/TimePicker.d.ts +21 -0
  609. package/dist/v2/components/TimePicker.d.ts.map +1 -0
  610. package/dist/v2/components/TimePicker.js +141 -0
  611. package/dist/v2/components/TimePicker.js.map +1 -0
  612. package/dist/v2/components/Toast.d.ts +32 -0
  613. package/dist/v2/components/Toast.d.ts.map +1 -0
  614. package/dist/v2/components/Toast.js +385 -0
  615. package/dist/v2/components/Toast.js.map +1 -0
  616. package/dist/v2/components/Tooltip.d.ts +9 -0
  617. package/dist/v2/components/Tooltip.d.ts.map +1 -0
  618. package/dist/v2/components/Tooltip.js +169 -0
  619. package/dist/v2/components/Tooltip.js.map +1 -0
  620. package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
  621. package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
  622. package/dist/v2/components/_ErrorPageBody.js +96 -0
  623. package/dist/v2/components/_ErrorPageBody.js.map +1 -0
  624. package/dist/v2/components/_pickerShared.d.ts +47 -0
  625. package/dist/v2/components/_pickerShared.d.ts.map +1 -0
  626. package/dist/v2/components/_pickerShared.js +68 -0
  627. package/dist/v2/components/_pickerShared.js.map +1 -0
  628. package/dist/v2/components/index.d.ts +226 -0
  629. package/dist/v2/components/index.d.ts.map +1 -0
  630. package/dist/v2/components/index.js +512 -0
  631. package/dist/v2/components/index.js.map +1 -0
  632. package/dist/v2/hooks/index.d.ts +11 -0
  633. package/dist/v2/hooks/index.d.ts.map +1 -0
  634. package/dist/v2/hooks/index.js +85 -0
  635. package/dist/v2/hooks/index.js.map +1 -0
  636. package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
  637. package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
  638. package/dist/v2/hooks/useDelayedFlag.js +60 -0
  639. package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
  640. package/dist/v2/hooks/useDensity.d.ts +23 -0
  641. package/dist/v2/hooks/useDensity.d.ts.map +1 -0
  642. package/dist/v2/hooks/useDensity.js +124 -0
  643. package/dist/v2/hooks/useDensity.js.map +1 -0
  644. package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
  645. package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
  646. package/dist/v2/hooks/useFocusFirstError.js +203 -0
  647. package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
  648. package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
  649. package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
  650. package/dist/v2/hooks/useFocusTrap.js +207 -0
  651. package/dist/v2/hooks/useFocusTrap.js.map +1 -0
  652. package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
  653. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
  654. package/dist/v2/hooks/useFormAutoSave.js +186 -0
  655. package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
  656. package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
  657. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
  658. package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
  659. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
  660. package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
  661. package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
  662. package/dist/v2/hooks/useResolvedDensity.js +50 -0
  663. package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
  664. package/dist/v2/hooks/useSortedRows.d.ts +25 -0
  665. package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
  666. package/dist/v2/hooks/useSortedRows.js +38 -0
  667. package/dist/v2/hooks/useSortedRows.js.map +1 -0
  668. package/dist/v2/hooks/useTabLoading.d.ts +39 -0
  669. package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
  670. package/dist/v2/hooks/useTabLoading.js +85 -0
  671. package/dist/v2/hooks/useTabLoading.js.map +1 -0
  672. package/dist/v2/index.d.ts +115 -0
  673. package/dist/v2/index.d.ts.map +1 -0
  674. package/dist/v2/index.js +1127 -0
  675. package/dist/v2/index.js.map +1 -0
  676. package/dist/v2/modalContext.d.ts +96 -0
  677. package/dist/v2/modalContext.d.ts.map +1 -0
  678. package/dist/v2/modalContext.js +113 -0
  679. package/dist/v2/modalContext.js.map +1 -0
  680. package/dist/v2/models/favorite.d.ts +14 -0
  681. package/dist/v2/models/favorite.d.ts.map +1 -0
  682. package/dist/v2/models/favorite.js +6 -0
  683. package/dist/v2/models/favorite.js.map +1 -0
  684. package/dist/v2/models/index.d.ts +11 -0
  685. package/dist/v2/models/index.d.ts.map +1 -0
  686. package/dist/v2/models/index.js +50 -0
  687. package/dist/v2/models/index.js.map +1 -0
  688. package/dist/v2/models/personalization.d.ts +65 -0
  689. package/dist/v2/models/personalization.d.ts.map +1 -0
  690. package/dist/v2/models/personalization.js +6 -0
  691. package/dist/v2/models/personalization.js.map +1 -0
  692. package/dist/v2/models/referentiel.d.ts +67 -0
  693. package/dist/v2/models/referentiel.d.ts.map +1 -0
  694. package/dist/v2/models/referentiel.js +6 -0
  695. package/dist/v2/models/referentiel.js.map +1 -0
  696. package/dist/v2/models/savedFilter.d.ts +22 -0
  697. package/dist/v2/models/savedFilter.d.ts.map +1 -0
  698. package/dist/v2/models/savedFilter.js +6 -0
  699. package/dist/v2/models/savedFilter.js.map +1 -0
  700. package/dist/v2/patterns/ActionBar.d.ts +137 -0
  701. package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
  702. package/dist/v2/patterns/ActionBar.js +602 -0
  703. package/dist/v2/patterns/ActionBar.js.map +1 -0
  704. package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
  705. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
  706. package/dist/v2/patterns/BulkActionBar.js +154 -0
  707. package/dist/v2/patterns/BulkActionBar.js.map +1 -0
  708. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
  709. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
  710. package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
  711. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  712. package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
  713. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
  714. package/dist/v2/patterns/ColumnsToggle.js +310 -0
  715. package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
  716. package/dist/v2/patterns/DataGrid.d.ts +7 -0
  717. package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
  718. package/dist/v2/patterns/DataGrid.js +834 -0
  719. package/dist/v2/patterns/DataGrid.js.map +1 -0
  720. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
  721. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
  722. package/dist/v2/patterns/DataGridSettingsMenu.js +382 -0
  723. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  724. package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
  725. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
  726. package/dist/v2/patterns/DataGridToolbar.js +256 -0
  727. package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
  728. package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
  729. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
  730. package/dist/v2/patterns/DataGridVirtualized.js +528 -0
  731. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
  732. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
  733. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
  734. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
  735. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  736. package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
  737. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
  738. package/dist/v2/patterns/FavoriteColumn.js +171 -0
  739. package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
  740. package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
  741. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
  742. package/dist/v2/patterns/FavoritesFilter.js +98 -0
  743. package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
  744. package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
  745. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
  746. package/dist/v2/patterns/FormErrorSummary.js +111 -0
  747. package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
  748. package/dist/v2/patterns/FormPageShell.d.ts +55 -0
  749. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
  750. package/dist/v2/patterns/FormPageShell.js +133 -0
  751. package/dist/v2/patterns/FormPageShell.js.map +1 -0
  752. package/dist/v2/patterns/FormSection.d.ts +64 -0
  753. package/dist/v2/patterns/FormSection.d.ts.map +1 -0
  754. package/dist/v2/patterns/FormSection.js +197 -0
  755. package/dist/v2/patterns/FormSection.js.map +1 -0
  756. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
  757. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
  758. package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
  759. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  760. package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
  761. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
  762. package/dist/v2/patterns/FormikCombobox.js +121 -0
  763. package/dist/v2/patterns/FormikCombobox.js.map +1 -0
  764. package/dist/v2/patterns/FormikDatePicker.d.ts +115 -0
  765. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
  766. package/dist/v2/patterns/FormikDatePicker.js +203 -0
  767. package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
  768. package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
  769. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
  770. package/dist/v2/patterns/FormikErrorFocus.js +83 -0
  771. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
  772. package/dist/v2/patterns/FormikFile.d.ts +43 -0
  773. package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
  774. package/dist/v2/patterns/FormikFile.js +156 -0
  775. package/dist/v2/patterns/FormikFile.js.map +1 -0
  776. package/dist/v2/patterns/FormikInput.d.ts +72 -0
  777. package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
  778. package/dist/v2/patterns/FormikInput.js +135 -0
  779. package/dist/v2/patterns/FormikInput.js.map +1 -0
  780. package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
  781. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
  782. package/dist/v2/patterns/FormikReferentielField.js +124 -0
  783. package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
  784. package/dist/v2/patterns/FormikSelect.d.ts +61 -0
  785. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
  786. package/dist/v2/patterns/FormikSelect.js +165 -0
  787. package/dist/v2/patterns/FormikSelect.js.map +1 -0
  788. package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
  789. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
  790. package/dist/v2/patterns/FormikTextarea.js +84 -0
  791. package/dist/v2/patterns/FormikTextarea.js.map +1 -0
  792. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
  793. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
  794. package/dist/v2/patterns/KeyboardShortcutsHelp.js +203 -0
  795. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  796. package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
  797. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
  798. package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
  799. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
  800. package/dist/v2/patterns/PageContent.d.ts +40 -0
  801. package/dist/v2/patterns/PageContent.d.ts.map +1 -0
  802. package/dist/v2/patterns/PageContent.js +69 -0
  803. package/dist/v2/patterns/PageContent.js.map +1 -0
  804. package/dist/v2/patterns/ReferentielField.d.ts +118 -0
  805. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
  806. package/dist/v2/patterns/ReferentielField.js +618 -0
  807. package/dist/v2/patterns/ReferentielField.js.map +1 -0
  808. package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
  809. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
  810. package/dist/v2/patterns/SaveFilterDialog.js +204 -0
  811. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
  812. package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
  813. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
  814. package/dist/v2/patterns/SavedFiltersMenu.js +413 -0
  815. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
  816. package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
  817. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
  818. package/dist/v2/patterns/SkeletonPageShell.js +347 -0
  819. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
  820. package/dist/v2/patterns/SortableHeader.d.ts +47 -0
  821. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
  822. package/dist/v2/patterns/SortableHeader.js +193 -0
  823. package/dist/v2/patterns/SortableHeader.js.map +1 -0
  824. package/dist/v2/patterns/Tour.d.ts +55 -0
  825. package/dist/v2/patterns/Tour.d.ts.map +1 -0
  826. package/dist/v2/patterns/Tour.js +474 -0
  827. package/dist/v2/patterns/Tour.js.map +1 -0
  828. package/dist/v2/patterns/_dataGridShared.d.ts +144 -0
  829. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
  830. package/dist/v2/patterns/_dataGridShared.js +440 -0
  831. package/dist/v2/patterns/_dataGridShared.js.map +1 -0
  832. package/dist/v2/patterns/_sort.d.ts +22 -0
  833. package/dist/v2/patterns/_sort.d.ts.map +1 -0
  834. package/dist/v2/patterns/_sort.js +118 -0
  835. package/dist/v2/patterns/_sort.js.map +1 -0
  836. package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
  837. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
  838. package/dist/v2/patterns/_useColumnReorder.js +264 -0
  839. package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
  840. package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
  841. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
  842. package/dist/v2/patterns/_useColumnResize.js +198 -0
  843. package/dist/v2/patterns/_useColumnResize.js.map +1 -0
  844. package/dist/v2/patterns/index.d.ts +89 -0
  845. package/dist/v2/patterns/index.d.ts.map +1 -0
  846. package/dist/v2/patterns/index.js +246 -0
  847. package/dist/v2/patterns/index.js.map +1 -0
  848. package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
  849. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
  850. package/dist/v2/personalization/PersonalizationProvider.js +177 -0
  851. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
  852. package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
  853. package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
  854. package/dist/v2/personalization/adapters/_storageKey.js +69 -0
  855. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
  856. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
  857. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
  858. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
  859. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  860. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
  861. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
  862. package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
  863. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  864. package/dist/v2/personalization/adapters/index.d.ts +10 -0
  865. package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
  866. package/dist/v2/personalization/adapters/index.js +21 -0
  867. package/dist/v2/personalization/adapters/index.js.map +1 -0
  868. package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
  869. package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
  870. package/dist/v2/personalization/capabilities/favorites.js +223 -0
  871. package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
  872. package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
  873. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
  874. package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
  875. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
  876. package/dist/v2/personalization/capabilities/index.d.ts +16 -0
  877. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
  878. package/dist/v2/personalization/capabilities/index.js +69 -0
  879. package/dist/v2/personalization/capabilities/index.js.map +1 -0
  880. package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
  881. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
  882. package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
  883. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
  884. package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
  885. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
  886. package/dist/v2/personalization/createPersonalizationStore.js +475 -0
  887. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
  888. package/dist/v2/personalization/index.d.ts +33 -0
  889. package/dist/v2/personalization/index.d.ts.map +1 -0
  890. package/dist/v2/personalization/index.js +111 -0
  891. package/dist/v2/personalization/index.js.map +1 -0
  892. package/dist/v2/personalization/personalizationContext.d.ts +78 -0
  893. package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
  894. package/dist/v2/personalization/personalizationContext.js +121 -0
  895. package/dist/v2/personalization/personalizationContext.js.map +1 -0
  896. package/dist/v2/personalization/schema.d.ts +60 -0
  897. package/dist/v2/personalization/schema.d.ts.map +1 -0
  898. package/dist/v2/personalization/schema.js +102 -0
  899. package/dist/v2/personalization/schema.js.map +1 -0
  900. package/dist/v2/personalization/types.d.ts +81 -0
  901. package/dist/v2/personalization/types.d.ts.map +1 -0
  902. package/dist/v2/personalization/types.js +6 -0
  903. package/dist/v2/personalization/types.js.map +1 -0
  904. package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
  905. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
  906. package/dist/v2/referentiel/ReferentielProvider.js +94 -0
  907. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
  908. package/dist/v2/referentiel/index.d.ts +18 -0
  909. package/dist/v2/referentiel/index.d.ts.map +1 -0
  910. package/dist/v2/referentiel/index.js +44 -0
  911. package/dist/v2/referentiel/index.js.map +1 -0
  912. package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
  913. package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
  914. package/dist/v2/referentiel/useReferentielClient.js +46 -0
  915. package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
  916. package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
  917. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
  918. package/dist/v2/referentiel/useReferentielOptions.js +177 -0
  919. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
  920. package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
  921. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
  922. package/dist/v2/referentiel/useReferentielSearch.js +140 -0
  923. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
  924. package/dist/v2/styles/base.css +425 -0
  925. package/dist/v2/styles/css.d.ts +10 -0
  926. package/dist/v2/styles/index.d.ts +12 -0
  927. package/dist/v2/styles/index.d.ts.map +1 -0
  928. package/dist/v2/styles/index.js +4 -0
  929. package/dist/v2/styles/index.js.map +1 -0
  930. package/dist/v2/theme/_brand.d.ts +29 -0
  931. package/dist/v2/theme/_brand.d.ts.map +1 -0
  932. package/dist/v2/theme/_brand.js +69 -0
  933. package/dist/v2/theme/_brand.js.map +1 -0
  934. package/dist/v2/theme/_brandSecondary.d.ts +26 -0
  935. package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
  936. package/dist/v2/theme/_brandSecondary.js +65 -0
  937. package/dist/v2/theme/_brandSecondary.js.map +1 -0
  938. package/dist/v2/theme/createPortnetTheme.d.ts +75 -0
  939. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
  940. package/dist/v2/theme/createPortnetTheme.js +553 -0
  941. package/dist/v2/theme/createPortnetTheme.js.map +1 -0
  942. package/dist/v2/theme/cssVariables.d.ts +41 -0
  943. package/dist/v2/theme/cssVariables.d.ts.map +1 -0
  944. package/dist/v2/theme/cssVariables.js +205 -0
  945. package/dist/v2/theme/cssVariables.js.map +1 -0
  946. package/dist/v2/theme/index.d.ts +33 -0
  947. package/dist/v2/theme/index.d.ts.map +1 -0
  948. package/dist/v2/theme/index.js +60 -0
  949. package/dist/v2/theme/index.js.map +1 -0
  950. package/dist/v2/tokens/breakpoints.d.ts +74 -0
  951. package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
  952. package/dist/v2/tokens/breakpoints.js +114 -0
  953. package/dist/v2/tokens/breakpoints.js.map +1 -0
  954. package/dist/v2/tokens/colors.d.ts +228 -0
  955. package/dist/v2/tokens/colors.d.ts.map +1 -0
  956. package/dist/v2/tokens/colors.js +225 -0
  957. package/dist/v2/tokens/colors.js.map +1 -0
  958. package/dist/v2/tokens/density.d.ts +142 -0
  959. package/dist/v2/tokens/density.d.ts.map +1 -0
  960. package/dist/v2/tokens/density.js +111 -0
  961. package/dist/v2/tokens/density.js.map +1 -0
  962. package/dist/v2/tokens/index.d.ts +556 -0
  963. package/dist/v2/tokens/index.d.ts.map +1 -0
  964. package/dist/v2/tokens/index.js +313 -0
  965. package/dist/v2/tokens/index.js.map +1 -0
  966. package/dist/v2/tokens/motion.d.ts +85 -0
  967. package/dist/v2/tokens/motion.d.ts.map +1 -0
  968. package/dist/v2/tokens/motion.js +94 -0
  969. package/dist/v2/tokens/motion.js.map +1 -0
  970. package/dist/v2/tokens/radius.d.ts +18 -0
  971. package/dist/v2/tokens/radius.d.ts.map +1 -0
  972. package/dist/v2/tokens/radius.js +28 -0
  973. package/dist/v2/tokens/radius.js.map +1 -0
  974. package/dist/v2/tokens/shadows.d.ts +25 -0
  975. package/dist/v2/tokens/shadows.d.ts.map +1 -0
  976. package/dist/v2/tokens/shadows.js +46 -0
  977. package/dist/v2/tokens/shadows.js.map +1 -0
  978. package/dist/v2/tokens/spacing.d.ts +38 -0
  979. package/dist/v2/tokens/spacing.d.ts.map +1 -0
  980. package/dist/v2/tokens/spacing.js +57 -0
  981. package/dist/v2/tokens/spacing.js.map +1 -0
  982. package/dist/v2/tokens/state.d.ts +40 -0
  983. package/dist/v2/tokens/state.d.ts.map +1 -0
  984. package/dist/v2/tokens/state.js +47 -0
  985. package/dist/v2/tokens/state.js.map +1 -0
  986. package/dist/v2/tokens/statusPalette.d.ts +54 -0
  987. package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
  988. package/dist/v2/tokens/statusPalette.js +72 -0
  989. package/dist/v2/tokens/statusPalette.js.map +1 -0
  990. package/dist/v2/tokens/tokens.json +153 -0
  991. package/dist/v2/tokens/typography.d.ts +206 -0
  992. package/dist/v2/tokens/typography.d.ts.map +1 -0
  993. package/dist/v2/tokens/typography.js +155 -0
  994. package/dist/v2/tokens/typography.js.map +1 -0
  995. package/dist/v2/tokens/zIndex.d.ts +33 -0
  996. package/dist/v2/tokens/zIndex.d.ts.map +1 -0
  997. package/dist/v2/tokens/zIndex.js +50 -0
  998. package/dist/v2/tokens/zIndex.js.map +1 -0
  999. package/dist/v2/types/common.d.ts +24 -0
  1000. package/dist/v2/types/common.d.ts.map +1 -0
  1001. package/dist/v2/types/common.js +6 -0
  1002. package/dist/v2/types/common.js.map +1 -0
  1003. package/dist/v2/types/datagrid.d.ts +131 -0
  1004. package/dist/v2/types/datagrid.d.ts.map +1 -0
  1005. package/dist/v2/types/datagrid.js +6 -0
  1006. package/dist/v2/types/datagrid.js.map +1 -0
  1007. package/dist/v2/types/index.d.ts +11 -0
  1008. package/dist/v2/types/index.d.ts.map +1 -0
  1009. package/dist/v2/types/index.js +28 -0
  1010. package/dist/v2/types/index.js.map +1 -0
  1011. package/dist/v2/utils/apiError.d.ts +151 -0
  1012. package/dist/v2/utils/apiError.d.ts.map +1 -0
  1013. package/dist/v2/utils/apiError.js +290 -0
  1014. package/dist/v2/utils/apiError.js.map +1 -0
  1015. package/dist/v2/utils/contrast.d.ts +68 -0
  1016. package/dist/v2/utils/contrast.d.ts.map +1 -0
  1017. package/dist/v2/utils/contrast.js +167 -0
  1018. package/dist/v2/utils/contrast.js.map +1 -0
  1019. package/dist/v2/utils/cx.d.ts +9 -0
  1020. package/dist/v2/utils/cx.d.ts.map +1 -0
  1021. package/dist/v2/utils/cx.js +45 -0
  1022. package/dist/v2/utils/cx.js.map +1 -0
  1023. package/dist/v2/utils/fileDownload.d.ts +94 -0
  1024. package/dist/v2/utils/fileDownload.d.ts.map +1 -0
  1025. package/dist/v2/utils/fileDownload.js +236 -0
  1026. package/dist/v2/utils/fileDownload.js.map +1 -0
  1027. package/dist/v2/utils/fmtMoney.d.ts +28 -0
  1028. package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
  1029. package/dist/v2/utils/fmtMoney.js +84 -0
  1030. package/dist/v2/utils/fmtMoney.js.map +1 -0
  1031. package/dist/v2/utils/index.d.ts +9 -0
  1032. package/dist/v2/utils/index.d.ts.map +1 -0
  1033. package/dist/v2/utils/index.js +97 -0
  1034. package/dist/v2/utils/index.js.map +1 -0
  1035. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  1036. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  1037. package/dist/v2/utils/mergeLabels.js +93 -0
  1038. package/dist/v2/utils/mergeLabels.js.map +1 -0
  1039. package/dist/v2/utils/networkStatus.d.ts +88 -0
  1040. package/dist/v2/utils/networkStatus.d.ts.map +1 -0
  1041. package/dist/v2/utils/networkStatus.js +121 -0
  1042. package/dist/v2/utils/networkStatus.js.map +1 -0
  1043. package/package.json +198 -76
  1044. package/dist/api/guideApi.js +0 -12
  1045. package/dist/api/guideImageService.js +0 -119
  1046. package/dist/api/reclamationApi.js +0 -119
  1047. package/dist/assets/guides/FAQ.json +0 -118
  1048. package/dist/assets/guides/index.js +0 -11
  1049. package/dist/assets/images/tijariaLogo.ico +0 -0
  1050. package/dist/components/buttons/PuiButton.js +0 -217
  1051. package/dist/components/buttons/PuiIconButton.js +0 -98
  1052. package/dist/components/common/PuiAlertContext.js +0 -12
  1053. package/dist/components/common/PuiHelpWidgetContext.js +0 -17
  1054. package/dist/components/common/StyledMuiButton.js +0 -48
  1055. package/dist/components/common/StyledMuiTextField.js +0 -180
  1056. package/dist/components/inputs/PuiAutocomplete.js +0 -352
  1057. package/dist/components/inputs/PuiCheckbox.js +0 -308
  1058. package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
  1059. package/dist/components/inputs/PuiCheckboxItem.js +0 -162
  1060. package/dist/components/inputs/PuiDateField.js +0 -280
  1061. package/dist/components/inputs/PuiDateTimeField.js +0 -276
  1062. package/dist/components/inputs/PuiFileField.js +0 -265
  1063. package/dist/components/inputs/PuiRadioGroup.js +0 -197
  1064. package/dist/components/inputs/PuiRadioItem.js +0 -100
  1065. package/dist/components/inputs/PuiSelect.js +0 -427
  1066. package/dist/components/inputs/PuiTextField.js +0 -263
  1067. package/dist/components/others/PuiBadge.js +0 -58
  1068. package/dist/components/others/PuiChip.js +0 -150
  1069. package/dist/components/others/PuiDialog.js +0 -102
  1070. package/dist/components/others/PuiFormikForm.js +0 -70
  1071. package/dist/components/others/PuiGrid.js +0 -23
  1072. package/dist/components/others/PuiIcon.js +0 -92
  1073. package/dist/components/others/PuiLoadingBackdrop.js +0 -32
  1074. package/dist/components/others/PuiMainContainer.js +0 -41
  1075. package/dist/components/others/PuiNavigation.js +0 -68
  1076. package/dist/components/others/PuiSection.js +0 -187
  1077. package/dist/components/others/PuiTooltip.js +0 -86
  1078. package/dist/components/providers/PuiAlertProvider.js +0 -134
  1079. package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
  1080. package/dist/components/providers/PuiLocalizationProvider.js +0 -34
  1081. package/dist/components/referentiel/common/ReferetielContext.js +0 -12
  1082. package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
  1083. package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
  1084. package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
  1085. package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
  1086. package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
  1087. package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
  1088. package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
  1089. package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
  1090. package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
  1091. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
  1092. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
  1093. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
  1094. package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
  1095. package/dist/components/tab/PuiTab.js +0 -25
  1096. package/dist/components/tab/PuiTabs.js +0 -148
  1097. package/dist/components/table/PuiTable.js +0 -643
  1098. package/dist/components/table/PuiTableAction.js +0 -75
  1099. package/dist/components/typography/PuiDefinition.js +0 -42
  1100. package/dist/components/typography/PuiIndication.js +0 -80
  1101. package/dist/components/typography/PuiMainTitle.js +0 -144
  1102. package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
  1103. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
  1104. package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
  1105. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
  1106. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
  1107. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
  1108. package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
  1109. package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
  1110. package/dist/components/widgets/GuideImage.js +0 -251
  1111. package/dist/components/widgets/PuiHelpWidget.js +0 -4276
  1112. package/dist/config/apperance.js +0 -26
  1113. package/dist/config/mapping.js +0 -26
  1114. package/dist/config/referentiel.js +0 -10
  1115. package/dist/general/yupValidationErrors.js +0 -8
  1116. package/dist/hooks/useAlert.js +0 -19
  1117. package/dist/hooks/useAxios.js +0 -23
  1118. package/dist/hooks/useQuery.js +0 -21
  1119. package/dist/hooks/useReclamation.js +0 -116
  1120. package/dist/styles/ReclamationFormModal.css +0 -629
  1121. package/dist/styles/help-widget.css +0 -621
@@ -0,0 +1,22 @@
1
+ /**
2
+ * useDelayedFlag — Portnet UI v2
3
+ *
4
+ * Returns `true` only when `active` has been continuously true for
5
+ * at least `delayMs` ms. Resets to `false` the moment `active` flips
6
+ * back to false. Charter R-Sk.1 — perception threshold.
7
+ *
8
+ * const showSkeleton = useDelayedFlag(loading);
9
+ * if (showSkeleton) return <Skeleton />;
10
+ * if (loading) return null; // sub-threshold, render nothing
11
+ * return <Data rows={rows} />;
12
+ *
13
+ * Use when:
14
+ * - You want to delay showing a loading affordance (skeleton,
15
+ * spinner overlay, "Loading…" text) until the user actually
16
+ * perceives the wait.
17
+ * - The flag has no tab/key semantics. For tab-aware loading
18
+ * (preserves across tab swap to avoid flicker between two
19
+ * consecutive skeletons), use `useTabLoading`.
20
+ */
21
+ export default function useDelayedFlag(active: boolean, delayMs?: number): boolean;
22
+ //# sourceMappingURL=useDelayedFlag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDelayedFlag.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/hooks/useDelayedFlag.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CACpC,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,MAAgC,GACxC,OAAO,CAkBT"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = useDelayedFlag;
7
+ var _react = require("react");
8
+ var _useTabLoading = require("./useTabLoading");
9
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
13
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
14
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
+ /**
16
+ * useDelayedFlag — Portnet UI v2
17
+ *
18
+ * Returns `true` only when `active` has been continuously true for
19
+ * at least `delayMs` ms. Resets to `false` the moment `active` flips
20
+ * back to false. Charter R-Sk.1 — perception threshold.
21
+ *
22
+ * const showSkeleton = useDelayedFlag(loading);
23
+ * if (showSkeleton) return <Skeleton />;
24
+ * if (loading) return null; // sub-threshold, render nothing
25
+ * return <Data rows={rows} />;
26
+ *
27
+ * Use when:
28
+ * - You want to delay showing a loading affordance (skeleton,
29
+ * spinner overlay, "Loading…" text) until the user actually
30
+ * perceives the wait.
31
+ * - The flag has no tab/key semantics. For tab-aware loading
32
+ * (preserves across tab swap to avoid flicker between two
33
+ * consecutive skeletons), use `useTabLoading`.
34
+ */
35
+ function useDelayedFlag(active) {
36
+ var delayMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _useTabLoading.PERCEPTION_THRESHOLD_MS;
37
+ var _useState = (0, _react.useState)(false),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ delayed = _useState2[0],
40
+ setDelayed = _useState2[1];
41
+ (0, _react.useEffect)(function () {
42
+ if (!active) {
43
+ // Inactive — drop any in-flight delayed flag immediately so
44
+ // the consumer can render the success path without waiting.
45
+ setDelayed(false);
46
+ return undefined;
47
+ }
48
+ // Schedule the flag flip. If `active` resolves false before the
49
+ // timer fires, cleanup clears the timer and the flag never goes
50
+ // true (the perception-threshold contract).
51
+ var t = setTimeout(function () {
52
+ return setDelayed(true);
53
+ }, delayMs);
54
+ return function () {
55
+ return clearTimeout(t);
56
+ };
57
+ }, [active, delayMs]);
58
+ return delayed;
59
+ }
60
+ //# sourceMappingURL=useDelayedFlag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDelayedFlag.js","names":["_react","require","_useTabLoading","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","useDelayedFlag","active","delayMs","arguments","undefined","PERCEPTION_THRESHOLD_MS","_useState","useState","_useState2","delayed","setDelayed","useEffect","t","setTimeout","clearTimeout"],"sources":["../../../src/lib/v2/hooks/useDelayedFlag.ts"],"sourcesContent":["import { useState, useEffect } from \"react\";\r\nimport { PERCEPTION_THRESHOLD_MS } from \"./useTabLoading\";\r\n\r\n/**\r\n * useDelayedFlag — Portnet UI v2\r\n *\r\n * Returns `true` only when `active` has been continuously true for\r\n * at least `delayMs` ms. Resets to `false` the moment `active` flips\r\n * back to false. Charter R-Sk.1 — perception threshold.\r\n *\r\n * const showSkeleton = useDelayedFlag(loading);\r\n * if (showSkeleton) return <Skeleton />;\r\n * if (loading) return null; // sub-threshold, render nothing\r\n * return <Data rows={rows} />;\r\n *\r\n * Use when:\r\n * - You want to delay showing a loading affordance (skeleton,\r\n * spinner overlay, \"Loading…\" text) until the user actually\r\n * perceives the wait.\r\n * - The flag has no tab/key semantics. For tab-aware loading\r\n * (preserves across tab swap to avoid flicker between two\r\n * consecutive skeletons), use `useTabLoading`.\r\n */\r\nexport default function useDelayedFlag(\r\n active: boolean,\r\n delayMs: number = PERCEPTION_THRESHOLD_MS\r\n): boolean {\r\n const [delayed, setDelayed] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!active) {\r\n // Inactive — drop any in-flight delayed flag immediately so\r\n // the consumer can render the success path without waiting.\r\n setDelayed(false);\r\n return undefined;\r\n }\r\n // Schedule the flag flip. If `active` resolves false before the\r\n // timer fires, cleanup clears the timer and the flag never goes\r\n // true (the perception-threshold contract).\r\n const t = setTimeout(() => setDelayed(true), delayMs);\r\n return () => clearTimeout(t);\r\n }, [active, delayMs]);\r\n\r\n return delayed;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * useDensity — Portnet UI v2
3
+ *
4
+ * Reads / writes the user's density preference (charter R-DG.11).
5
+ * Applies it as `data-density` on <html> so all density-aware
6
+ * tokens cascade.
7
+ *
8
+ * const [density, setDensity] = useDensity();
9
+ * <button onClick={() => setDensity(density === "compact" ? "comfortable" : "compact")} />
10
+ *
11
+ * Synchronisation guarantees
12
+ * - Multi-instance same-tab: every useDensity() consumer sees
13
+ * the same value at all times. Implemented via a module-level
14
+ * subscriber set fed by useSyncExternalStore.
15
+ * - Cross-tab: a `storage` event listener at module load
16
+ * propagates updates from sibling tabs sharing the origin.
17
+ * - SSR-safe: server snapshot returns the DEFAULT; all DOM and
18
+ * storage interactions are guarded.
19
+ */
20
+ type DensityPref = "comfortable" | "compact";
21
+ export default function useDensity(): [DensityPref, (value: DensityPref) => void];
22
+ export {};
23
+ //# sourceMappingURL=useDensity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDensity.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/hooks/useDensity.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,KAAK,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC;AAiG7C,MAAM,CAAC,OAAO,UAAU,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,CAGhF"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = useDensity;
7
+ var _react = require("react");
8
+ /**
9
+ * useDensity — Portnet UI v2
10
+ *
11
+ * Reads / writes the user's density preference (charter R-DG.11).
12
+ * Applies it as `data-density` on <html> so all density-aware
13
+ * tokens cascade.
14
+ *
15
+ * const [density, setDensity] = useDensity();
16
+ * <button onClick={() => setDensity(density === "compact" ? "comfortable" : "compact")} />
17
+ *
18
+ * Synchronisation guarantees
19
+ * - Multi-instance same-tab: every useDensity() consumer sees
20
+ * the same value at all times. Implemented via a module-level
21
+ * subscriber set fed by useSyncExternalStore.
22
+ * - Cross-tab: a `storage` event listener at module load
23
+ * propagates updates from sibling tabs sharing the origin.
24
+ * - SSR-safe: server snapshot returns the DEFAULT; all DOM and
25
+ * storage interactions are guarded.
26
+ */
27
+
28
+ var STORAGE_KEY = "portnet-ui-density";
29
+ var DEFAULT = "comfortable";
30
+ var VALID = Object.freeze(["comfortable", "compact"]);
31
+ var VALID_SET = new Set(VALID);
32
+ function isDensityPref(v) {
33
+ return typeof v === "string" && VALID_SET.has(v);
34
+ }
35
+
36
+ /* ── Module-level store ───────────────────────────────── */
37
+
38
+ /** Source of truth. Lazy-read from storage at module load on the client. */
39
+ var memoryValue = readInitialValue();
40
+
41
+ /** Active hook subscribers — notified on every value change. */
42
+ var subscribers = new Set();
43
+ function readInitialValue() {
44
+ if (typeof window === "undefined") return DEFAULT;
45
+ try {
46
+ var raw = window.localStorage.getItem(STORAGE_KEY);
47
+ return isDensityPref(raw) ? raw : DEFAULT;
48
+ } catch (_unused) {
49
+ return DEFAULT;
50
+ }
51
+ }
52
+ function applyToDom(value) {
53
+ if (typeof document === "undefined") return;
54
+ document.documentElement.dataset["density"] = value;
55
+ }
56
+
57
+ /** Apply the initial value to the DOM at module load (client-side). */
58
+ applyToDom(memoryValue);
59
+
60
+ /* Cross-tab sync. The `storage` event fires in OTHER tabs only —
61
+ * the writing tab is informed via the in-memory subscribers path. */
62
+ if (typeof window !== "undefined") {
63
+ window.addEventListener("storage", function (e) {
64
+ if (e.key !== STORAGE_KEY) return;
65
+ if (!isDensityPref(e.newValue)) return;
66
+ if (e.newValue === memoryValue) return;
67
+ memoryValue = e.newValue;
68
+ applyToDom(memoryValue);
69
+ // No storage write here — the originating tab already wrote.
70
+ notify();
71
+ });
72
+ }
73
+ function notify() {
74
+ // Iterate a snapshot — a subscriber that unmounts during notify
75
+ // would otherwise mutate the Set under iteration.
76
+ for (var _i = 0, _Array$from = Array.from(subscribers); _i < _Array$from.length; _i++) {
77
+ var cb = _Array$from[_i];
78
+ cb();
79
+ }
80
+ }
81
+ function subscribe(callback) {
82
+ subscribers.add(callback);
83
+ return function () {
84
+ return subscribers["delete"](callback);
85
+ };
86
+ }
87
+ function getSnapshot() {
88
+ return memoryValue;
89
+ }
90
+ function getServerSnapshot() {
91
+ return DEFAULT;
92
+ }
93
+
94
+ /* ── Setter (module-level so identity is stable across renders) ── */
95
+
96
+ /**
97
+ * Set the density preference. Ignores invalid values silently
98
+ * (consumer-supplied data sanitation is not this hook's job) and
99
+ * short-circuits when the value is unchanged.
100
+ */
101
+ function setDensityValue(value) {
102
+ if (!VALID_SET.has(value)) return;
103
+ if (value === memoryValue) return;
104
+ memoryValue = value;
105
+ applyToDom(value);
106
+ if (typeof window !== "undefined") {
107
+ try {
108
+ window.localStorage.setItem(STORAGE_KEY, value);
109
+ } catch (err) {
110
+ // Quota, private mode, or sandboxed iframe — preference is
111
+ // applied for this session but won't persist. Surface in dev.
112
+ if (typeof console !== "undefined" && console.warn) {
113
+ // eslint-disable-next-line no-console
114
+ console.warn("[@portnet/ui v2] useDensity: localStorage write failed", err);
115
+ }
116
+ }
117
+ }
118
+ notify();
119
+ }
120
+ function useDensity() {
121
+ var density = (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
122
+ return [density, setDensityValue];
123
+ }
124
+ //# sourceMappingURL=useDensity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDensity.js","names":["_react","require","STORAGE_KEY","DEFAULT","VALID","Object","freeze","VALID_SET","Set","isDensityPref","v","has","memoryValue","readInitialValue","subscribers","window","raw","localStorage","getItem","_unused","applyToDom","value","document","documentElement","dataset","addEventListener","e","key","newValue","notify","_i","_Array$from","Array","from","length","cb","subscribe","callback","add","getSnapshot","getServerSnapshot","setDensityValue","setItem","err","console","warn","useDensity","density","useSyncExternalStore"],"sources":["../../../src/lib/v2/hooks/useDensity.ts"],"sourcesContent":["import { useSyncExternalStore } from \"react\";\r\n\r\n/**\r\n * useDensity — Portnet UI v2\r\n *\r\n * Reads / writes the user's density preference (charter R-DG.11).\r\n * Applies it as `data-density` on <html> so all density-aware\r\n * tokens cascade.\r\n *\r\n * const [density, setDensity] = useDensity();\r\n * <button onClick={() => setDensity(density === \"compact\" ? \"comfortable\" : \"compact\")} />\r\n *\r\n * Synchronisation guarantees\r\n * - Multi-instance same-tab: every useDensity() consumer sees\r\n * the same value at all times. Implemented via a module-level\r\n * subscriber set fed by useSyncExternalStore.\r\n * - Cross-tab: a `storage` event listener at module load\r\n * propagates updates from sibling tabs sharing the origin.\r\n * - SSR-safe: server snapshot returns the DEFAULT; all DOM and\r\n * storage interactions are guarded.\r\n */\r\n\r\ntype DensityPref = \"comfortable\" | \"compact\";\r\n\r\nconst STORAGE_KEY = \"portnet-ui-density\";\r\nconst DEFAULT: DensityPref = \"comfortable\";\r\nconst VALID = Object.freeze([\"comfortable\", \"compact\"]);\r\nconst VALID_SET = new Set<string>(VALID);\r\n\r\nfunction isDensityPref(v: unknown): v is DensityPref {\r\n return typeof v === \"string\" && VALID_SET.has(v);\r\n}\r\n\r\n/* ── Module-level store ───────────────────────────────── */\r\n\r\n/** Source of truth. Lazy-read from storage at module load on the client. */\r\nlet memoryValue: DensityPref = readInitialValue();\r\n\r\n/** Active hook subscribers — notified on every value change. */\r\nconst subscribers = new Set<() => void>();\r\n\r\nfunction readInitialValue(): DensityPref {\r\n if (typeof window === \"undefined\") return DEFAULT;\r\n try {\r\n const raw = window.localStorage.getItem(STORAGE_KEY);\r\n return isDensityPref(raw) ? raw : DEFAULT;\r\n } catch {\r\n return DEFAULT;\r\n }\r\n}\r\n\r\nfunction applyToDom(value: DensityPref): void {\r\n if (typeof document === \"undefined\") return;\r\n document.documentElement.dataset[\"density\"] = value;\r\n}\r\n\r\n/** Apply the initial value to the DOM at module load (client-side). */\r\napplyToDom(memoryValue);\r\n\r\n/* Cross-tab sync. The `storage` event fires in OTHER tabs only —\r\n * the writing tab is informed via the in-memory subscribers path. */\r\nif (typeof window !== \"undefined\") {\r\n window.addEventListener(\"storage\", (e) => {\r\n if (e.key !== STORAGE_KEY) return;\r\n if (!isDensityPref(e.newValue)) return;\r\n if (e.newValue === memoryValue) return;\r\n memoryValue = e.newValue;\r\n applyToDom(memoryValue);\r\n // No storage write here — the originating tab already wrote.\r\n notify();\r\n });\r\n}\r\n\r\nfunction notify(): void {\r\n // Iterate a snapshot — a subscriber that unmounts during notify\r\n // would otherwise mutate the Set under iteration.\r\n for (const cb of Array.from(subscribers)) cb();\r\n}\r\n\r\nfunction subscribe(callback: () => void): () => void {\r\n subscribers.add(callback);\r\n return () => subscribers.delete(callback);\r\n}\r\n\r\nfunction getSnapshot(): DensityPref {\r\n return memoryValue;\r\n}\r\n\r\nfunction getServerSnapshot(): DensityPref {\r\n return DEFAULT;\r\n}\r\n\r\n/* ── Setter (module-level so identity is stable across renders) ── */\r\n\r\n/**\r\n * Set the density preference. Ignores invalid values silently\r\n * (consumer-supplied data sanitation is not this hook's job) and\r\n * short-circuits when the value is unchanged.\r\n */\r\nfunction setDensityValue(value: DensityPref): void {\r\n if (!VALID_SET.has(value)) return;\r\n if (value === memoryValue) return;\r\n memoryValue = value;\r\n applyToDom(value);\r\n if (typeof window !== \"undefined\") {\r\n try {\r\n window.localStorage.setItem(STORAGE_KEY, value);\r\n } catch (err) {\r\n // Quota, private mode, or sandboxed iframe — preference is\r\n // applied for this session but won't persist. Surface in dev.\r\n if (typeof console !== \"undefined\" && console.warn) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\"[@portnet/ui v2] useDensity: localStorage write failed\", err);\r\n }\r\n }\r\n }\r\n notify();\r\n}\r\n\r\nexport default function useDensity(): [DensityPref, (value: DensityPref) => void] {\r\n const density = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\r\n return [density, setDensityValue];\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * useFocusFirstError — Portnet UI v2
3
+ *
4
+ * Charter §05.3 R-F.3 MUST — "Submit form échoué → focus sur premier champ
5
+ * en erreur". Charter §04.1 R-FV.3 MUST — "Scroll auto vers premier champ
6
+ * en erreur + focus". Both are the same behaviour; this is it, once.
7
+ *
8
+ * Formik-FREE on purpose, exactly like useFormAutoSave: the caller passes
9
+ * `errors`, `submitCount` and the rendered field order as plain values.
10
+ * Formik coupling belongs in patterns/ — use <FormikErrorFocus /> when the
11
+ * form is a Formik form and this hook directly when it is not (a manual
12
+ * "Ajouter" guard, a non-Formik dropzone section, a reducer-driven form).
13
+ *
14
+ * // Formik form — prefer the pattern, which wires this for you:
15
+ * <FormikErrorFocus order={["numeroFacture", "fournisseur", "dateFacture"]} />
16
+ *
17
+ * // Manual guard — call the imperative helper directly:
18
+ * const missing = requiredFields.filter((f) => !f.value);
19
+ * if (missing.length > 0) {
20
+ * missing.forEach((f) => setFieldError(f.name, REQUIRED));
21
+ * focusFieldByName(missing[0].name);
22
+ * return;
23
+ * }
24
+ *
25
+ * ── WHY THE `[id=]` LOOKUP COMES FIRST ──────────────────────────────
26
+ *
27
+ * Hosts have consistently written `[name="<field>"]`, which is wrong for
28
+ * most v2 fields. The Formik bridges wrap their control in Field, which
29
+ * does `htmlFor={htmlFor || name}` and then
30
+ * `cloneElement(child, { id: inputId })` — so the field NAME is published
31
+ * as the control's `id`, and whether it also appears as `name` depends
32
+ * entirely on which primitive is underneath. It does for Input/Textarea.
33
+ * It does not for Select, Combobox, DatePicker or ReferentielField.
34
+ *
35
+ * A `[name=]`-only selector therefore fails precisely on the compound
36
+ * fields, silently — the call runs, matches nothing, and the form reads as
37
+ * compliant. `[id=]` is guaranteed by the Field contract for every bridge,
38
+ * so it is tried first; `[name=]` and `[data-field=]` remain as fallbacks
39
+ * for hand-rolled controls that never went through Field.
40
+ *
41
+ * ── WHAT THIS DELIBERATELY DOES NOT DO ──────────────────────────────
42
+ *
43
+ * It does not focus a control it cannot see. A field inside a collapsed
44
+ * <details> (Accordion.Item) or a display:none branch has no client rects,
45
+ * and focusing it would scroll the page to an invisible target and strand
46
+ * the user with no visible focus ring. `focusFieldByName` returns false in
47
+ * that case and dev-warns rather than guessing — the inline error
48
+ * (role="alert" via Field) still carries the message, and R-FV.2's summary
49
+ * banner (FormErrorSummary) is the right affordance for reaching a field
50
+ * in a closed section.
51
+ *
52
+ * It also does not announce anything. Field already renders its error with
53
+ * role="alert"; a second live region would double-announce.
54
+ */
55
+ /** Options for the imperative helper. */
56
+ export type FocusFieldOptions = {
57
+ /**
58
+ * Scroll the resolved control into view before focusing.
59
+ *
60
+ * `behavior: "auto"` always — never "smooth". R-Tg.2 caps animation at
61
+ * 0.01 ms under prefers-reduced-motion, and a smooth scroll triggered by
62
+ * a failed submit is exactly the motion that rule exists to suppress.
63
+ *
64
+ * @default true
65
+ */
66
+ scroll?: boolean | undefined;
67
+ };
68
+ export type UseFocusFirstErrorOptions = {
69
+ /**
70
+ * Field name -> error. Formik's `errors` satisfies this directly.
71
+ *
72
+ * Only truthiness is read, so any error shape works (string, node,
73
+ * nested object).
74
+ */
75
+ errors?: Readonly<Record<string, unknown>> | undefined;
76
+ /**
77
+ * Field names in RENDERED order — top-to-bottom as the user sees them.
78
+ *
79
+ * SUPPLY THIS. Without it the order falls back to `Object.keys(errors)`,
80
+ * which is the order the validator happened to write its keys in and has
81
+ * no relationship to the layout; "first field in error" then means
82
+ * "whichever field Yup reached first", which can be the last one on
83
+ * screen.
84
+ */
85
+ order?: readonly string[] | undefined;
86
+ /**
87
+ * Submit attempt counter. Formik's `submitCount`.
88
+ *
89
+ * This is the TRIGGER: focus moves when it increases, never on an
90
+ * ordinary re-render. Without it a persisting error would re-steal focus
91
+ * every time the component re-rendered, which is worse than not moving
92
+ * focus at all.
93
+ */
94
+ submitCount?: number | undefined;
95
+ /** @default true */
96
+ enabled?: boolean | undefined;
97
+ /** @default true */
98
+ scroll?: boolean | undefined;
99
+ };
100
+ /**
101
+ * Focus the control registered under `name`, resolving it the way the v2
102
+ * Field contract publishes it.
103
+ *
104
+ * @returns true when a visible, enabled control was focused. False means
105
+ * nothing matched, or the match was hidden or disabled — the
106
+ * caller should keep its inline error and, ideally, render
107
+ * FormErrorSummary so the field is still reachable.
108
+ */
109
+ export declare function focusFieldByName(name: string, options?: FocusFieldOptions): boolean;
110
+ /**
111
+ * Move focus to the first field in error after each failed submit.
112
+ *
113
+ * Fires when `submitCount` increases AND an error is present. The two
114
+ * conditions are separate on purpose: Formik increments submitCount before
115
+ * async validation resolves, so on the render where the counter changes
116
+ * `errors` can still be empty. Marking the attempt handled only once an
117
+ * error is actually found lets the effect re-run when the errors land,
118
+ * without re-firing for the same attempt afterwards.
119
+ */
120
+ export default function useFocusFirstError({ errors, order, submitCount, enabled, scroll, }: UseFocusFirstErrorOptions): void;
121
+ //# sourceMappingURL=useFocusFirstError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusFirstError.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/hooks/useFocusFirstError.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,yCAAyC;AACzC,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IACvD;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,oBAAoB;IACpB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B,CAAC;AA6CF;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CA4CT;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,MAAM,EACN,KAAK,EACL,WAAe,EACf,OAAc,EACd,MAAa,GACd,EAAE,yBAAyB,GAAG,IAAI,CAyClC"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = useFocusFirstError;
7
+ exports.focusFieldByName = focusFieldByName;
8
+ var _react = require("react");
9
+ /**
10
+ * useFocusFirstError — Portnet UI v2
11
+ *
12
+ * Charter §05.3 R-F.3 MUST — "Submit form échoué → focus sur premier champ
13
+ * en erreur". Charter §04.1 R-FV.3 MUST — "Scroll auto vers premier champ
14
+ * en erreur + focus". Both are the same behaviour; this is it, once.
15
+ *
16
+ * Formik-FREE on purpose, exactly like useFormAutoSave: the caller passes
17
+ * `errors`, `submitCount` and the rendered field order as plain values.
18
+ * Formik coupling belongs in patterns/ — use <FormikErrorFocus /> when the
19
+ * form is a Formik form and this hook directly when it is not (a manual
20
+ * "Ajouter" guard, a non-Formik dropzone section, a reducer-driven form).
21
+ *
22
+ * // Formik form — prefer the pattern, which wires this for you:
23
+ * <FormikErrorFocus order={["numeroFacture", "fournisseur", "dateFacture"]} />
24
+ *
25
+ * // Manual guard — call the imperative helper directly:
26
+ * const missing = requiredFields.filter((f) => !f.value);
27
+ * if (missing.length > 0) {
28
+ * missing.forEach((f) => setFieldError(f.name, REQUIRED));
29
+ * focusFieldByName(missing[0].name);
30
+ * return;
31
+ * }
32
+ *
33
+ * ── WHY THE `[id=]` LOOKUP COMES FIRST ──────────────────────────────
34
+ *
35
+ * Hosts have consistently written `[name="<field>"]`, which is wrong for
36
+ * most v2 fields. The Formik bridges wrap their control in Field, which
37
+ * does `htmlFor={htmlFor || name}` and then
38
+ * `cloneElement(child, { id: inputId })` — so the field NAME is published
39
+ * as the control's `id`, and whether it also appears as `name` depends
40
+ * entirely on which primitive is underneath. It does for Input/Textarea.
41
+ * It does not for Select, Combobox, DatePicker or ReferentielField.
42
+ *
43
+ * A `[name=]`-only selector therefore fails precisely on the compound
44
+ * fields, silently — the call runs, matches nothing, and the form reads as
45
+ * compliant. `[id=]` is guaranteed by the Field contract for every bridge,
46
+ * so it is tried first; `[name=]` and `[data-field=]` remain as fallbacks
47
+ * for hand-rolled controls that never went through Field.
48
+ *
49
+ * ── WHAT THIS DELIBERATELY DOES NOT DO ──────────────────────────────
50
+ *
51
+ * It does not focus a control it cannot see. A field inside a collapsed
52
+ * <details> (Accordion.Item) or a display:none branch has no client rects,
53
+ * and focusing it would scroll the page to an invisible target and strand
54
+ * the user with no visible focus ring. `focusFieldByName` returns false in
55
+ * that case and dev-warns rather than guessing — the inline error
56
+ * (role="alert" via Field) still carries the message, and R-FV.2's summary
57
+ * banner (FormErrorSummary) is the right affordance for reaching a field
58
+ * in a closed section.
59
+ *
60
+ * It also does not announce anything. Field already renders its error with
61
+ * role="alert"; a second live region would double-announce.
62
+ */
63
+
64
+ /** Options for the imperative helper. */
65
+
66
+ /**
67
+ * Focusable descendants, for the case where the resolved element is a
68
+ * wrapper rather than the control itself. Excludes tabindex="-1", which is
69
+ * programmatically focusable but deliberately out of the tab order — landing
70
+ * there would put the user somewhere Tab cannot return to.
71
+ */
72
+ var FOCUSABLE_WITHIN = 'input,select,textarea,button,[href],[tabindex]:not([tabindex="-1"])';
73
+
74
+ /**
75
+ * Escape a value for use inside an attribute selector.
76
+ *
77
+ * CSS.escape where available, with a manual quote/backslash escape as the
78
+ * fallback — same guard shape DataGrid uses for its reorder-grip lookup.
79
+ * Field names are developer-authored, so this is robustness rather than a
80
+ * sanitisation boundary.
81
+ */
82
+ function escapeAttributeValue(value) {
83
+ if (typeof window !== "undefined" && window.CSS && typeof window.CSS.escape === "function") {
84
+ return window.CSS.escape(value);
85
+ }
86
+ return value.replace(/["\\]/g, "\\$&");
87
+ }
88
+
89
+ /**
90
+ * Is this element something a user can actually be sent to?
91
+ *
92
+ * `getClientRects().length === 0` is what excludes a field inside a
93
+ * collapsed <details> or a display:none branch. offsetParent alone is not
94
+ * enough — it is also null for position:fixed elements, which are visible.
95
+ */
96
+ function isFocusableNow(el) {
97
+ if (!(el instanceof HTMLElement)) return false;
98
+ if (el.hasAttribute("disabled")) return false;
99
+ if (el.getAttribute("aria-hidden") === "true") return false;
100
+ if (el.getClientRects().length === 0) return false;
101
+ return true;
102
+ }
103
+
104
+ /**
105
+ * Focus the control registered under `name`, resolving it the way the v2
106
+ * Field contract publishes it.
107
+ *
108
+ * @returns true when a visible, enabled control was focused. False means
109
+ * nothing matched, or the match was hidden or disabled — the
110
+ * caller should keep its inline error and, ideally, render
111
+ * FormErrorSummary so the field is still reachable.
112
+ */
113
+ function focusFieldByName(name) {
114
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
115
+ if (typeof document === "undefined") return false;
116
+ if (!name) return false;
117
+ var escaped = escapeAttributeValue(name);
118
+
119
+ /* Order matters — see the `[id=]` note in the module docstring. */
120
+ var selectors = ["[id=\"".concat(escaped, "\"]"), "[name=\"".concat(escaped, "\"]"), "[data-field=\"".concat(escaped, "\"]")];
121
+ for (var _i = 0, _selectors = selectors; _i < _selectors.length; _i++) {
122
+ var selector = _selectors[_i];
123
+ var host = null;
124
+ try {
125
+ host = document.querySelector(selector);
126
+ } catch (_unused) {
127
+ /* Malformed selector — try the next shape rather than throwing into
128
+ the caller's validation branch. */
129
+ host = null;
130
+ }
131
+ if (host === null) continue;
132
+ var target = isFocusableNow(host) ? host : host.querySelector(FOCUSABLE_WITHIN);
133
+ if (!isFocusableNow(target)) continue;
134
+ if (options.scroll !== false) {
135
+ try {
136
+ target.scrollIntoView({
137
+ block: "center",
138
+ behavior: "auto"
139
+ });
140
+ } catch (_unused2) {
141
+ /* jsdom and older Safari lack the options overload. Focus below
142
+ still scrolls the control into view natively. */
143
+ }
144
+ }
145
+ target.focus();
146
+ return true;
147
+ }
148
+ return false;
149
+ }
150
+
151
+ /**
152
+ * Move focus to the first field in error after each failed submit.
153
+ *
154
+ * Fires when `submitCount` increases AND an error is present. The two
155
+ * conditions are separate on purpose: Formik increments submitCount before
156
+ * async validation resolves, so on the render where the counter changes
157
+ * `errors` can still be empty. Marking the attempt handled only once an
158
+ * error is actually found lets the effect re-run when the errors land,
159
+ * without re-firing for the same attempt afterwards.
160
+ */
161
+ function useFocusFirstError(_ref) {
162
+ var errors = _ref.errors,
163
+ order = _ref.order,
164
+ _ref$submitCount = _ref.submitCount,
165
+ submitCount = _ref$submitCount === void 0 ? 0 : _ref$submitCount,
166
+ _ref$enabled = _ref.enabled,
167
+ enabled = _ref$enabled === void 0 ? true : _ref$enabled,
168
+ _ref$scroll = _ref.scroll,
169
+ scroll = _ref$scroll === void 0 ? true : _ref$scroll;
170
+ /** Highest submitCount already acted on. */
171
+ var handledRef = (0, _react.useRef)(0);
172
+ (0, _react.useEffect)(function () {
173
+ if (!enabled) return undefined;
174
+ if (submitCount <= handledRef.current) return undefined;
175
+ if (!errors) return undefined;
176
+ var names = order !== undefined && order.length > 0 ? order : Object.keys(errors);
177
+ var first = names.find(function (name) {
178
+ return Boolean(errors[name]);
179
+ });
180
+
181
+ /* No error yet: either validation is still in flight for this attempt,
182
+ or it passed. Leave handledRef alone so a later errors update for the
183
+ SAME attempt is still honoured. */
184
+ if (first === undefined) return undefined;
185
+ handledRef.current = submitCount;
186
+
187
+ /* One frame, so the inline errors have rendered and the target exists
188
+ and is measurable before it is focused and scrolled to. */
189
+ var frame = requestAnimationFrame(function () {
190
+ var focused = focusFieldByName(first, {
191
+ scroll: scroll
192
+ });
193
+ if (!focused && process.env["NODE_ENV"] !== "production") {
194
+ // eslint-disable-next-line no-console
195
+ console.warn("[v2.useFocusFirstError] Could not focus \"".concat(first, "\" \u2014 no visible, ") + "enabled control matched [id], [name] or [data-field]. Either the " + "field is in a collapsed section, or its control does not publish " + "the field name (a hand-rolled control that skips Field). R-F.3 is " + "NOT satisfied for this field; render FormErrorSummary (R-FV.2) so " + "it stays reachable.");
196
+ }
197
+ });
198
+ return function () {
199
+ return cancelAnimationFrame(frame);
200
+ };
201
+ }, [errors, order, submitCount, enabled, scroll]);
202
+ }
203
+ //# sourceMappingURL=useFocusFirstError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusFirstError.js","names":["_react","require","FOCUSABLE_WITHIN","escapeAttributeValue","value","window","CSS","escape","replace","isFocusableNow","el","HTMLElement","hasAttribute","getAttribute","getClientRects","length","focusFieldByName","name","options","arguments","undefined","document","escaped","selectors","concat","_i","_selectors","selector","host","querySelector","_unused","target","scroll","scrollIntoView","block","behavior","_unused2","focus","useFocusFirstError","_ref","errors","order","_ref$submitCount","submitCount","_ref$enabled","enabled","_ref$scroll","handledRef","useRef","useEffect","current","names","Object","keys","first","find","Boolean","frame","requestAnimationFrame","focused","process","env","console","warn","cancelAnimationFrame"],"sources":["../../../src/lib/v2/hooks/useFocusFirstError.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\r\n\r\n/**\r\n * useFocusFirstError — Portnet UI v2\r\n *\r\n * Charter §05.3 R-F.3 MUST — \"Submit form échoué → focus sur premier champ\r\n * en erreur\". Charter §04.1 R-FV.3 MUST — \"Scroll auto vers premier champ\r\n * en erreur + focus\". Both are the same behaviour; this is it, once.\r\n *\r\n * Formik-FREE on purpose, exactly like useFormAutoSave: the caller passes\r\n * `errors`, `submitCount` and the rendered field order as plain values.\r\n * Formik coupling belongs in patterns/ — use <FormikErrorFocus /> when the\r\n * form is a Formik form and this hook directly when it is not (a manual\r\n * \"Ajouter\" guard, a non-Formik dropzone section, a reducer-driven form).\r\n *\r\n * // Formik form — prefer the pattern, which wires this for you:\r\n * <FormikErrorFocus order={[\"numeroFacture\", \"fournisseur\", \"dateFacture\"]} />\r\n *\r\n * // Manual guard — call the imperative helper directly:\r\n * const missing = requiredFields.filter((f) => !f.value);\r\n * if (missing.length > 0) {\r\n * missing.forEach((f) => setFieldError(f.name, REQUIRED));\r\n * focusFieldByName(missing[0].name);\r\n * return;\r\n * }\r\n *\r\n * ── WHY THE `[id=]` LOOKUP COMES FIRST ──────────────────────────────\r\n *\r\n * Hosts have consistently written `[name=\"<field>\"]`, which is wrong for\r\n * most v2 fields. The Formik bridges wrap their control in Field, which\r\n * does `htmlFor={htmlFor || name}` and then\r\n * `cloneElement(child, { id: inputId })` — so the field NAME is published\r\n * as the control's `id`, and whether it also appears as `name` depends\r\n * entirely on which primitive is underneath. It does for Input/Textarea.\r\n * It does not for Select, Combobox, DatePicker or ReferentielField.\r\n *\r\n * A `[name=]`-only selector therefore fails precisely on the compound\r\n * fields, silently — the call runs, matches nothing, and the form reads as\r\n * compliant. `[id=]` is guaranteed by the Field contract for every bridge,\r\n * so it is tried first; `[name=]` and `[data-field=]` remain as fallbacks\r\n * for hand-rolled controls that never went through Field.\r\n *\r\n * ── WHAT THIS DELIBERATELY DOES NOT DO ──────────────────────────────\r\n *\r\n * It does not focus a control it cannot see. A field inside a collapsed\r\n * <details> (Accordion.Item) or a display:none branch has no client rects,\r\n * and focusing it would scroll the page to an invisible target and strand\r\n * the user with no visible focus ring. `focusFieldByName` returns false in\r\n * that case and dev-warns rather than guessing — the inline error\r\n * (role=\"alert\" via Field) still carries the message, and R-FV.2's summary\r\n * banner (FormErrorSummary) is the right affordance for reaching a field\r\n * in a closed section.\r\n *\r\n * It also does not announce anything. Field already renders its error with\r\n * role=\"alert\"; a second live region would double-announce.\r\n */\r\n\r\n/** Options for the imperative helper. */\r\nexport type FocusFieldOptions = {\r\n /**\r\n * Scroll the resolved control into view before focusing.\r\n *\r\n * `behavior: \"auto\"` always — never \"smooth\". R-Tg.2 caps animation at\r\n * 0.01 ms under prefers-reduced-motion, and a smooth scroll triggered by\r\n * a failed submit is exactly the motion that rule exists to suppress.\r\n *\r\n * @default true\r\n */\r\n scroll?: boolean | undefined;\r\n};\r\n\r\nexport type UseFocusFirstErrorOptions = {\r\n /**\r\n * Field name -> error. Formik's `errors` satisfies this directly.\r\n *\r\n * Only truthiness is read, so any error shape works (string, node,\r\n * nested object).\r\n */\r\n errors?: Readonly<Record<string, unknown>> | undefined;\r\n /**\r\n * Field names in RENDERED order — top-to-bottom as the user sees them.\r\n *\r\n * SUPPLY THIS. Without it the order falls back to `Object.keys(errors)`,\r\n * which is the order the validator happened to write its keys in and has\r\n * no relationship to the layout; \"first field in error\" then means\r\n * \"whichever field Yup reached first\", which can be the last one on\r\n * screen.\r\n */\r\n order?: readonly string[] | undefined;\r\n /**\r\n * Submit attempt counter. Formik's `submitCount`.\r\n *\r\n * This is the TRIGGER: focus moves when it increases, never on an\r\n * ordinary re-render. Without it a persisting error would re-steal focus\r\n * every time the component re-rendered, which is worse than not moving\r\n * focus at all.\r\n */\r\n submitCount?: number | undefined;\r\n /** @default true */\r\n enabled?: boolean | undefined;\r\n /** @default true */\r\n scroll?: boolean | undefined;\r\n};\r\n\r\n/**\r\n * Focusable descendants, for the case where the resolved element is a\r\n * wrapper rather than the control itself. Excludes tabindex=\"-1\", which is\r\n * programmatically focusable but deliberately out of the tab order — landing\r\n * there would put the user somewhere Tab cannot return to.\r\n */\r\nconst FOCUSABLE_WITHIN =\r\n 'input,select,textarea,button,[href],[tabindex]:not([tabindex=\"-1\"])';\r\n\r\n/**\r\n * Escape a value for use inside an attribute selector.\r\n *\r\n * CSS.escape where available, with a manual quote/backslash escape as the\r\n * fallback — same guard shape DataGrid uses for its reorder-grip lookup.\r\n * Field names are developer-authored, so this is robustness rather than a\r\n * sanitisation boundary.\r\n */\r\nfunction escapeAttributeValue(value: string): string {\r\n if (\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ) {\r\n return window.CSS.escape(value);\r\n }\r\n return value.replace(/[\"\\\\]/g, \"\\\\$&\");\r\n}\r\n\r\n/**\r\n * Is this element something a user can actually be sent to?\r\n *\r\n * `getClientRects().length === 0` is what excludes a field inside a\r\n * collapsed <details> or a display:none branch. offsetParent alone is not\r\n * enough — it is also null for position:fixed elements, which are visible.\r\n */\r\nfunction isFocusableNow(el: Element | null): el is HTMLElement {\r\n if (!(el instanceof HTMLElement)) return false;\r\n if (el.hasAttribute(\"disabled\")) return false;\r\n if (el.getAttribute(\"aria-hidden\") === \"true\") return false;\r\n if (el.getClientRects().length === 0) return false;\r\n return true;\r\n}\r\n\r\n/**\r\n * Focus the control registered under `name`, resolving it the way the v2\r\n * Field contract publishes it.\r\n *\r\n * @returns true when a visible, enabled control was focused. False means\r\n * nothing matched, or the match was hidden or disabled — the\r\n * caller should keep its inline error and, ideally, render\r\n * FormErrorSummary so the field is still reachable.\r\n */\r\nexport function focusFieldByName(\r\n name: string,\r\n options: FocusFieldOptions = {}\r\n): boolean {\r\n if (typeof document === \"undefined\") return false;\r\n if (!name) return false;\r\n\r\n const escaped = escapeAttributeValue(name);\r\n\r\n /* Order matters — see the `[id=]` note in the module docstring. */\r\n const selectors = [\r\n `[id=\"${escaped}\"]`,\r\n `[name=\"${escaped}\"]`,\r\n `[data-field=\"${escaped}\"]`,\r\n ];\r\n\r\n for (const selector of selectors) {\r\n let host: Element | null = null;\r\n try {\r\n host = document.querySelector(selector);\r\n } catch {\r\n /* Malformed selector — try the next shape rather than throwing into\r\n the caller's validation branch. */\r\n host = null;\r\n }\r\n if (host === null) continue;\r\n\r\n const target = isFocusableNow(host)\r\n ? host\r\n : host.querySelector(FOCUSABLE_WITHIN);\r\n\r\n if (!isFocusableNow(target)) continue;\r\n\r\n if (options.scroll !== false) {\r\n try {\r\n target.scrollIntoView({ block: \"center\", behavior: \"auto\" });\r\n } catch {\r\n /* jsdom and older Safari lack the options overload. Focus below\r\n still scrolls the control into view natively. */\r\n }\r\n }\r\n\r\n target.focus();\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Move focus to the first field in error after each failed submit.\r\n *\r\n * Fires when `submitCount` increases AND an error is present. The two\r\n * conditions are separate on purpose: Formik increments submitCount before\r\n * async validation resolves, so on the render where the counter changes\r\n * `errors` can still be empty. Marking the attempt handled only once an\r\n * error is actually found lets the effect re-run when the errors land,\r\n * without re-firing for the same attempt afterwards.\r\n */\r\nexport default function useFocusFirstError({\r\n errors,\r\n order,\r\n submitCount = 0,\r\n enabled = true,\r\n scroll = true,\r\n}: UseFocusFirstErrorOptions): void {\r\n /** Highest submitCount already acted on. */\r\n const handledRef = useRef(0);\r\n\r\n useEffect(() => {\r\n if (!enabled) return undefined;\r\n if (submitCount <= handledRef.current) return undefined;\r\n if (!errors) return undefined;\r\n\r\n const names =\r\n order !== undefined && order.length > 0 ? order : Object.keys(errors);\r\n\r\n const first = names.find((name) => Boolean(errors[name]));\r\n\r\n /* No error yet: either validation is still in flight for this attempt,\r\n or it passed. Leave handledRef alone so a later errors update for the\r\n SAME attempt is still honoured. */\r\n if (first === undefined) return undefined;\r\n\r\n handledRef.current = submitCount;\r\n\r\n /* One frame, so the inline errors have rendered and the target exists\r\n and is measurable before it is focused and scrolled to. */\r\n const frame = requestAnimationFrame(() => {\r\n const focused = focusFieldByName(first, { scroll });\r\n\r\n if (!focused && process.env[\"NODE_ENV\"] !== \"production\") {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[v2.useFocusFirstError] Could not focus \"${first}\" — no visible, ` +\r\n \"enabled control matched [id], [name] or [data-field]. Either the \" +\r\n \"field is in a collapsed section, or its control does not publish \" +\r\n \"the field name (a hand-rolled control that skips Field). R-F.3 is \" +\r\n \"NOT satisfied for this field; render FormErrorSummary (R-FV.2) so \" +\r\n \"it stays reachable.\"\r\n );\r\n }\r\n });\r\n\r\n return () => cancelAnimationFrame(frame);\r\n }, [errors, order, submitCount, enabled, scroll]);\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AA+CA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,gBAAgB,GACpB,qEAAqE;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,oBAAoBA,CAACC,KAAa,EAAU;EACnD,IACE,OAAOC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,GAAG,IACV,OAAOD,MAAM,CAACC,GAAG,CAACC,MAAM,KAAK,UAAU,EACvC;IACA,OAAOF,MAAM,CAACC,GAAG,CAACC,MAAM,CAACH,KAAK,CAAC;EACjC;EACA,OAAOA,KAAK,CAACI,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,EAAkB,EAAqB;EAC7D,IAAI,EAAEA,EAAE,YAAYC,WAAW,CAAC,EAAE,OAAO,KAAK;EAC9C,IAAID,EAAE,CAACE,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK;EAC7C,IAAIF,EAAE,CAACG,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,OAAO,KAAK;EAC3D,IAAIH,EAAE,CAACI,cAAc,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EAClD,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAC9BC,IAAY,EAEH;EAAA,IADTC,OAA0B,GAAAC,SAAA,CAAAJ,MAAA,QAAAI,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;EAE/B,IAA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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import { type RefObject } from "react";
2
+ export default function useFocusTrap<T extends HTMLElement = HTMLElement>(ref: RefObject<T | null>, isActive: boolean): void;
3
+ //# sourceMappingURL=useFocusTrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/hooks/useFocusTrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AA0IlD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EACtE,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EACxB,QAAQ,EAAE,OAAO,GAChB,IAAI,CAgGN"}