@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 @@
1
+ {"version":3,"file":"ReferentielField.js","names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","React","Box","IconButton","SearchIcon","ClearIcon","Field","Input","Combobox","DatePicker","Button","Banner","Modal","DataGrid","EmptyState","mergeLabels","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_LABELS","freeze","searchAria","clearAria","modalCancel","modalConfirm","searchSubmit","resultsHeading","concat","initialEmptyTitle","initialEmptyHint","noResultsTitle","noResultsHint","errorTitle","errorRetry","loadingHint","placeholder","DEFAULT_PAGE_SIZE","DEFAULT_PAGE_SIZES","defaultGetRowId","row","id","renderCriterionField","c","onChange","_c$options","kind","_target$value","_target","extracted","options","loading","Boolean","getOptionLabel","disableFuture","e","ReferentielField","_ref","getDisplayValue","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$clearable","clearable","_ref$title","title","subtitle","_ref$size","size","modalProps","search","_ref$criteria","criteria","initialCriteria","_ref$columns","columns","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$getRowId","getRowId","_ref$confirmOnSelecti","confirmOnSelection","sort","onSortChange","labels","locale","ariaInvalid","ariaRequired","ariaDescribedBy","L","useMemo","_React$useState","useState","_React$useState2","open","setOpen","triggerRef","useRef","openModal","useCallback","closeModal","setTimeout","el","current","focus","preventScroll","seedCriteria","seed","_React$useState3","_React$useState4","draft","setDraft","useEffect","_React$useState5","_React$useState6","page","setPage","_React$useState7","_React$useState8","setPageSize","_React$useState9","_React$useState0","items","setItems","_React$useState1","_React$useState10","total","setTotal","_React$useState11","_React$useState12","setLoading","_React$useState13","_React$useState14","setError","_React$useState15","_React$useState16","hasSearched","setHasSearched","_React$useState17","_React$useState18","pendingSelection","setPendingSelection","requestSeq","runSearch","_callee","_overrides$criteria","_overrides$page","_overrides$pageSize","overrides","myReq","effective","nextTotal","_args","_callee$","_context","isFinite","t0","onSubmitCriteria","preventDefault","onPageChange","nextPage","onPageSizeChange","nextPageSize","handleRowClick","handleConfirmSelection","handleClear","stopPropagation","display","_getDisplayValue","_unused","v","description","label","code","pagination","initialEmpty","variant","filteredEmpty","errorState","action","onClick","children","message","showClear","triggerAria","trigger","ref","onKeyDown","inputProps","sx","cursor","endIcon","alignItems","gap","edge","color","fontSize","criteriaRow","component","onSubmit","gridTemplateColumns","xs","sm","md","Math","min","marginBottom","map","d","justifyContent","liveResults","className","decoratedRows","pendingId","r","__pending","footer","onClose","rows","onRowClick","emptyState","filteredEmptyState","filtered","rowFlashId"],"sources":["../../../../src/lib/v2/patterns/ReferentielField.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport ClearIcon from \"@mui/icons-material/Close\";\r\n\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Combobox from \"../components/Combobox\";\r\nimport type { ComboboxOption, ComboboxOptionValue, ComboboxValue } from \"../components/Combobox\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport Button from \"../components/Button\";\r\nimport Banner from \"../components/Banner\";\r\nimport Modal from \"../components/Modal\";\r\nimport DataGrid from \"./DataGrid\";\r\nimport EmptyState from \"../components/EmptyState\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId, SortDescriptor } from \"../types/common\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * ReferentielField — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"Referentiel · Search-and-select\".\r\n *\r\n * Use this when:\r\n * - The selectable population is too large for <Combobox> to load.\r\n * - The host needs MULTI-CRITERIA search.\r\n * - The result rows benefit from a structured view.\r\n *\r\n * Criteria shape (B17 extension)\r\n * ------------------------------\r\n * Each criterion descriptor accepts:\r\n *\r\n * { name, label, placeholder, hint, kind, options, loading,\r\n * getOptionValue, getOptionLabel, disableFuture }\r\n *\r\n * - kind — discriminator: \"input\" (default) | \"combobox\" | \"date\"\r\n *\r\n * The B17 extension is purely additive: existing call sites with\r\n * `criteria=[{name, label}]` keep rendering plain Inputs because\r\n * `kind` defaults to \"input\".\r\n *\r\n * A11y trigger (audit Batch 5, finding B4-3):\r\n * The trigger Input acts as a combobox-like disclosure for a dialog\r\n * (the search Modal). aria-haspopup=\"dialog\" + aria-expanded MUST sit\r\n * on the FOCUSABLE element (the <input/>), so every aria-* on the\r\n * trigger is routed through `inputProps` → slotProps.input. This\r\n * includes the Field-injected aria-invalid / aria-required /\r\n * aria-describedby so the whole aria contract lives on one element.\r\n */\r\n\r\n/** Localisable strings; `resultsHeading` is a function for plural rules. */\r\nexport interface ReferentielFieldLabels {\r\n searchAria?: string | undefined;\r\n clearAria?: string | undefined;\r\n modalCancel?: React.ReactNode | undefined;\r\n modalConfirm?: React.ReactNode | undefined;\r\n searchSubmit?: React.ReactNode | undefined;\r\n resultsHeading?: ((n: number) => string) | undefined;\r\n initialEmptyTitle?: React.ReactNode | undefined;\r\n initialEmptyHint?: React.ReactNode | undefined;\r\n noResultsTitle?: React.ReactNode | undefined;\r\n noResultsHint?: React.ReactNode | undefined;\r\n errorTitle?: React.ReactNode | undefined;\r\n errorRetry?: React.ReactNode | undefined;\r\n loadingHint?: React.ReactNode | undefined;\r\n placeholder?: string | undefined;\r\n}\r\n\r\n/** One search criterion. combobox/date-only fields reuse the real\r\n * component prop types so they stay exactly aligned. */\r\nexport interface ReferentielCriterion {\r\n name: string;\r\n label: React.ReactNode;\r\n placeholder?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n kind?: \"input\" | \"combobox\" | \"date\" | undefined;\r\n options?: React.ComponentProps<typeof Combobox>[\"options\"] | undefined;\r\n loading?: boolean | undefined;\r\n /**\r\n * Accepted for backward API compatibility with older criterion configs.\r\n * Combobox has no equivalent hook (it resolves value/label straight off\r\n * each option's own .value/.label), so this is currently NOT wired into\r\n * the \"combobox\" kind's render below — kept typed rather than removed so\r\n * any existing caller that sets it doesn't get a compile error.\r\n */\r\n getOptionValue?: ((option: ComboboxOption | ComboboxOptionValue) => ComboboxOptionValue) | undefined;\r\n getOptionLabel?: React.ComponentProps<typeof Combobox>[\"getOptionLabel\"] | undefined;\r\n disableFuture?: boolean | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchParams {\r\n criteria: Record<string, unknown>;\r\n page: number;\r\n pageSize: number;\r\n sort: SortDescriptor[] | undefined;\r\n}\r\n\r\nexport interface ReferentielSearchResult<T> {\r\n items: T[];\r\n total?: number | undefined;\r\n}\r\n\r\nexport interface ReferentielFieldProps<T> {\r\n // Value contract\r\n value?: T | null | undefined;\r\n onChange?: ((value: T | null) => void) | undefined;\r\n getDisplayValue?: ((value: T) => string) | undefined;\r\n placeholder?: string | undefined;\r\n disabled?: boolean | undefined;\r\n readOnly?: boolean | undefined;\r\n clearable?: boolean | undefined;\r\n // Modal\r\n title?: React.ReactNode | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | undefined;\r\n modalProps?: Partial<React.ComponentProps<typeof Modal>> | undefined;\r\n // Search contract\r\n search: (\r\n params: ReferentielSearchParams\r\n ) => ReferentielSearchResult<T> | Promise<ReferentielSearchResult<T>>;\r\n criteria?: ReferentielCriterion[] | undefined;\r\n initialCriteria?: Record<string, unknown> | undefined;\r\n columns: DataGridColumn<T>[];\r\n pageSize?: number | undefined;\r\n pageSizes?: number[] | undefined;\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n // Selection UX\r\n confirmOnSelection?: boolean | undefined;\r\n // Sort (delegated to DataGrid)\r\n sort?: SortDescriptor[] | undefined;\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;\r\n // Localisation\r\n labels?: ReferentielFieldLabels | undefined;\r\n locale?: string | undefined;\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id?: string | undefined;\r\n name?: string | undefined;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"] | undefined;\r\n \"aria-required\"?: React.AriaAttributes[\"aria-required\"] | undefined;\r\n \"aria-describedby\"?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n searchAria: \"Rechercher\",\r\n clearAria: \"Effacer la sélection\",\r\n modalCancel: \"Annuler\",\r\n modalConfirm: \"Sélectionner\",\r\n searchSubmit: \"Rechercher\",\r\n resultsHeading: (n: number) => `${n} résultat${n > 1 ? \"s\" : \"\"}`,\r\n initialEmptyTitle: \"Aucune recherche\",\r\n initialEmptyHint: \"Saisissez un critère puis lancez la recherche.\",\r\n noResultsTitle: \"Aucun résultat\",\r\n noResultsHint: \"Modifiez vos critères et relancez la recherche.\",\r\n errorTitle: \"Recherche impossible\",\r\n errorRetry: \"Réessayer\",\r\n loadingHint: \"Recherche en cours…\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst DEFAULT_PAGE_SIZE = 25;\r\nconst DEFAULT_PAGE_SIZES = [25, 50, 100];\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\n/* B17 — render a single criterion based on its `kind` discriminator.\r\n * Falls back to Input for unknown kinds. The draft value is `unknown`\r\n * (criteria are heterogeneous); one assertion at each value seam. */\r\nfunction renderCriterionField(\r\n c: ReferentielCriterion,\r\n value: unknown,\r\n onChange: (next: unknown) => void\r\n): React.ReactElement {\r\n const kind = c.kind || \"input\";\r\n\r\n switch (kind) {\r\n case \"combobox\":\r\n return (\r\n <Combobox\r\n value={(value ?? \"\") as ComboboxValue}\r\n onChange={(next) => {\r\n // Combobox may emit either a raw value or an event-like object;\r\n // extract defensively in a way that is sound for any shape.\r\n const extracted =\r\n next && typeof next === \"object\" && \"target\" in next\r\n ? ((next as { target?: { value?: unknown } }).target?.value ??\r\n next)\r\n : next;\r\n onChange(extracted);\r\n }}\r\n options={c.options ?? []}\r\n loading={Boolean(c.loading)}\r\n {...(c.getOptionLabel !== undefined ? { getOptionLabel: c.getOptionLabel } : {})}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"date\":\r\n return (\r\n <DatePicker\r\n name={c.name}\r\n value={(value ?? null) as Date | null}\r\n onChange={(next) => onChange(next)}\r\n disableFuture={Boolean(c.disableFuture)}\r\n {...(c.placeholder !== undefined ? { placeholder: c.placeholder } : {})}\r\n />\r\n );\r\n case \"input\":\r\n default:\r\n return (\r\n <Input\r\n name={c.name}\r\n value={(value ?? \"\") as string}\r\n onChange={(e) => onChange(e.target.value)}\r\n placeholder={c.placeholder}\r\n />\r\n );\r\n }\r\n}\r\n\r\nfunction ReferentielField<T>({\r\n value,\r\n onChange,\r\n // Display / trigger\r\n getDisplayValue,\r\n placeholder,\r\n disabled = false,\r\n readOnly = false,\r\n clearable = true,\r\n // Modal content\r\n title = \"Rechercher\",\r\n subtitle,\r\n size = \"lg\",\r\n modalProps,\r\n // Search contract\r\n search,\r\n criteria = [],\r\n initialCriteria,\r\n columns = [],\r\n pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,\r\n pageSizes = DEFAULT_PAGE_SIZES,\r\n getRowId = defaultGetRowId,\r\n // Selection UX\r\n confirmOnSelection = false,\r\n // Sort (delegated to DataGrid)\r\n sort,\r\n onSortChange,\r\n // Localisation\r\n labels,\r\n locale,\r\n // Forwarded down so Field can wire id / aria-* / name\r\n id,\r\n name,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n \"aria-describedby\": ariaDescribedBy,\r\n}: ReferentielFieldProps<T>) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n /* ── Modal lifecycle ──────────────────────────────────────── */\r\n const [open, setOpen] = React.useState(false);\r\n const triggerRef = React.useRef<React.ElementRef<typeof Input>>(null);\r\n\r\n const openModal = React.useCallback(() => {\r\n if (disabled || readOnly) return;\r\n setOpen(true);\r\n }, [disabled, readOnly]);\r\n\r\n const closeModal = React.useCallback(() => {\r\n setOpen(false);\r\n setTimeout(() => {\r\n // triggerRef's element type resolves to `{}` via React.ElementRef<typeof\r\n // Input> (a TS inference gap, not a real absence of .focus at runtime —\r\n // Input forwards its ref to a real focusable element). Cast narrowly at\r\n // the point of use rather than widening the ref's declared type, so the\r\n // `ref={triggerRef}` binding on <Input> below is unaffected.\r\n const el = triggerRef.current as { focus?: (options?: FocusOptions) => void } | null;\r\n if (el && typeof el.focus === \"function\") {\r\n el.focus({ preventScroll: true });\r\n }\r\n }, 0);\r\n }, []);\r\n\r\n /* ── Criteria draft + search state ───────────────────────── */\r\n const seedCriteria = React.useMemo(() => {\r\n const seed: Record<string, unknown> = {};\r\n (criteria || []).forEach((c) => {\r\n seed[c.name] = (initialCriteria && initialCriteria[c.name]) || \"\";\r\n });\r\n return seed;\r\n }, [criteria, initialCriteria]);\r\n\r\n const [draft, setDraft] = React.useState<Record<string, unknown>>(seedCriteria);\r\n\r\n React.useEffect(() => {\r\n if (open) setDraft(seedCriteria);\r\n }, [open, seedCriteria]);\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n\r\n const [items, setItems] = React.useState<T[]>([]);\r\n const [total, setTotal] = React.useState(0);\r\n const [loading, setLoading] = React.useState(false);\r\n const [error, setError] = React.useState<Error | null>(null);\r\n const [hasSearched, setHasSearched] = React.useState(false);\r\n const [pendingSelection, setPendingSelection] = React.useState<T | null>(null);\r\n\r\n /* ── Search executor ─────────────────────────────────────── */\r\n const requestSeq = React.useRef(0);\r\n\r\n const runSearch = React.useCallback(\r\n async (\r\n overrides: {\r\n criteria?: Record<string, unknown>;\r\n page?: number;\r\n pageSize?: number;\r\n } = {}\r\n ) => {\r\n if (typeof search !== \"function\") return;\r\n const myReq = ++requestSeq.current;\r\n const effective: ReferentielSearchParams = {\r\n criteria: overrides.criteria ?? draft,\r\n page: overrides.page ?? 1,\r\n pageSize: overrides.pageSize ?? pageSize,\r\n sort,\r\n };\r\n setLoading(true);\r\n setError(null);\r\n setHasSearched(true);\r\n try {\r\n const result = await search(effective);\r\n if (myReq !== requestSeq.current) return;\r\n setItems(Array.isArray(result.items) ? result.items : []);\r\n const nextTotal =\r\n typeof result.total === \"number\" && Number.isFinite(result.total)\r\n ? result.total\r\n : result.items.length;\r\n setTotal(nextTotal);\r\n setPage(effective.page);\r\n setPageSize(effective.pageSize);\r\n } catch (e) {\r\n if (myReq !== requestSeq.current) return;\r\n setError(e instanceof Error ? e : new Error(\"search failed\"));\r\n setItems([]);\r\n setTotal(0);\r\n } finally {\r\n if (myReq === requestSeq.current) setLoading(false);\r\n }\r\n },\r\n [search, draft, pageSize, sort]\r\n );\r\n\r\n /* ── Form submission inside the modal ────────────────────── */\r\n const onSubmitCriteria = (e: React.FormEvent<HTMLFormElement>) => {\r\n e.preventDefault();\r\n setPendingSelection(null);\r\n runSearch({ criteria: draft, page: 1 });\r\n };\r\n\r\n const onPageChange = (nextPage: number) => {\r\n runSearch({ page: nextPage });\r\n };\r\n const onPageSizeChange = (nextPageSize: number) => {\r\n runSearch({ page: 1, pageSize: nextPageSize });\r\n };\r\n\r\n /* ── Selection ───────────────────────────────────────────── */\r\n const handleRowClick = (row: T) => {\r\n if (confirmOnSelection) {\r\n setPendingSelection(row);\r\n return;\r\n }\r\n onChange?.(row);\r\n closeModal();\r\n };\r\n\r\n const handleConfirmSelection = () => {\r\n if (!pendingSelection) return;\r\n onChange?.(pendingSelection);\r\n setPendingSelection(null);\r\n closeModal();\r\n };\r\n\r\n const handleClear = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n e.stopPropagation();\r\n if (disabled || readOnly) return;\r\n onChange?.(null);\r\n };\r\n\r\n /* ── Trigger display ─────────────────────────────────────── */\r\n const display = React.useMemo<string>(() => {\r\n if (value == null || value === \"\") return \"\";\r\n if (typeof getDisplayValue === \"function\") {\r\n try {\r\n return getDisplayValue(value) ?? \"\";\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n if (typeof value === \"string\") return value;\r\n if (value && typeof value === \"object\") {\r\n const v = value as {\r\n description?: string;\r\n label?: string;\r\n name?: string;\r\n code?: string;\r\n };\r\n return v.description || v.label || v.name || v.code || \"\";\r\n }\r\n return String(value);\r\n }, [value, getDisplayValue]);\r\n\r\n /* ── DataGrid pagination contract ────────────────────────── */\r\n const pagination = React.useMemo(\r\n () => ({\r\n page,\r\n pageSize,\r\n total,\r\n pageSizes,\r\n onPageChange,\r\n onPageSizeChange,\r\n }),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [page, pageSize, total, pageSizes]\r\n );\r\n\r\n /* ── Empty / error states for DataGrid ───────────────────── */\r\n const initialEmpty = (\r\n <EmptyState\r\n variant=\"initial\"\r\n title={L.initialEmptyTitle}\r\n description={L.initialEmptyHint}\r\n />\r\n );\r\n const filteredEmpty = (\r\n <EmptyState\r\n variant=\"filtered\"\r\n title={L.noResultsTitle}\r\n description={L.noResultsHint}\r\n />\r\n );\r\n const errorState = (\r\n <Banner\r\n variant=\"error\"\r\n title={L.errorTitle}\r\n action={{ label: L.errorRetry, onClick: () => runSearch({ page: 1 }) }}\r\n >\r\n {error?.message || String(error || \"\")}\r\n </Banner>\r\n );\r\n\r\n /* ── Render the trigger ──────────────────────────────────── */\r\n const showClear = clearable && !disabled && !readOnly && Boolean(display);\r\n\r\n // B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input\r\n // routes them into slotProps.input → the native <input/>. Typed as\r\n // AriaAttributes so \"aria-haspopup\":\"dialog\" stays a valid literal.\r\n const triggerAria = React.useMemo<React.AriaAttributes>(\r\n () => ({\r\n \"aria-haspopup\": \"dialog\",\r\n \"aria-expanded\": open,\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n ...(ariaDescribedBy ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n }),\r\n [open, ariaInvalid, ariaRequired, ariaDescribedBy]\r\n );\r\n\r\n const trigger = (\r\n <Input\r\n ref={triggerRef}\r\n id={id}\r\n name={name}\r\n value={display}\r\n placeholder={placeholder ?? L.placeholder}\r\n readOnly\r\n disabled={disabled}\r\n onClick={openModal}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n openModal();\r\n }\r\n }}\r\n inputProps={triggerAria}\r\n sx={{\r\n cursor: disabled ? \"not-allowed\" : \"pointer\",\r\n \"& input\": { cursor: disabled ? \"not-allowed\" : \"pointer\" },\r\n }}\r\n endIcon={\r\n <Box\r\n sx={{ display: \"inline-flex\", alignItems: \"center\", gap: \"var(--s-1)\" }}\r\n >\r\n {showClear && (\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={handleClear}\r\n aria-label={L.clearAria}\r\n edge=\"end\"\r\n sx={{ color: \"var(--fg-subtle)\" }}\r\n >\r\n <ClearIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n <IconButton\r\n type=\"button\"\r\n size=\"small\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n openModal();\r\n }}\r\n aria-label={L.searchAria}\r\n edge=\"end\"\r\n disabled={disabled}\r\n sx={{ color: \"var(--accent)\" }}\r\n >\r\n <SearchIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n }\r\n />\r\n );\r\n\r\n /* ── Modal body ──────────────────────────────────────────── */\r\n const criteriaRow = criteria.length > 0 && (\r\n <Box\r\n component=\"form\"\r\n onSubmit={onSubmitCriteria}\r\n sx={{\r\n display: \"grid\",\r\n gap: \"var(--s-3)\",\r\n gridTemplateColumns: {\r\n xs: \"1fr\",\r\n sm: criteria.length > 1 ? \"1fr 1fr\" : \"1fr\",\r\n md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`,\r\n },\r\n alignItems: \"end\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n {criteria.map((c) => (\r\n <Field key={c.name} label={c.label} hint={c.hint}>\r\n {renderCriterionField(c, draft[c.name], (next) =>\r\n setDraft((d) => ({ ...d, [c.name]: next }))\r\n )}\r\n </Field>\r\n ))}\r\n <Box sx={{ display: \"flex\", justifyContent: \"flex-end\" }}>\r\n <Button variant=\"primary\" type=\"submit\" loading={loading}>\r\n {L.searchSubmit}\r\n </Button>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n const liveResults = (\r\n <Box aria-live=\"polite\" aria-atomic=\"true\" className=\"pui-sr-only\">\r\n {hasSearched && !loading && !error ? L.resultsHeading(total) : \"\"}\r\n </Box>\r\n );\r\n\r\n const decoratedRows = React.useMemo<T[]>(() => {\r\n if (!confirmOnSelection || !pendingSelection) return items;\r\n const pendingId = getRowId(pendingSelection);\r\n return items.map((r) =>\r\n getRowId(r) === pendingId ? { ...r, __pending: true } : r\r\n );\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [items, pendingSelection, confirmOnSelection]);\r\n\r\n /* ── Modal footer ────────────────────────────────────────── */\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" onClick={closeModal}>\r\n {L.modalCancel}\r\n </Button>\r\n {confirmOnSelection && (\r\n <Button\r\n variant=\"primary\"\r\n disabled={!pendingSelection}\r\n onClick={handleConfirmSelection}\r\n >\r\n {L.modalConfirm}\r\n </Button>\r\n )}\r\n </>\r\n );\r\n\r\n return (\r\n <>\r\n {trigger}\r\n <Modal\r\n open={open}\r\n onClose={closeModal}\r\n title={title}\r\n subtitle={subtitle}\r\n size={size}\r\n footer={footer}\r\n {...modalProps}\r\n >\r\n {criteriaRow}\r\n {liveResults}\r\n <DataGrid\r\n rows={decoratedRows}\r\n columns={columns}\r\n loading={loading}\r\n error={error}\r\n onRowClick={handleRowClick}\r\n pagination={pagination}\r\n getRowId={getRowId}\r\n emptyState={initialEmpty}\r\n filteredEmptyState={filteredEmpty}\r\n errorState={errorState}\r\n filtered={hasSearched}\r\n {...(sort !== undefined ? { sort } : {})}\r\n {...(onSortChange !== undefined ? { onSortChange } : {})}\r\n {...(locale !== undefined ? { locale } : {})}\r\n {...(confirmOnSelection && pendingSelection\r\n ? { rowFlashId: getRowId(pendingSelection) }\r\n : {})}\r\n />\r\n </Modal>\r\n </>\r\n );\r\n}\r\n\r\nexport default ReferentielField;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,197 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import * as React from "react";
14
+ import Box from "@mui/material/Box";
15
+ import Modal from "../components/Modal";
16
+ import Field from "../components/Field";
17
+ import Input from "../components/Input";
18
+ import Switch from "../components/Switch";
19
+ import Button from "../components/Button";
20
+ import { mergeLabels } from "../utils/mergeLabels";
21
+
22
+ /**
23
+ * SaveFilterDialog - Portnet UI v2 (pattern)
24
+ *
25
+ * "Save current filter" dialog for the Saved Filters framework
26
+ * (v2/personalization · savedFilters). Built on the v2 Modal, so it
27
+ * inherits the focus trap, Esc / backdrop / X close affordances, and the
28
+ * aria-labelledby contract (Charter R-M.*).
29
+ *
30
+ * Presentational and provider-FREE by design: it collects a name and two
31
+ * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or
32
+ * a host) persists through useSavedFilters().save and closes the dialog.
33
+ *
34
+ * <SaveFilterDialog
35
+ * open={open}
36
+ * onClose={() => setOpen(false)}
37
+ * existingNames={filters.map(f => f.name)}
38
+ * allowDefault
39
+ * onSubmit={({ name, isDefault, shared }) => {
40
+ * save({ name, criteria: currentCriteria, isDefault, shared });
41
+ * setOpen(false);
42
+ * }}
43
+ * />
44
+ *
45
+ * Name is required (validated on submit; the error is announced via
46
+ * Field's role="alert" binding). A duplicate name is allowed (Odoo-style)
47
+ * but surfaced as a non-blocking hint.
48
+ */
49
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
50
+ var DEFAULT_LABELS = Object.freeze({
51
+ title: "Enregistrer le filtre",
52
+ nameLabel: "Nom du filtre",
53
+ namePlaceholder: "ex. Dossiers en attente",
54
+ nameRequired: "Le nom est obligatoire.",
55
+ duplicateHint: "Un filtre porte déjà ce nom.",
56
+ setAsDefault: "Appliquer par défaut à l'ouverture",
57
+ shareLabel: "Partager avec mon équipe",
58
+ shareHint: "Visible par les autres utilisateurs (selon les droits).",
59
+ cancel: "Annuler",
60
+ save: "Enregistrer"
61
+ });
62
+ var BODY_SX = Object.freeze({
63
+ display: "flex",
64
+ flexDirection: "column",
65
+ gap: "var(--s-4)"
66
+ });
67
+ function SaveFilterDialog(props) {
68
+ var _props$open = props.open,
69
+ open = _props$open === void 0 ? false : _props$open,
70
+ onClose = props.onClose,
71
+ onSubmit = props.onSubmit,
72
+ _props$initialName = props.initialName,
73
+ initialName = _props$initialName === void 0 ? "" : _props$initialName,
74
+ _props$initialIsDefau = props.initialIsDefault,
75
+ initialIsDefault = _props$initialIsDefau === void 0 ? false : _props$initialIsDefau,
76
+ _props$initialShared = props.initialShared,
77
+ initialShared = _props$initialShared === void 0 ? false : _props$initialShared,
78
+ _props$allowDefault = props.allowDefault,
79
+ allowDefault = _props$allowDefault === void 0 ? true : _props$allowDefault,
80
+ _props$allowShared = props.allowShared,
81
+ allowShared = _props$allowShared === void 0 ? false : _props$allowShared,
82
+ existingNames = props.existingNames,
83
+ _props$busy = props.busy,
84
+ busy = _props$busy === void 0 ? false : _props$busy,
85
+ labels = props.labels;
86
+ var L = mergeLabels(DEFAULT_LABELS, labels);
87
+ var _React$useState = React.useState(initialName),
88
+ _React$useState2 = _slicedToArray(_React$useState, 2),
89
+ name = _React$useState2[0],
90
+ setName = _React$useState2[1];
91
+ var _React$useState3 = React.useState(!!initialIsDefault),
92
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
93
+ isDefault = _React$useState4[0],
94
+ setIsDefault = _React$useState4[1];
95
+ var _React$useState5 = React.useState(!!initialShared),
96
+ _React$useState6 = _slicedToArray(_React$useState5, 2),
97
+ shared = _React$useState6[0],
98
+ setShared = _React$useState6[1];
99
+ var _React$useState7 = React.useState(false),
100
+ _React$useState8 = _slicedToArray(_React$useState7, 2),
101
+ touched = _React$useState8[0],
102
+ setTouched = _React$useState8[1];
103
+
104
+ // Reset the form each time the dialog opens.
105
+ React.useEffect(function resetOnOpen() {
106
+ if (open) {
107
+ setName(initialName || "");
108
+ setIsDefault(!!initialIsDefault);
109
+ setShared(!!initialShared);
110
+ setTouched(false);
111
+ }
112
+ }, [open, initialName, initialIsDefault, initialShared]);
113
+ var trimmed = name.trim();
114
+ var nameError = touched && !trimmed ? L.nameRequired : undefined;
115
+ var isDuplicate = !!trimmed && Array.isArray(existingNames) && existingNames.some(function eq(n) {
116
+ return typeof n === "string" && n.trim().toLowerCase() === trimmed.toLowerCase();
117
+ });
118
+ var handleSubmit = function handleSubmit() {
119
+ if (!trimmed) {
120
+ setTouched(true);
121
+ return;
122
+ }
123
+ if (typeof onSubmit === "function") {
124
+ onSubmit({
125
+ name: trimmed,
126
+ isDefault: isDefault,
127
+ shared: shared
128
+ });
129
+ }
130
+ };
131
+ var handleKeyDown = function handleKeyDown(e) {
132
+ if (e.key === "Enter") {
133
+ e.preventDefault();
134
+ handleSubmit();
135
+ }
136
+ };
137
+ var footer = /*#__PURE__*/_jsxs(_Fragment, {
138
+ children: [/*#__PURE__*/_jsx(Button, {
139
+ variant: "ghost",
140
+ type: "button",
141
+ onClick: onClose,
142
+ children: L.cancel
143
+ }), /*#__PURE__*/_jsx(Button, {
144
+ variant: "primary",
145
+ type: "button",
146
+ onClick: handleSubmit,
147
+ disabled: busy,
148
+ children: L.save
149
+ })]
150
+ });
151
+ return /*#__PURE__*/_jsx(Modal, {
152
+ open: open,
153
+ onClose: onClose,
154
+ title: L.title,
155
+ size: "sm",
156
+ footer: footer,
157
+ children: /*#__PURE__*/_jsxs(Box, {
158
+ sx: BODY_SX,
159
+ children: [/*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
160
+ label: L.nameLabel,
161
+ required: true
162
+ }, nameError !== undefined ? {
163
+ error: nameError
164
+ } : {}), isDuplicate ? {
165
+ hint: L.duplicateHint
166
+ } : {}), {}, {
167
+ children: /*#__PURE__*/_jsx(Input, {
168
+ value: name,
169
+ onChange: function onChange(e) {
170
+ setName(e.target.value);
171
+ },
172
+ placeholder: L.namePlaceholder,
173
+ inputProps: {
174
+ autoFocus: true,
175
+ maxLength: 80,
176
+ onKeyDown: handleKeyDown
177
+ }
178
+ })
179
+ })), allowDefault && /*#__PURE__*/_jsx(Switch, {
180
+ checked: isDefault,
181
+ onChange: function onChange(e) {
182
+ setIsDefault(e.target.checked);
183
+ },
184
+ label: L.setAsDefault
185
+ }), allowShared && /*#__PURE__*/_jsx(Switch, {
186
+ checked: shared,
187
+ onChange: function onChange(e) {
188
+ setShared(e.target.checked);
189
+ },
190
+ label: L.shareLabel,
191
+ description: L.shareHint
192
+ })]
193
+ })
194
+ });
195
+ }
196
+ export default SaveFilterDialog;
197
+ //# sourceMappingURL=SaveFilterDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaveFilterDialog.js","names":["React","Box","Modal","Field","Input","Switch","Button","mergeLabels","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_LABELS","Object","freeze","title","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","BODY_SX","display","flexDirection","gap","SaveFilterDialog","props","_props$open","open","onClose","onSubmit","_props$initialName","initialName","_props$initialIsDefau","initialIsDefault","_props$initialShared","initialShared","_props$allowDefault","allowDefault","_props$allowShared","allowShared","existingNames","_props$busy","busy","labels","L","_React$useState","useState","_React$useState2","_slicedToArray","name","setName","_React$useState3","_React$useState4","isDefault","setIsDefault","_React$useState5","_React$useState6","shared","setShared","_React$useState7","_React$useState8","touched","setTouched","useEffect","resetOnOpen","trimmed","trim","nameError","undefined","isDuplicate","Array","isArray","some","eq","n","toLowerCase","handleSubmit","handleKeyDown","e","key","preventDefault","footer","children","variant","type","onClick","disabled","size","sx","_objectSpread","label","required","error","hint","value","onChange","target","placeholder","inputProps","autoFocus","maxLength","onKeyDown","checked","description"],"sources":["../../../../src/lib/v2/patterns/SaveFilterDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Modal from \"../components/Modal\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Switch from \"../components/Switch\";\r\nimport Button from \"../components/Button\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SaveFilterDialog - Portnet UI v2 (pattern)\r\n *\r\n * \"Save current filter\" dialog for the Saved Filters framework\r\n * (v2/personalization · savedFilters). Built on the v2 Modal, so it\r\n * inherits the focus trap, Esc / backdrop / X close affordances, and the\r\n * aria-labelledby contract (Charter R-M.*).\r\n *\r\n * Presentational and provider-FREE by design: it collects a name and two\r\n * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or\r\n * a host) persists through useSavedFilters().save and closes the dialog.\r\n *\r\n * <SaveFilterDialog\r\n * open={open}\r\n * onClose={() => setOpen(false)}\r\n * existingNames={filters.map(f => f.name)}\r\n * allowDefault\r\n * onSubmit={({ name, isDefault, shared }) => {\r\n * save({ name, criteria: currentCriteria, isDefault, shared });\r\n * setOpen(false);\r\n * }}\r\n * />\r\n *\r\n * Name is required (validated on submit; the error is announced via\r\n * Field's role=\"alert\" binding). A duplicate name is allowed (Odoo-style)\r\n * but surfaced as a non-blocking hint.\r\n */\r\n\r\nexport interface SaveFilterDialogSubmit {\r\n name: string;\r\n isDefault: boolean;\r\n shared: boolean;\r\n}\r\n\r\nexport interface SaveFilterDialogLabels {\r\n title: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n title: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SaveFilterDialogLabels);\r\n\r\nconst BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-4)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SaveFilterDialogProps {\r\n open?: boolean | undefined;\r\n /** Required — a dialog must be closable (fed to Modal + both footer buttons). */\r\n onClose: () => void;\r\n /** Emitted on a valid submit: ({ name, isDefault, shared }) => void. */\r\n onSubmit?: ((values: SaveFilterDialogSubmit) => void) | undefined;\r\n initialName?: string | undefined;\r\n initialIsDefault?: boolean | undefined;\r\n initialShared?: boolean | undefined;\r\n /** Show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Show the \"share with team\" switch (modelled, not enforced in Phase 1). */\r\n allowShared?: boolean | undefined;\r\n /** Existing filter names, for a non-blocking duplicate hint. */\r\n existingNames?: readonly string[] | undefined;\r\n /** Disable the submit button while a save is in flight. */\r\n busy?: boolean | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SaveFilterDialogLabels> | undefined;\r\n}\r\n\r\nfunction SaveFilterDialog(props: SaveFilterDialogProps): React.JSX.Element {\r\n const {\r\n open = false,\r\n onClose,\r\n onSubmit,\r\n initialName = \"\",\r\n initialIsDefault = false,\r\n initialShared = false,\r\n allowDefault = true,\r\n allowShared = false,\r\n existingNames,\r\n busy = false,\r\n labels,\r\n } = props;\r\n const L: SaveFilterDialogLabels = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n const [name, setName] = React.useState(initialName);\r\n const [isDefault, setIsDefault] = React.useState(!!initialIsDefault);\r\n const [shared, setShared] = React.useState(!!initialShared);\r\n const [touched, setTouched] = React.useState(false);\r\n\r\n // Reset the form each time the dialog opens.\r\n React.useEffect(\r\n function resetOnOpen() {\r\n if (open) {\r\n setName(initialName || \"\");\r\n setIsDefault(!!initialIsDefault);\r\n setShared(!!initialShared);\r\n setTouched(false);\r\n }\r\n },\r\n [open, initialName, initialIsDefault, initialShared]\r\n );\r\n\r\n const trimmed = name.trim();\r\n const nameError = touched && !trimmed ? L.nameRequired : undefined;\r\n const isDuplicate =\r\n !!trimmed &&\r\n Array.isArray(existingNames) &&\r\n existingNames.some(function eq(n) {\r\n return (\r\n typeof n === \"string\" &&\r\n n.trim().toLowerCase() === trimmed.toLowerCase()\r\n );\r\n });\r\n\r\n const handleSubmit = function handleSubmit(): void {\r\n if (!trimmed) {\r\n setTouched(true);\r\n return;\r\n }\r\n if (typeof onSubmit === \"function\") {\r\n onSubmit({ name: trimmed, isDefault: isDefault, shared: shared });\r\n }\r\n };\r\n\r\n const handleKeyDown = function handleKeyDown(\r\n e: React.KeyboardEvent<HTMLInputElement>\r\n ): void {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" type=\"button\" onClick={onClose}>\r\n {L.cancel}\r\n </Button>\r\n <Button\r\n variant=\"primary\"\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n disabled={busy}\r\n >\r\n {L.save}\r\n </Button>\r\n </>\r\n );\r\n\r\n return (\r\n <Modal open={open} onClose={onClose} title={L.title} size=\"sm\" footer={footer}>\r\n <Box sx={BODY_SX}>\r\n <Field\r\n label={L.nameLabel}\r\n required\r\n {...(nameError !== undefined ? { error: nameError } : {})}\r\n {...(isDuplicate ? { hint: L.duplicateHint } : {})}\r\n >\r\n <Input\r\n value={name}\r\n onChange={function (e) {\r\n setName(e.target.value);\r\n }}\r\n placeholder={L.namePlaceholder}\r\n inputProps={{ autoFocus: true, maxLength: 80, onKeyDown: handleKeyDown }}\r\n />\r\n </Field>\r\n\r\n {allowDefault && (\r\n <Switch\r\n checked={isDefault}\r\n onChange={function (e) {\r\n setIsDefault(e.target.checked);\r\n }}\r\n label={L.setAsDefault}\r\n />\r\n )}\r\n\r\n {allowShared && (\r\n <Switch\r\n checked={shared}\r\n onChange={function (e) {\r\n setShared(e.target.checked);\r\n }}\r\n label={L.shareLabel}\r\n description={L.shareHint}\r\n />\r\n )}\r\n </Box>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default SaveFilterDialog;\r\n"],"mappings":"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","ignoreList":[]}