@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,490 @@
1
+ var _excluded = ["value", "onChange", "onBlur", "options", "placeholder", "disabled", "error", "fullWidth", "multiple", "labels", "searchable", "searchThreshold", "inputRef", "sx"];
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _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; } }
10
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
12
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
14
+ 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); }
15
+ 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; }
16
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
17
+ import * as React from "react";
18
+ import MuiSelect from "@mui/material/Select";
19
+ import MenuItem from "@mui/material/MenuItem";
20
+ import MuiChip from "@mui/material/Chip";
21
+ import Box from "@mui/material/Box";
22
+ import CloseIcon from "@mui/icons-material/Close";
23
+ import SearchIcon from "@mui/icons-material/Search";
24
+ import { mergeLabels } from "../utils/mergeLabels";
25
+
26
+ /**
27
+ * Select — Portnet UI v2
28
+ *
29
+ * Charter §03 · Component "Select".
30
+ *
31
+ * R-Sel.1 — > 30 options → use searchThreshold or Combobox.
32
+ * R-Sel.2 — 2–3 options → prefer Radio or Segmented control.
33
+ * R-Sel.3 — Placeholder = "Sélectionner…", never empty.
34
+ * R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».
35
+ * R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).
36
+ *
37
+ * Autocomplete / search (R-Sel.5):
38
+ * Pass `searchThreshold={N}` to show a search input when options >= N.
39
+ * Pass `searchable` as a shorthand to always show search.
40
+ *
41
+ * Generic pattern: set searchThreshold once per component type and ALL
42
+ * instances with enough items get free-text filtering automatically.
43
+ *
44
+ * <Select searchThreshold={8} options={pays} value={v} onChange={...} />
45
+ *
46
+ * Localisation (FR / EN / AR):
47
+ * Pass `labels` to override user-visible strings.
48
+ *
49
+ * MUI v9 focus safety:
50
+ * MuiSelect focuses its hidden input on click via an internal inputRef.
51
+ * We always pass an explicit inputRef (merged with any caller ref) so
52
+ * that focus target is never null — otherwise clicking the closed select
53
+ * throws "Cannot read properties of null (reading 'focus')" from inside
54
+ * MUI's own click handler.
55
+ */
56
+
57
+ /**
58
+ * onChange event shape. Deliberately loose: the component fires onChange
59
+ * both from MUI's native SelectChangeEvent AND from a synthetic
60
+ * { target: { value } } object in the chip-remove / clear-all paths.
61
+ */
62
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
63
+ var DEFAULT_LABELS = Object.freeze({
64
+ placeholder: "Sélectionner…",
65
+ clearAll: "Tout effacer",
66
+ clearAllAria: "Tout effacer la sélection",
67
+ removeChip: function removeChip(lbl) {
68
+ return "Retirer ".concat(String(lbl));
69
+ },
70
+ searchLabel: "Rechercher…",
71
+ searchClear: "Effacer la recherche",
72
+ noOptions: "Aucun résultat"
73
+ });
74
+
75
+ /* ── Out-of-contract object values: defensive resolution ───────────
76
+ *
77
+ * `SelectOptionValue` is declared `string | number`, but several GU modules
78
+ * store whole referentiel objects as the Select value — see R-29 in the
79
+ * amssnur-ui behaviour register, and the `bmdav-fe` precedent that first
80
+ * surfaced `FormikComboboxProps`. Their payload mappers read
81
+ * `values.typeDemande.code`, so the object IS the value they need back.
82
+ *
83
+ * That is out of contract, and until the opt-in opaque value described in R-29
84
+ * lands it is also reality. This component must therefore be DEFENSIVE about
85
+ * object values rather than crash on them. Three concrete failures it had:
86
+ *
87
+ * 1. `optionLabel` returned the raw value when no option matched, so
88
+ * `renderValue` handed a plain object to React:
89
+ * "Objects are not valid as a React child
90
+ * (found: object with keys {id, code, description})"
91
+ * This is a HARD CRASH, caught only if the host wraps the section in an
92
+ * error boundary. Reported from amssnur-ui on two screens.
93
+ *
94
+ * 2. `options.find((o) => o.value === v)` is REFERENCE equality for objects.
95
+ * A value seeded from an API payload is never the same instance as an
96
+ * option fetched separately, so it never matched — which is what made (1)
97
+ * fire on the edit path even when the option list was fully loaded.
98
+ *
99
+ * 3. `key={v}` on each MenuItem stringifies an object to "[object Object]",
100
+ * giving every item in the list the SAME React key.
101
+ *
102
+ * `value={v}` is still passed through unchanged, so `onChange` returns the
103
+ * caller's own object reference and the object-valued contract keeps working.
104
+ */
105
+
106
+ export function isRecord(v) {
107
+ return _typeof(v) === "object" && v !== null;
108
+ }
109
+
110
+ /** Stable string key for a value, primitive or object. "" when undecidable. */
111
+ export function valueKey(v) {
112
+ if (v === null || v === undefined) return "";
113
+ if (!isRecord(v)) return String(v);
114
+ var _iterator = _createForOfIteratorHelper(["value", "id", "code"]),
115
+ _step;
116
+ try {
117
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
118
+ var k = _step.value;
119
+ var candidate = v[k];
120
+ if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {
121
+ return String(candidate);
122
+ }
123
+ }
124
+ } catch (err) {
125
+ _iterator.e(err);
126
+ } finally {
127
+ _iterator.f();
128
+ }
129
+ return "";
130
+ }
131
+
132
+ /**
133
+ * Value equality that survives object identity loss.
134
+ *
135
+ * Reference/primitive equality first (the common path), then a structural
136
+ * comparison on the discriminating key. The `!== ""` guard matters: without it
137
+ * two objects that expose no key would compare equal to each other AND to any
138
+ * empty value.
139
+ */
140
+ export function sameOptionValue(a, b) {
141
+ if (a === b) return true;
142
+ if (isRecord(a) || isRecord(b)) {
143
+ var ka = valueKey(a);
144
+ return ka !== "" && ka === valueKey(b);
145
+ }
146
+ return String(a) === String(b);
147
+ }
148
+
149
+ /**
150
+ * Best-effort label for a value with no matching option. Returns `null` when
151
+ * nothing renderable can be derived, so the caller shows the placeholder
152
+ * instead of throwing.
153
+ */
154
+ export function labelFromValue(v) {
155
+ if (v === null || v === undefined) return null;
156
+ if (!isRecord(v)) return String(v);
157
+ var _iterator2 = _createForOfIteratorHelper(["label", "description", "name", "libelle", "code"]),
158
+ _step2;
159
+ try {
160
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
161
+ var k = _step2.value;
162
+ var candidate = v[k];
163
+ if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {
164
+ var s = String(candidate);
165
+ if (s !== "") return s;
166
+ }
167
+ }
168
+ } catch (err) {
169
+ _iterator2.e(err);
170
+ } finally {
171
+ _iterator2.f();
172
+ }
173
+ return null;
174
+ }
175
+
176
+ /* ── Search input — sticky at top of dropdown list ─────────────────
177
+ * Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.
178
+ * onKeyDown stopPropagation prevents MUI's keyboard handler from
179
+ * treating typed characters as list-navigation shortcuts.
180
+ * ─────────────────────────────────────────────────────────────────── */
181
+ var SEARCH_WRAPPER_SX = Object.freeze({
182
+ position: "sticky",
183
+ top: 0,
184
+ zIndex: 1,
185
+ background: "var(--surface)",
186
+ padding: "var(--s-2) var(--s-3)",
187
+ borderBottom: "1px solid var(--border)",
188
+ display: "flex",
189
+ alignItems: "center",
190
+ gap: "var(--s-2)"
191
+ });
192
+ var Select = /*#__PURE__*/React.forwardRef(function Select(_ref, ref) {
193
+ var value = _ref.value,
194
+ onChange = _ref.onChange,
195
+ onBlur = _ref.onBlur,
196
+ _ref$options = _ref.options,
197
+ options = _ref$options === void 0 ? [] : _ref$options,
198
+ placeholder = _ref.placeholder,
199
+ disabled = _ref.disabled,
200
+ error = _ref.error,
201
+ _ref$fullWidth = _ref.fullWidth,
202
+ fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
203
+ _ref$multiple = _ref.multiple,
204
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
205
+ labels = _ref.labels,
206
+ _ref$searchable = _ref.searchable,
207
+ searchable = _ref$searchable === void 0 ? false : _ref$searchable,
208
+ searchThreshold = _ref.searchThreshold,
209
+ callerInputRef = _ref.inputRef,
210
+ sx = _ref.sx,
211
+ rest = _objectWithoutProperties(_ref, _excluded);
212
+ /* ── MUI v9 focus safety — always-present input ref ──────────────
213
+ * MuiSelect calls inputRef.current.focus() on click. Guarantee a
214
+ * live node by owning the ref here and merging any caller-provided
215
+ * inputRef / forwarded ref onto it. */
216
+ var innerInputRef = React.useRef(null);
217
+ var setInputRef = React.useCallback(function (node) {
218
+ innerInputRef.current = node;
219
+ if (typeof callerInputRef === "function") callerInputRef(node);
220
+ // A caller-supplied ref object is typed with a readonly `current` by
221
+ // React; writing to it here is the documented ref-merge idiom, so a
222
+ // single narrow assertion to a writable shape is justified.
223
+ else if (callerInputRef) {
224
+ callerInputRef.current = node;
225
+ }
226
+ if (typeof ref === "function") ref(node);else if (ref) ref.current = node;
227
+ }, [callerInputRef, ref]);
228
+
229
+ /* ── Determine whether to show search ──────────────────────────── */
230
+ var showSearch = searchable || typeof searchThreshold === "number" && options.length >= searchThreshold;
231
+
232
+ /* Dev-time charter warn: only fires when no search is configured */
233
+ if (process.env["NODE_ENV"] !== "production" && !showSearch && options.length > 30) {
234
+ // eslint-disable-next-line no-console
235
+ console.warn("[@portnet/ui v2] <Select> has ".concat(options.length, " options \u2014 charter R-Sel.1: use searchThreshold={8} or Combobox above 30."));
236
+ }
237
+ var L = mergeLabels(DEFAULT_LABELS, labels);
238
+ var effectivePlaceholder = placeholder !== null && placeholder !== void 0 ? placeholder : L.placeholder;
239
+
240
+ /* ── Search state ──────────────────────────────────────────────── */
241
+ var _React$useState = React.useState(""),
242
+ _React$useState2 = _slicedToArray(_React$useState, 2),
243
+ searchQuery = _React$useState2[0],
244
+ setSearchQuery = _React$useState2[1];
245
+ var searchRef = React.useRef(null);
246
+ var handleClose = React.useCallback(function () {
247
+ return setSearchQuery("");
248
+ }, []);
249
+
250
+ /* Focus the search input as soon as the dropdown opens.
251
+ * MUI renders the Popover asynchronously → small delay needed. */
252
+ var handleOpen = React.useCallback(function () {
253
+ if (showSearch) {
254
+ setTimeout(function () {
255
+ var _searchRef$current;
256
+ return (_searchRef$current = searchRef.current) === null || _searchRef$current === void 0 ? void 0 : _searchRef$current.focus();
257
+ }, 50);
258
+ }
259
+ }, [showSearch]);
260
+ var filteredOptions = React.useMemo(function () {
261
+ if (!showSearch || !searchQuery.trim()) return options;
262
+ var q = searchQuery.trim().toLowerCase();
263
+ return options.filter(function (o) {
264
+ var label = typeof o === "string" ? o : o.label;
265
+ return String(label).toLowerCase().includes(q);
266
+ });
267
+ }, [options, searchQuery, showSearch]);
268
+
269
+ /* ── Label resolver ────────────────────────────────────────────── */
270
+ var optionLabel = React.useCallback(function (v) {
271
+ var opt = options.find(function (o) {
272
+ return sameOptionValue(typeof o === "string" ? o : o.value, v);
273
+ });
274
+ if (opt) return typeof opt === "string" ? opt : opt.label;
275
+
276
+ /* No match. NEVER return `v` unguarded — an object here is a React-child
277
+ * crash. Derive something readable, else show the placeholder. */
278
+ var derived = labelFromValue(v);
279
+ if (derived !== null) return derived;
280
+ return /*#__PURE__*/_jsx("span", {
281
+ style: {
282
+ color: "var(--fg-subtle)"
283
+ },
284
+ children: effectivePlaceholder
285
+ });
286
+ }, [options, effectivePlaceholder]);
287
+
288
+ /* ── Multi-select helpers ──────────────────────────────────────── */
289
+ var fireChange = React.useCallback(function (nextValue) {
290
+ if (!onChange) return;
291
+ onChange({
292
+ target: {
293
+ value: nextValue
294
+ }
295
+ });
296
+ }, [onChange]);
297
+ var removeOne = function removeOne(val) {
298
+ return function (e) {
299
+ e.stopPropagation();
300
+ if (!multiple) return;
301
+ var arr = Array.isArray(value) ? value : [];
302
+ fireChange(arr.filter(function (v) {
303
+ return !sameOptionValue(v, val);
304
+ }));
305
+ };
306
+ };
307
+ var clearAll = function clearAll(e) {
308
+ e.stopPropagation();
309
+ if (!multiple) return;
310
+ fireChange([]);
311
+ };
312
+ var stop = function stop(e) {
313
+ return e.stopPropagation();
314
+ };
315
+ return /*#__PURE__*/_jsxs(MuiSelect, _objectSpread(_objectSpread({
316
+ inputRef: setInputRef,
317
+ value: value !== null && value !== void 0 ? value : multiple ? [] : "",
318
+ onChange: onChange,
319
+ onBlur: onBlur,
320
+ onOpen: handleOpen,
321
+ onClose: handleClose,
322
+ displayEmpty: true,
323
+ disabled: disabled,
324
+ error: !!error,
325
+ fullWidth: fullWidth,
326
+ multiple: multiple,
327
+ size: "small",
328
+ renderValue: function renderValue(selected) {
329
+ if (multiple) {
330
+ var arr = Array.isArray(selected) ? selected : [];
331
+ if (arr.length === 0) {
332
+ return /*#__PURE__*/_jsx("span", {
333
+ style: {
334
+ color: "var(--fg-subtle)"
335
+ },
336
+ children: effectivePlaceholder
337
+ });
338
+ }
339
+ return /*#__PURE__*/_jsxs(Box, {
340
+ sx: {
341
+ display: "flex",
342
+ flexWrap: "wrap",
343
+ alignItems: "center",
344
+ gap: 0.5
345
+ },
346
+ children: [arr.map(function (v, i) {
347
+ var lbl = optionLabel(v);
348
+ return /*#__PURE__*/_jsx(MuiChip, {
349
+ size: "small",
350
+ label: lbl,
351
+ onMouseDown: stop,
352
+ onDelete: removeOne(v),
353
+ deleteIcon: /*#__PURE__*/_jsx(CloseIcon, {
354
+ fontSize: "small",
355
+ onMouseDown: stop,
356
+ "aria-label": L.removeChip(lbl)
357
+ }),
358
+ sx: {
359
+ height: 22,
360
+ "& .MuiChip-label": {
361
+ paddingInline: 1,
362
+ fontSize: 12
363
+ }
364
+ }
365
+ }, valueKey(v) || "sel-".concat(i));
366
+ }), arr.length > 0 && /*#__PURE__*/_jsx(Box, {
367
+ component: "button",
368
+ type: "button",
369
+ onMouseDown: stop,
370
+ onClick: clearAll,
371
+ "aria-label": L.clearAllAria,
372
+ sx: {
373
+ background: "transparent",
374
+ border: "1px dashed var(--border)",
375
+ borderRadius: "var(--r-sm)",
376
+ padding: "1px 8px",
377
+ fontSize: 11,
378
+ fontWeight: 600,
379
+ color: "var(--fg-muted)",
380
+ cursor: "pointer",
381
+ fontFamily: "inherit",
382
+ transition: "background var(--duration-fast, 80ms) ease",
383
+ "&:hover": {
384
+ background: "var(--bg-subtle)",
385
+ color: "var(--fg)"
386
+ },
387
+ "&:focus-visible": {
388
+ outline: "2px solid var(--accent)",
389
+ outlineOffset: "var(--pui-outline-offset)"
390
+ }
391
+ },
392
+ children: L.clearAll
393
+ })]
394
+ });
395
+ }
396
+ if (selected === "" || selected == null) {
397
+ return /*#__PURE__*/_jsx("span", {
398
+ style: {
399
+ color: "var(--fg-subtle)"
400
+ },
401
+ children: effectivePlaceholder
402
+ });
403
+ }
404
+ return optionLabel(selected);
405
+ },
406
+ sx: sx
407
+ }, rest), {}, {
408
+ children: [showSearch && /*#__PURE__*/_jsxs(Box, {
409
+ onKeyDown: function onKeyDown(e) {
410
+ return e.stopPropagation();
411
+ },
412
+ onClick: function onClick(e) {
413
+ return e.stopPropagation();
414
+ },
415
+ sx: SEARCH_WRAPPER_SX,
416
+ children: [/*#__PURE__*/_jsx(SearchIcon, {
417
+ sx: {
418
+ fontSize: 16,
419
+ color: "var(--fg-subtle)",
420
+ flexShrink: 0
421
+ },
422
+ "aria-hidden": "true"
423
+ }), /*#__PURE__*/_jsx(Box, {
424
+ component: "input",
425
+ ref: searchRef,
426
+ value: searchQuery,
427
+ onChange: function onChange(e) {
428
+ return setSearchQuery(e.target.value);
429
+ },
430
+ placeholder: L.searchLabel,
431
+ "aria-label": L.searchLabel,
432
+ sx: {
433
+ flex: 1,
434
+ border: "none",
435
+ outline: "none",
436
+ background: "transparent",
437
+ fontSize: "var(--text-sm)",
438
+ fontFamily: "inherit",
439
+ color: "var(--fg)",
440
+ "&::placeholder": {
441
+ color: "var(--fg-subtle)"
442
+ }
443
+ }
444
+ }), searchQuery && /*#__PURE__*/_jsx(Box, {
445
+ component: "button",
446
+ type: "button",
447
+ onClick: function onClick(e) {
448
+ var _searchRef$current2;
449
+ e.stopPropagation();
450
+ setSearchQuery("");
451
+ (_searchRef$current2 = searchRef.current) === null || _searchRef$current2 === void 0 ? void 0 : _searchRef$current2.focus();
452
+ },
453
+ "aria-label": L.searchClear,
454
+ sx: {
455
+ background: "transparent",
456
+ border: "none",
457
+ cursor: "pointer",
458
+ display: "flex",
459
+ alignItems: "center",
460
+ padding: 0,
461
+ flexShrink: 0
462
+ },
463
+ children: /*#__PURE__*/_jsx(CloseIcon, {
464
+ sx: {
465
+ fontSize: 14,
466
+ color: "var(--fg-muted)"
467
+ }
468
+ })
469
+ })]
470
+ }), showSearch && searchQuery.trim() && filteredOptions.length === 0 && /*#__PURE__*/_jsx(MenuItem, {
471
+ disabled: true,
472
+ sx: {
473
+ color: "var(--fg-subtle)",
474
+ fontSize: "var(--text-sm)"
475
+ },
476
+ children: L.noOptions
477
+ }), filteredOptions.map(function (o, i) {
478
+ var v = typeof o === "string" ? o : o.value;
479
+ var l = typeof o === "string" ? o : o.label;
480
+ /* key via valueKey: an object value stringifies to "[object Object]",
481
+ * which would give every item in the list the same React key. */
482
+ return /*#__PURE__*/_jsx(MenuItem, {
483
+ value: v,
484
+ children: l
485
+ }, valueKey(v) || "opt-".concat(i));
486
+ })]
487
+ }));
488
+ });
489
+ export default Select;
490
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","names":["React","MuiSelect","MenuItem","MuiChip","Box","CloseIcon","SearchIcon","mergeLabels","jsx","_jsx","jsxs","_jsxs","DEFAULT_LABELS","Object","freeze","placeholder","clearAll","clearAllAria","removeChip","lbl","concat","String","searchLabel","searchClear","noOptions","isRecord","v","_typeof","valueKey","undefined","_iterator","_createForOfIteratorHelper","_step","s","n","done","k","value","candidate","err","e","f","sameOptionValue","a","b","ka","labelFromValue","_iterator2","_step2","SEARCH_WRAPPER_SX","position","top","zIndex","background","padding","borderBottom","display","alignItems","gap","Select","forwardRef","_ref","ref","onChange","onBlur","_ref$options","options","disabled","error","_ref$fullWidth","fullWidth","_ref$multiple","multiple","labels","_ref$searchable","searchable","searchThreshold","callerInputRef","inputRef","sx","rest","_objectWithoutProperties","_excluded","innerInputRef","useRef","setInputRef","useCallback","node","current","showSearch","length","process","env","console","warn","L","effectivePlaceholder","_React$useState","useState","_React$useState2","_slicedToArray","searchQuery","setSearchQuery","searchRef","handleClose","handleOpen","setTimeout","_searchRef$current","focus","filteredOptions","useMemo","trim","q","toLowerCase","filter","o","label","includes","optionLabel","opt","find","derived","style","color","children","fireChange","nextValue","target","removeOne","val","stopPropagation","arr","Array","isArray","stop","_objectSpread","onOpen","onClose","displayEmpty","size","renderValue","selected","flexWrap","map","i","onMouseDown","onDelete","deleteIcon","fontSize","height","paddingInline","component","type","onClick","border","borderRadius","fontWeight","cursor","fontFamily","transition","outline","outlineOffset","onKeyDown","flexShrink","flex","_searchRef$current2","l"],"sources":["../../../../src/lib/v2/components/Select.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiSelect from \"@mui/material/Select\";\r\nimport type { SelectProps as MuiSelectProps } from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Select — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Select\".\r\n *\r\n * R-Sel.1 — > 30 options → use searchThreshold or Combobox.\r\n * R-Sel.2 — 2–3 options → prefer Radio or Segmented control.\r\n * R-Sel.3 — Placeholder = \"Sélectionner…\", never empty.\r\n * R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».\r\n * R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).\r\n *\r\n * Autocomplete / search (R-Sel.5):\r\n * Pass `searchThreshold={N}` to show a search input when options >= N.\r\n * Pass `searchable` as a shorthand to always show search.\r\n *\r\n * Generic pattern: set searchThreshold once per component type and ALL\r\n * instances with enough items get free-text filtering automatically.\r\n *\r\n * <Select searchThreshold={8} options={pays} value={v} onChange={...} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * Pass `labels` to override user-visible strings.\r\n *\r\n * MUI v9 focus safety:\r\n * MuiSelect focuses its hidden input on click via an internal inputRef.\r\n * We always pass an explicit inputRef (merged with any caller ref) so\r\n * that focus target is never null — otherwise clicking the closed select\r\n * throws \"Cannot read properties of null (reading 'focus')\" from inside\r\n * MUI's own click handler.\r\n */\r\n\r\nexport type SelectOptionValue = string | number;\r\n\r\nexport interface SelectOptionObject {\r\n value: SelectOptionValue;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport type SelectOption = string | SelectOptionObject;\r\n\r\nexport type SelectValue = SelectOptionValue | SelectOptionValue[];\r\n\r\n/**\r\n * onChange event shape. Deliberately loose: the component fires onChange\r\n * both from MUI's native SelectChangeEvent AND from a synthetic\r\n * { target: { value } } object in the chip-remove / clear-all paths.\r\n */\r\nexport interface SelectChangeLike {\r\n target: { value: SelectValue };\r\n}\r\n\r\nexport interface SelectLabels {\r\n placeholder?: string | undefined;\r\n clearAll?: string | undefined;\r\n clearAllAria?: string | undefined;\r\n removeChip?: ((label: React.ReactNode) => string) | undefined;\r\n searchLabel?: string | undefined;\r\n searchClear?: string | undefined;\r\n noOptions?: string | undefined;\r\n}\r\n\r\nexport interface SelectProps\r\n extends Omit<\r\n MuiSelectProps<SelectValue>,\r\n \"value\" | \"onChange\" | \"renderValue\" | \"children\" | \"inputRef\"\r\n > {\r\n value?: SelectValue | undefined;\r\n onChange?: ((event: SelectChangeLike) => void) | undefined;\r\n options?: SelectOption[] | undefined;\r\n placeholder?: string | undefined;\r\n labels?: SelectLabels | undefined;\r\n searchable?: boolean | undefined;\r\n searchThreshold?: number | undefined;\r\n /** Optional caller-provided input ref; merged with the internal one. */\r\n inputRef?: React.Ref<HTMLInputElement> | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n placeholder: \"Sélectionner…\",\r\n clearAll: \"Tout effacer\",\r\n clearAllAria: \"Tout effacer la sélection\",\r\n removeChip: (lbl: React.ReactNode) => `Retirer ${String(lbl)}`,\r\n searchLabel: \"Rechercher…\",\r\n searchClear: \"Effacer la recherche\",\r\n noOptions: \"Aucun résultat\",\r\n});\r\n\r\n/* ── Out-of-contract object values: defensive resolution ───────────\r\n *\r\n * `SelectOptionValue` is declared `string | number`, but several GU modules\r\n * store whole referentiel objects as the Select value — see R-29 in the\r\n * amssnur-ui behaviour register, and the `bmdav-fe` precedent that first\r\n * surfaced `FormikComboboxProps`. Their payload mappers read\r\n * `values.typeDemande.code`, so the object IS the value they need back.\r\n *\r\n * That is out of contract, and until the opt-in opaque value described in R-29\r\n * lands it is also reality. This component must therefore be DEFENSIVE about\r\n * object values rather than crash on them. Three concrete failures it had:\r\n *\r\n * 1. `optionLabel` returned the raw value when no option matched, so\r\n * `renderValue` handed a plain object to React:\r\n * \"Objects are not valid as a React child\r\n * (found: object with keys {id, code, description})\"\r\n * This is a HARD CRASH, caught only if the host wraps the section in an\r\n * error boundary. Reported from amssnur-ui on two screens.\r\n *\r\n * 2. `options.find((o) => o.value === v)` is REFERENCE equality for objects.\r\n * A value seeded from an API payload is never the same instance as an\r\n * option fetched separately, so it never matched — which is what made (1)\r\n * fire on the edit path even when the option list was fully loaded.\r\n *\r\n * 3. `key={v}` on each MenuItem stringifies an object to \"[object Object]\",\r\n * giving every item in the list the SAME React key.\r\n *\r\n * `value={v}` is still passed through unchanged, so `onChange` returns the\r\n * caller's own object reference and the object-valued contract keeps working.\r\n */\r\n\r\nexport function isRecord(v: unknown): v is Record<string, unknown> {\r\n return typeof v === \"object\" && v !== null;\r\n}\r\n\r\n/** Stable string key for a value, primitive or object. \"\" when undecidable. */\r\nexport function valueKey(v: unknown): string {\r\n if (v === null || v === undefined) return \"\";\r\n if (!isRecord(v)) return String(v);\r\n for (const k of [\"value\", \"id\", \"code\"] as const) {\r\n const candidate = v[k];\r\n if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {\r\n return String(candidate);\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * Value equality that survives object identity loss.\r\n *\r\n * Reference/primitive equality first (the common path), then a structural\r\n * comparison on the discriminating key. The `!== \"\"` guard matters: without it\r\n * two objects that expose no key would compare equal to each other AND to any\r\n * empty value.\r\n */\r\nexport function sameOptionValue(a: unknown, b: unknown): boolean {\r\n if (a === b) return true;\r\n if (isRecord(a) || isRecord(b)) {\r\n const ka = valueKey(a);\r\n return ka !== \"\" && ka === valueKey(b);\r\n }\r\n return String(a) === String(b);\r\n}\r\n\r\n/**\r\n * Best-effort label for a value with no matching option. Returns `null` when\r\n * nothing renderable can be derived, so the caller shows the placeholder\r\n * instead of throwing.\r\n */\r\nexport function labelFromValue(v: unknown): React.ReactNode {\r\n if (v === null || v === undefined) return null;\r\n if (!isRecord(v)) return String(v);\r\n for (const k of [\"label\", \"description\", \"name\", \"libelle\", \"code\"] as const) {\r\n const candidate = v[k];\r\n if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {\r\n const s = String(candidate);\r\n if (s !== \"\") return s;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\n/* ── Search input — sticky at top of dropdown list ─────────────────\r\n * Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.\r\n * onKeyDown stopPropagation prevents MUI's keyboard handler from\r\n * treating typed characters as list-navigation shortcuts.\r\n * ─────────────────────────────────────────────────────────────────── */\r\nconst SEARCH_WRAPPER_SX = Object.freeze({\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--surface)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst Select = React.forwardRef<HTMLInputElement, SelectProps>(function Select(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n options = [],\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n multiple = false,\r\n labels,\r\n searchable = false,\r\n searchThreshold,\r\n inputRef: callerInputRef,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n /* ── MUI v9 focus safety — always-present input ref ──────────────\r\n * MuiSelect calls inputRef.current.focus() on click. Guarantee a\r\n * live node by owning the ref here and merging any caller-provided\r\n * inputRef / forwarded ref onto it. */\r\n const innerInputRef = React.useRef<HTMLInputElement | null>(null);\r\n const setInputRef = React.useCallback(\r\n (node: HTMLInputElement | null) => {\r\n innerInputRef.current = node;\r\n if (typeof callerInputRef === \"function\") callerInputRef(node);\r\n // A caller-supplied ref object is typed with a readonly `current` by\r\n // React; writing to it here is the documented ref-merge idiom, so a\r\n // single narrow assertion to a writable shape is justified.\r\n else if (callerInputRef) {\r\n (callerInputRef as { current: HTMLInputElement | null }).current = node;\r\n }\r\n if (typeof ref === \"function\") ref(node);\r\n else if (ref) ref.current = node;\r\n },\r\n [callerInputRef, ref],\r\n );\r\n\r\n /* ── Determine whether to show search ──────────────────────────── */\r\n const showSearch =\r\n searchable ||\r\n (typeof searchThreshold === \"number\" && options.length >= searchThreshold);\r\n\r\n /* Dev-time charter warn: only fires when no search is configured */\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !showSearch && options.length > 30) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Select> has ${options.length} options — charter R-Sel.1: use searchThreshold={8} or Combobox above 30.`,\r\n );\r\n }\r\n\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n /* ── Search state ──────────────────────────────────────────────── */\r\n const [searchQuery, setSearchQuery] = React.useState(\"\");\r\n const searchRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClose = React.useCallback(() => setSearchQuery(\"\"), []);\r\n\r\n /* Focus the search input as soon as the dropdown opens.\r\n * MUI renders the Popover asynchronously → small delay needed. */\r\n const handleOpen = React.useCallback(() => {\r\n if (showSearch) {\r\n setTimeout(() => searchRef.current?.focus(), 50);\r\n }\r\n }, [showSearch]);\r\n\r\n const filteredOptions = React.useMemo(() => {\r\n if (!showSearch || !searchQuery.trim()) return options;\r\n const q = searchQuery.trim().toLowerCase();\r\n return options.filter((o) => {\r\n const label = typeof o === \"string\" ? o : o.label;\r\n return String(label).toLowerCase().includes(q);\r\n });\r\n }, [options, searchQuery, showSearch]);\r\n\r\n /* ── Label resolver ────────────────────────────────────────────── */\r\n const optionLabel = React.useCallback(\r\n (v: SelectValue): React.ReactNode => {\r\n const opt = options.find((o) =>\r\n sameOptionValue(typeof o === \"string\" ? o : o.value, v),\r\n );\r\n if (opt) return typeof opt === \"string\" ? opt : opt.label;\r\n\r\n /* No match. NEVER return `v` unguarded — an object here is a React-child\r\n * crash. Derive something readable, else show the placeholder. */\r\n const derived = labelFromValue(v);\r\n if (derived !== null) return derived;\r\n return (\r\n <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>\r\n );\r\n },\r\n [options, effectivePlaceholder],\r\n );\r\n\r\n /* ── Multi-select helpers ──────────────────────────────────────── */\r\n const fireChange = React.useCallback(\r\n (nextValue: SelectValue) => {\r\n if (!onChange) return;\r\n onChange({ target: { value: nextValue } });\r\n },\r\n [onChange],\r\n );\r\n\r\n const removeOne = (val: SelectOptionValue) => (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n const arr = Array.isArray(value) ? value : [];\r\n fireChange(arr.filter((v) => !sameOptionValue(v, val)));\r\n };\r\n\r\n const clearAll = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n fireChange([]);\r\n };\r\n\r\n const stop = (e: React.SyntheticEvent) => e.stopPropagation();\r\n\r\n return (\r\n <MuiSelect<SelectValue>\r\n inputRef={setInputRef}\r\n value={value ?? (multiple ? [] : \"\")}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onOpen={handleOpen}\r\n onClose={handleClose}\r\n displayEmpty\r\n disabled={disabled}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n multiple={multiple}\r\n size=\"small\"\r\n renderValue={(selected: SelectValue) => {\r\n if (multiple) {\r\n const arr = Array.isArray(selected) ? selected : [];\r\n if (arr.length === 0) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", alignItems: \"center\", gap: 0.5 }}>\r\n {arr.map((v, i) => {\r\n const lbl = optionLabel(v);\r\n return (\r\n <MuiChip\r\n key={valueKey(v) || `sel-${i}`}\r\n size=\"small\"\r\n label={lbl}\r\n onMouseDown={stop}\r\n onDelete={removeOne(v)}\r\n deleteIcon={\r\n <CloseIcon\r\n fontSize=\"small\"\r\n onMouseDown={stop}\r\n aria-label={L.removeChip(lbl)}\r\n />\r\n }\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })}\r\n {arr.length > 0 && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onMouseDown={stop}\r\n onClick={clearAll}\r\n aria-label={L.clearAllAria}\r\n sx={{\r\n background: \"transparent\",\r\n border: \"1px dashed var(--border)\",\r\n borderRadius: \"var(--r-sm)\",\r\n padding: \"1px 8px\",\r\n fontSize: 11,\r\n fontWeight: 600,\r\n color: \"var(--fg-muted)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\", color: \"var(--fg)\" },\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset)\" },\r\n }}\r\n >\r\n {L.clearAll}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n }\r\n if (selected === \"\" || selected == null) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return optionLabel(selected);\r\n }}\r\n sx={sx}\r\n {...rest}\r\n >\r\n {/* Search input — sticky, non-selectable, captures keyboard events */}\r\n {showSearch && (\r\n <Box\r\n onKeyDown={(e) => e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n sx={SEARCH_WRAPPER_SX}\r\n >\r\n <SearchIcon sx={{ fontSize: 16, color: \"var(--fg-subtle)\", flexShrink: 0 }} aria-hidden=\"true\" />\r\n <Box\r\n component=\"input\"\r\n ref={searchRef}\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n placeholder={L.searchLabel}\r\n aria-label={L.searchLabel}\r\n sx={{\r\n flex: 1,\r\n border: \"none\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n fontSize: \"var(--text-sm)\",\r\n fontFamily: \"inherit\",\r\n color: \"var(--fg)\",\r\n \"&::placeholder\": { color: \"var(--fg-subtle)\" },\r\n }}\r\n />\r\n {searchQuery && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => { e.stopPropagation(); setSearchQuery(\"\"); searchRef.current?.focus(); }}\r\n aria-label={L.searchClear}\r\n sx={{ background: \"transparent\", border: \"none\", cursor: \"pointer\", display: \"flex\", alignItems: \"center\", padding: 0, flexShrink: 0 }}\r\n >\r\n <CloseIcon sx={{ fontSize: 14, color: \"var(--fg-muted)\" }} />\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Empty state when search yields no results */}\r\n {showSearch && searchQuery.trim() && filteredOptions.length === 0 && (\r\n <MenuItem disabled sx={{ color: \"var(--fg-subtle)\", fontSize: \"var(--text-sm)\" }}>\r\n {L.noOptions}\r\n </MenuItem>\r\n )}\r\n\r\n {filteredOptions.map((o, i) => {\r\n const v = typeof o === \"string\" ? o : o.value;\r\n const l = typeof o === \"string\" ? o : o.label;\r\n /* key via valueKey: an object value stringifies to \"[object Object]\",\r\n * which would give every item in the list the same React key. */\r\n return <MenuItem key={valueKey(v) || `opt-${i}`} value={v}>{l}</MenuItem>;\r\n })}\r\n </MuiSelect>\r\n );\r\n});\r\n\r\nexport default Select;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * ServerErrorPage — Portnet UI v2 (component)
3
+ *
4
+ * Charter §07 · 500 / Erreur serveur.
5
+ *
6
+ * Adds an optional onRetry callback on top of the ForbiddenPage /
7
+ * NotFoundPage contract. The retry button is only rendered when
8
+ * onRetry is supplied — the lib deliberately avoids defaulting it
9
+ * to window.location.reload() because that policy belongs to the
10
+ * host (some hosts may prefer cache-clear, axios retry, backoff,
11
+ * or a route-level revalidation).
12
+ *
13
+ * import { ServerErrorPage } from "@portnet/ui/lib/v2";
14
+ * import { useNavigate } from "react-router-dom";
15
+ *
16
+ * function ServerErrorRoute() {
17
+ * const navigate = useNavigate();
18
+ * return (
19
+ * <ServerErrorPage
20
+ * onBack={() => navigate(-1)}
21
+ * onHome={() => navigate("/")}
22
+ * onRetry={() => window.location.reload()}
23
+ * />
24
+ * );
25
+ * }
26
+ */
27
+ import Box from "@mui/material/Box";
28
+ import ArrowBack from "@mui/icons-material/ArrowBack";
29
+ import ErrorOutline from "@mui/icons-material/ErrorOutlined";
30
+ import ActionBar from "../patterns/ActionBar";
31
+ import Button from "./Button";
32
+ import ErrorPageBody from "./_ErrorPageBody";
33
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
34
+ function ServerErrorPage(_ref) {
35
+ var onBack = _ref.onBack,
36
+ onHome = _ref.onHome,
37
+ onRetry = _ref.onRetry;
38
+ return /*#__PURE__*/_jsxs(_Fragment, {
39
+ children: [/*#__PURE__*/_jsx(ActionBar, {
40
+ back: onBack,
41
+ breadcrumb: ["Erreur", "Erreur serveur"],
42
+ title: "Erreur serveur"
43
+ }), /*#__PURE__*/_jsx(ErrorPageBody, {
44
+ icon: /*#__PURE__*/_jsx(ErrorOutline, {
45
+ sx: {
46
+ fontSize: 64,
47
+ color: "var(--danger)"
48
+ }
49
+ }),
50
+ code: "500",
51
+ title: "Le serveur a rencontr\xE9 une erreur",
52
+ description: "Le service est momentan\xE9ment indisponible. R\xE9essayez dans quelques instants. Si le probl\xE8me persiste, contactez le support en mentionnant le code 500."
53
+ }), /*#__PURE__*/_jsxs(Box, {
54
+ sx: {
55
+ display: "flex",
56
+ justifyContent: "center",
57
+ gap: "var(--s-3)",
58
+ paddingBottom: "var(--s-7)"
59
+ },
60
+ children: [onRetry ? /*#__PURE__*/_jsx(Button, {
61
+ variant: "ghost",
62
+ onClick: onRetry,
63
+ children: "R\xE9essayer"
64
+ }) : null, /*#__PURE__*/_jsx(Button, {
65
+ variant: "primary",
66
+ icon: /*#__PURE__*/_jsx(ArrowBack, {}),
67
+ onClick: onHome,
68
+ children: "Retour \xE0 l'accueil"
69
+ })]
70
+ })]
71
+ });
72
+ }
73
+ export default ServerErrorPage;
74
+ //# sourceMappingURL=ServerErrorPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerErrorPage.js","names":["Box","ArrowBack","ErrorOutline","ActionBar","Button","ErrorPageBody","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ServerErrorPage","_ref","onBack","onHome","onRetry","children","back","breadcrumb","title","icon","sx","fontSize","color","code","description","display","justifyContent","gap","paddingBottom","variant","onClick"],"sources":["../../../../src/lib/v2/components/ServerErrorPage.tsx"],"sourcesContent":["/**\r\n * ServerErrorPage — Portnet UI v2 (component)\r\n *\r\n * Charter §07 · 500 / Erreur serveur.\r\n *\r\n * Adds an optional onRetry callback on top of the ForbiddenPage /\r\n * NotFoundPage contract. The retry button is only rendered when\r\n * onRetry is supplied — the lib deliberately avoids defaulting it\r\n * to window.location.reload() because that policy belongs to the\r\n * host (some hosts may prefer cache-clear, axios retry, backoff,\r\n * or a route-level revalidation).\r\n *\r\n * import { ServerErrorPage } from \"@portnet/ui/lib/v2\";\r\n * import { useNavigate } from \"react-router-dom\";\r\n *\r\n * function ServerErrorRoute() {\r\n * const navigate = useNavigate();\r\n * return (\r\n * <ServerErrorPage\r\n * onBack={() => navigate(-1)}\r\n * onHome={() => navigate(\"/\")}\r\n * onRetry={() => window.location.reload()}\r\n * />\r\n * );\r\n * }\r\n */\r\nimport Box from \"@mui/material/Box\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport ErrorOutline from \"@mui/icons-material/ErrorOutlined\";\r\nimport ActionBar from \"../patterns/ActionBar\";\r\nimport Button from \"./Button\";\r\nimport ErrorPageBody from \"./_ErrorPageBody\";\r\n\r\nexport interface ServerErrorPageProps {\r\n /** Callback for the back button (top-bar arrow). */\r\n onBack: () => void;\r\n /** Callback for the primary \"Retour à l'accueil\" CTA. */\r\n onHome: () => void;\r\n /** Optional retry callback. When omitted, the Réessayer button is hidden. */\r\n onRetry?: (() => void) | undefined;\r\n}\r\n\r\nfunction ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n back={onBack}\r\n breadcrumb={[\"Erreur\", \"Erreur serveur\"]}\r\n title=\"Erreur serveur\"\r\n />\r\n <ErrorPageBody\r\n icon={<ErrorOutline sx={{ fontSize: 64, color: \"var(--danger)\" }} />}\r\n code=\"500\"\r\n title=\"Le serveur a rencontré une erreur\"\r\n description=\"Le service est momentanément indisponible. Réessayez dans quelques instants. Si le problème persiste, contactez le support en mentionnant le code 500.\"\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n gap: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-7)\",\r\n }}\r\n >\r\n {onRetry ? (\r\n <Button variant=\"ghost\" onClick={onRetry}>\r\n Réessayer\r\n </Button>\r\n ) : null}\r\n <Button variant=\"primary\" icon={<ArrowBack />} onClick={onHome}>\r\n Retour à l'accueil\r\n </Button>\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default ServerErrorPage;\r\n"],"mappings":"AAAA;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,OAAOA,GAAG,MAAM,mBAAmB;AACnC,OAAOC,SAAS,MAAM,+BAA+B;AACrD,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAW7C,SAASC,eAAeA,CAAAC,IAAA,EAAoD;EAAA,IAAjDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EAChD,oBACEP,KAAA,CAAAE,SAAA;IAAAM,QAAA,gBACEV,IAAA,CAACJ,SAAS;MACRe,IAAI,EAAEJ,MAAO;MACbK,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAE;MACzCC,KAAK,EAAC;IAAgB,CACvB,CAAC,eACFb,IAAA,CAACF,aAAa;MACZgB,IAAI,eAAEd,IAAA,CAACL,YAAY;QAACoB,EAAE,EAAE;UAAEC,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAgB;MAAE,CAAE,CAAE;MACrEC,IAAI,EAAC,KAAK;MACVL,KAAK,EAAC,sCAAmC;MACzCM,WAAW,EAAC;IAAwJ,CACrK,CAAC,eACFjB,KAAA,CAACT,GAAG;MACFsB,EAAE,EAAE;QACFK,OAAO,EAAS,MAAM;QACtBC,cAAc,EAAE,QAAQ;QACxBC,GAAG,EAAa,YAAY;QAC5BC,aAAa,EAAG;MAClB,CAAE;MAAAb,QAAA,GAEDD,OAAO,gBACNT,IAAA,CAACH,MAAM;QAAC2B,OAAO,EAAC,OAAO;QAACC,OAAO,EAAEhB,OAAQ;QAAAC,QAAA,EAAC;MAE1C,CAAQ,CAAC,GACP,IAAI,eACRV,IAAA,CAACH,MAAM;QAAC2B,OAAO,EAAC,SAAS;QAACV,IAAI,eAAEd,IAAA,CAACN,SAAS,IAAE,CAAE;QAAC+B,OAAO,EAAEjB,MAAO;QAAAE,QAAA,EAAC;MAEhE,CAAQ,CAAC;IAAA,CACN,CAAC;EAAA,CACN,CAAC;AAEP;AAEA,eAAeL,eAAe","ignoreList":[]}