@portnet/ui 6.0.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (820) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/esm/index.js +214 -0
  3. package/dist/esm/index.js.map +1 -0
  4. package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
  5. package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
  6. package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
  7. package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
  8. package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
  9. package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
  10. package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
  11. package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  12. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
  13. package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  14. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
  15. package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  16. package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
  17. package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
  18. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
  19. package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  20. package/dist/esm/v2/__tests__/apiError.test.js +181 -0
  21. package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
  22. package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
  23. package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
  24. package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
  25. package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
  26. package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
  27. package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
  28. package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
  29. package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
  30. package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
  31. package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
  32. package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
  33. package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
  34. package/dist/esm/v2/components/Accordion.js +230 -0
  35. package/dist/esm/v2/components/Accordion.js.map +1 -0
  36. package/dist/esm/v2/components/ActionStrip.js +146 -0
  37. package/dist/esm/v2/components/ActionStrip.js.map +1 -0
  38. package/dist/esm/v2/components/Banner.js +254 -0
  39. package/dist/esm/v2/components/Banner.js.map +1 -0
  40. package/dist/esm/v2/components/Busy.js +97 -0
  41. package/dist/esm/v2/components/Busy.js.map +1 -0
  42. package/dist/esm/v2/components/Button.js +114 -0
  43. package/dist/esm/v2/components/Button.js.map +1 -0
  44. package/dist/esm/v2/components/CategoryTag.js +81 -0
  45. package/dist/esm/v2/components/CategoryTag.js.map +1 -0
  46. package/dist/esm/v2/components/Checkbox.js +124 -0
  47. package/dist/esm/v2/components/Checkbox.js.map +1 -0
  48. package/dist/esm/v2/components/Chip.js +124 -0
  49. package/dist/esm/v2/components/Chip.js.map +1 -0
  50. package/dist/esm/v2/components/Combobox.js +394 -0
  51. package/dist/esm/v2/components/Combobox.js.map +1 -0
  52. package/dist/esm/v2/components/CommandPalette.js +660 -0
  53. package/dist/esm/v2/components/CommandPalette.js.map +1 -0
  54. package/dist/esm/v2/components/ConfirmDialog.js +144 -0
  55. package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
  56. package/dist/esm/v2/components/DatePicker.js +200 -0
  57. package/dist/esm/v2/components/DatePicker.js.map +1 -0
  58. package/dist/esm/v2/components/DateRangePicker.js +289 -0
  59. package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
  60. package/dist/esm/v2/components/DateTimePicker.js +215 -0
  61. package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
  62. package/dist/esm/v2/components/Drawer.js +333 -0
  63. package/dist/esm/v2/components/Drawer.js.map +1 -0
  64. package/dist/esm/v2/components/Dropzone.js +540 -0
  65. package/dist/esm/v2/components/Dropzone.js.map +1 -0
  66. package/dist/esm/v2/components/EmptyState.js +102 -0
  67. package/dist/esm/v2/components/EmptyState.js.map +1 -0
  68. package/dist/esm/v2/components/FavoriteToggle.js +127 -0
  69. package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
  70. package/dist/esm/v2/components/Field.js +259 -0
  71. package/dist/esm/v2/components/Field.js.map +1 -0
  72. package/dist/esm/v2/components/FieldError.js +124 -0
  73. package/dist/esm/v2/components/FieldError.js.map +1 -0
  74. package/dist/esm/v2/components/FieldHelp.js +202 -0
  75. package/dist/esm/v2/components/FieldHelp.js.map +1 -0
  76. package/dist/esm/v2/components/FileCard.js +162 -0
  77. package/dist/esm/v2/components/FileCard.js.map +1 -0
  78. package/dist/esm/v2/components/FilterTab.js +138 -0
  79. package/dist/esm/v2/components/FilterTab.js.map +1 -0
  80. package/dist/esm/v2/components/ForbiddenPage.js +74 -0
  81. package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
  82. package/dist/esm/v2/components/FormGrid.js +179 -0
  83. package/dist/esm/v2/components/FormGrid.js.map +1 -0
  84. package/dist/esm/v2/components/FormikDisplay.js +118 -0
  85. package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
  86. package/dist/esm/v2/components/Input.js +107 -0
  87. package/dist/esm/v2/components/Input.js.map +1 -0
  88. package/dist/esm/v2/components/KPICard.js +237 -0
  89. package/dist/esm/v2/components/KPICard.js.map +1 -0
  90. package/dist/esm/v2/components/KPIStrip.js +84 -0
  91. package/dist/esm/v2/components/KPIStrip.js.map +1 -0
  92. package/dist/esm/v2/components/KV.js +75 -0
  93. package/dist/esm/v2/components/KV.js.map +1 -0
  94. package/dist/esm/v2/components/KVGrid.js +74 -0
  95. package/dist/esm/v2/components/KVGrid.js.map +1 -0
  96. package/dist/esm/v2/components/Layout.js +284 -0
  97. package/dist/esm/v2/components/Layout.js.map +1 -0
  98. package/dist/esm/v2/components/MobileRowCard.js +314 -0
  99. package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
  100. package/dist/esm/v2/components/Modal.js +276 -0
  101. package/dist/esm/v2/components/Modal.js.map +1 -0
  102. package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
  103. package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
  104. package/dist/esm/v2/components/NotFoundPage.js +58 -0
  105. package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
  106. package/dist/esm/v2/components/NumberInput.js +309 -0
  107. package/dist/esm/v2/components/NumberInput.js.map +1 -0
  108. package/dist/esm/v2/components/OverflowMenu.js +184 -0
  109. package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
  110. package/dist/esm/v2/components/PdfViewer.js +122 -0
  111. package/dist/esm/v2/components/PdfViewer.js.map +1 -0
  112. package/dist/esm/v2/components/ProgressBar.js +202 -0
  113. package/dist/esm/v2/components/ProgressBar.js.map +1 -0
  114. package/dist/esm/v2/components/Radio.js +228 -0
  115. package/dist/esm/v2/components/Radio.js.map +1 -0
  116. package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
  117. package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
  118. package/dist/esm/v2/components/SectionHeader.js +132 -0
  119. package/dist/esm/v2/components/SectionHeader.js.map +1 -0
  120. package/dist/esm/v2/components/Segmented.js +254 -0
  121. package/dist/esm/v2/components/Segmented.js.map +1 -0
  122. package/dist/esm/v2/components/Select.js +490 -0
  123. package/dist/esm/v2/components/Select.js.map +1 -0
  124. package/dist/esm/v2/components/ServerErrorPage.js +74 -0
  125. package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
  126. package/dist/esm/v2/components/Skeleton.js +269 -0
  127. package/dist/esm/v2/components/Skeleton.js.map +1 -0
  128. package/dist/esm/v2/components/SkipLink.js +49 -0
  129. package/dist/esm/v2/components/SkipLink.js.map +1 -0
  130. package/dist/esm/v2/components/Spinner.js +69 -0
  131. package/dist/esm/v2/components/Spinner.js.map +1 -0
  132. package/dist/esm/v2/components/Status.js +64 -0
  133. package/dist/esm/v2/components/Status.js.map +1 -0
  134. package/dist/esm/v2/components/Stepper.js +432 -0
  135. package/dist/esm/v2/components/Stepper.js.map +1 -0
  136. package/dist/esm/v2/components/Surface.js +159 -0
  137. package/dist/esm/v2/components/Surface.js.map +1 -0
  138. package/dist/esm/v2/components/Switch.js +128 -0
  139. package/dist/esm/v2/components/Switch.js.map +1 -0
  140. package/dist/esm/v2/components/Tabs.js +150 -0
  141. package/dist/esm/v2/components/Tabs.js.map +1 -0
  142. package/dist/esm/v2/components/TelInput.js +274 -0
  143. package/dist/esm/v2/components/TelInput.js.map +1 -0
  144. package/dist/esm/v2/components/Textarea.js +72 -0
  145. package/dist/esm/v2/components/Textarea.js.map +1 -0
  146. package/dist/esm/v2/components/TimePicker.js +134 -0
  147. package/dist/esm/v2/components/TimePicker.js.map +1 -0
  148. package/dist/esm/v2/components/Toast.js +376 -0
  149. package/dist/esm/v2/components/Toast.js.map +1 -0
  150. package/dist/esm/v2/components/Tooltip.js +161 -0
  151. package/dist/esm/v2/components/Tooltip.js.map +1 -0
  152. package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
  153. package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
  154. package/dist/esm/v2/components/_pickerShared.js +60 -0
  155. package/dist/esm/v2/components/_pickerShared.js.map +1 -0
  156. package/dist/esm/v2/components/index.js +271 -0
  157. package/dist/esm/v2/components/index.js.map +1 -0
  158. package/dist/esm/v2/hooks/index.js +10 -0
  159. package/dist/esm/v2/hooks/index.js.map +1 -0
  160. package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
  161. package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
  162. package/dist/esm/v2/hooks/useDensity.js +119 -0
  163. package/dist/esm/v2/hooks/useDensity.js.map +1 -0
  164. package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
  165. package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
  166. package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
  167. package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
  168. package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
  169. package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
  170. package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
  171. package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
  172. package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
  173. package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
  174. package/dist/esm/v2/hooks/useSortedRows.js +32 -0
  175. package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
  176. package/dist/esm/v2/hooks/useTabLoading.js +79 -0
  177. package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
  178. package/dist/esm/v2/index.js +132 -0
  179. package/dist/esm/v2/index.js.map +1 -0
  180. package/dist/esm/v2/modalContext.js +108 -0
  181. package/dist/esm/v2/modalContext.js.map +1 -0
  182. package/dist/esm/v2/models/favorite.js +2 -0
  183. package/dist/esm/v2/models/favorite.js.map +1 -0
  184. package/dist/esm/v2/models/index.js +12 -0
  185. package/dist/esm/v2/models/index.js.map +1 -0
  186. package/dist/esm/v2/models/personalization.js +2 -0
  187. package/dist/esm/v2/models/personalization.js.map +1 -0
  188. package/dist/esm/v2/models/referentiel.js +2 -0
  189. package/dist/esm/v2/models/referentiel.js.map +1 -0
  190. package/dist/esm/v2/models/savedFilter.js +2 -0
  191. package/dist/esm/v2/models/savedFilter.js.map +1 -0
  192. package/dist/esm/v2/patterns/ActionBar.js +603 -0
  193. package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
  194. package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
  195. package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
  196. package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
  197. package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  198. package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
  199. package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
  200. package/dist/esm/v2/patterns/DataGrid.js +820 -0
  201. package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
  202. package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
  203. package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  204. package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
  205. package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
  206. package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
  207. package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
  208. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
  209. package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  210. package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
  211. package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
  212. package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
  213. package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
  214. package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
  215. package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
  216. package/dist/esm/v2/patterns/FormPageShell.js +126 -0
  217. package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
  218. package/dist/esm/v2/patterns/FormSection.js +190 -0
  219. package/dist/esm/v2/patterns/FormSection.js.map +1 -0
  220. package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
  221. package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
  222. package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
  223. package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  224. package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
  225. package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
  226. package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
  227. package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
  228. package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
  229. package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
  230. package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
  231. package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
  232. package/dist/esm/v2/patterns/FormikFile.js +148 -0
  233. package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
  234. package/dist/esm/v2/patterns/FormikInput.js +130 -0
  235. package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
  236. package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
  237. package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
  238. package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
  239. package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
  240. package/dist/esm/v2/patterns/FormikSelect.js +162 -0
  241. package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
  242. package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
  243. package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
  244. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
  245. package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  246. package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
  247. package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
  248. package/dist/esm/v2/patterns/PageContent.js +62 -0
  249. package/dist/esm/v2/patterns/PageContent.js.map +1 -0
  250. package/dist/esm/v2/patterns/ReferentielField.js +615 -0
  251. package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
  252. package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
  253. package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
  254. package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
  255. package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
  256. package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
  257. package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
  258. package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
  259. package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
  260. package/dist/esm/v2/patterns/SortableHeader.js +179 -0
  261. package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
  262. package/dist/esm/v2/patterns/Tour.js +471 -0
  263. package/dist/esm/v2/patterns/Tour.js.map +1 -0
  264. package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
  265. package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
  266. package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
  267. package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
  268. package/dist/esm/v2/patterns/_sort.js +112 -0
  269. package/dist/esm/v2/patterns/_sort.js.map +1 -0
  270. package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
  271. package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
  272. package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
  273. package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
  274. package/dist/esm/v2/patterns/index.js +178 -0
  275. package/dist/esm/v2/patterns/index.js.map +1 -0
  276. package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
  277. package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
  278. package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
  279. package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
  280. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
  281. package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  282. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
  283. package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  284. package/dist/esm/v2/personalization/adapters/index.js +11 -0
  285. package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
  286. package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
  287. package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
  288. package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
  289. package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
  290. package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
  291. package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  292. package/dist/esm/v2/personalization/capabilities/index.js +22 -0
  293. package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
  294. package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
  295. package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
  296. package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
  297. package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
  298. package/dist/esm/v2/personalization/index.js +64 -0
  299. package/dist/esm/v2/personalization/index.js.map +1 -0
  300. package/dist/esm/v2/personalization/personalizationContext.js +108 -0
  301. package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
  302. package/dist/esm/v2/personalization/schema.js +92 -0
  303. package/dist/esm/v2/personalization/schema.js.map +1 -0
  304. package/dist/esm/v2/personalization/types.js +2 -0
  305. package/dist/esm/v2/personalization/types.js.map +1 -0
  306. package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
  307. package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
  308. package/dist/esm/v2/referentiel/index.js +15 -0
  309. package/dist/esm/v2/referentiel/index.js.map +1 -0
  310. package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
  311. package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
  312. package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
  313. package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
  314. package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
  315. package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
  316. package/dist/esm/v2/styles/base.css +425 -0
  317. package/dist/esm/v2/styles/css.d.ts +10 -0
  318. package/dist/esm/v2/styles/index.js +12 -0
  319. package/dist/esm/v2/styles/index.js.map +1 -0
  320. package/dist/esm/v2/theme/_brand.js +64 -0
  321. package/dist/esm/v2/theme/_brand.js.map +1 -0
  322. package/dist/esm/v2/theme/_brandSecondary.js +60 -0
  323. package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
  324. package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
  325. package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
  326. package/dist/esm/v2/theme/cssVariables.js +198 -0
  327. package/dist/esm/v2/theme/cssVariables.js.map +1 -0
  328. package/dist/esm/v2/theme/index.js +32 -0
  329. package/dist/esm/v2/theme/index.js.map +1 -0
  330. package/dist/esm/v2/tokens/breakpoints.js +106 -0
  331. package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
  332. package/dist/esm/v2/tokens/colors.js +219 -0
  333. package/dist/esm/v2/tokens/colors.js.map +1 -0
  334. package/dist/esm/v2/tokens/density.js +98 -0
  335. package/dist/esm/v2/tokens/density.js.map +1 -0
  336. package/dist/esm/v2/tokens/index.js +80 -0
  337. package/dist/esm/v2/tokens/index.js.map +1 -0
  338. package/dist/esm/v2/tokens/motion.js +88 -0
  339. package/dist/esm/v2/tokens/motion.js.map +1 -0
  340. package/dist/esm/v2/tokens/radius.js +22 -0
  341. package/dist/esm/v2/tokens/radius.js.map +1 -0
  342. package/dist/esm/v2/tokens/shadows.js +40 -0
  343. package/dist/esm/v2/tokens/shadows.js.map +1 -0
  344. package/dist/esm/v2/tokens/spacing.js +51 -0
  345. package/dist/esm/v2/tokens/spacing.js.map +1 -0
  346. package/dist/esm/v2/tokens/state.js +41 -0
  347. package/dist/esm/v2/tokens/state.js.map +1 -0
  348. package/dist/esm/v2/tokens/statusPalette.js +66 -0
  349. package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
  350. package/dist/esm/v2/tokens/tokens.json +153 -0
  351. package/dist/esm/v2/tokens/typography.js +149 -0
  352. package/dist/esm/v2/tokens/typography.js.map +1 -0
  353. package/dist/esm/v2/tokens/zIndex.js +44 -0
  354. package/dist/esm/v2/tokens/zIndex.js.map +1 -0
  355. package/dist/esm/v2/types/common.js +2 -0
  356. package/dist/esm/v2/types/common.js.map +1 -0
  357. package/dist/esm/v2/types/datagrid.js +2 -0
  358. package/dist/esm/v2/types/datagrid.js.map +1 -0
  359. package/dist/esm/v2/types/index.js +12 -0
  360. package/dist/esm/v2/types/index.js.map +1 -0
  361. package/dist/esm/v2/utils/apiError.js +281 -0
  362. package/dist/esm/v2/utils/apiError.js.map +1 -0
  363. package/dist/esm/v2/utils/contrast.js +157 -0
  364. package/dist/esm/v2/utils/contrast.js.map +1 -0
  365. package/dist/esm/v2/utils/cx.js +38 -0
  366. package/dist/esm/v2/utils/cx.js.map +1 -0
  367. package/dist/esm/v2/utils/fileDownload.js +226 -0
  368. package/dist/esm/v2/utils/fileDownload.js.map +1 -0
  369. package/dist/esm/v2/utils/fmtMoney.js +78 -0
  370. package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
  371. package/dist/esm/v2/utils/index.js +43 -0
  372. package/dist/esm/v2/utils/index.js.map +1 -0
  373. package/dist/esm/v2/utils/mergeLabels.js +86 -0
  374. package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
  375. package/dist/esm/v2/utils/networkStatus.js +114 -0
  376. package/dist/esm/v2/utils/networkStatus.js.map +1 -0
  377. package/dist/index.d.ts +5 -2
  378. package/dist/index.d.ts.map +1 -1
  379. package/dist/index.js +35 -0
  380. package/dist/index.js.map +1 -1
  381. package/dist/v2/__tests__/FieldError.test.js +160 -0
  382. package/dist/v2/__tests__/FieldError.test.js.map +1 -0
  383. package/dist/v2/__tests__/FieldWidth.test.js +150 -0
  384. package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
  385. package/dist/v2/__tests__/FileCard.test.js +144 -0
  386. package/dist/v2/__tests__/FileCard.test.js.map +1 -0
  387. package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
  388. package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
  389. package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
  390. package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
  391. package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
  392. package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
  393. package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
  394. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
  395. package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
  396. package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
  397. package/dist/v2/__tests__/labels-merge.test.js +20 -24
  398. package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
  399. package/dist/v2/components/Accordion.d.ts +6 -6
  400. package/dist/v2/components/Accordion.d.ts.map +1 -1
  401. package/dist/v2/components/Accordion.js.map +1 -1
  402. package/dist/v2/components/ActionStrip.d.ts +12 -12
  403. package/dist/v2/components/ActionStrip.d.ts.map +1 -1
  404. package/dist/v2/components/ActionStrip.js.map +1 -1
  405. package/dist/v2/components/Banner.d.ts +48 -9
  406. package/dist/v2/components/Banner.d.ts.map +1 -1
  407. package/dist/v2/components/Banner.js +116 -35
  408. package/dist/v2/components/Banner.js.map +1 -1
  409. package/dist/v2/components/Busy.d.ts +3 -3
  410. package/dist/v2/components/Busy.d.ts.map +1 -1
  411. package/dist/v2/components/Busy.js.map +1 -1
  412. package/dist/v2/components/Button.d.ts +6 -6
  413. package/dist/v2/components/Button.d.ts.map +1 -1
  414. package/dist/v2/components/Button.js.map +1 -1
  415. package/dist/v2/components/CategoryTag.d.ts +3 -3
  416. package/dist/v2/components/CategoryTag.d.ts.map +1 -1
  417. package/dist/v2/components/CategoryTag.js.map +1 -1
  418. package/dist/v2/components/Checkbox.d.ts +11 -11
  419. package/dist/v2/components/Checkbox.d.ts.map +1 -1
  420. package/dist/v2/components/Checkbox.js.map +1 -1
  421. package/dist/v2/components/Chip.d.ts +8 -8
  422. package/dist/v2/components/Chip.d.ts.map +1 -1
  423. package/dist/v2/components/Chip.js +2 -1
  424. package/dist/v2/components/Chip.js.map +1 -1
  425. package/dist/v2/components/Combobox.d.ts +27 -27
  426. package/dist/v2/components/Combobox.d.ts.map +1 -1
  427. package/dist/v2/components/Combobox.js +3 -2
  428. package/dist/v2/components/Combobox.js.map +1 -1
  429. package/dist/v2/components/CommandPalette.d.ts +20 -20
  430. package/dist/v2/components/CommandPalette.d.ts.map +1 -1
  431. package/dist/v2/components/CommandPalette.js +2 -6
  432. package/dist/v2/components/CommandPalette.js.map +1 -1
  433. package/dist/v2/components/ConfirmDialog.d.ts +13 -13
  434. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
  435. package/dist/v2/components/ConfirmDialog.js +2 -1
  436. package/dist/v2/components/ConfirmDialog.js.map +1 -1
  437. package/dist/v2/components/DatePicker.d.ts +11 -11
  438. package/dist/v2/components/DatePicker.d.ts.map +1 -1
  439. package/dist/v2/components/DatePicker.js.map +1 -1
  440. package/dist/v2/components/DateRangePicker.d.ts +16 -16
  441. package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
  442. package/dist/v2/components/DateRangePicker.js +2 -1
  443. package/dist/v2/components/DateRangePicker.js.map +1 -1
  444. package/dist/v2/components/DateTimePicker.d.ts +11 -11
  445. package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
  446. package/dist/v2/components/DateTimePicker.js +37 -4
  447. package/dist/v2/components/DateTimePicker.js.map +1 -1
  448. package/dist/v2/components/Drawer.d.ts +18 -18
  449. package/dist/v2/components/Drawer.d.ts.map +1 -1
  450. package/dist/v2/components/Drawer.js +2 -1
  451. package/dist/v2/components/Drawer.js.map +1 -1
  452. package/dist/v2/components/Dropzone.d.ts +34 -34
  453. package/dist/v2/components/Dropzone.d.ts.map +1 -1
  454. package/dist/v2/components/Dropzone.js +11 -3
  455. package/dist/v2/components/Dropzone.js.map +1 -1
  456. package/dist/v2/components/EmptyState.d.ts +7 -7
  457. package/dist/v2/components/EmptyState.d.ts.map +1 -1
  458. package/dist/v2/components/EmptyState.js.map +1 -1
  459. package/dist/v2/components/FavoriteToggle.d.ts +7 -7
  460. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
  461. package/dist/v2/components/FavoriteToggle.js +2 -1
  462. package/dist/v2/components/FavoriteToggle.js.map +1 -1
  463. package/dist/v2/components/Field.d.ts +76 -13
  464. package/dist/v2/components/Field.d.ts.map +1 -1
  465. package/dist/v2/components/Field.js +87 -9
  466. package/dist/v2/components/Field.js.map +1 -1
  467. package/dist/v2/components/FieldError.d.ts +78 -0
  468. package/dist/v2/components/FieldError.d.ts.map +1 -0
  469. package/dist/v2/components/FieldError.js +131 -0
  470. package/dist/v2/components/FieldError.js.map +1 -0
  471. package/dist/v2/components/FieldHelp.d.ts +7 -7
  472. package/dist/v2/components/FieldHelp.d.ts.map +1 -1
  473. package/dist/v2/components/FieldHelp.js.map +1 -1
  474. package/dist/v2/components/FileCard.d.ts +75 -0
  475. package/dist/v2/components/FileCard.d.ts.map +1 -0
  476. package/dist/v2/components/FileCard.js +169 -0
  477. package/dist/v2/components/FileCard.js.map +1 -0
  478. package/dist/v2/components/FilterTab.d.ts +9 -9
  479. package/dist/v2/components/FilterTab.d.ts.map +1 -1
  480. package/dist/v2/components/FilterTab.js +2 -1
  481. package/dist/v2/components/FilterTab.js.map +1 -1
  482. package/dist/v2/components/FormGrid.d.ts +9 -4
  483. package/dist/v2/components/FormGrid.d.ts.map +1 -1
  484. package/dist/v2/components/FormGrid.js +11 -1
  485. package/dist/v2/components/FormGrid.js.map +1 -1
  486. package/dist/v2/components/FormikDisplay.d.ts +6 -6
  487. package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
  488. package/dist/v2/components/FormikDisplay.js.map +1 -1
  489. package/dist/v2/components/Input.d.ts +6 -6
  490. package/dist/v2/components/Input.d.ts.map +1 -1
  491. package/dist/v2/components/Input.js.map +1 -1
  492. package/dist/v2/components/KPICard.d.ts +43 -13
  493. package/dist/v2/components/KPICard.d.ts.map +1 -1
  494. package/dist/v2/components/KPICard.js +53 -14
  495. package/dist/v2/components/KPICard.js.map +1 -1
  496. package/dist/v2/components/KPIStrip.d.ts +68 -0
  497. package/dist/v2/components/KPIStrip.d.ts.map +1 -0
  498. package/dist/v2/components/KPIStrip.js +92 -0
  499. package/dist/v2/components/KPIStrip.js.map +1 -0
  500. package/dist/v2/components/KV.d.ts +3 -3
  501. package/dist/v2/components/KV.d.ts.map +1 -1
  502. package/dist/v2/components/KV.js.map +1 -1
  503. package/dist/v2/components/KVGrid.d.ts +2 -2
  504. package/dist/v2/components/KVGrid.d.ts.map +1 -1
  505. package/dist/v2/components/KVGrid.js +8 -1
  506. package/dist/v2/components/KVGrid.js.map +1 -1
  507. package/dist/v2/components/Layout.d.ts +7 -7
  508. package/dist/v2/components/Layout.d.ts.map +1 -1
  509. package/dist/v2/components/Layout.js.map +1 -1
  510. package/dist/v2/components/MobileRowCard.d.ts +13 -13
  511. package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
  512. package/dist/v2/components/MobileRowCard.js.map +1 -1
  513. package/dist/v2/components/Modal.d.ts +12 -12
  514. package/dist/v2/components/Modal.d.ts.map +1 -1
  515. package/dist/v2/components/Modal.js.map +1 -1
  516. package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
  517. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
  518. package/dist/v2/components/NetworkErrorPage.js.map +1 -1
  519. package/dist/v2/components/NumberInput.d.ts +14 -14
  520. package/dist/v2/components/NumberInput.d.ts.map +1 -1
  521. package/dist/v2/components/NumberInput.js +7 -6
  522. package/dist/v2/components/NumberInput.js.map +1 -1
  523. package/dist/v2/components/OverflowMenu.d.ts +14 -14
  524. package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
  525. package/dist/v2/components/OverflowMenu.js +4 -8
  526. package/dist/v2/components/OverflowMenu.js.map +1 -1
  527. package/dist/v2/components/PdfViewer.d.ts +9 -9
  528. package/dist/v2/components/PdfViewer.d.ts.map +1 -1
  529. package/dist/v2/components/PdfViewer.js.map +1 -1
  530. package/dist/v2/components/ProgressBar.d.ts +10 -10
  531. package/dist/v2/components/ProgressBar.d.ts.map +1 -1
  532. package/dist/v2/components/ProgressBar.js.map +1 -1
  533. package/dist/v2/components/Radio.d.ts +7 -7
  534. package/dist/v2/components/Radio.d.ts.map +1 -1
  535. package/dist/v2/components/Radio.js.map +1 -1
  536. package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
  537. package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
  538. package/dist/v2/components/SectionErrorBoundary.js +221 -0
  539. package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
  540. package/dist/v2/components/SectionHeader.d.ts +5 -5
  541. package/dist/v2/components/SectionHeader.d.ts.map +1 -1
  542. package/dist/v2/components/SectionHeader.js.map +1 -1
  543. package/dist/v2/components/Segmented.d.ts +11 -11
  544. package/dist/v2/components/Segmented.d.ts.map +1 -1
  545. package/dist/v2/components/Segmented.js.map +1 -1
  546. package/dist/v2/components/Select.d.ts +33 -15
  547. package/dist/v2/components/Select.d.ts.map +1 -1
  548. package/dist/v2/components/Select.js +147 -30
  549. package/dist/v2/components/Select.js.map +1 -1
  550. package/dist/v2/components/ServerErrorPage.d.ts +1 -1
  551. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
  552. package/dist/v2/components/ServerErrorPage.js.map +1 -1
  553. package/dist/v2/components/Skeleton.d.ts +15 -15
  554. package/dist/v2/components/Skeleton.d.ts.map +1 -1
  555. package/dist/v2/components/Skeleton.js.map +1 -1
  556. package/dist/v2/components/SkipLink.d.ts +2 -2
  557. package/dist/v2/components/SkipLink.d.ts.map +1 -1
  558. package/dist/v2/components/SkipLink.js.map +1 -1
  559. package/dist/v2/components/Status.d.ts +3 -3
  560. package/dist/v2/components/Status.d.ts.map +1 -1
  561. package/dist/v2/components/Status.js.map +1 -1
  562. package/dist/v2/components/Stepper.d.ts +28 -22
  563. package/dist/v2/components/Stepper.d.ts.map +1 -1
  564. package/dist/v2/components/Stepper.js +31 -5
  565. package/dist/v2/components/Stepper.js.map +1 -1
  566. package/dist/v2/components/Surface.d.ts +94 -0
  567. package/dist/v2/components/Surface.d.ts.map +1 -0
  568. package/dist/v2/components/Surface.js +163 -0
  569. package/dist/v2/components/Surface.js.map +1 -0
  570. package/dist/v2/components/Switch.d.ts +4 -4
  571. package/dist/v2/components/Switch.d.ts.map +1 -1
  572. package/dist/v2/components/Switch.js.map +1 -1
  573. package/dist/v2/components/Tabs.d.ts +6 -6
  574. package/dist/v2/components/Tabs.d.ts.map +1 -1
  575. package/dist/v2/components/Tabs.js.map +1 -1
  576. package/dist/v2/components/TelInput.d.ts +8 -8
  577. package/dist/v2/components/TelInput.d.ts.map +1 -1
  578. package/dist/v2/components/TelInput.js +18 -18
  579. package/dist/v2/components/TelInput.js.map +1 -1
  580. package/dist/v2/components/Textarea.d.ts +1 -1
  581. package/dist/v2/components/Textarea.d.ts.map +1 -1
  582. package/dist/v2/components/Textarea.js.map +1 -1
  583. package/dist/v2/components/TimePicker.d.ts +11 -11
  584. package/dist/v2/components/TimePicker.d.ts.map +1 -1
  585. package/dist/v2/components/TimePicker.js.map +1 -1
  586. package/dist/v2/components/Toast.d.ts +6 -6
  587. package/dist/v2/components/Toast.d.ts.map +1 -1
  588. package/dist/v2/components/Toast.js +9 -8
  589. package/dist/v2/components/Toast.js.map +1 -1
  590. package/dist/v2/components/Tooltip.d.ts +1 -1
  591. package/dist/v2/components/Tooltip.d.ts.map +1 -1
  592. package/dist/v2/components/Tooltip.js.map +1 -1
  593. package/dist/v2/components/index.d.ts +170 -0
  594. package/dist/v2/components/index.d.ts.map +1 -1
  595. package/dist/v2/components/index.js +35 -0
  596. package/dist/v2/components/index.js.map +1 -1
  597. package/dist/v2/index.d.ts.map +1 -1
  598. package/dist/v2/index.js.map +1 -1
  599. package/dist/v2/models/favorite.d.ts +1 -1
  600. package/dist/v2/models/favorite.d.ts.map +1 -1
  601. package/dist/v2/models/favorite.js.map +1 -1
  602. package/dist/v2/models/personalization.d.ts +13 -13
  603. package/dist/v2/models/personalization.d.ts.map +1 -1
  604. package/dist/v2/models/personalization.js.map +1 -1
  605. package/dist/v2/models/referentiel.d.ts +11 -11
  606. package/dist/v2/models/referentiel.d.ts.map +1 -1
  607. package/dist/v2/models/referentiel.js.map +1 -1
  608. package/dist/v2/models/savedFilter.d.ts +8 -8
  609. package/dist/v2/models/savedFilter.d.ts.map +1 -1
  610. package/dist/v2/models/savedFilter.js.map +1 -1
  611. package/dist/v2/patterns/ActionBar.d.ts +33 -33
  612. package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
  613. package/dist/v2/patterns/ActionBar.js +2 -1
  614. package/dist/v2/patterns/ActionBar.js.map +1 -1
  615. package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
  616. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
  617. package/dist/v2/patterns/BulkActionBar.js +2 -1
  618. package/dist/v2/patterns/BulkActionBar.js.map +1 -1
  619. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
  620. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
  621. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
  622. package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
  623. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
  624. package/dist/v2/patterns/ColumnsToggle.js +4 -8
  625. package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
  626. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
  627. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
  628. package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
  629. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
  630. package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
  631. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
  632. package/dist/v2/patterns/DataGridToolbar.js +2 -1
  633. package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
  634. package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
  635. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
  636. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
  637. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
  638. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
  639. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
  640. package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
  641. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
  642. package/dist/v2/patterns/FavoriteColumn.js +14 -61
  643. package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
  644. package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
  645. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
  646. package/dist/v2/patterns/FavoritesFilter.js +2 -1
  647. package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
  648. package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
  649. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
  650. package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
  651. package/dist/v2/patterns/FormPageShell.d.ts +4 -4
  652. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
  653. package/dist/v2/patterns/FormPageShell.js.map +1 -1
  654. package/dist/v2/patterns/FormSection.d.ts +19 -8
  655. package/dist/v2/patterns/FormSection.d.ts.map +1 -1
  656. package/dist/v2/patterns/FormSection.js +106 -71
  657. package/dist/v2/patterns/FormSection.js.map +1 -1
  658. package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
  659. package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
  660. package/dist/v2/patterns/FormikCheckbox.js +147 -0
  661. package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
  662. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
  663. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
  664. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
  665. package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
  666. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
  667. package/dist/v2/patterns/FormikCombobox.js +5 -2
  668. package/dist/v2/patterns/FormikCombobox.js.map +1 -1
  669. package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
  670. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
  671. package/dist/v2/patterns/FormikDatePicker.js +58 -65
  672. package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
  673. package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
  674. package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
  675. package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
  676. package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
  677. package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
  678. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
  679. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
  680. package/dist/v2/patterns/FormikFile.d.ts +8 -8
  681. package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
  682. package/dist/v2/patterns/FormikFile.js.map +1 -1
  683. package/dist/v2/patterns/FormikInput.d.ts +51 -6
  684. package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
  685. package/dist/v2/patterns/FormikInput.js +53 -2
  686. package/dist/v2/patterns/FormikInput.js.map +1 -1
  687. package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
  688. package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
  689. package/dist/v2/patterns/FormikRadioGroup.js +148 -0
  690. package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
  691. package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
  692. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
  693. package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
  694. package/dist/v2/patterns/FormikSelect.d.ts +41 -12
  695. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
  696. package/dist/v2/patterns/FormikSelect.js +32 -3
  697. package/dist/v2/patterns/FormikSelect.js.map +1 -1
  698. package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
  699. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
  700. package/dist/v2/patterns/FormikTextarea.js +5 -2
  701. package/dist/v2/patterns/FormikTextarea.js.map +1 -1
  702. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
  703. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
  704. package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
  705. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
  706. package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
  707. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
  708. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
  709. package/dist/v2/patterns/PageContent.d.ts +3 -3
  710. package/dist/v2/patterns/PageContent.d.ts.map +1 -1
  711. package/dist/v2/patterns/PageContent.js.map +1 -1
  712. package/dist/v2/patterns/ReferentielField.d.ts +49 -49
  713. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
  714. package/dist/v2/patterns/ReferentielField.js +2 -1
  715. package/dist/v2/patterns/ReferentielField.js.map +1 -1
  716. package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
  717. package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
  718. package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
  719. package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
  720. package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
  721. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
  722. package/dist/v2/patterns/SaveFilterDialog.js +9 -8
  723. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
  724. package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
  725. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
  726. package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
  727. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
  728. package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
  729. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
  730. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
  731. package/dist/v2/patterns/SortableHeader.d.ts +1 -1
  732. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
  733. package/dist/v2/patterns/SortableHeader.js.map +1 -1
  734. package/dist/v2/patterns/Tour.d.ts +12 -12
  735. package/dist/v2/patterns/Tour.d.ts.map +1 -1
  736. package/dist/v2/patterns/Tour.js +9 -8
  737. package/dist/v2/patterns/Tour.js.map +1 -1
  738. package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
  739. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
  740. package/dist/v2/patterns/_dataGridShared.js +37 -3
  741. package/dist/v2/patterns/_dataGridShared.js.map +1 -1
  742. package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
  743. package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
  744. package/dist/v2/patterns/_pickerSerialisation.js +81 -0
  745. package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
  746. package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
  747. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
  748. package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
  749. package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
  750. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
  751. package/dist/v2/patterns/_useColumnResize.js.map +1 -1
  752. package/dist/v2/patterns/index.d.ts +114 -0
  753. package/dist/v2/patterns/index.d.ts.map +1 -1
  754. package/dist/v2/patterns/index.js +34 -0
  755. package/dist/v2/patterns/index.js.map +1 -1
  756. package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
  757. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
  758. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
  759. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
  760. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
  761. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
  762. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
  763. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
  764. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
  765. package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
  766. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
  767. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
  768. package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
  769. package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
  770. package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
  771. package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
  772. package/dist/v2/personalization/capabilities/index.d.ts +6 -0
  773. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
  774. package/dist/v2/personalization/capabilities/index.js +13 -0
  775. package/dist/v2/personalization/capabilities/index.js.map +1 -1
  776. package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
  777. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
  778. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
  779. package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
  780. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
  781. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
  782. package/dist/v2/personalization/index.d.ts +18 -0
  783. package/dist/v2/personalization/index.d.ts.map +1 -1
  784. package/dist/v2/personalization/index.js +13 -0
  785. package/dist/v2/personalization/index.js.map +1 -1
  786. package/dist/v2/personalization/schema.d.ts +2 -2
  787. package/dist/v2/personalization/schema.d.ts.map +1 -1
  788. package/dist/v2/personalization/schema.js.map +1 -1
  789. package/dist/v2/personalization/types.d.ts +19 -19
  790. package/dist/v2/personalization/types.d.ts.map +1 -1
  791. package/dist/v2/personalization/types.js.map +1 -1
  792. package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
  793. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
  794. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
  795. package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
  796. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
  797. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
  798. package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
  799. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
  800. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
  801. package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
  802. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
  803. package/dist/v2/theme/createPortnetTheme.js +25 -1
  804. package/dist/v2/theme/createPortnetTheme.js.map +1 -1
  805. package/dist/v2/types/datagrid.d.ts +59 -59
  806. package/dist/v2/types/datagrid.d.ts.map +1 -1
  807. package/dist/v2/types/datagrid.js.map +1 -1
  808. package/dist/v2/utils/apiError.d.ts +65 -4
  809. package/dist/v2/utils/apiError.d.ts.map +1 -1
  810. package/dist/v2/utils/apiError.js +69 -6
  811. package/dist/v2/utils/apiError.js.map +1 -1
  812. package/dist/v2/utils/index.d.ts +1 -0
  813. package/dist/v2/utils/index.d.ts.map +1 -1
  814. package/dist/v2/utils/index.js +7 -0
  815. package/dist/v2/utils/index.js.map +1 -1
  816. package/dist/v2/utils/mergeLabels.d.ts +59 -0
  817. package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
  818. package/dist/v2/utils/mergeLabels.js +93 -0
  819. package/dist/v2/utils/mergeLabels.js.map +1 -0
  820. package/package.json +23 -15
