@portnet/ui 5.0.27 → 6.0.0

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 (736) hide show
  1. package/CHANGELOG.md +524 -0
  2. package/README.md +101 -38
  3. package/dist/index.d.ts +59 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +174 -203
  6. package/dist/index.js.map +1 -0
  7. package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
  8. package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
  9. package/dist/v2/__tests__/apiError.test.js +182 -0
  10. package/dist/v2/__tests__/apiError.test.js.map +1 -0
  11. package/dist/v2/__tests__/banned-patterns.test.js +272 -0
  12. package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
  13. package/dist/v2/__tests__/contrast-palette.test.js +225 -0
  14. package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
  15. package/dist/v2/__tests__/cssVariables.test.js +158 -0
  16. package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
  17. package/dist/v2/__tests__/labels-merge.test.js +153 -0
  18. package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
  19. package/dist/v2/__tests__/locale-fallback.test.js +111 -0
  20. package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
  21. package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
  22. package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
  23. package/dist/v2/components/Accordion.d.ts +56 -0
  24. package/dist/v2/components/Accordion.d.ts.map +1 -0
  25. package/dist/v2/components/Accordion.js +238 -0
  26. package/dist/v2/components/Accordion.js.map +1 -0
  27. package/dist/v2/components/ActionStrip.d.ts +67 -0
  28. package/dist/v2/components/ActionStrip.d.ts.map +1 -0
  29. package/dist/v2/components/ActionStrip.js +154 -0
  30. package/dist/v2/components/ActionStrip.js.map +1 -0
  31. package/dist/v2/components/Banner.d.ts +49 -0
  32. package/dist/v2/components/Banner.d.ts.map +1 -0
  33. package/dist/v2/components/Banner.js +183 -0
  34. package/dist/v2/components/Banner.js.map +1 -0
  35. package/dist/v2/components/Busy.d.ts +18 -0
  36. package/dist/v2/components/Busy.d.ts.map +1 -0
  37. package/dist/v2/components/Busy.js +104 -0
  38. package/dist/v2/components/Busy.js.map +1 -0
  39. package/dist/v2/components/Button.d.ts +36 -0
  40. package/dist/v2/components/Button.d.ts.map +1 -0
  41. package/dist/v2/components/Button.js +122 -0
  42. package/dist/v2/components/Button.js.map +1 -0
  43. package/dist/v2/components/CategoryTag.d.ts +45 -0
  44. package/dist/v2/components/CategoryTag.d.ts.map +1 -0
  45. package/dist/v2/components/CategoryTag.js +89 -0
  46. package/dist/v2/components/CategoryTag.js.map +1 -0
  47. package/dist/v2/components/Checkbox.d.ts +59 -0
  48. package/dist/v2/components/Checkbox.d.ts.map +1 -0
  49. package/dist/v2/components/Checkbox.js +134 -0
  50. package/dist/v2/components/Checkbox.js.map +1 -0
  51. package/dist/v2/components/Chip.d.ts +48 -0
  52. package/dist/v2/components/Chip.d.ts.map +1 -0
  53. package/dist/v2/components/Chip.js +131 -0
  54. package/dist/v2/components/Chip.js.map +1 -0
  55. package/dist/v2/components/Combobox.d.ts +134 -0
  56. package/dist/v2/components/Combobox.d.ts.map +1 -0
  57. package/dist/v2/components/Combobox.js +399 -0
  58. package/dist/v2/components/Combobox.js.map +1 -0
  59. package/dist/v2/components/CommandPalette.d.ts +36 -0
  60. package/dist/v2/components/CommandPalette.d.ts.map +1 -0
  61. package/dist/v2/components/CommandPalette.js +672 -0
  62. package/dist/v2/components/CommandPalette.js.map +1 -0
  63. package/dist/v2/components/ConfirmDialog.d.ts +23 -0
  64. package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
  65. package/dist/v2/components/ConfirmDialog.js +150 -0
  66. package/dist/v2/components/ConfirmDialog.js.map +1 -0
  67. package/dist/v2/components/DatePicker.d.ts +21 -0
  68. package/dist/v2/components/DatePicker.d.ts.map +1 -0
  69. package/dist/v2/components/DatePicker.js +207 -0
  70. package/dist/v2/components/DatePicker.js.map +1 -0
  71. package/dist/v2/components/DateRangePicker.d.ts +81 -0
  72. package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
  73. package/dist/v2/components/DateRangePicker.js +295 -0
  74. package/dist/v2/components/DateRangePicker.js.map +1 -0
  75. package/dist/v2/components/DateTimePicker.d.ts +21 -0
  76. package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
  77. package/dist/v2/components/DateTimePicker.js +189 -0
  78. package/dist/v2/components/DateTimePicker.js.map +1 -0
  79. package/dist/v2/components/Drawer.d.ts +34 -0
  80. package/dist/v2/components/Drawer.d.ts.map +1 -0
  81. package/dist/v2/components/Drawer.js +339 -0
  82. package/dist/v2/components/Drawer.js.map +1 -0
  83. package/dist/v2/components/Dropzone.d.ts +150 -0
  84. package/dist/v2/components/Dropzone.d.ts.map +1 -0
  85. package/dist/v2/components/Dropzone.js +539 -0
  86. package/dist/v2/components/Dropzone.js.map +1 -0
  87. package/dist/v2/components/EmptyState.d.ts +36 -0
  88. package/dist/v2/components/EmptyState.d.ts.map +1 -0
  89. package/dist/v2/components/EmptyState.js +112 -0
  90. package/dist/v2/components/EmptyState.js.map +1 -0
  91. package/dist/v2/components/FavoriteToggle.d.ts +22 -0
  92. package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
  93. package/dist/v2/components/FavoriteToggle.js +134 -0
  94. package/dist/v2/components/FavoriteToggle.js.map +1 -0
  95. package/dist/v2/components/Field.d.ts +58 -0
  96. package/dist/v2/components/Field.d.ts.map +1 -0
  97. package/dist/v2/components/Field.js +186 -0
  98. package/dist/v2/components/Field.js.map +1 -0
  99. package/dist/v2/components/FieldHelp.d.ts +54 -0
  100. package/dist/v2/components/FieldHelp.d.ts.map +1 -0
  101. package/dist/v2/components/FieldHelp.js +209 -0
  102. package/dist/v2/components/FieldHelp.js.map +1 -0
  103. package/dist/v2/components/FilterTab.d.ts +35 -0
  104. package/dist/v2/components/FilterTab.d.ts.map +1 -0
  105. package/dist/v2/components/FilterTab.js +144 -0
  106. package/dist/v2/components/FilterTab.js.map +1 -0
  107. package/dist/v2/components/ForbiddenPage.d.ts +40 -0
  108. package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
  109. package/dist/v2/components/ForbiddenPage.js +81 -0
  110. package/dist/v2/components/ForbiddenPage.js.map +1 -0
  111. package/dist/v2/components/FormGrid.d.ts +76 -0
  112. package/dist/v2/components/FormGrid.d.ts.map +1 -0
  113. package/dist/v2/components/FormGrid.js +177 -0
  114. package/dist/v2/components/FormGrid.js.map +1 -0
  115. package/dist/v2/components/FormikDisplay.d.ts +38 -0
  116. package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
  117. package/dist/v2/components/FormikDisplay.js +125 -0
  118. package/dist/v2/components/FormikDisplay.js.map +1 -0
  119. package/dist/v2/components/Input.d.ts +62 -0
  120. package/dist/v2/components/Input.d.ts.map +1 -0
  121. package/dist/v2/components/Input.js +115 -0
  122. package/dist/v2/components/Input.js.map +1 -0
  123. package/dist/v2/components/KPICard.d.ts +22 -0
  124. package/dist/v2/components/KPICard.d.ts.map +1 -0
  125. package/dist/v2/components/KPICard.js +205 -0
  126. package/dist/v2/components/KPICard.js.map +1 -0
  127. package/dist/v2/components/KV.d.ts +25 -0
  128. package/dist/v2/components/KV.d.ts.map +1 -0
  129. package/dist/v2/components/KV.js +82 -0
  130. package/dist/v2/components/KV.js.map +1 -0
  131. package/dist/v2/components/KVGrid.d.ts +44 -0
  132. package/dist/v2/components/KVGrid.d.ts.map +1 -0
  133. package/dist/v2/components/KVGrid.js +73 -0
  134. package/dist/v2/components/KVGrid.js.map +1 -0
  135. package/dist/v2/components/Layout.d.ts +78 -0
  136. package/dist/v2/components/Layout.d.ts.map +1 -0
  137. package/dist/v2/components/Layout.js +284 -0
  138. package/dist/v2/components/Layout.js.map +1 -0
  139. package/dist/v2/components/MobileRowCard.d.ts +63 -0
  140. package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
  141. package/dist/v2/components/MobileRowCard.js +321 -0
  142. package/dist/v2/components/MobileRowCard.js.map +1 -0
  143. package/dist/v2/components/Modal.d.ts +21 -0
  144. package/dist/v2/components/Modal.d.ts.map +1 -0
  145. package/dist/v2/components/Modal.js +281 -0
  146. package/dist/v2/components/Modal.js.map +1 -0
  147. package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
  148. package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
  149. package/dist/v2/components/NetworkErrorPage.js +86 -0
  150. package/dist/v2/components/NetworkErrorPage.js.map +1 -0
  151. package/dist/v2/components/NotFoundPage.d.ts +9 -0
  152. package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
  153. package/dist/v2/components/NotFoundPage.js +66 -0
  154. package/dist/v2/components/NotFoundPage.js.map +1 -0
  155. package/dist/v2/components/NumberInput.d.ts +83 -0
  156. package/dist/v2/components/NumberInput.d.ts.map +1 -0
  157. package/dist/v2/components/NumberInput.js +316 -0
  158. package/dist/v2/components/NumberInput.js.map +1 -0
  159. package/dist/v2/components/OverflowMenu.d.ts +55 -0
  160. package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
  161. package/dist/v2/components/OverflowMenu.js +196 -0
  162. package/dist/v2/components/OverflowMenu.js.map +1 -0
  163. package/dist/v2/components/PdfViewer.d.ts +56 -0
  164. package/dist/v2/components/PdfViewer.d.ts.map +1 -0
  165. package/dist/v2/components/PdfViewer.js +132 -0
  166. package/dist/v2/components/PdfViewer.js.map +1 -0
  167. package/dist/v2/components/ProgressBar.d.ts +53 -0
  168. package/dist/v2/components/ProgressBar.d.ts.map +1 -0
  169. package/dist/v2/components/ProgressBar.js +209 -0
  170. package/dist/v2/components/ProgressBar.js.map +1 -0
  171. package/dist/v2/components/Radio.d.ts +78 -0
  172. package/dist/v2/components/Radio.d.ts.map +1 -0
  173. package/dist/v2/components/Radio.js +238 -0
  174. package/dist/v2/components/Radio.js.map +1 -0
  175. package/dist/v2/components/SectionHeader.d.ts +53 -0
  176. package/dist/v2/components/SectionHeader.d.ts.map +1 -0
  177. package/dist/v2/components/SectionHeader.js +140 -0
  178. package/dist/v2/components/SectionHeader.js.map +1 -0
  179. package/dist/v2/components/Segmented.d.ts +61 -0
  180. package/dist/v2/components/Segmented.d.ts.map +1 -0
  181. package/dist/v2/components/Segmented.js +261 -0
  182. package/dist/v2/components/Segmented.js.map +1 -0
  183. package/dist/v2/components/Select.d.ts +72 -0
  184. package/dist/v2/components/Select.d.ts.map +1 -0
  185. package/dist/v2/components/Select.js +382 -0
  186. package/dist/v2/components/Select.js.map +1 -0
  187. package/dist/v2/components/ServerErrorPage.d.ts +11 -0
  188. package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
  189. package/dist/v2/components/ServerErrorPage.js +82 -0
  190. package/dist/v2/components/ServerErrorPage.js.map +1 -0
  191. package/dist/v2/components/Skeleton.d.ts +56 -0
  192. package/dist/v2/components/Skeleton.d.ts.map +1 -0
  193. package/dist/v2/components/Skeleton.js +281 -0
  194. package/dist/v2/components/Skeleton.js.map +1 -0
  195. package/dist/v2/components/SkipLink.d.ts +30 -0
  196. package/dist/v2/components/SkipLink.d.ts.map +1 -0
  197. package/dist/v2/components/SkipLink.js +58 -0
  198. package/dist/v2/components/SkipLink.js.map +1 -0
  199. package/dist/v2/components/Spinner.d.ts +40 -0
  200. package/dist/v2/components/Spinner.d.ts.map +1 -0
  201. package/dist/v2/components/Spinner.js +76 -0
  202. package/dist/v2/components/Spinner.js.map +1 -0
  203. package/dist/v2/components/Status.d.ts +42 -0
  204. package/dist/v2/components/Status.d.ts.map +1 -0
  205. package/dist/v2/components/Status.js +71 -0
  206. package/dist/v2/components/Status.js.map +1 -0
  207. package/dist/v2/components/Stepper.d.ts +136 -0
  208. package/dist/v2/components/Stepper.d.ts.map +1 -0
  209. package/dist/v2/components/Stepper.js +415 -0
  210. package/dist/v2/components/Stepper.js.map +1 -0
  211. package/dist/v2/components/Switch.d.ts +30 -0
  212. package/dist/v2/components/Switch.d.ts.map +1 -0
  213. package/dist/v2/components/Switch.js +136 -0
  214. package/dist/v2/components/Switch.js.map +1 -0
  215. package/dist/v2/components/Tabs.d.ts +49 -0
  216. package/dist/v2/components/Tabs.d.ts.map +1 -0
  217. package/dist/v2/components/Tabs.js +160 -0
  218. package/dist/v2/components/Tabs.js.map +1 -0
  219. package/dist/v2/components/TelInput.d.ts +33 -0
  220. package/dist/v2/components/TelInput.d.ts.map +1 -0
  221. package/dist/v2/components/TelInput.js +282 -0
  222. package/dist/v2/components/TelInput.js.map +1 -0
  223. package/dist/v2/components/Textarea.d.ts +23 -0
  224. package/dist/v2/components/Textarea.d.ts.map +1 -0
  225. package/dist/v2/components/Textarea.js +80 -0
  226. package/dist/v2/components/Textarea.js.map +1 -0
  227. package/dist/v2/components/TimePicker.d.ts +21 -0
  228. package/dist/v2/components/TimePicker.d.ts.map +1 -0
  229. package/dist/v2/components/TimePicker.js +141 -0
  230. package/dist/v2/components/TimePicker.js.map +1 -0
  231. package/dist/v2/components/Toast.d.ts +32 -0
  232. package/dist/v2/components/Toast.d.ts.map +1 -0
  233. package/dist/v2/components/Toast.js +384 -0
  234. package/dist/v2/components/Toast.js.map +1 -0
  235. package/dist/v2/components/Tooltip.d.ts +9 -0
  236. package/dist/v2/components/Tooltip.d.ts.map +1 -0
  237. package/dist/v2/components/Tooltip.js +169 -0
  238. package/dist/v2/components/Tooltip.js.map +1 -0
  239. package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
  240. package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
  241. package/dist/v2/components/_ErrorPageBody.js +96 -0
  242. package/dist/v2/components/_ErrorPageBody.js.map +1 -0
  243. package/dist/v2/components/_pickerShared.d.ts +47 -0
  244. package/dist/v2/components/_pickerShared.d.ts.map +1 -0
  245. package/dist/v2/components/_pickerShared.js +68 -0
  246. package/dist/v2/components/_pickerShared.js.map +1 -0
  247. package/dist/v2/components/index.d.ts +83 -0
  248. package/dist/v2/components/index.d.ts.map +1 -0
  249. package/dist/v2/components/index.js +477 -0
  250. package/dist/v2/components/index.js.map +1 -0
  251. package/dist/v2/hooks/index.d.ts +11 -0
  252. package/dist/v2/hooks/index.d.ts.map +1 -0
  253. package/dist/v2/hooks/index.js +85 -0
  254. package/dist/v2/hooks/index.js.map +1 -0
  255. package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
  256. package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
  257. package/dist/v2/hooks/useDelayedFlag.js +60 -0
  258. package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
  259. package/dist/v2/hooks/useDensity.d.ts +23 -0
  260. package/dist/v2/hooks/useDensity.d.ts.map +1 -0
  261. package/dist/v2/hooks/useDensity.js +124 -0
  262. package/dist/v2/hooks/useDensity.js.map +1 -0
  263. package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
  264. package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
  265. package/dist/v2/hooks/useFocusFirstError.js +203 -0
  266. package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
  267. package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
  268. package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
  269. package/dist/v2/hooks/useFocusTrap.js +207 -0
  270. package/dist/v2/hooks/useFocusTrap.js.map +1 -0
  271. package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
  272. package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
  273. package/dist/v2/hooks/useFormAutoSave.js +186 -0
  274. package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
  275. package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
  276. package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
  277. package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
  278. package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
  279. package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
  280. package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
  281. package/dist/v2/hooks/useResolvedDensity.js +50 -0
  282. package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
  283. package/dist/v2/hooks/useSortedRows.d.ts +25 -0
  284. package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
  285. package/dist/v2/hooks/useSortedRows.js +38 -0
  286. package/dist/v2/hooks/useSortedRows.js.map +1 -0
  287. package/dist/v2/hooks/useTabLoading.d.ts +39 -0
  288. package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
  289. package/dist/v2/hooks/useTabLoading.js +85 -0
  290. package/dist/v2/hooks/useTabLoading.js.map +1 -0
  291. package/dist/v2/index.d.ts +115 -0
  292. package/dist/v2/index.d.ts.map +1 -0
  293. package/dist/v2/index.js +1127 -0
  294. package/dist/v2/index.js.map +1 -0
  295. package/dist/v2/modalContext.d.ts +96 -0
  296. package/dist/v2/modalContext.d.ts.map +1 -0
  297. package/dist/v2/modalContext.js +113 -0
  298. package/dist/v2/modalContext.js.map +1 -0
  299. package/dist/v2/models/favorite.d.ts +14 -0
  300. package/dist/v2/models/favorite.d.ts.map +1 -0
  301. package/dist/v2/models/favorite.js +6 -0
  302. package/dist/v2/models/favorite.js.map +1 -0
  303. package/dist/v2/models/index.d.ts +11 -0
  304. package/dist/v2/models/index.d.ts.map +1 -0
  305. package/dist/v2/models/index.js +50 -0
  306. package/dist/v2/models/index.js.map +1 -0
  307. package/dist/v2/models/personalization.d.ts +65 -0
  308. package/dist/v2/models/personalization.d.ts.map +1 -0
  309. package/dist/v2/models/personalization.js +6 -0
  310. package/dist/v2/models/personalization.js.map +1 -0
  311. package/dist/v2/models/referentiel.d.ts +67 -0
  312. package/dist/v2/models/referentiel.d.ts.map +1 -0
  313. package/dist/v2/models/referentiel.js +6 -0
  314. package/dist/v2/models/referentiel.js.map +1 -0
  315. package/dist/v2/models/savedFilter.d.ts +22 -0
  316. package/dist/v2/models/savedFilter.d.ts.map +1 -0
  317. package/dist/v2/models/savedFilter.js +6 -0
  318. package/dist/v2/models/savedFilter.js.map +1 -0
  319. package/dist/v2/patterns/ActionBar.d.ts +137 -0
  320. package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
  321. package/dist/v2/patterns/ActionBar.js +601 -0
  322. package/dist/v2/patterns/ActionBar.js.map +1 -0
  323. package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
  324. package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
  325. package/dist/v2/patterns/BulkActionBar.js +153 -0
  326. package/dist/v2/patterns/BulkActionBar.js.map +1 -0
  327. package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
  328. package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
  329. package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
  330. package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
  331. package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
  332. package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
  333. package/dist/v2/patterns/ColumnsToggle.js +314 -0
  334. package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
  335. package/dist/v2/patterns/DataGrid.d.ts +7 -0
  336. package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
  337. package/dist/v2/patterns/DataGrid.js +834 -0
  338. package/dist/v2/patterns/DataGrid.js.map +1 -0
  339. package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
  340. package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
  341. package/dist/v2/patterns/DataGridSettingsMenu.js +381 -0
  342. package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
  343. package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
  344. package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
  345. package/dist/v2/patterns/DataGridToolbar.js +255 -0
  346. package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
  347. package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
  348. package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
  349. package/dist/v2/patterns/DataGridVirtualized.js +528 -0
  350. package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
  351. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
  352. package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
  353. package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
  354. package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
  355. package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
  356. package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
  357. package/dist/v2/patterns/FavoriteColumn.js +171 -0
  358. package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
  359. package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
  360. package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
  361. package/dist/v2/patterns/FavoritesFilter.js +97 -0
  362. package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
  363. package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
  364. package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
  365. package/dist/v2/patterns/FormErrorSummary.js +111 -0
  366. package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
  367. package/dist/v2/patterns/FormPageShell.d.ts +55 -0
  368. package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
  369. package/dist/v2/patterns/FormPageShell.js +133 -0
  370. package/dist/v2/patterns/FormPageShell.js.map +1 -0
  371. package/dist/v2/patterns/FormSection.d.ts +53 -0
  372. package/dist/v2/patterns/FormSection.d.ts.map +1 -0
  373. package/dist/v2/patterns/FormSection.js +162 -0
  374. package/dist/v2/patterns/FormSection.js.map +1 -0
  375. package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
  376. package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
  377. package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
  378. package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
  379. package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
  380. package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
  381. package/dist/v2/patterns/FormikCombobox.js +121 -0
  382. package/dist/v2/patterns/FormikCombobox.js.map +1 -0
  383. package/dist/v2/patterns/FormikDatePicker.d.ts +87 -0
  384. package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
  385. package/dist/v2/patterns/FormikDatePicker.js +177 -0
  386. package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
  387. package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
  388. package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
  389. package/dist/v2/patterns/FormikErrorFocus.js +83 -0
  390. package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
  391. package/dist/v2/patterns/FormikFile.d.ts +43 -0
  392. package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
  393. package/dist/v2/patterns/FormikFile.js +156 -0
  394. package/dist/v2/patterns/FormikFile.js.map +1 -0
  395. package/dist/v2/patterns/FormikInput.d.ts +37 -0
  396. package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
  397. package/dist/v2/patterns/FormikInput.js +87 -0
  398. package/dist/v2/patterns/FormikInput.js.map +1 -0
  399. package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
  400. package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
  401. package/dist/v2/patterns/FormikReferentielField.js +124 -0
  402. package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
  403. package/dist/v2/patterns/FormikSelect.d.ts +40 -0
  404. package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
  405. package/dist/v2/patterns/FormikSelect.js +139 -0
  406. package/dist/v2/patterns/FormikSelect.js.map +1 -0
  407. package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
  408. package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
  409. package/dist/v2/patterns/FormikTextarea.js +84 -0
  410. package/dist/v2/patterns/FormikTextarea.js.map +1 -0
  411. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
  412. package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
  413. package/dist/v2/patterns/KeyboardShortcutsHelp.js +207 -0
  414. package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
  415. package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
  416. package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
  417. package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
  418. package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
  419. package/dist/v2/patterns/PageContent.d.ts +40 -0
  420. package/dist/v2/patterns/PageContent.d.ts.map +1 -0
  421. package/dist/v2/patterns/PageContent.js +69 -0
  422. package/dist/v2/patterns/PageContent.js.map +1 -0
  423. package/dist/v2/patterns/ReferentielField.d.ts +118 -0
  424. package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
  425. package/dist/v2/patterns/ReferentielField.js +617 -0
  426. package/dist/v2/patterns/ReferentielField.js.map +1 -0
  427. package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
  428. package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
  429. package/dist/v2/patterns/SaveFilterDialog.js +203 -0
  430. package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
  431. package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
  432. package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
  433. package/dist/v2/patterns/SavedFiltersMenu.js +412 -0
  434. package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
  435. package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
  436. package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
  437. package/dist/v2/patterns/SkeletonPageShell.js +347 -0
  438. package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
  439. package/dist/v2/patterns/SortableHeader.d.ts +47 -0
  440. package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
  441. package/dist/v2/patterns/SortableHeader.js +193 -0
  442. package/dist/v2/patterns/SortableHeader.js.map +1 -0
  443. package/dist/v2/patterns/Tour.d.ts +55 -0
  444. package/dist/v2/patterns/Tour.d.ts.map +1 -0
  445. package/dist/v2/patterns/Tour.js +473 -0
  446. package/dist/v2/patterns/Tour.js.map +1 -0
  447. package/dist/v2/patterns/_dataGridShared.d.ts +125 -0
  448. package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
  449. package/dist/v2/patterns/_dataGridShared.js +406 -0
  450. package/dist/v2/patterns/_dataGridShared.js.map +1 -0
  451. package/dist/v2/patterns/_sort.d.ts +22 -0
  452. package/dist/v2/patterns/_sort.d.ts.map +1 -0
  453. package/dist/v2/patterns/_sort.js +118 -0
  454. package/dist/v2/patterns/_sort.js.map +1 -0
  455. package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
  456. package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
  457. package/dist/v2/patterns/_useColumnReorder.js +264 -0
  458. package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
  459. package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
  460. package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
  461. package/dist/v2/patterns/_useColumnResize.js +198 -0
  462. package/dist/v2/patterns/_useColumnResize.js.map +1 -0
  463. package/dist/v2/patterns/index.d.ts +62 -0
  464. package/dist/v2/patterns/index.d.ts.map +1 -0
  465. package/dist/v2/patterns/index.js +246 -0
  466. package/dist/v2/patterns/index.js.map +1 -0
  467. package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
  468. package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
  469. package/dist/v2/personalization/PersonalizationProvider.js +177 -0
  470. package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
  471. package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
  472. package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
  473. package/dist/v2/personalization/adapters/_storageKey.js +69 -0
  474. package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
  475. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
  476. package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
  477. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
  478. package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
  479. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
  480. package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
  481. package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
  482. package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
  483. package/dist/v2/personalization/adapters/index.d.ts +10 -0
  484. package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
  485. package/dist/v2/personalization/adapters/index.js +21 -0
  486. package/dist/v2/personalization/adapters/index.js.map +1 -0
  487. package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
  488. package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
  489. package/dist/v2/personalization/capabilities/favorites.js +223 -0
  490. package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
  491. package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
  492. package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
  493. package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
  494. package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
  495. package/dist/v2/personalization/capabilities/index.d.ts +16 -0
  496. package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
  497. package/dist/v2/personalization/capabilities/index.js +69 -0
  498. package/dist/v2/personalization/capabilities/index.js.map +1 -0
  499. package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
  500. package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
  501. package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
  502. package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
  503. package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
  504. package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
  505. package/dist/v2/personalization/createPersonalizationStore.js +475 -0
  506. package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
  507. package/dist/v2/personalization/index.d.ts +33 -0
  508. package/dist/v2/personalization/index.d.ts.map +1 -0
  509. package/dist/v2/personalization/index.js +111 -0
  510. package/dist/v2/personalization/index.js.map +1 -0
  511. package/dist/v2/personalization/personalizationContext.d.ts +78 -0
  512. package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
  513. package/dist/v2/personalization/personalizationContext.js +121 -0
  514. package/dist/v2/personalization/personalizationContext.js.map +1 -0
  515. package/dist/v2/personalization/schema.d.ts +60 -0
  516. package/dist/v2/personalization/schema.d.ts.map +1 -0
  517. package/dist/v2/personalization/schema.js +102 -0
  518. package/dist/v2/personalization/schema.js.map +1 -0
  519. package/dist/v2/personalization/types.d.ts +81 -0
  520. package/dist/v2/personalization/types.d.ts.map +1 -0
  521. package/dist/v2/personalization/types.js +6 -0
  522. package/dist/v2/personalization/types.js.map +1 -0
  523. package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
  524. package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
  525. package/dist/v2/referentiel/ReferentielProvider.js +94 -0
  526. package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
  527. package/dist/v2/referentiel/index.d.ts +18 -0
  528. package/dist/v2/referentiel/index.d.ts.map +1 -0
  529. package/dist/v2/referentiel/index.js +44 -0
  530. package/dist/v2/referentiel/index.js.map +1 -0
  531. package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
  532. package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
  533. package/dist/v2/referentiel/useReferentielClient.js +46 -0
  534. package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
  535. package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
  536. package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
  537. package/dist/v2/referentiel/useReferentielOptions.js +177 -0
  538. package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
  539. package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
  540. package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
  541. package/dist/v2/referentiel/useReferentielSearch.js +140 -0
  542. package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
  543. package/dist/v2/styles/base.css +425 -0
  544. package/dist/v2/styles/css.d.ts +10 -0
  545. package/dist/v2/styles/index.d.ts +12 -0
  546. package/dist/v2/styles/index.d.ts.map +1 -0
  547. package/dist/v2/styles/index.js +4 -0
  548. package/dist/v2/styles/index.js.map +1 -0
  549. package/dist/v2/theme/_brand.d.ts +29 -0
  550. package/dist/v2/theme/_brand.d.ts.map +1 -0
  551. package/dist/v2/theme/_brand.js +69 -0
  552. package/dist/v2/theme/_brand.js.map +1 -0
  553. package/dist/v2/theme/_brandSecondary.d.ts +26 -0
  554. package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
  555. package/dist/v2/theme/_brandSecondary.js +65 -0
  556. package/dist/v2/theme/_brandSecondary.js.map +1 -0
  557. package/dist/v2/theme/createPortnetTheme.d.ts +50 -0
  558. package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
  559. package/dist/v2/theme/createPortnetTheme.js +529 -0
  560. package/dist/v2/theme/createPortnetTheme.js.map +1 -0
  561. package/dist/v2/theme/cssVariables.d.ts +41 -0
  562. package/dist/v2/theme/cssVariables.d.ts.map +1 -0
  563. package/dist/v2/theme/cssVariables.js +205 -0
  564. package/dist/v2/theme/cssVariables.js.map +1 -0
  565. package/dist/v2/theme/index.d.ts +33 -0
  566. package/dist/v2/theme/index.d.ts.map +1 -0
  567. package/dist/v2/theme/index.js +60 -0
  568. package/dist/v2/theme/index.js.map +1 -0
  569. package/dist/v2/tokens/breakpoints.d.ts +74 -0
  570. package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
  571. package/dist/v2/tokens/breakpoints.js +114 -0
  572. package/dist/v2/tokens/breakpoints.js.map +1 -0
  573. package/dist/v2/tokens/colors.d.ts +228 -0
  574. package/dist/v2/tokens/colors.d.ts.map +1 -0
  575. package/dist/v2/tokens/colors.js +225 -0
  576. package/dist/v2/tokens/colors.js.map +1 -0
  577. package/dist/v2/tokens/density.d.ts +142 -0
  578. package/dist/v2/tokens/density.d.ts.map +1 -0
  579. package/dist/v2/tokens/density.js +111 -0
  580. package/dist/v2/tokens/density.js.map +1 -0
  581. package/dist/v2/tokens/index.d.ts +556 -0
  582. package/dist/v2/tokens/index.d.ts.map +1 -0
  583. package/dist/v2/tokens/index.js +313 -0
  584. package/dist/v2/tokens/index.js.map +1 -0
  585. package/dist/v2/tokens/motion.d.ts +85 -0
  586. package/dist/v2/tokens/motion.d.ts.map +1 -0
  587. package/dist/v2/tokens/motion.js +94 -0
  588. package/dist/v2/tokens/motion.js.map +1 -0
  589. package/dist/v2/tokens/radius.d.ts +18 -0
  590. package/dist/v2/tokens/radius.d.ts.map +1 -0
  591. package/dist/v2/tokens/radius.js +28 -0
  592. package/dist/v2/tokens/radius.js.map +1 -0
  593. package/dist/v2/tokens/shadows.d.ts +25 -0
  594. package/dist/v2/tokens/shadows.d.ts.map +1 -0
  595. package/dist/v2/tokens/shadows.js +46 -0
  596. package/dist/v2/tokens/shadows.js.map +1 -0
  597. package/dist/v2/tokens/spacing.d.ts +38 -0
  598. package/dist/v2/tokens/spacing.d.ts.map +1 -0
  599. package/dist/v2/tokens/spacing.js +57 -0
  600. package/dist/v2/tokens/spacing.js.map +1 -0
  601. package/dist/v2/tokens/state.d.ts +40 -0
  602. package/dist/v2/tokens/state.d.ts.map +1 -0
  603. package/dist/v2/tokens/state.js +47 -0
  604. package/dist/v2/tokens/state.js.map +1 -0
  605. package/dist/v2/tokens/statusPalette.d.ts +54 -0
  606. package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
  607. package/dist/v2/tokens/statusPalette.js +72 -0
  608. package/dist/v2/tokens/statusPalette.js.map +1 -0
  609. package/dist/v2/tokens/tokens.json +153 -0
  610. package/dist/v2/tokens/typography.d.ts +206 -0
  611. package/dist/v2/tokens/typography.d.ts.map +1 -0
  612. package/dist/v2/tokens/typography.js +155 -0
  613. package/dist/v2/tokens/typography.js.map +1 -0
  614. package/dist/v2/tokens/zIndex.d.ts +33 -0
  615. package/dist/v2/tokens/zIndex.d.ts.map +1 -0
  616. package/dist/v2/tokens/zIndex.js +50 -0
  617. package/dist/v2/tokens/zIndex.js.map +1 -0
  618. package/dist/v2/types/common.d.ts +24 -0
  619. package/dist/v2/types/common.d.ts.map +1 -0
  620. package/dist/v2/types/common.js +6 -0
  621. package/dist/v2/types/common.js.map +1 -0
  622. package/dist/v2/types/datagrid.d.ts +131 -0
  623. package/dist/v2/types/datagrid.d.ts.map +1 -0
  624. package/dist/v2/types/datagrid.js +6 -0
  625. package/dist/v2/types/datagrid.js.map +1 -0
  626. package/dist/v2/types/index.d.ts +11 -0
  627. package/dist/v2/types/index.d.ts.map +1 -0
  628. package/dist/v2/types/index.js +28 -0
  629. package/dist/v2/types/index.js.map +1 -0
  630. package/dist/v2/utils/apiError.d.ts +90 -0
  631. package/dist/v2/utils/apiError.d.ts.map +1 -0
  632. package/dist/v2/utils/apiError.js +227 -0
  633. package/dist/v2/utils/apiError.js.map +1 -0
  634. package/dist/v2/utils/contrast.d.ts +68 -0
  635. package/dist/v2/utils/contrast.d.ts.map +1 -0
  636. package/dist/v2/utils/contrast.js +167 -0
  637. package/dist/v2/utils/contrast.js.map +1 -0
  638. package/dist/v2/utils/cx.d.ts +9 -0
  639. package/dist/v2/utils/cx.d.ts.map +1 -0
  640. package/dist/v2/utils/cx.js +45 -0
  641. package/dist/v2/utils/cx.js.map +1 -0
  642. package/dist/v2/utils/fileDownload.d.ts +94 -0
  643. package/dist/v2/utils/fileDownload.d.ts.map +1 -0
  644. package/dist/v2/utils/fileDownload.js +236 -0
  645. package/dist/v2/utils/fileDownload.js.map +1 -0
  646. package/dist/v2/utils/fmtMoney.d.ts +28 -0
  647. package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
  648. package/dist/v2/utils/fmtMoney.js +84 -0
  649. package/dist/v2/utils/fmtMoney.js.map +1 -0
  650. package/dist/v2/utils/index.d.ts +8 -0
  651. package/dist/v2/utils/index.d.ts.map +1 -0
  652. package/dist/v2/utils/index.js +90 -0
  653. package/dist/v2/utils/index.js.map +1 -0
  654. package/dist/v2/utils/networkStatus.d.ts +88 -0
  655. package/dist/v2/utils/networkStatus.d.ts.map +1 -0
  656. package/dist/v2/utils/networkStatus.js +121 -0
  657. package/dist/v2/utils/networkStatus.js.map +1 -0
  658. package/package.json +191 -73
  659. package/dist/api/guideApi.js +0 -12
  660. package/dist/api/guideImageService.js +0 -119
  661. package/dist/api/reclamationApi.js +0 -102
  662. package/dist/assets/guides/FAQ.json +0 -118
  663. package/dist/assets/guides/index.js +0 -11
  664. package/dist/assets/images/tijariaLogo.ico +0 -0
  665. package/dist/components/buttons/PuiButton.js +0 -217
  666. package/dist/components/buttons/PuiIconButton.js +0 -98
  667. package/dist/components/common/PuiAlertContext.js +0 -12
  668. package/dist/components/common/PuiHelpWidgetContext.js +0 -17
  669. package/dist/components/common/StyledMuiButton.js +0 -48
  670. package/dist/components/common/StyledMuiTextField.js +0 -180
  671. package/dist/components/inputs/PuiAutocomplete.js +0 -352
  672. package/dist/components/inputs/PuiCheckbox.js +0 -308
  673. package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
  674. package/dist/components/inputs/PuiCheckboxItem.js +0 -162
  675. package/dist/components/inputs/PuiDateField.js +0 -280
  676. package/dist/components/inputs/PuiDateTimeField.js +0 -276
  677. package/dist/components/inputs/PuiFileField.js +0 -265
  678. package/dist/components/inputs/PuiRadioGroup.js +0 -197
  679. package/dist/components/inputs/PuiRadioItem.js +0 -100
  680. package/dist/components/inputs/PuiSelect.js +0 -427
  681. package/dist/components/inputs/PuiTextField.js +0 -263
  682. package/dist/components/others/PuiBadge.js +0 -58
  683. package/dist/components/others/PuiChip.js +0 -150
  684. package/dist/components/others/PuiDialog.js +0 -102
  685. package/dist/components/others/PuiFormikForm.js +0 -70
  686. package/dist/components/others/PuiGrid.js +0 -23
  687. package/dist/components/others/PuiIcon.js +0 -92
  688. package/dist/components/others/PuiLoadingBackdrop.js +0 -32
  689. package/dist/components/others/PuiMainContainer.js +0 -41
  690. package/dist/components/others/PuiNavigation.js +0 -68
  691. package/dist/components/others/PuiSection.js +0 -187
  692. package/dist/components/others/PuiTooltip.js +0 -86
  693. package/dist/components/providers/PuiAlertProvider.js +0 -134
  694. package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
  695. package/dist/components/providers/PuiLocalizationProvider.js +0 -34
  696. package/dist/components/referentiel/common/ReferetielContext.js +0 -12
  697. package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
  698. package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
  699. package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
  700. package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
  701. package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
  702. package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
  703. package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
  704. package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
  705. package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
  706. package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
  707. package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
  708. package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
  709. package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
  710. package/dist/components/tab/PuiTab.js +0 -25
  711. package/dist/components/tab/PuiTabs.js +0 -148
  712. package/dist/components/table/PuiTable.js +0 -643
  713. package/dist/components/table/PuiTableAction.js +0 -75
  714. package/dist/components/typography/PuiDefinition.js +0 -42
  715. package/dist/components/typography/PuiIndication.js +0 -80
  716. package/dist/components/typography/PuiMainTitle.js +0 -144
  717. package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
  718. package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
  719. package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
  720. package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
  721. package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
  722. package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
  723. package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
  724. package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
  725. package/dist/components/widgets/GuideImage.js +0 -251
  726. package/dist/components/widgets/PuiHelpWidget.js +0 -4153
  727. package/dist/config/apperance.js +0 -26
  728. package/dist/config/mapping.js +0 -26
  729. package/dist/config/referentiel.js +0 -10
  730. package/dist/general/yupValidationErrors.js +0 -8
  731. package/dist/hooks/useAlert.js +0 -19
  732. package/dist/hooks/useAxios.js +0 -23
  733. package/dist/hooks/useQuery.js +0 -21
  734. package/dist/hooks/useReclamation.js +0 -100
  735. package/dist/styles/ReclamationFormModal.css +0 -629
  736. package/dist/styles/help-widget.css +0 -621
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_useMediaQuery","_styles","_Skeleton","_SortableHeader","_useDelayedFlag","_dataGridShared","_useColumnResize","_useColumnReorder","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","useAriaLabelWarn","ariaLabel","labelsTableAria","useEffect","process","env","hasAriaLabel","trim","hasLabelsAria","console","warn","ROW_ACTIONS_CELL_SX","freeze","position","right","zIndex","width","minWidth","maxWidth","padding","background","borderBottom","overflow","ROW_ACTIONS_HEAD_CELL_SX","top","VISUALLY_HIDDEN_SX","height","margin","clip","whiteSpace","borderWidth","ROW_ACTIONS_OVERLAY_SX","transform","display","alignItems","justifyContent","gap","opacity","pointerEvents","transition","borderRadius","boxShadow","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","REORDER_GRIP_SX","insetInlineStart","border","color","cursor","fontFamily","outline","outlineOffset","CARD_STACK_SX","flexDirection","CARD_BASE_SX","minHeight","CARD_CLICKABLE_SX","borderColor","CARD_SKELETON_SX","animation","CARD_EMPTY_WRAPPER_SX","UNSIZED_COL_MIN_DEFAULT","COL_MINWIDTH_CAP","widthToNumber","w","isFinite","parsed","parseFloat","isNaN","readCellValue","row","defaultGetRowId","id","DataGrid","_ref","_ref$rows","rows","_ref$columns","columns","rawColumns","_ref$loading","loading","_ref$error","error","_ref$sort","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","_ref$getRowId","getRowId","onRowClick","rowFlashId","activeRowId","rowActions","hiddenColumns","_ref$filtered","filtered","_ref$density","density","_ref$locale","locale","labels","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","renderMobileCard","_ref$mobileBreakpoint","mobileBreakpoint","tableAria","L","useMemo","mergeLabels","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","theme","useTheme","isBelowBreakpoint","useMediaQuery","breakpoints","down","useCardView","orderedColumns","applyColumnOrder","hiddenSet","Set","c","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","showCheckbox","hasRowActions","colCount","sortable","col","selectedSet","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","add","handleRowKeyDown","preventDefault","scrollContainerSx","maxHeight","tableMinWidth","sum","_iterator","_step","contribution","Math","min","tableSx","TABLE_BY_DENSITY","comfortable","tableLayout","columnCellSx","byKey","Map","_iterator2","_step2","_ref2","effectiveWidth","liveWidths","fontSize","wrap","textOverflow","mono","numeric","fontVariantNumeric","overflowWrap","wordBreak","hoverOnly","HOVER_ONLY_CELL_SX","renderCardBody","renderCard","jsx","role","sx","children","_","isSelected","isActive","flash","clickable","ctx","tabIndex","className","onClick","onKeyDown","body","SkeletonRow","cols","withCheckbox","withActions","colSpan","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","hover","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","size","checked","onChange","stopPropagation","slotProps","selectRow","_ref3","getValue","align","render","CONTAINER_SX","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","_ref4","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","cellSx","sortKey","setSort","header","component","type","handleKeyDown","round","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","scope","actionsHeader","Pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { applySort, getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n HOVER_ONLY_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridProps,\r\n DataGridColumn,\r\n DataGridMobileCardContext,\r\n} from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * DataGrid - Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"DataGrid · Table\". Refactor of legacy PuiTable.\r\n *\r\n * Column sizing (R2, canonical):\r\n * - tableLayout: \"auto\" — columns grow proportionally from preferred widths.\r\n * - Table carries computed `min-width` = Σ (clamped) explicit widths\r\n * + (UNSIZED_COL_MIN_DEFAULT × unsized cols) + checkbox if any.\r\n * Each column's contribution is clamped to COL_MINWIDTH_CAP so a wide\r\n * preferred width can't force the whole table to overflow its container.\r\n * - When container >= min-width → table fills to 100%, columns expand\r\n * proportionally toward their preferred widths, no empty trailing strip.\r\n * - When container < min-width → horizontal scroll on the container.\r\n *\r\n * Row actions (R2 robust):\r\n * - The actions cell is rendered at width:0 — it contributes nothing\r\n * to the column-width distribution. The actions themselves render\r\n * as an ABSOLUTELY positioned overlay anchored to the row's right\r\n * edge, invisible by default and revealed on hover / focus-within /\r\n * coarse pointer. On hover, the overlay carries a background that\r\n * masks the data column(s) it covers.\r\n * - The actions column header carries a visually-hidden accessible\r\n * name from labels.actionsHeader (default \"Actions\").\r\n *\r\n * Mobile card view (R1 mobile, opt-in):\r\n * - When `renderMobileCard` is provided AND viewport is below\r\n * `mobileBreakpoint` (default \"sm\"), DataGrid swaps the <Table> for\r\n * a vertical stack of cards. Host owns the card layout.\r\n *\r\n * Accessible name (WCAG 1.3.1 / 4.1.2):\r\n * - Resolution chain: ariaLabel prop → labels.tableAria → mergeLabels()\r\n * default. When both explicit sources are missing, useAriaLabelWarn\r\n * fires a dev console.warn.\r\n */\r\n\r\n/**\r\n * Dev-only hook — warn once on mount when neither `ariaLabel` nor\r\n * `labels.tableAria` carries a contextual name for the table. Fires only\r\n * in non-production builds; the inline check is dead-code-eliminated by\r\n * minifiers when NODE_ENV is set to production at build time. Empty\r\n * strings are treated as \"not provided\". Charter R-DG + WCAG 2.2 AA.\r\n */\r\nfunction useAriaLabelWarn(\r\n ariaLabel: string | undefined,\r\n labelsTableAria: string | undefined\r\n): void {\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n\r\n const hasAriaLabel =\r\n typeof ariaLabel === \"string\" && ariaLabel.trim().length > 0;\r\n const hasLabelsAria =\r\n typeof labelsTableAria === \"string\" && labelsTableAria.trim().length > 0;\r\n\r\n if (hasAriaLabel || hasLabelsAria) return;\r\n\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[v2.DataGrid] No explicit `ariaLabel` prop or `labels.tableAria` — \" +\r\n \"falling back to the lib default. WCAG 1.3.1 + Charter R-DG require \" +\r\n \"a contextual table name. Pass `ariaLabel` describing the data \" +\r\n \"(e.g. 'Marchandises du titre', 'Liste des titres d\\\\'importation') \" +\r\n \"or set `labels.tableAria` if the same name is reused module-wide.\"\r\n );\r\n // fire once on mount — re-renders shouldn't re-warn even if the caller\r\n // changes ariaLabel/labels.tableAria later; a first-paint miss is the\r\n // signal we care about, not every subsequent render.\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n}\r\n\r\n/* R2 — Actions cell is a 0-width anchor for the absolute overlay.\r\n * position:sticky right:0 glues the overlay's positioned ancestor to the\r\n * visible right edge during horizontal scroll and provides a focus\r\n * container. The strict 0 width makes the cell contribute nothing to\r\n * layout; overflow:visible lets the absolute overlay render outside it. */\r\nconst ROW_ACTIONS_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 1,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"transparent\",\r\n borderBottom: \"1px solid var(--border)\",\r\n overflow: \"visible\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_ACTIONS_HEAD_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n top: 0,\r\n zIndex: 3,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* a11y — Standard sr-only / visually-hidden recipe. Gives the\r\n * auto-generated actions column header an accessible name without adding\r\n * visible text. clip-rect keeps it painted into the a11y tree while\r\n * removing it from visual layout. */\r\nconst VISUALLY_HIDDEN_SX = Object.freeze({\r\n position: \"absolute\",\r\n width: \"1px\",\r\n height: \"1px\",\r\n padding: 0,\r\n margin: \"-1px\",\r\n overflow: \"hidden\",\r\n clip: \"rect(0, 0, 0, 0)\",\r\n whiteSpace: \"nowrap\",\r\n borderWidth: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Overlay floats over the row's right edge. Invisible by default,\r\n * visible on hover / focus-within / coarse pointer. The parent\r\n * ROW_ACTIONS_CELL_SX (position:sticky) is the containing block. */\r\nconst ROW_ACTIONS_OVERLAY_SX = Object.freeze({\r\n position: \"absolute\",\r\n right: \"var(--s-3)\",\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n gap: \"var(--s-1)\",\r\n whiteSpace: \"nowrap\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n // Visible \"pill\" that masks the data column(s) underneath when revealed\r\n background: \"var(--bg-hover)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-sm)\",\r\n \"tr:hover &, tr:focus-within &\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n \"@media (pointer: coarse)\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Filler cells stay at width:0 so they don't take any proportional\r\n * residual under tableLayout:auto. (Local width:0 variants — distinct\r\n * from _dataGridShared's exports, which are not imported here.) */\r\nconst FILLER_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n borderBottom: \"1px solid var(--border)\",\r\n});\r\n\r\nconst FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Mobile card view SX (R1 mobile) ─────────────────────────────── */\r\n\r\nconst CARD_STACK_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_BASE_SX = Object.freeze({\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-xs)\",\r\n transition: \"background 60ms ease, border-color 60ms ease\",\r\n minHeight: 44,\r\n});\r\n\r\nconst CARD_CLICKABLE_SX = Object.freeze({\r\n ...CARD_BASE_SX,\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // --pui-outline-offset (2px in base.css :root) — aligns this focus\r\n // ring with the rest of the v2 surface.\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&[data-active]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n \"&[data-selected]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_SKELETON_SX = Object.freeze({\r\n height: 90,\r\n background: \"var(--bg-subtle)\",\r\n borderRadius: \"var(--r-md)\",\r\n animation: \"pui-skeleton-shimmer 1.4s ease-in-out infinite\",\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n animation: \"none\",\r\n },\r\n});\r\n\r\nconst CARD_EMPTY_WRAPPER_SX = Object.freeze({\r\n padding: \"var(--s-6) var(--s-4)\",\r\n});\r\n\r\n/* R2 — Default min-width contribution for a column without an explicit\r\n * `width`. 120 px is a sensible floor for a typical data cell. */\r\nconst UNSIZED_COL_MIN_DEFAULT = 120;\r\n\r\n/* R2 — Upper bound on how much ANY single column may contribute to the\r\n * table's hard min-width. A column may DECLARE a large preferred width and\r\n * tableLayout:auto grows it toward that when the container has room, but\r\n * its preferred width must not drag the table's min-width past this cap\r\n * (below which horizontal scroll kicks in). */\r\nconst COL_MINWIDTH_CAP = 220;\r\n\r\nfunction widthToNumber(w: number | string | undefined): number {\r\n if (typeof w === \"number\" && Number.isFinite(w)) return w;\r\n if (typeof w === \"string\") {\r\n const parsed = parseFloat(w);\r\n if (!Number.isNaN(parsed)) return parsed;\r\n }\r\n return 0;\r\n}\r\n\r\n/* Default value accessor (`row[key]`) for an unconstrained row type. Typed\r\n * against `unknown` so the single unknown->record assertion is legal\r\n * without a double cast; noUncheckedIndexedAccess makes the result\r\n * `unknown`, which the caller narrows / asserts at the render site. */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`). Typed against `unknown` so the single\r\n * assertion is legal; `(unknown) => RowId` is assignable to the declared\r\n * `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGrid<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n activeRowId,\r\n rowActions,\r\n hiddenColumns,\r\n filtered = false,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n renderMobileCard,\r\n mobileBreakpoint = \"sm\",\r\n}: DataGridProps<T>) {\r\n // WCAG 1.3.1 / 4.1.2 — dev guard: warn once on mount when no contextual\r\n // table name has been provided by the caller.\r\n useAriaLabelWarn(ariaLabel, labels?.tableAria);\r\n\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // R1 mobile — detect xs viewport. Switch to card view only when the host\r\n // opted in by passing renderMobileCard.\r\n const theme = useTheme();\r\n const isBelowBreakpoint = useMediaQuery(\r\n theme.breakpoints.down(mobileBreakpoint)\r\n );\r\n const useCardView =\r\n isBelowBreakpoint && typeof renderMobileCard === \"function\";\r\n\r\n const orderedColumns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n const columns = React.useMemo(\r\n () => orderedColumns.filter((c) => !hiddenSet.has(c.key)),\r\n [orderedColumns, hiddenSet]\r\n );\r\n\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const hasRowActions = typeof rowActions === \"function\";\r\n const colCount =\r\n columns.length + (showCheckbox ? 1 : 0) + 1 + (hasRowActions ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n overflow: \"auto\",\r\n maxHeight: maxBodyHeight,\r\n width: \"100%\",\r\n }),\r\n [maxBodyHeight]\r\n );\r\n\r\n /* R2 — Computed table min-width. Each column's contribution is clamped\r\n * to COL_MINWIDTH_CAP; unsized columns contribute UNSIZED_COL_MIN_DEFAULT;\r\n * the checkbox column adds ~48px. The rowActions cell contributes 0. */\r\n const tableMinWidth = React.useMemo(() => {\r\n let sum = 0;\r\n for (const col of columns) {\r\n const w = widthToNumber(col.width);\r\n const contribution =\r\n w > 0 ? Math.min(w, COL_MINWIDTH_CAP) : UNSIZED_COL_MIN_DEFAULT;\r\n sum += contribution;\r\n }\r\n if (showCheckbox) sum += 48;\r\n return sum;\r\n }, [columns, showCheckbox]);\r\n\r\n // R2 — tableLayout:\"auto\" + computed minWidth. (SxProps-typed so the\r\n // tableLayout literal stays typed; the density base is narrowed to a\r\n // SystemStyleObject at the spread to avoid the fn/array arms of SxProps.)\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n minWidth: tableMinWidth,\r\n tableLayout: \"auto\",\r\n }),\r\n [density, tableMinWidth]\r\n );\r\n\r\n /* DG-1 (perf) — the desktop body renders EVERY row (no virtualization), so\r\n * building the cell sx inline per row × per column allocated N×M fresh style\r\n * objects each render and forced Emotion to re-serialise them. The cell sx is\r\n * a pure function of the column (wrap / mono / numeric / maxWidth / hoverOnly)\r\n * and the column's effective width — never of the row — so compute it once per\r\n * column and reuse the reference across all rows. Keyed on columns + live\r\n * widths (the latter only changes during an active resize drag).\r\n * --text-body (14px) is the explicit inheritance that replaced a dangling\r\n * `var(--text-fs)` token typo (no fallback). */\r\n const columnCellSx = React.useMemo(() => {\r\n const byKey = new Map<string, SxProps<Theme>>();\r\n for (const col of columns) {\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ?? col.width;\r\n byKey.set(col.key, {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n // When a column wraps, allow long unbroken tokens to break.\r\n ...(col.wrap\r\n ? ({\r\n overflowWrap: \"anywhere\",\r\n wordBreak: \"break-word\",\r\n } satisfies SxProps<Theme>)\r\n : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n ...(col.hoverOnly ? HOVER_ONLY_CELL_SX : {}),\r\n });\r\n }\r\n return byKey;\r\n }, [columns, resize.liveWidths]);\r\n\r\n /* ── Mobile card view body (R1 mobile) ─────────────────────────\r\n * Built only when useCardView is true. `renderCard` is the narrowed,\r\n * guaranteed-present renderer passed in from the return site. */\r\n const renderCardBody = (\r\n renderCard: (row: T, ctx: DataGridMobileCardContext) => React.ReactNode\r\n ): React.ReactNode => {\r\n if (showSkeleton) {\r\n return (\r\n <Box role=\"list\" aria-busy=\"true\" aria-label={tableAria} sx={CARD_STACK_SX}>\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <Box key={`sk-${i}`} aria-hidden=\"true\" sx={CARD_SKELETON_SX} />\r\n ))}\r\n </Box>\r\n );\r\n }\r\n\r\n if (error) {\r\n return <Box sx={CARD_EMPTY_WRAPPER_SX}>{errorState}</Box>;\r\n }\r\n\r\n if (rows.length === 0) {\r\n return (\r\n <Box sx={CARD_EMPTY_WRAPPER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n role=\"list\"\r\n aria-label={tableAria}\r\n aria-busy={loading || undefined}\r\n sx={CARD_STACK_SX}\r\n >\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n const ctx: DataGridMobileCardContext = { isActive, isSelected };\r\n return (\r\n <Box\r\n key={id}\r\n role={clickable ? \"button\" : \"listitem\"}\r\n tabIndex={clickable ? 0 : undefined}\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n sx={clickable ? CARD_CLICKABLE_SX : CARD_BASE_SX}\r\n >\r\n {renderCard(row, ctx)}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ── Table body (desktop / no card opt-in) ─────────────────── */\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={hasRowActions}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={id}\r\n hover\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={columnCellSx.get(col.key)}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && rowActions && (\r\n <TableCell sx={ROW_ACTIONS_CELL_SX}>\r\n <Box sx={ROW_ACTIONS_OVERLAY_SX}>{rowActions(row)}</Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n {useCardView && renderMobileCard ? (\r\n renderCardBody(renderMobileCard)\r\n ) : (\r\n <Box sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n size={density === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable =\r\n reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_HEAD_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && (\r\n /* WCAG 1.3.1 / axe-core `empty-table-header` — the\r\n visually-hidden span names the actions column in the\r\n a11y tree. Label from labels.actionsHeader. */\r\n <TableCell sx={ROW_ACTIONS_HEAD_CELL_SX} scope=\"col\">\r\n <Box component=\"span\" sx={VISUALLY_HIDDEN_SX}>\r\n {L.actionsHeader}\r\n </Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n )}\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport { applySort };\r\nexport default DataGrid;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ import * as React from "react";
2
+ import type { SegmentedOption } from "../components/Segmented";
3
+ import type { Density } from "../types/common";
4
+ import type { DataGridColumn } from "../types/datagrid";
5
+ /**
6
+ * DataGridSettingsMenu - Portnet UI v2 (pattern)
7
+ *
8
+ * Combined "table options" popover wrapping two DataGrid-adjacent
9
+ * preferences: column visibility and row density. Single trigger
10
+ * (Tune icon button) opens a popover with both sections inline.
11
+ *
12
+ * <DataGridSettingsMenu
13
+ * columns={cols}
14
+ * hiddenColumns={hiddenSet}
15
+ * onHiddenColumnsChange={setHiddenSet}
16
+ * density={density}
17
+ * onDensityChange={setDensity}
18
+ * densityOptions={DENSITY_OPTIONS}
19
+ * label="Configurer" // optional — shows text label on trigger
20
+ * />
21
+ *
22
+ * Use this when the host wants BOTH affordances behind one
23
+ * compact toolbar entry. For columns-only use cases, prefer the
24
+ * atomic `<ColumnsToggle>` pattern.
25
+ *
26
+ * The component is pure presentation — host owns the state for
27
+ * both columns visibility (hiddenColumns Set) and density (the
28
+ * current value, typically "comfortable" or "compact").
29
+ *
30
+ * Mental model: checkbox represents VISIBILITY (checked = visible,
31
+ * not in hiddenSet). Same contract as ColumnsToggle to avoid
32
+ * cognitive load when a host switches between the two patterns.
33
+ *
34
+ * `col.toggleable: false` on a column excludes it from the popover
35
+ * entirely — useful for identity columns or system-pinned columns
36
+ * that should not be user-hideable. DataGrid itself doesn't read
37
+ * this flag; it's a contract between the host schema and any
38
+ * settings-UI consumer.
39
+ *
40
+ * `label` prop (optional string):
41
+ * When provided, the trigger becomes a v2.Button (secondary, sm)
42
+ * with the icon + text label visible in the toolbar. This is
43
+ * recommended when the toolbar has enough horizontal space and the
44
+ * affordance benefits from a named action (e.g. "Configurer").
45
+ * When omitted, the trigger falls back to the compact IconButton.
46
+ */
47
+ export interface DataGridSettingsMenuLabels {
48
+ button?: string;
49
+ title?: string;
50
+ columnsHeading?: string;
51
+ densityHeading?: string;
52
+ showAll?: string;
53
+ hideAll?: string;
54
+ densityAriaLabel?: string;
55
+ }
56
+ export interface DataGridSettingsMenuProps {
57
+ columns: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
58
+ hiddenColumns?: Set<string> | string[];
59
+ onHiddenColumnsChange: (hidden: Set<string>) => void;
60
+ density?: Density;
61
+ onDensityChange: (density: Density) => void;
62
+ densityOptions?: SegmentedOption[];
63
+ labels?: DataGridSettingsMenuLabels;
64
+ label?: string;
65
+ }
66
+ declare function DataGridSettingsMenu({ columns, hiddenColumns, onHiddenColumnsChange, density, onDensityChange, densityOptions, labels, label, }: DataGridSettingsMenuProps): React.JSX.Element;
67
+ export default DataGridSettingsMenu;
68
+ //# sourceMappingURL=DataGridSettingsMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACvC,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,eAAe,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyFD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,yBAAyB,qBAqN3B;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
9
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
10
+ var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
11
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
12
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
13
+ var _Tune = _interopRequireDefault(require("@mui/icons-material/Tune"));
14
+ var _Button = _interopRequireDefault(require("../components/Button"));
15
+ var _Segmented = _interopRequireDefault(require("../components/Segmented"));
16
+ var _ColumnsToggle = require("./ColumnsToggle");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+ 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); }
22
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+ 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."); }
24
+ 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); }
25
+ 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; }
26
+ 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; } }
27
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
+ 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; }
29
+ 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; }
30
+ 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; }
31
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
32
+ 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); } /**
33
+ * DataGridSettingsMenu - Portnet UI v2 (pattern)
34
+ *
35
+ * Combined "table options" popover wrapping two DataGrid-adjacent
36
+ * preferences: column visibility and row density. Single trigger
37
+ * (Tune icon button) opens a popover with both sections inline.
38
+ *
39
+ * <DataGridSettingsMenu
40
+ * columns={cols}
41
+ * hiddenColumns={hiddenSet}
42
+ * onHiddenColumnsChange={setHiddenSet}
43
+ * density={density}
44
+ * onDensityChange={setDensity}
45
+ * densityOptions={DENSITY_OPTIONS}
46
+ * label="Configurer" // optional — shows text label on trigger
47
+ * />
48
+ *
49
+ * Use this when the host wants BOTH affordances behind one
50
+ * compact toolbar entry. For columns-only use cases, prefer the
51
+ * atomic `<ColumnsToggle>` pattern.
52
+ *
53
+ * The component is pure presentation — host owns the state for
54
+ * both columns visibility (hiddenColumns Set) and density (the
55
+ * current value, typically "comfortable" or "compact").
56
+ *
57
+ * Mental model: checkbox represents VISIBILITY (checked = visible,
58
+ * not in hiddenSet). Same contract as ColumnsToggle to avoid
59
+ * cognitive load when a host switches between the two patterns.
60
+ *
61
+ * `col.toggleable: false` on a column excludes it from the popover
62
+ * entirely — useful for identity columns or system-pinned columns
63
+ * that should not be user-hideable. DataGrid itself doesn't read
64
+ * this flag; it's a contract between the host schema and any
65
+ * settings-UI consumer.
66
+ *
67
+ * `label` prop (optional string):
68
+ * When provided, the trigger becomes a v2.Button (secondary, sm)
69
+ * with the icon + text label visible in the toolbar. This is
70
+ * recommended when the toolbar has enough horizontal space and the
71
+ * affordance benefits from a named action (e.g. "Configurer").
72
+ * When omitted, the trigger falls back to the compact IconButton.
73
+ */
74
+ var DEFAULT_LABELS = Object.freeze({
75
+ button: "Options du tableau",
76
+ title: "Options du tableau",
77
+ columnsHeading: "Affichage des colonnes",
78
+ densityHeading: "Densité d'affichage",
79
+ showAll: "Tout afficher",
80
+ hideAll: "Tout masquer",
81
+ densityAriaLabel: "Densité d'affichage"
82
+ });
83
+
84
+ /* ── Default density options ─────────────────────────────────────────
85
+ * Used only when the host doesn't pass its own densityOptions.
86
+ * Hosts SHOULD pass an icon-laden version for visual richness; the
87
+ * label-only fallback exists to keep this component crash-free.
88
+ * (Frozen for defensiveness; typed mutable via one readonly→mutable
89
+ * assertion since Segmented reads options and never mutates.) */
90
+ var FALLBACK_DENSITY_OPTIONS = Object.freeze([{
91
+ value: "comfortable",
92
+ label: "Confortable"
93
+ }, {
94
+ value: "compact",
95
+ label: "Compact"
96
+ }]);
97
+
98
+ /* ── Hoisted sx (D5) ──────────────────────────────────────────────── */
99
+
100
+ var POPOVER_PAPER_SX = Object.freeze({
101
+ borderRadius: "var(--r-lg)",
102
+ boxShadow: "var(--shadow-md)",
103
+ border: "1px solid var(--border)"
104
+ });
105
+ var POPOVER_BODY_SX = Object.freeze({
106
+ padding: "var(--s-3) var(--s-4)",
107
+ minWidth: 280,
108
+ maxHeight: 480,
109
+ overflowY: "auto",
110
+ display: "flex",
111
+ flexDirection: "column",
112
+ gap: "var(--s-2)"
113
+ });
114
+ var SECTION_HEADING_SX = Object.freeze({
115
+ fontSize: "var(--text-xs)",
116
+ fontWeight: "var(--fw-semibold)",
117
+ color: "var(--fg-muted)",
118
+ textTransform: "uppercase",
119
+ letterSpacing: "0.04em",
120
+ paddingBottom: "var(--s-2)",
121
+ borderBottom: "1px solid var(--border)"
122
+ });
123
+ var SECTION_BODY_SX = Object.freeze({
124
+ display: "flex",
125
+ flexDirection: "column",
126
+ gap: "var(--s-1)",
127
+ paddingTop: "var(--s-2)",
128
+ paddingBottom: "var(--s-2)"
129
+ });
130
+ var SECTION_SEPARATOR_SX = Object.freeze({
131
+ borderTop: "1px solid var(--border)"
132
+ });
133
+ var CHECKBOX_LABEL_SX = Object.freeze({
134
+ marginLeft: 0,
135
+ marginRight: 0,
136
+ "& .MuiFormControlLabel-label": {
137
+ fontSize: "var(--text-sm)",
138
+ color: "var(--fg)"
139
+ }
140
+ });
141
+ var COLUMNS_FOOTER_SX = Object.freeze({
142
+ display: "flex",
143
+ justifyContent: "space-between",
144
+ gap: "var(--s-2)",
145
+ paddingTop: "var(--s-1)"
146
+ });
147
+ var BADGE_SX = Object.freeze({
148
+ position: "absolute",
149
+ top: 2,
150
+ insetInlineEnd: 2,
151
+ width: 8,
152
+ height: 8,
153
+ borderRadius: "var(--r-full)",
154
+ background: "var(--accent)"
155
+ });
156
+ function DataGridSettingsMenu(_ref) {
157
+ var columns = _ref.columns,
158
+ hiddenColumns = _ref.hiddenColumns,
159
+ onHiddenColumnsChange = _ref.onHiddenColumnsChange,
160
+ density = _ref.density,
161
+ onDensityChange = _ref.onDensityChange,
162
+ densityOptions = _ref.densityOptions,
163
+ labels = _ref.labels,
164
+ label = _ref.label;
165
+ var L = labels ? _objectSpread(_objectSpread({}, DEFAULT_LABELS), labels) : DEFAULT_LABELS;
166
+ var _React$useState = React.useState(null),
167
+ _React$useState2 = _slicedToArray(_React$useState, 2),
168
+ anchor = _React$useState2[0],
169
+ setAnchor = _React$useState2[1];
170
+
171
+ // Normalise hiddenColumns to a Set once. Same contract as DataGrid
172
+ // / ColumnsToggle — accepts Set or Array (or undefined).
173
+ var hiddenSet = React.useMemo(function () {
174
+ return hiddenColumns instanceof Set ? hiddenColumns : new Set(hiddenColumns || []);
175
+ }, [hiddenColumns]);
176
+
177
+ // Toggleable subset — the only columns this UI exposes. System-
178
+ // pinned columns (col.toggleable === false) are excluded entirely.
179
+ var toggleableColumns = React.useMemo(function () {
180
+ return columns.filter(function (c) {
181
+ return c.toggleable !== false;
182
+ });
183
+ }, [columns]);
184
+
185
+ // Count among toggleable for the trigger badge dot.
186
+ var hiddenCount = React.useMemo(function () {
187
+ return toggleableColumns.filter(function (c) {
188
+ return hiddenSet.has(c.key);
189
+ }).length;
190
+ }, [toggleableColumns, hiddenSet]);
191
+
192
+ // Indicates the user has changed something from defaults — used
193
+ // to surface a discreet badge dot on the trigger. We use a single
194
+ // visual dot rather than a numeric badge because there are TWO
195
+ // pref axes (columns + density) that contribute; a counter would
196
+ // be misleading.
197
+ var hasCustomisation = hiddenCount > 0 || density != null && density !== "comfortable";
198
+ var open = Boolean(anchor);
199
+ var handleOpen = function handleOpen(e) {
200
+ return setAnchor(e.currentTarget);
201
+ };
202
+ var handleClose = function handleClose() {
203
+ return setAnchor(null);
204
+ };
205
+ var toggleColumn = function toggleColumn(key) {
206
+ var next = new Set(hiddenSet);
207
+ if (next.has(key)) next["delete"](key);else next.add(key);
208
+ onHiddenColumnsChange(next);
209
+ };
210
+ var showAll = function showAll() {
211
+ return onHiddenColumnsChange(new Set());
212
+ };
213
+ var hideAll = function hideAll() {
214
+ return onHiddenColumnsChange(new Set(toggleableColumns.map(function (c) {
215
+ return c.key;
216
+ })));
217
+ };
218
+ var effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;
219
+
220
+ // MUI v9: slot bag for the Popover paper. Carries the dialog
221
+ // ARIA contract (role + aria-label) — host-customisable via the
222
+ // `labels.title` override. Memoised so the slotProps reference
223
+ // stays stable when L.title is unchanged.
224
+ var popoverSlotProps = React.useMemo(function () {
225
+ return {
226
+ paper: {
227
+ sx: POPOVER_PAPER_SX,
228
+ role: "dialog",
229
+ "aria-label": L.title
230
+ }
231
+ };
232
+ }, [L.title]);
233
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
234
+ children: [label ?
235
+ /*#__PURE__*/
236
+ /* Named trigger — renders a v2.Button with icon + text label.
237
+ * Used when the toolbar benefits from an explicit action name
238
+ * (e.g. "Configurer"). Badge dot uses absolute positioning
239
+ * inside the button's bounding box via sx={{ position: "relative" }}. */
240
+ (0, _jsxRuntime.jsxs)(_Box["default"], {
241
+ sx: {
242
+ position: "relative",
243
+ display: "inline-flex"
244
+ },
245
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
246
+ size: "sm",
247
+ variant: "secondary",
248
+ type: "button",
249
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune["default"], {
250
+ fontSize: "small"
251
+ }),
252
+ onClick: handleOpen,
253
+ "aria-label": L.button,
254
+ "aria-haspopup": "dialog",
255
+ "aria-expanded": open,
256
+ children: label
257
+ }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
258
+ component: "span",
259
+ sx: _objectSpread(_objectSpread({}, BADGE_SX), {}, {
260
+ top: 4,
261
+ insetInlineEnd: 4,
262
+ pointerEvents: "none"
263
+ }),
264
+ "aria-hidden": "true"
265
+ })]
266
+ }) :
267
+ /*#__PURE__*/
268
+ /* Icon-only trigger — compact fallback for callers that don't
269
+ * pass a label (backward-compatible default). */
270
+ (0, _jsxRuntime.jsxs)(_IconButton["default"], {
271
+ size: "small",
272
+ type: "button",
273
+ onClick: handleOpen,
274
+ "aria-label": L.button,
275
+ "aria-haspopup": "dialog",
276
+ "aria-expanded": open,
277
+ sx: {
278
+ color: "var(--fg-muted)",
279
+ position: "relative",
280
+ "&:hover": {
281
+ background: "var(--bg-hover)",
282
+ color: "var(--fg)"
283
+ }
284
+ },
285
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Tune["default"], {
286
+ fontSize: "small"
287
+ }), hasCustomisation && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
288
+ component: "span",
289
+ sx: BADGE_SX,
290
+ "aria-hidden": "true"
291
+ })]
292
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover["default"], {
293
+ open: open,
294
+ anchorEl: anchor,
295
+ onClose: handleClose,
296
+ anchorOrigin: {
297
+ vertical: "bottom",
298
+ horizontal: "right"
299
+ },
300
+ transformOrigin: {
301
+ vertical: "top",
302
+ horizontal: "right"
303
+ },
304
+ slotProps: popoverSlotProps,
305
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
306
+ sx: POPOVER_BODY_SX,
307
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
308
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
309
+ component: "div",
310
+ sx: SECTION_HEADING_SX,
311
+ children: L.columnsHeading
312
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
313
+ sx: SECTION_BODY_SX,
314
+ children: toggleableColumns.map(function (col) {
315
+ var isVisible = !hiddenSet.has(col.key);
316
+ // DGS-1 — accessible name = the header's visible text (reuses
317
+ // ColumnsToggle's SET-1 extractor) so it matches the rendered
318
+ // label (WCAG 2.5.3); only icon-only headers fall back to key.
319
+ var headerText = (0, _ColumnsToggle.extractHeaderText)(col.header).trim();
320
+ var labelText = headerText || col.key;
321
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlLabel["default"], {
322
+ control: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox["default"], {
323
+ size: "small",
324
+ checked: isVisible,
325
+ onChange: function onChange() {
326
+ return toggleColumn(col.key);
327
+ },
328
+ slotProps: {
329
+ input: {
330
+ "aria-label": labelText
331
+ }
332
+ }
333
+ }),
334
+ label: col.header,
335
+ sx: CHECKBOX_LABEL_SX
336
+ }, col.key);
337
+ })
338
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
339
+ sx: COLUMNS_FOOTER_SX,
340
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
341
+ size: "sm",
342
+ variant: "ghost",
343
+ type: "button",
344
+ onClick: showAll,
345
+ disabled: hiddenCount === 0,
346
+ children: L.showAll
347
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button["default"], {
348
+ size: "sm",
349
+ variant: "ghost",
350
+ type: "button",
351
+ onClick: hideAll,
352
+ disabled: hiddenCount === toggleableColumns.length,
353
+ children: L.hideAll
354
+ })]
355
+ })]
356
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
357
+ sx: SECTION_SEPARATOR_SX
358
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
359
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
360
+ component: "div",
361
+ sx: SECTION_HEADING_SX,
362
+ children: L.densityHeading
363
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
364
+ sx: SECTION_BODY_SX,
365
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Segmented["default"], {
366
+ value: density !== null && density !== void 0 ? density : "comfortable",
367
+ onChange: function onChange(value) {
368
+ return onDensityChange(value);
369
+ },
370
+ options: effectiveDensityOptions,
371
+ size: "sm",
372
+ "aria-label": L.densityAriaLabel
373
+ })
374
+ })]
375
+ })]
376
+ })
377
+ })]
378
+ });
379
+ }
380
+ var _default = exports["default"] = DataGridSettingsMenu;
381
+ //# sourceMappingURL=DataGridSettingsMenu.js.map