@@ -0,0 +1,269 @@
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
+ import * as React from "react";
8
+ import { cx } from "../utils/cx";
9
+
10
+ /**
11
+ * Skeleton - Portnet UI v2
12
+ *
13
+ * Charter §03 / §04.2.
14
+ * R-Sk.1 - Affiché si chargement > 200 ms ; sinon ne rien afficher.
15
+ * R-Sk.2 - Forme et nombre miment le contenu réel.
16
+ * R-Sk.3 - aria-busy sur container, contenu skeleton aria-hidden.
17
+ * R-Sk.4 - Animation supprimée si prefers-reduced-motion (handled in base.css).
18
+ *
19
+ * Primitive:
20
+ * <Skeleton width="60%" height={14} />
21
+ *
22
+ * Named compositions:
23
+ * <SkeletonRow cols={6} />
24
+ * <SkeletonKPI />
25
+ * <SkeletonDetailHero />
26
+ * <SkeletonTabContent rows={4} />
27
+ * <SkeletonText lines={5} />
28
+ *
29
+ * Localisation (FR / EN / AR):
30
+ * SkeletonTabContent and SkeletonText surface a textual aria-busy
31
+ * region; pass `loadingLabel` to localise. The other compositions
32
+ * are aria-hidden placeholders that don't carry localisable strings.
33
+ */
34
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
35
+ export function Skeleton(_ref) {
36
+ var _ref$width = _ref.width,
37
+ width = _ref$width === void 0 ? "100%" : _ref$width,
38
+ _ref$height = _ref.height,
39
+ height = _ref$height === void 0 ? 14 : _ref$height,
40
+ _ref$radius = _ref.radius,
41
+ radius = _ref$radius === void 0 ? 6 : _ref$radius,
42
+ style = _ref.style,
43
+ className = _ref.className;
44
+ return /*#__PURE__*/_jsx("span", {
45
+ className: cx("pui-skeleton", className),
46
+ style: _objectSpread({
47
+ display: "block",
48
+ width: width,
49
+ height: height,
50
+ borderRadius: radius
51
+ }, style),
52
+ "aria-hidden": "true"
53
+ });
54
+ }
55
+ export function SkeletonKPI() {
56
+ return /*#__PURE__*/_jsxs("div", {
57
+ "aria-hidden": "true",
58
+ style: {
59
+ padding: "var(--s-4) var(--s-5)",
60
+ background: "var(--surface)",
61
+ border: "1px solid var(--border)",
62
+ borderRadius: "var(--r-lg)"
63
+ },
64
+ children: [/*#__PURE__*/_jsx(Skeleton, {
65
+ width: "55%",
66
+ height: 11,
67
+ style: {
68
+ marginBottom: "var(--s-3)"
69
+ }
70
+ }), /*#__PURE__*/_jsx(Skeleton, {
71
+ width: "38%",
72
+ height: 28,
73
+ style: {
74
+ marginBottom: "var(--s-2)"
75
+ }
76
+ }), /*#__PURE__*/_jsx(Skeleton, {
77
+ width: "72%",
78
+ height: 11
79
+ })]
80
+ });
81
+ }
82
+ export function SkeletonRow(_ref2) {
83
+ var _ref2$cols = _ref2.cols,
84
+ cols = _ref2$cols === void 0 ? 8 : _ref2$cols,
85
+ _ref2$withCheckbox = _ref2.withCheckbox,
86
+ withCheckbox = _ref2$withCheckbox === void 0 ? true : _ref2$withCheckbox,
87
+ _ref2$withActions = _ref2.withActions,
88
+ withActions = _ref2$withActions === void 0 ? true : _ref2$withActions;
89
+ var widths = ["28%", "16%", "9%", "12%", "14%", "20%", "12%", "10%"];
90
+ return /*#__PURE__*/_jsxs("tr", {
91
+ "aria-hidden": "true",
92
+ style: {
93
+ borderBottom: "1px solid var(--border)"
94
+ },
95
+ children: [withCheckbox && /*#__PURE__*/_jsx("td", {
96
+ style: {
97
+ padding: "var(--s-3) var(--s-4)"
98
+ },
99
+ children: /*#__PURE__*/_jsx(Skeleton, {
100
+ width: 16,
101
+ height: 16,
102
+ radius: 4
103
+ })
104
+ }), Array.from({
105
+ length: cols
106
+ }, function (_, i) {
107
+ var w = widths[i % widths.length];
108
+ return /*#__PURE__*/_jsx("td", {
109
+ style: {
110
+ padding: "var(--s-3) var(--s-4)"
111
+ },
112
+ children: /*#__PURE__*/_jsx(Skeleton, _objectSpread({
113
+ height: 13
114
+ }, w !== undefined ? {
115
+ width: w
116
+ } : {}))
117
+ }, i);
118
+ }), withActions && /*#__PURE__*/_jsx("td", {})]
119
+ });
120
+ }
121
+ export function SkeletonDetailHero() {
122
+ return /*#__PURE__*/_jsxs("div", {
123
+ "aria-hidden": "true",
124
+ style: {
125
+ padding: "var(--s-5) var(--s-6)",
126
+ background: "var(--surface)",
127
+ border: "1px solid var(--border)",
128
+ borderRadius: "var(--r-lg)",
129
+ marginBottom: "var(--s-4)"
130
+ },
131
+ children: [/*#__PURE__*/_jsx(Skeleton, {
132
+ width: "38%",
133
+ height: 22,
134
+ style: {
135
+ marginBottom: "var(--s-2)"
136
+ }
137
+ }), /*#__PURE__*/_jsx(Skeleton, {
138
+ width: "55%",
139
+ height: 11,
140
+ style: {
141
+ marginBottom: "var(--s-4)"
142
+ }
143
+ }), /*#__PURE__*/_jsx("div", {
144
+ style: {
145
+ display: "flex",
146
+ gap: "var(--s-6)",
147
+ paddingTop: "var(--s-4)",
148
+ borderTop: "1px solid var(--border)"
149
+ },
150
+ children: [1, 2, 3].map(function (i) {
151
+ return /*#__PURE__*/_jsxs("div", {
152
+ style: {
153
+ flex: 1
154
+ },
155
+ children: [/*#__PURE__*/_jsx(Skeleton, {
156
+ width: "60%",
157
+ height: 10,
158
+ style: {
159
+ marginBottom: "var(--s-2)"
160
+ }
161
+ }), /*#__PURE__*/_jsx(Skeleton, {
162
+ width: "80%",
163
+ height: 16
164
+ })]
165
+ }, i);
166
+ })
167
+ })]
168
+ });
169
+ }
170
+ export function SkeletonTabContent(_ref3) {
171
+ var _ref3$rows = _ref3.rows,
172
+ rows = _ref3$rows === void 0 ? 4 : _ref3$rows,
173
+ _ref3$loadingLabel = _ref3.loadingLabel,
174
+ loadingLabel = _ref3$loadingLabel === void 0 ? "Chargement du contenu…" : _ref3$loadingLabel;
175
+ return /*#__PURE__*/_jsxs("div", {
176
+ "aria-busy": "true",
177
+ "aria-label": loadingLabel,
178
+ style: {
179
+ display: "flex",
180
+ flexDirection: "column",
181
+ gap: "var(--s-3)",
182
+ padding: "var(--s-2) 0"
183
+ },
184
+ children: [/*#__PURE__*/_jsx(Skeleton, {
185
+ width: "40%",
186
+ height: 18,
187
+ style: {
188
+ marginBottom: "var(--s-1)"
189
+ }
190
+ }), Array.from({
191
+ length: rows
192
+ }, function (_, i) {
193
+ return /*#__PURE__*/_jsxs("div", {
194
+ style: {
195
+ display: "flex",
196
+ gap: "var(--s-3)",
197
+ alignItems: "center"
198
+ },
199
+ children: [/*#__PURE__*/_jsx(Skeleton, {
200
+ width: "".concat(60 + i % 3 * 12, "%"),
201
+ height: 13
202
+ }), /*#__PURE__*/_jsx(Skeleton, {
203
+ width: "15%",
204
+ height: 13
205
+ }), /*#__PURE__*/_jsx(Skeleton, {
206
+ width: "10%",
207
+ height: 13
208
+ })]
209
+ }, i);
210
+ })]
211
+ });
212
+ }
213
+
214
+ /**
215
+ * SkeletonText — 5-line shimmer for narrow contexts (drawer body,
216
+ * sub-skeleton inside a tab, narrow-column placeholder). Targets the
217
+ * gap between SkeletonRow (table cells) and SkeletonDetailHero (full
218
+ * page surface).
219
+ *
220
+ * API:
221
+ * <SkeletonText lines={5} /> // varied widths
222
+ * <SkeletonText lines={4} widths={[80, 60, 90, 50]} /> // explicit
223
+ * <SkeletonText lines={5} height={16} loadingLabel="…" />
224
+ *
225
+ * `widths` accepts numbers (treated as percentages) or strings
226
+ * (passed through to the Skeleton primitive width prop).
227
+ * If `widths` is shorter than `lines`, it cycles.
228
+ *
229
+ * Like SkeletonTabContent, this carries the labelled aria-busy
230
+ * region — it's typically used as a standalone loading surface, not
231
+ * as a sub-element of a larger Skeleton composition.
232
+ */
233
+ var SKELETON_TEXT_DEFAULT_WIDTHS = [80, 60, 90, 70, 50];
234
+ export function SkeletonText(_ref4) {
235
+ var _ref4$lines = _ref4.lines,
236
+ lines = _ref4$lines === void 0 ? 3 : _ref4$lines,
237
+ widths = _ref4.widths,
238
+ _ref4$height = _ref4.height,
239
+ height = _ref4$height === void 0 ? 14 : _ref4$height,
240
+ _ref4$gap = _ref4.gap,
241
+ gap = _ref4$gap === void 0 ? "var(--s-3)" : _ref4$gap,
242
+ _ref4$loadingLabel = _ref4.loadingLabel,
243
+ loadingLabel = _ref4$loadingLabel === void 0 ? "Chargement…" : _ref4$loadingLabel;
244
+ var safeLines = Math.max(1, Math.floor(lines));
245
+ var pattern = Array.isArray(widths) && widths.length > 0 ? widths : SKELETON_TEXT_DEFAULT_WIDTHS;
246
+ return /*#__PURE__*/_jsx("div", {
247
+ "aria-busy": "true",
248
+ "aria-label": loadingLabel,
249
+ style: {
250
+ display: "flex",
251
+ flexDirection: "column",
252
+ gap: gap
253
+ },
254
+ children: Array.from({
255
+ length: safeLines
256
+ }, function (_, i) {
257
+ var raw = pattern[i % pattern.length];
258
+ var w = typeof raw === "number" ? "".concat(raw, "%") : raw;
259
+ return /*#__PURE__*/_jsx(Skeleton, _objectSpread(_objectSpread({}, w !== undefined ? {
260
+ width: w
261
+ } : {}), {}, {
262
+ height: height,
263
+ radius: 4
264
+ }), i);
265
+ })
266
+ });
267
+ }
268
+ export default Skeleton;
269
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","names":["React","cx","jsx","_jsx","jsxs","_jsxs","Skeleton","_ref","_ref$width","width","_ref$height","height","_ref$radius","radius","style","className","_objectSpread","display","borderRadius","SkeletonKPI","padding","background","border","children","marginBottom","SkeletonRow","_ref2","_ref2$cols","cols","_ref2$withCheckbox","withCheckbox","_ref2$withActions","withActions","widths","borderBottom","Array","from","length","_","i","w","undefined","SkeletonDetailHero","gap","paddingTop","borderTop","map","flex","SkeletonTabContent","_ref3","_ref3$rows","rows","_ref3$loadingLabel","loadingLabel","flexDirection","alignItems","concat","SKELETON_TEXT_DEFAULT_WIDTHS","SkeletonText","_ref4","_ref4$lines","lines","_ref4$height","_ref4$gap","_ref4$loadingLabel","safeLines","Math","max","floor","pattern","isArray","raw"],"sources":["../../../../src/lib/v2/components/Skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cx } from \"../utils/cx\";\r\n\r\n/**\r\n * Skeleton - Portnet UI v2\r\n *\r\n * Charter §03 / §04.2.\r\n * R-Sk.1 - Affiché si chargement > 200 ms ; sinon ne rien afficher.\r\n * R-Sk.2 - Forme et nombre miment le contenu réel.\r\n * R-Sk.3 - aria-busy sur container, contenu skeleton aria-hidden.\r\n * R-Sk.4 - Animation supprimée si prefers-reduced-motion (handled in base.css).\r\n *\r\n * Primitive:\r\n * <Skeleton width=\"60%\" height={14} />\r\n *\r\n * Named compositions:\r\n * <SkeletonRow cols={6} />\r\n * <SkeletonKPI />\r\n * <SkeletonDetailHero />\r\n * <SkeletonTabContent rows={4} />\r\n * <SkeletonText lines={5} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * SkeletonTabContent and SkeletonText surface a textual aria-busy\r\n * region; pass `loadingLabel` to localise. The other compositions\r\n * are aria-hidden placeholders that don't carry localisable strings.\r\n */\r\n\r\nexport interface SkeletonProps {\r\n width?: string | number | undefined;\r\n height?: string | number | undefined;\r\n radius?: number | undefined;\r\n style?: React.CSSProperties | undefined;\r\n className?: string | undefined;\r\n}\r\n\r\nexport function Skeleton({ width = \"100%\", height = 14, radius = 6, style, className }: SkeletonProps) {\r\n return (\r\n <span\r\n className={cx(\"pui-skeleton\", className)}\r\n style={{\r\n display: \"block\",\r\n width,\r\n height,\r\n borderRadius: radius,\r\n ...style,\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n );\r\n}\r\n\r\nexport function SkeletonKPI() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-3)\" }} />\r\n <Skeleton width=\"38%\" height={28} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"72%\" height={11} />\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonRowProps {\r\n cols?: number | undefined;\r\n withCheckbox?: boolean | undefined;\r\n withActions?: boolean | undefined;\r\n}\r\n\r\nexport function SkeletonRow({ cols = 8, withCheckbox = true, withActions = true }: SkeletonRowProps) {\r\n const widths = [\"28%\", \"16%\", \"9%\", \"12%\", \"14%\", \"20%\", \"12%\", \"10%\"];\r\n return (\r\n <tr aria-hidden=\"true\" style={{ borderBottom: \"1px solid var(--border)\" }}>\r\n {withCheckbox && (\r\n <td style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton width={16} height={16} radius={4} />\r\n </td>\r\n )}\r\n {Array.from({ length: cols }, (_, i) => {\r\n const w = widths[i % widths.length];\r\n return (\r\n <td key={i} style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton height={13} {...(w !== undefined ? { width: w } : {})} />\r\n </td>\r\n );\r\n })}\r\n {withActions && <td />}\r\n </tr>\r\n );\r\n}\r\n\r\nexport function SkeletonDetailHero() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-5) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n <Skeleton width=\"38%\" height={22} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-4)\" }} />\r\n <div style={{ display: \"flex\", gap: \"var(--s-6)\", paddingTop: \"var(--s-4)\", borderTop: \"1px solid var(--border)\" }}>\r\n {[1, 2, 3].map((i) => (\r\n <div key={i} style={{ flex: 1 }}>\r\n <Skeleton width=\"60%\" height={10} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"80%\" height={16} />\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonTabContentProps {\r\n rows?: number | undefined;\r\n loadingLabel?: string | undefined;\r\n}\r\n\r\nexport function SkeletonTabContent({ rows = 4, loadingLabel = \"Chargement du contenu…\" }: SkeletonTabContentProps) {\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"var(--s-3)\", padding: \"var(--s-2) 0\" }}\r\n >\r\n <Skeleton width=\"40%\" height={18} style={{ marginBottom: \"var(--s-1)\" }} />\r\n {Array.from({ length: rows }, (_, i) => (\r\n <div key={i} style={{ display: \"flex\", gap: \"var(--s-3)\", alignItems: \"center\" }}>\r\n <Skeleton width={`${60 + (i % 3) * 12}%`} height={13} />\r\n <Skeleton width=\"15%\" height={13} />\r\n <Skeleton width=\"10%\" height={13} />\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * SkeletonText — 5-line shimmer for narrow contexts (drawer body,\r\n * sub-skeleton inside a tab, narrow-column placeholder). Targets the\r\n * gap between SkeletonRow (table cells) and SkeletonDetailHero (full\r\n * page surface).\r\n *\r\n * API:\r\n * <SkeletonText lines={5} /> // varied widths\r\n * <SkeletonText lines={4} widths={[80, 60, 90, 50]} /> // explicit\r\n * <SkeletonText lines={5} height={16} loadingLabel=\"…\" />\r\n *\r\n * `widths` accepts numbers (treated as percentages) or strings\r\n * (passed through to the Skeleton primitive width prop).\r\n * If `widths` is shorter than `lines`, it cycles.\r\n *\r\n * Like SkeletonTabContent, this carries the labelled aria-busy\r\n * region — it's typically used as a standalone loading surface, not\r\n * as a sub-element of a larger Skeleton composition.\r\n */\r\nconst SKELETON_TEXT_DEFAULT_WIDTHS = [80, 60, 90, 70, 50];\r\n\r\nexport interface SkeletonTextProps {\r\n lines?: number | undefined;\r\n widths?: Array<string | number> | undefined;\r\n height?: string | number | undefined;\r\n gap?: string | undefined;\r\n loadingLabel?: string | undefined;\r\n}\r\n\r\nexport function SkeletonText({\r\n lines = 3,\r\n widths,\r\n height = 14,\r\n gap = \"var(--s-3)\",\r\n loadingLabel = \"Chargement…\",\r\n}: SkeletonTextProps) {\r\n const safeLines = Math.max(1, Math.floor(lines));\r\n const pattern =\r\n Array.isArray(widths) && widths.length > 0\r\n ? widths\r\n : SKELETON_TEXT_DEFAULT_WIDTHS;\r\n\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap,\r\n }}\r\n >\r\n {Array.from({ length: safeLines }, (_, i) => {\r\n const raw = pattern[i % pattern.length];\r\n const w = typeof raw === \"number\" ? `${raw}%` : raw;\r\n return (\r\n <Skeleton key={i} {...(w !== undefined ? { width: w } : {})} height={height} radius={4} />\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Skeleton;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ import * as React from "react";
2
+
3
+ /**
4
+ * SkipLink — Portnet UI v2
5
+ *
6
+ * WCAG 2.4.1 · Charter R-N.6.
7
+ * Mount as the FIRST focusable element of the AppShell.
8
+ *
9
+ * <SkipLink href="#main-content" />
10
+ * …
11
+ * <main id="main-content">
12
+ *
13
+ * Visible-on-focus is handled by the `.pui-skip-link` class (base.css):
14
+ * clipped off-screen but kept in the tab order, revealed on :focus /
15
+ * :focus-visible.
16
+ *
17
+ * Focus movement (SL-1): a bare in-page anchor scrolls to the target and sets
18
+ * the sequential-focus starting point in Chrome/Firefox/Edge, but Safari does
19
+ * not move focus INTO the target unless it is focusable — so the next Tab may
20
+ * not continue from the main region there. On activation we additionally focus
21
+ * the target, adding tabIndex=-1 if the host didn't, so keyboard + screen-reader
22
+ * users land in the region. The default anchor behaviour (scroll + hash) is
23
+ * preserved (no preventDefault).
24
+ */
25
+ import { jsx as _jsx } from "react/jsx-runtime";
26
+ function SkipLink(_ref) {
27
+ var _ref$href = _ref.href,
28
+ href = _ref$href === void 0 ? "#main-content" : _ref$href,
29
+ _ref$label = _ref.label,
30
+ label = _ref$label === void 0 ? "Aller au contenu principal" : _ref$label;
31
+ var handleClick = React.useCallback(function () {
32
+ if (typeof document === "undefined" || !href.startsWith("#")) return;
33
+ var target = document.getElementById(href.slice(1));
34
+ if (!target) return;
35
+ // Bare in-page anchors don't reliably move focus into the target across
36
+ // browsers; make it programmatically focusable (without joining the tab
37
+ // order) and focus it. Default scroll + hash update are left intact.
38
+ if (!target.hasAttribute("tabindex")) target.setAttribute("tabindex", "-1");
39
+ target.focus();
40
+ }, [href]);
41
+ return /*#__PURE__*/_jsx("a", {
42
+ className: "pui-skip-link",
43
+ href: href,
44
+ onClick: handleClick,
45
+ children: label
46
+ });
47
+ }
48
+ export default SkipLink;
49
+ //# sourceMappingURL=SkipLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipLink.js","names":["React","jsx","_jsx","SkipLink","_ref","_ref$href","href","_ref$label","label","handleClick","useCallback","document","startsWith","target","getElementById","slice","hasAttribute","setAttribute","focus","className","onClick","children"],"sources":["../../../../src/lib/v2/components/SkipLink.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * SkipLink — Portnet UI v2\r\n *\r\n * WCAG 2.4.1 · Charter R-N.6.\r\n * Mount as the FIRST focusable element of the AppShell.\r\n *\r\n * <SkipLink href=\"#main-content\" />\r\n * …\r\n * <main id=\"main-content\">\r\n *\r\n * Visible-on-focus is handled by the `.pui-skip-link` class (base.css):\r\n * clipped off-screen but kept in the tab order, revealed on :focus /\r\n * :focus-visible.\r\n *\r\n * Focus movement (SL-1): a bare in-page anchor scrolls to the target and sets\r\n * the sequential-focus starting point in Chrome/Firefox/Edge, but Safari does\r\n * not move focus INTO the target unless it is focusable — so the next Tab may\r\n * not continue from the main region there. On activation we additionally focus\r\n * the target, adding tabIndex=-1 if the host didn't, so keyboard + screen-reader\r\n * users land in the region. The default anchor behaviour (scroll + hash) is\r\n * preserved (no preventDefault).\r\n */\r\n\r\nexport interface SkipLinkProps {\r\n href?: string | undefined;\r\n label?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction SkipLink({ href = \"#main-content\", label = \"Aller au contenu principal\" }: SkipLinkProps) {\r\n const handleClick = React.useCallback(() => {\r\n if (typeof document === \"undefined\" || !href.startsWith(\"#\")) return;\r\n const target = document.getElementById(href.slice(1));\r\n if (!target) return;\r\n // Bare in-page anchors don't reliably move focus into the target across\r\n // browsers; make it programmatically focusable (without joining the tab\r\n // order) and focus it. Default scroll + hash update are left intact.\r\n if (!target.hasAttribute(\"tabindex\")) target.setAttribute(\"tabindex\", \"-1\");\r\n target.focus();\r\n }, [href]);\r\n\r\n return (\r\n <a className=\"pui-skip-link\" href={href} onClick={handleClick}>\r\n {label}\r\n </a>\r\n );\r\n}\r\n\r\nexport default SkipLink;\r\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AArBA,SAAAC,GAAA,IAAAC,IAAA;AA4BA,SAASC,QAAQA,CAAAC,IAAA,EAAkF;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAA/EE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,eAAe,GAAAA,SAAA;IAAAE,UAAA,GAAAH,IAAA,CAAEI,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,4BAA4B,GAAAA,UAAA;EAC9E,IAAME,WAAW,GAAGT,KAAK,CAACU,WAAW,CAAC,YAAM;IAC1C,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACL,IAAI,CAACM,UAAU,CAAC,GAAG,CAAC,EAAE;IAC9D,IAAMC,MAAM,GAAGF,QAAQ,CAACG,cAAc,CAACR,IAAI,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAACF,MAAM,EAAE;IACb;IACA;IACA;IACA,IAAI,CAACA,MAAM,CAACG,YAAY,CAAC,UAAU,CAAC,EAAEH,MAAM,CAACI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;IAC3EJ,MAAM,CAACK,KAAK,CAAC,CAAC;EAChB,CAAC,EAAE,CAACZ,IAAI,CAAC,CAAC;EAEV,oBACEJ,IAAA;IAAGiB,SAAS,EAAC,eAAe;IAACb,IAAI,EAAEA,IAAK;IAACc,OAAO,EAAEX,WAAY;IAAAY,QAAA,EAC3Db;EAAK,CACL,CAAC;AAER;AAEA,eAAeL,QAAQ","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ var _excluded = ["size", "className", "label"];
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import * as React from "react";
11
+
12
+ /**
13
+ * Spinner - Portnet UI v2
14
+ *
15
+ * Inline loading indicator. Animation suppressed under
16
+ * prefers-reduced-motion via base.css.
17
+ *
18
+ * Two usage modes:
19
+ *
20
+ * 1. DECORATIVE (inside <Button loading>, where the button itself
21
+ * carries `aria-busy="true"` and SR users hear "<label>, busy"):
22
+ *
23
+ * <Spinner size={14} />
24
+ *
25
+ * The spinner is hidden from AT (aria-hidden), avoiding
26
+ * duplicate "loading" announcements on top of aria-busy.
27
+ *
28
+ * 2. STANDALONE (the spinner is the SOLE loading indicator on
29
+ * screen — e.g. a section-level loading state without a
30
+ * surrounding aria-busy container):
31
+ *
32
+ * <Spinner size={20} label="Chargement des documents…" />
33
+ *
34
+ * Pass `label` to surface a localised message. The SVG is
35
+ * exposed as role="img" with the supplied aria-label, so SR
36
+ * users hear a meaningful cue.
37
+ */
38
+ import { jsx as _jsx } from "react/jsx-runtime";
39
+ export default function Spinner(_ref) {
40
+ var _ref$size = _ref.size,
41
+ size = _ref$size === void 0 ? 14 : _ref$size,
42
+ _ref$className = _ref.className,
43
+ className = _ref$className === void 0 ? "" : _ref$className,
44
+ label = _ref.label,
45
+ rest = _objectWithoutProperties(_ref, _excluded);
46
+ // When `label` is supplied, expose the SVG as an accessible image.
47
+ // When omitted, default to decorative (aria-hidden).
48
+ var a11y = label ? {
49
+ role: "img",
50
+ "aria-label": label
51
+ } : {
52
+ "aria-hidden": "true"
53
+ };
54
+ return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread(_objectSpread({
55
+ className: "pui-spinner ".concat(className),
56
+ width: size,
57
+ height: size,
58
+ viewBox: "0 0 24 24",
59
+ fill: "none",
60
+ stroke: "currentColor",
61
+ strokeWidth: "2.5",
62
+ strokeLinecap: "round"
63
+ }, a11y), rest), {}, {
64
+ children: /*#__PURE__*/_jsx("path", {
65
+ d: "M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"
66
+ })
67
+ }));
68
+ }
69
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","names":["React","jsx","_jsx","Spinner","_ref","_ref$size","size","_ref$className","className","label","rest","_objectWithoutProperties","_excluded","a11y","role","_objectSpread","concat","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","children","d"],"sources":["../../../../src/lib/v2/components/Spinner.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * Spinner - Portnet UI v2\r\n *\r\n * Inline loading indicator. Animation suppressed under\r\n * prefers-reduced-motion via base.css.\r\n *\r\n * Two usage modes:\r\n *\r\n * 1. DECORATIVE (inside <Button loading>, where the button itself\r\n * carries `aria-busy=\"true\"` and SR users hear \"<label>, busy\"):\r\n *\r\n * <Spinner size={14} />\r\n *\r\n * The spinner is hidden from AT (aria-hidden), avoiding\r\n * duplicate \"loading\" announcements on top of aria-busy.\r\n *\r\n * 2. STANDALONE (the spinner is the SOLE loading indicator on\r\n * screen — e.g. a section-level loading state without a\r\n * surrounding aria-busy container):\r\n *\r\n * <Spinner size={20} label=\"Chargement des documents…\" />\r\n *\r\n * Pass `label` to surface a localised message. The SVG is\r\n * exposed as role=\"img\" with the supplied aria-label, so SR\r\n * users hear a meaningful cue.\r\n */\r\ninterface SpinnerProps extends React.SVGAttributes<SVGSVGElement> {\r\n /** Pixel size (width & height). @default 14 */\r\n size?: number;\r\n /**\r\n * Accessible label. When provided, the SVG is exposed as role=\"img\"\r\n * with this aria-label (standalone loading indicator). When omitted,\r\n * the spinner is decorative (aria-hidden).\r\n */\r\n label?: string;\r\n}\r\n\r\nexport default function Spinner({ size = 14, className = \"\", label, ...rest }: SpinnerProps) {\r\n // When `label` is supplied, expose the SVG as an accessible image.\r\n // When omitted, default to decorative (aria-hidden).\r\n const a11y = label\r\n ? ({ role: \"img\", \"aria-label\": label } as const)\r\n : ({ \"aria-hidden\": \"true\" } as const);\r\n\r\n return (\r\n <svg\r\n className={`pui-spinner ${className}`}\r\n width={size}\r\n height={size}\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2.5\"\r\n strokeLinecap=\"round\"\r\n {...a11y}\r\n {...rest}\r\n >\r\n <path d=\"M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83\" />\r\n </svg>\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBA,SAAAC,GAAA,IAAAC,IAAA;AAqCA,eAAe,SAASC,OAAOA,CAAAC,IAAA,EAA8D;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAA3DE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAE,cAAA,GAAAH,IAAA,CAAEI,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAEE,KAAK,GAAAL,IAAA,CAALK,KAAK;IAAKC,IAAI,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA;EACzE;EACA;EACA,IAAMC,IAAI,GAAGJ,KAAK,GACb;IAAEK,IAAI,EAAE,KAAK;IAAE,YAAY,EAAEL;EAAM,CAAC,GACpC;IAAE,aAAa,EAAE;EAAO,CAAW;EAExC,oBACEP,IAAA,QAAAa,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACEP,SAAS,iBAAAQ,MAAA,CAAiBR,SAAS,CAAG;IACtCS,KAAK,EAAEX,IAAK;IACZY,MAAM,EAAEZ,IAAK;IACba,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,cAAc;IACrBC,WAAW,EAAC,KAAK;IACjBC,aAAa,EAAC;EAAO,GACjBV,IAAI,GACJH,IAAI;IAAAc,QAAA,eAERtB,IAAA;MAAMuB,CAAC,EAAC;IAAoH,CAAE;EAAC,EAC5H,CAAC;AAEV","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ var _excluded = ["kind", "label", "labels", "className"];
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ import * as React from "react";
11
+ import { STATUS_KEYS, STATUS_LABELS_FR } from "../tokens/statusPalette";
12
+
13
+ /**
14
+ * Status - Portnet UI v2
15
+ *
16
+ * Charter §02.1 — workflow status chip. Six and only six kinds.
17
+ * Any other business status MUST map onto one of these.
18
+ *
19
+ * <Status kind="approved" /> // → "Approuvé" (FR fallback)
20
+ * <Status kind="pending" label="Custom" /> // explicit override (single)
21
+ * <Status kind="approved"
22
+ * labels={{ approved: t("status.approved"),
23
+ * rejected: t("status.rejected"), ... }} />
24
+ *
25
+ * Label resolution (highest priority first)
26
+ * 1. `label` prop — single explicit override.
27
+ * 2. `labels[kind]` — i18n map provided by the host.
28
+ * 3. STATUS_LABELS_FR[kind] — legacy FR fallback.
29
+ *
30
+ * A11y note (R-Ar.1, R-Ar.3):
31
+ * This component renders a plain inline <span>. It does NOT carry
32
+ * role="status" / aria-live — those are reserved for status MESSAGES
33
+ * (toasts, banners). A status pill is a styled label; promoting it
34
+ * to a live region causes SRs to announce every chip on mount and on
35
+ * each re-render (e.g., on every DataGrid pagination tick).
36
+ *
37
+ * When the chip's *value* changes (e.g., a workflow transition just
38
+ * succeeded), it is the host's responsibility to surface that change
39
+ * via the canonical feedback channel — toast (R-A.1) or row flash
40
+ * (.pui-row-updated) — NOT by mutating the chip alone.
41
+ *
42
+ * Forbidden: ad-hoc colours. Use Chip for filter pills, not Status.
43
+ */
44
+ import { jsx as _jsx } from "react/jsx-runtime";
45
+ function Status(_ref) {
46
+ var _ref2;
47
+ var _ref$kind = _ref.kind,
48
+ kind = _ref$kind === void 0 ? "neutral" : _ref$kind,
49
+ label = _ref.label,
50
+ labels = _ref.labels,
51
+ _ref$className = _ref.className,
52
+ className = _ref$className === void 0 ? "" : _ref$className,
53
+ rest = _objectWithoutProperties(_ref, _excluded);
54
+ var safe = STATUS_KEYS.includes(kind) ? kind : "neutral";
55
+ var text = (_ref2 = label !== null && label !== void 0 ? label : labels && labels[safe]) !== null && _ref2 !== void 0 ? _ref2 : STATUS_LABELS_FR[safe];
56
+ return /*#__PURE__*/_jsx("span", _objectSpread(_objectSpread({
57
+ className: "pui-status ".concat(className).trim(),
58
+ "data-kind": safe
59
+ }, rest), {}, {
60
+ children: text
61
+ }));
62
+ }
63
+ export default Status;
64
+ //# sourceMappingURL=Status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Status.js","names":["React","STATUS_KEYS","STATUS_LABELS_FR","jsx","_jsx","Status","_ref","_ref2","_ref$kind","kind","label","labels","_ref$className","className","rest","_objectWithoutProperties","_excluded","safe","includes","text","_objectSpread","concat","trim","children"],"sources":["../../../../src/lib/v2/components/Status.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { STATUS_KEYS, STATUS_LABELS_FR } from \"../tokens/statusPalette\";\r\n\r\n/**\r\n * Status - Portnet UI v2\r\n *\r\n * Charter §02.1 — workflow status chip. Six and only six kinds.\r\n * Any other business status MUST map onto one of these.\r\n *\r\n * <Status kind=\"approved\" /> // → \"Approuvé\" (FR fallback)\r\n * <Status kind=\"pending\" label=\"Custom\" /> // explicit override (single)\r\n * <Status kind=\"approved\"\r\n * labels={{ approved: t(\"status.approved\"),\r\n * rejected: t(\"status.rejected\"), ... }} />\r\n *\r\n * Label resolution (highest priority first)\r\n * 1. `label` prop — single explicit override.\r\n * 2. `labels[kind]` — i18n map provided by the host.\r\n * 3. STATUS_LABELS_FR[kind] — legacy FR fallback.\r\n *\r\n * A11y note (R-Ar.1, R-Ar.3):\r\n * This component renders a plain inline <span>. It does NOT carry\r\n * role=\"status\" / aria-live — those are reserved for status MESSAGES\r\n * (toasts, banners). A status pill is a styled label; promoting it\r\n * to a live region causes SRs to announce every chip on mount and on\r\n * each re-render (e.g., on every DataGrid pagination tick).\r\n *\r\n * When the chip's *value* changes (e.g., a workflow transition just\r\n * succeeded), it is the host's responsibility to surface that change\r\n * via the canonical feedback channel — toast (R-A.1) or row flash\r\n * (.pui-row-updated) — NOT by mutating the chip alone.\r\n *\r\n * Forbidden: ad-hoc colours. Use Chip for filter pills, not Status.\r\n */\r\n\r\nexport type StatusKind = keyof typeof STATUS_LABELS_FR;\r\n\r\nexport interface StatusProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n kind?: StatusKind | undefined;\r\n label?: React.ReactNode | undefined;\r\n labels?: Partial<Record<StatusKind, React.ReactNode>> | undefined;\r\n}\r\n\r\nfunction Status({ kind = \"neutral\", label, labels, className = \"\", ...rest }: StatusProps) {\r\n const safe = STATUS_KEYS.includes(kind) ? kind : \"neutral\";\r\n const text =\r\n label\r\n ?? (labels && labels[safe])\r\n ?? STATUS_LABELS_FR[safe];\r\n return (\r\n <span\r\n className={`pui-status ${className}`.trim()}\r\n data-kind={safe}\r\n {...rest}\r\n >\r\n {text}\r\n </span>\r\n );\r\n}\r\n\r\nexport default Status;\r\n"],"mappings":";;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,WAAW,EAAEC,gBAAgB,QAAQ,yBAAyB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9BA,SAAAC,GAAA,IAAAC,IAAA;AAwCA,SAASC,MAAMA,CAAAC,IAAA,EAA4E;EAAA,IAAAC,KAAA;EAAA,IAAAC,SAAA,GAAAF,IAAA,CAAzEG,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,SAAS,GAAAA,SAAA;IAAEE,KAAK,GAAAJ,IAAA,CAALI,KAAK;IAAEC,MAAM,GAAAL,IAAA,CAANK,MAAM;IAAAC,cAAA,GAAAN,IAAA,CAAEO,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;IAAKE,IAAI,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA;EACxE,IAAMC,IAAI,GAAGhB,WAAW,CAACiB,QAAQ,CAACT,IAAI,CAAC,GAAGA,IAAI,GAAG,SAAS;EAC1D,IAAMU,IAAI,IAAAZ,KAAA,GACRG,KAAK,aAALA,KAAK,cAALA,KAAK,GACCC,MAAM,IAAIA,MAAM,CAACM,IAAI,CAAC,cAAAV,KAAA,cAAAA,KAAA,GACvBL,gBAAgB,CAACe,IAAI,CAAC;EAC7B,oBACEb,IAAA,SAAAgB,aAAA,CAAAA,aAAA;IACEP,SAAS,EAAE,cAAAQ,MAAA,CAAcR,SAAS,EAAGS,IAAI,CAAC,CAAE;IAC5C,aAAWL;EAAK,GACZH,IAAI;IAAAS,QAAA,EAEPJ;EAAI,EACD,CAAC;AAEX;AAEA,eAAed,MAAM","ignoreList":[]}