@payloadcms/ui 3.0.0-canary.4704e79 → 3.0.0-canary.483db21

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 (936) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +5 -1
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.d.ts +1 -1
  7. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  8. package/dist/elements/ArrayAction/index.js +1 -1
  9. package/dist/elements/ArrayAction/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.scss +0 -13
  11. package/dist/elements/Autosave/index.d.ts.map +1 -1
  12. package/dist/elements/Autosave/index.js +53 -28
  13. package/dist/elements/Autosave/index.js.map +1 -1
  14. package/dist/elements/Banner/index.js.map +1 -1
  15. package/dist/elements/Banner/index.scss +5 -5
  16. package/dist/elements/Button/index.js +1 -1
  17. package/dist/elements/Button/index.js.map +1 -1
  18. package/dist/elements/Button/index.scss +112 -118
  19. package/dist/elements/Button/types.d.ts +1 -1
  20. package/dist/elements/Button/types.d.ts.map +1 -1
  21. package/dist/elements/Button/types.js.map +1 -1
  22. package/dist/elements/Card/index.js.map +1 -1
  23. package/dist/elements/Card/index.scss +38 -9
  24. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  25. package/dist/elements/CodeEditor/CodeEditor.js +2 -1
  26. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  27. package/dist/elements/CodeEditor/index.js.map +1 -1
  28. package/dist/elements/CodeEditor/types.d.ts +2 -2
  29. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  30. package/dist/elements/CodeEditor/types.js.map +1 -1
  31. package/dist/elements/Collapsible/index.d.ts +1 -1
  32. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  33. package/dist/elements/Collapsible/index.js +1 -1
  34. package/dist/elements/Collapsible/index.js.map +1 -1
  35. package/dist/elements/Collapsible/index.scss +74 -77
  36. package/dist/elements/Collapsible/provider.js.map +1 -1
  37. package/dist/elements/ColumnSelector/index.js.map +1 -1
  38. package/dist/elements/ColumnSelector/index.scss +20 -2
  39. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  40. package/dist/elements/DatePicker/DatePicker.d.ts +2 -2
  41. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  42. package/dist/elements/DatePicker/DatePicker.js +2 -2
  43. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  44. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  45. package/dist/elements/DatePicker/index.js.map +1 -1
  46. package/dist/elements/DatePicker/index.scss +3 -1
  47. package/dist/elements/DatePicker/types.d.ts +2 -2
  48. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  49. package/dist/elements/DatePicker/types.js.map +1 -1
  50. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  51. package/dist/elements/DeleteDocument/index.js +7 -3
  52. package/dist/elements/DeleteDocument/index.js.map +1 -1
  53. package/dist/elements/DeleteDocument/index.scss +1 -0
  54. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  55. package/dist/elements/DeleteMany/index.js +4 -2
  56. package/dist/elements/DeleteMany/index.js.map +1 -1
  57. package/dist/elements/DeleteMany/index.scss +1 -0
  58. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  59. package/dist/elements/DocumentControls/index.js +5 -1
  60. package/dist/elements/DocumentControls/index.js.map +1 -1
  61. package/dist/elements/DocumentControls/index.scss +2 -2
  62. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  63. package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
  64. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  65. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  66. package/dist/elements/DocumentDrawer/index.scss +4 -6
  67. package/dist/elements/DocumentDrawer/types.d.ts +4 -4
  68. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  69. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  70. package/dist/elements/DocumentFields/index.d.ts +1 -2
  71. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  72. package/dist/elements/DocumentFields/index.js +46 -48
  73. package/dist/elements/DocumentFields/index.js.map +1 -1
  74. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  75. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  76. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  77. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  78. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  79. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  80. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  81. package/dist/elements/DraggableSortable/index.js.map +1 -1
  82. package/dist/elements/DraggableSortable/types.js.map +1 -1
  83. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  84. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
  85. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  86. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  87. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  88. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  89. package/dist/elements/Drawer/index.d.ts.map +1 -1
  90. package/dist/elements/Drawer/index.js +3 -0
  91. package/dist/elements/Drawer/index.js.map +1 -1
  92. package/dist/elements/Drawer/index.scss +13 -8
  93. package/dist/elements/Drawer/types.d.ts +2 -2
  94. package/dist/elements/Drawer/types.d.ts.map +1 -1
  95. package/dist/elements/Drawer/types.js.map +1 -1
  96. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  97. package/dist/elements/Dropzone/index.d.ts +1 -0
  98. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  99. package/dist/elements/Dropzone/index.js +9 -2
  100. package/dist/elements/Dropzone/index.js.map +1 -1
  101. package/dist/elements/Dropzone/index.scss +7 -3
  102. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  103. package/dist/elements/DuplicateDocument/index.js +10 -6
  104. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  105. package/dist/elements/EditMany/index.d.ts +1 -2
  106. package/dist/elements/EditMany/index.d.ts.map +1 -1
  107. package/dist/elements/EditMany/index.js.map +1 -1
  108. package/dist/elements/EditMany/index.scss +2 -2
  109. package/dist/elements/EditUpload/index.d.ts +3 -6
  110. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  111. package/dist/elements/EditUpload/index.js +33 -21
  112. package/dist/elements/EditUpload/index.js.map +1 -1
  113. package/dist/elements/EditUpload/index.scss +4 -1
  114. package/dist/elements/ErrorPill/index.js.map +1 -1
  115. package/dist/elements/ErrorPill/index.scss +2 -14
  116. package/dist/elements/FieldSelect/index.d.ts +7 -3
  117. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  118. package/dist/elements/FieldSelect/index.js +1 -1
  119. package/dist/elements/FieldSelect/index.js.map +1 -1
  120. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  121. package/dist/elements/FileDetails/FileMeta/index.scss +1 -0
  122. package/dist/elements/FileDetails/index.d.ts +4 -3
  123. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  124. package/dist/elements/FileDetails/index.js +8 -5
  125. package/dist/elements/FileDetails/index.js.map +1 -1
  126. package/dist/elements/FileDetails/index.scss +28 -12
  127. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  128. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  129. package/dist/elements/Gutter/index.js.map +1 -1
  130. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  131. package/dist/elements/Hamburger/index.js +17 -41
  132. package/dist/elements/Hamburger/index.js.map +1 -1
  133. package/dist/elements/Hamburger/index.scss +22 -102
  134. package/dist/elements/HydrateClientUser/index.d.ts +2 -3
  135. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  136. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  137. package/dist/elements/IDLabel/index.js +1 -1
  138. package/dist/elements/IDLabel/index.js.map +1 -1
  139. package/dist/elements/IDLabel/index.scss +2 -2
  140. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  141. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  142. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  143. package/dist/elements/ListControls/index.d.ts +1 -2
  144. package/dist/elements/ListControls/index.d.ts.map +1 -1
  145. package/dist/elements/ListControls/index.js +45 -5
  146. package/dist/elements/ListControls/index.js.map +1 -1
  147. package/dist/elements/ListControls/index.scss +6 -12
  148. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  149. package/dist/elements/ListDrawer/index.js.map +1 -1
  150. package/dist/elements/ListDrawer/types.d.ts +2 -2
  151. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  152. package/dist/elements/ListDrawer/types.js.map +1 -1
  153. package/dist/elements/ListSelection/index.js.map +1 -1
  154. package/dist/elements/Loading/index.js.map +1 -1
  155. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  156. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  157. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  158. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  159. package/dist/elements/Localizer/index.d.ts.map +1 -1
  160. package/dist/elements/Localizer/index.js +6 -13
  161. package/dist/elements/Localizer/index.js.map +1 -1
  162. package/dist/elements/Logout/index.d.ts.map +1 -1
  163. package/dist/elements/Logout/index.js +7 -2
  164. package/dist/elements/Logout/index.js.map +1 -1
  165. package/dist/elements/Modal/index.js.map +1 -1
  166. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  167. package/dist/elements/Nav/context.js.map +1 -1
  168. package/dist/elements/NavGroup/index.js.map +1 -1
  169. package/dist/elements/NavGroup/index.scss +2 -2
  170. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  171. package/dist/elements/Pagination/Page/index.js.map +1 -1
  172. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  173. package/dist/elements/Pagination/index.js.map +1 -1
  174. package/dist/elements/PerPage/index.js.map +1 -1
  175. package/dist/elements/Pill/index.d.ts +2 -2
  176. package/dist/elements/Pill/index.d.ts.map +1 -1
  177. package/dist/elements/Pill/index.js +1 -5
  178. package/dist/elements/Pill/index.js.map +1 -1
  179. package/dist/elements/Pill/index.scss +17 -42
  180. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  181. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  182. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  183. package/dist/elements/Popup/index.js.map +1 -1
  184. package/dist/elements/Popup/index.scss +6 -0
  185. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  186. package/dist/elements/PreviewButton/index.js +3 -1
  187. package/dist/elements/PreviewButton/index.js.map +1 -1
  188. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  189. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  190. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  191. package/dist/elements/PreviewSizes/index.js.map +1 -1
  192. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  193. package/dist/elements/PublishButton/index.js +17 -1
  194. package/dist/elements/PublishButton/index.js.map +1 -1
  195. package/dist/elements/PublishMany/index.js.map +1 -1
  196. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  197. package/dist/elements/ReactSelect/Control/index.js +0 -1
  198. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  199. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  200. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  201. package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -1
  202. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  203. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  204. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  205. package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
  206. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  207. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
  208. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  209. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  210. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  211. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
  212. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  213. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  214. package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
  215. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  216. package/dist/elements/ReactSelect/index.js +0 -1
  217. package/dist/elements/ReactSelect/index.js.map +1 -1
  218. package/dist/elements/ReactSelect/index.scss +11 -5
  219. package/dist/elements/ReactSelect/types.d.ts +1 -2
  220. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  221. package/dist/elements/ReactSelect/types.js.map +1 -1
  222. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -1
  223. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  224. package/dist/elements/RenderTitle/index.js.map +1 -1
  225. package/dist/elements/RenderTitle/index.scss +1 -1
  226. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  227. package/dist/elements/SaveButton/index.js +4 -2
  228. package/dist/elements/SaveButton/index.js.map +1 -1
  229. package/dist/elements/SaveDraftButton/index.d.ts +1 -0
  230. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  231. package/dist/elements/SaveDraftButton/index.js +5 -3
  232. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  233. package/dist/elements/SearchFilter/index.d.ts +5 -3
  234. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  235. package/dist/elements/SearchFilter/index.js +20 -63
  236. package/dist/elements/SearchFilter/index.js.map +1 -1
  237. package/dist/elements/SearchFilter/index.scss +2 -1
  238. package/dist/elements/SelectAll/index.js.map +1 -1
  239. package/dist/elements/SelectRow/index.js.map +1 -1
  240. package/dist/elements/SelectRow/index.scss +1 -0
  241. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  242. package/dist/elements/SortColumn/index.d.ts +2 -2
  243. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  244. package/dist/elements/SortColumn/index.js +4 -4
  245. package/dist/elements/SortColumn/index.js.map +1 -1
  246. package/dist/elements/SortComplex/index.js +2 -2
  247. package/dist/elements/SortComplex/index.js.map +1 -1
  248. package/dist/elements/Status/index.js.map +1 -1
  249. package/dist/elements/Status/index.scss +1 -0
  250. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  251. package/dist/elements/StayLoggedIn/index.js +8 -2
  252. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  253. package/dist/elements/StepNav/SetStepNav.d.ts +0 -1
  254. package/dist/elements/StepNav/SetStepNav.d.ts.map +1 -1
  255. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  256. package/dist/elements/StepNav/context.js.map +1 -1
  257. package/dist/elements/StepNav/index.d.ts.map +1 -1
  258. package/dist/elements/StepNav/index.js +1 -1
  259. package/dist/elements/StepNav/index.js.map +1 -1
  260. package/dist/elements/StepNav/types.d.ts +2 -2
  261. package/dist/elements/StepNav/types.d.ts.map +1 -1
  262. package/dist/elements/StepNav/types.js.map +1 -1
  263. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  264. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  265. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  266. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  267. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +1 -1
  268. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  269. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  270. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  271. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +1 -1
  272. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  273. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -4
  274. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  275. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  276. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  277. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -5
  278. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  279. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  280. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  281. package/dist/elements/Table/DefaultCell/index.js +5 -1
  282. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  283. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  284. package/dist/elements/Table/RelationshipProvider/index.js +11 -10
  285. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  286. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  287. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  288. package/dist/elements/Table/index.d.ts +1 -2
  289. package/dist/elements/Table/index.d.ts.map +1 -1
  290. package/dist/elements/Table/index.js.map +1 -1
  291. package/dist/elements/Table/index.scss +10 -1
  292. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  293. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  294. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  295. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  296. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  297. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  298. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  299. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  300. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  301. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  302. package/dist/elements/TableColumns/index.js.map +1 -1
  303. package/dist/elements/Thumbnail/index.js.map +1 -1
  304. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  305. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  306. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  307. package/dist/elements/ThumbnailCard/index.scss +10 -1
  308. package/dist/elements/Tooltip/index.js.map +1 -1
  309. package/dist/elements/Translation/index.js.map +1 -1
  310. package/dist/elements/UnpublishMany/index.js.map +1 -1
  311. package/dist/elements/Upload/index.d.ts +9 -5
  312. package/dist/elements/Upload/index.d.ts.map +1 -1
  313. package/dist/elements/Upload/index.js +154 -70
  314. package/dist/elements/Upload/index.js.map +1 -1
  315. package/dist/elements/Upload/index.scss +8 -4
  316. package/dist/elements/ViewDescription/index.js.map +1 -1
  317. package/dist/elements/ViewDescription/types.js.map +1 -1
  318. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  319. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  320. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  321. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  322. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  323. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +19 -13
  324. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  326. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  327. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  328. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  329. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  330. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  331. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  332. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  333. package/dist/elements/WhereBuilder/Condition/index.js +11 -3
  334. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  335. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  336. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  337. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  338. package/dist/elements/WhereBuilder/index.js +19 -10
  339. package/dist/elements/WhereBuilder/index.js.map +1 -1
  340. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +13 -2
  341. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  342. package/dist/elements/WhereBuilder/reduceFieldMap.js +80 -16
  343. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  344. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  345. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  346. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  347. package/dist/elements/WhereBuilder/types.js.map +1 -1
  348. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  349. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  350. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  351. package/dist/elements/WindowInfo/index.js.map +1 -1
  352. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  353. package/dist/elements/withMergedProps/index.js +8 -2
  354. package/dist/elements/withMergedProps/index.js.map +1 -1
  355. package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-UPOVAXRP.js} +2 -2
  356. package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-UPOVAXRP.js.map} +3 -3
  357. package/dist/exports/client/DatePicker-XJHHMZP7.js +14 -0
  358. package/dist/exports/client/DatePicker-XJHHMZP7.js.map +8 -0
  359. package/dist/exports/client/chunk-TIH7OFW3.js +30 -0
  360. package/dist/exports/client/chunk-TIH7OFW3.js.map +8 -0
  361. package/dist/exports/client/index.d.ts +36 -26
  362. package/dist/exports/client/index.d.ts.map +1 -1
  363. package/dist/exports/client/index.js +28 -33
  364. package/dist/exports/client/index.js.map +4 -4
  365. package/dist/exports/shared/index.d.ts +3 -2
  366. package/dist/exports/shared/index.d.ts.map +1 -1
  367. package/dist/exports/shared/index.js +2 -12
  368. package/dist/exports/shared/index.js.map +4 -4
  369. package/dist/fields/Array/ArrayRow.d.ts +4 -5
  370. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  371. package/dist/fields/Array/ArrayRow.js +4 -2
  372. package/dist/fields/Array/ArrayRow.js.map +1 -1
  373. package/dist/fields/Array/index.d.ts +2 -15
  374. package/dist/fields/Array/index.d.ts.map +1 -1
  375. package/dist/fields/Array/index.js +25 -8
  376. package/dist/fields/Array/index.js.map +1 -1
  377. package/dist/fields/Array/index.scss +3 -1
  378. package/dist/fields/Blocks/BlockRow.d.ts +4 -5
  379. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  380. package/dist/fields/Blocks/BlockRow.js +5 -1
  381. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  382. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  383. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
  384. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  385. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  386. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  387. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  388. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  389. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  390. package/dist/fields/Blocks/RowActions.js +1 -1
  391. package/dist/fields/Blocks/RowActions.js.map +1 -1
  392. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  393. package/dist/fields/Blocks/SectionTitle/index.scss +1 -0
  394. package/dist/fields/Blocks/index.d.ts +1 -14
  395. package/dist/fields/Blocks/index.d.ts.map +1 -1
  396. package/dist/fields/Blocks/index.js +22 -9
  397. package/dist/fields/Blocks/index.js.map +1 -1
  398. package/dist/fields/Checkbox/Input.d.ts +1 -1
  399. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  400. package/dist/fields/Checkbox/Input.js.map +1 -1
  401. package/dist/fields/Checkbox/index.d.ts +2 -2
  402. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  403. package/dist/fields/Checkbox/index.js +4 -3
  404. package/dist/fields/Checkbox/index.js.map +1 -1
  405. package/dist/fields/Checkbox/index.scss +9 -9
  406. package/dist/fields/Code/index.d.ts +2 -10
  407. package/dist/fields/Code/index.d.ts.map +1 -1
  408. package/dist/fields/Code/index.js +3 -3
  409. package/dist/fields/Code/index.js.map +1 -1
  410. package/dist/fields/Code/index.scss +6 -18
  411. package/dist/fields/Collapsible/index.d.ts +2 -8
  412. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  413. package/dist/fields/Collapsible/index.js +2 -2
  414. package/dist/fields/Collapsible/index.js.map +1 -1
  415. package/dist/fields/Collapsible/index.scss +0 -4
  416. package/dist/fields/ConfirmPassword/index.d.ts +2 -1
  417. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  418. package/dist/fields/ConfirmPassword/index.js +13 -20
  419. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  420. package/dist/fields/DateTime/index.d.ts +2 -10
  421. package/dist/fields/DateTime/index.d.ts.map +1 -1
  422. package/dist/fields/DateTime/index.js +3 -3
  423. package/dist/fields/DateTime/index.js.map +1 -1
  424. package/dist/fields/Email/index.d.ts +2 -10
  425. package/dist/fields/Email/index.d.ts.map +1 -1
  426. package/dist/fields/Email/index.js +2 -2
  427. package/dist/fields/Email/index.js.map +1 -1
  428. package/dist/fields/FieldDescription/index.d.ts +2 -2
  429. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  430. package/dist/fields/FieldDescription/index.js.map +1 -1
  431. package/dist/fields/FieldError/index.d.ts +2 -2
  432. package/dist/fields/FieldError/index.d.ts.map +1 -1
  433. package/dist/fields/FieldError/index.js.map +1 -1
  434. package/dist/fields/FieldError/index.scss +6 -5
  435. package/dist/fields/FieldLabel/index.d.ts +2 -2
  436. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  437. package/dist/fields/FieldLabel/index.js.map +1 -1
  438. package/dist/fields/Group/index.d.ts +3 -10
  439. package/dist/fields/Group/index.d.ts.map +1 -1
  440. package/dist/fields/Group/index.js +2 -2
  441. package/dist/fields/Group/index.js.map +1 -1
  442. package/dist/fields/Group/provider.js.map +1 -1
  443. package/dist/fields/Hidden/index.d.ts +4 -0
  444. package/dist/fields/Hidden/index.d.ts.map +1 -0
  445. package/dist/fields/{HiddenInput → Hidden}/index.js +2 -2
  446. package/dist/fields/Hidden/index.js.map +1 -0
  447. package/dist/fields/JSON/index.d.ts +1 -9
  448. package/dist/fields/JSON/index.d.ts.map +1 -1
  449. package/dist/fields/JSON/index.js +0 -5
  450. package/dist/fields/JSON/index.js.map +1 -1
  451. package/dist/fields/JSON/index.scss +6 -25
  452. package/dist/fields/Number/index.d.ts +1 -14
  453. package/dist/fields/Number/index.d.ts.map +1 -1
  454. package/dist/fields/Number/index.js +1 -3
  455. package/dist/fields/Number/index.js.map +1 -1
  456. package/dist/fields/Password/index.d.ts +15 -5
  457. package/dist/fields/Password/index.d.ts.map +1 -1
  458. package/dist/fields/Password/index.js +58 -45
  459. package/dist/fields/Password/index.js.map +1 -1
  460. package/dist/fields/Password/input.d.ts +5 -0
  461. package/dist/fields/Password/input.d.ts.map +1 -0
  462. package/dist/fields/Password/input.js +65 -0
  463. package/dist/fields/Password/input.js.map +1 -0
  464. package/dist/fields/Password/types.d.ts +27 -0
  465. package/dist/fields/Password/types.d.ts.map +1 -0
  466. package/dist/fields/Password/types.js.map +1 -0
  467. package/dist/fields/Point/index.d.ts +3 -9
  468. package/dist/fields/Point/index.d.ts.map +1 -1
  469. package/dist/fields/Point/index.js +8 -8
  470. package/dist/fields/Point/index.js.map +1 -1
  471. package/dist/fields/Point/index.scss +4 -0
  472. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  473. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  474. package/dist/fields/RadioGroup/Radio/index.js +4 -1
  475. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  476. package/dist/fields/RadioGroup/Radio/index.scss +13 -6
  477. package/dist/fields/RadioGroup/index.d.ts +2 -13
  478. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  479. package/dist/fields/RadioGroup/index.js +9 -8
  480. package/dist/fields/RadioGroup/index.js.map +1 -1
  481. package/dist/fields/RadioGroup/index.scss +12 -1
  482. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  483. package/dist/fields/Relationship/AddNew/index.scss +3 -0
  484. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  485. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  486. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  487. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  488. package/dist/fields/Relationship/index.d.ts +2 -3
  489. package/dist/fields/Relationship/index.d.ts.map +1 -1
  490. package/dist/fields/Relationship/index.js +5 -4
  491. package/dist/fields/Relationship/index.js.map +1 -1
  492. package/dist/fields/Relationship/index.scss +9 -2
  493. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  494. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  495. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
  496. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  497. package/dist/fields/Relationship/types.d.ts +1 -11
  498. package/dist/fields/Relationship/types.d.ts.map +1 -1
  499. package/dist/fields/Relationship/types.js.map +1 -1
  500. package/dist/fields/RichText/index.d.ts +2 -8
  501. package/dist/fields/RichText/index.d.ts.map +1 -1
  502. package/dist/fields/RichText/index.js +1 -1
  503. package/dist/fields/RichText/index.js.map +1 -1
  504. package/dist/fields/Row/index.d.ts +2 -2
  505. package/dist/fields/Row/index.d.ts.map +1 -1
  506. package/dist/fields/Row/index.js +2 -2
  507. package/dist/fields/Row/index.js.map +1 -1
  508. package/dist/fields/Row/index.scss +1 -5
  509. package/dist/fields/Row/provider.js.map +1 -1
  510. package/dist/fields/Select/Input.d.ts +3 -4
  511. package/dist/fields/Select/Input.d.ts.map +1 -1
  512. package/dist/fields/Select/Input.js +0 -5
  513. package/dist/fields/Select/Input.js.map +1 -1
  514. package/dist/fields/Select/index.d.ts +2 -14
  515. package/dist/fields/Select/index.d.ts.map +1 -1
  516. package/dist/fields/Select/index.js +7 -5
  517. package/dist/fields/Select/index.js.map +1 -1
  518. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  519. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  520. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  521. package/dist/fields/Tabs/index.d.ts +2 -10
  522. package/dist/fields/Tabs/index.d.ts.map +1 -1
  523. package/dist/fields/Tabs/index.js +24 -24
  524. package/dist/fields/Tabs/index.js.map +1 -1
  525. package/dist/fields/Tabs/provider.js.map +1 -1
  526. package/dist/fields/Text/Input.d.ts.map +1 -1
  527. package/dist/fields/Text/Input.js +13 -17
  528. package/dist/fields/Text/Input.js.map +1 -1
  529. package/dist/fields/Text/index.d.ts +4 -3
  530. package/dist/fields/Text/index.d.ts.map +1 -1
  531. package/dist/fields/Text/index.js +2 -2
  532. package/dist/fields/Text/index.js.map +1 -1
  533. package/dist/fields/Text/index.scss +6 -0
  534. package/dist/fields/Text/types.d.ts +3 -17
  535. package/dist/fields/Text/types.d.ts.map +1 -1
  536. package/dist/fields/Text/types.js.map +1 -1
  537. package/dist/fields/Textarea/Input.js.map +1 -1
  538. package/dist/fields/Textarea/index.d.ts +4 -3
  539. package/dist/fields/Textarea/index.d.ts.map +1 -1
  540. package/dist/fields/Textarea/index.js +3 -3
  541. package/dist/fields/Textarea/index.js.map +1 -1
  542. package/dist/fields/Textarea/index.scss +1 -6
  543. package/dist/fields/Textarea/types.d.ts +3 -13
  544. package/dist/fields/Textarea/types.d.ts.map +1 -1
  545. package/dist/fields/Textarea/types.js.map +1 -1
  546. package/dist/fields/UI/index.d.ts +1 -1
  547. package/dist/fields/UI/index.d.ts.map +1 -1
  548. package/dist/fields/UI/index.js +1 -1
  549. package/dist/fields/UI/index.js.map +1 -1
  550. package/dist/fields/Upload/Input.d.ts +8 -4
  551. package/dist/fields/Upload/Input.d.ts.map +1 -1
  552. package/dist/fields/Upload/Input.js +3 -2
  553. package/dist/fields/Upload/Input.js.map +1 -1
  554. package/dist/fields/Upload/index.d.ts +2 -2
  555. package/dist/fields/Upload/index.d.ts.map +1 -1
  556. package/dist/fields/Upload/index.js +20 -5
  557. package/dist/fields/Upload/index.js.map +1 -1
  558. package/dist/fields/Upload/index.scss +10 -3
  559. package/dist/fields/index.js +48 -48
  560. package/dist/fields/index.js.map +1 -1
  561. package/dist/fields/shared/index.d.ts +1 -26
  562. package/dist/fields/shared/index.d.ts.map +1 -1
  563. package/dist/fields/shared/index.js.map +1 -1
  564. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  565. package/dist/forms/Form/context.d.ts +0 -1
  566. package/dist/forms/Form/context.d.ts.map +1 -1
  567. package/dist/forms/Form/context.js.map +1 -1
  568. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  569. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  570. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  571. package/dist/forms/Form/errorMessages.js.map +1 -1
  572. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  573. package/dist/forms/Form/fieldReducer.js +13 -40
  574. package/dist/forms/Form/fieldReducer.js.map +1 -1
  575. package/dist/forms/Form/index.d.ts.map +1 -1
  576. package/dist/forms/Form/index.js +26 -31
  577. package/dist/forms/Form/index.js.map +1 -1
  578. package/dist/forms/Form/initContextState.js.map +1 -1
  579. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  580. package/dist/forms/Form/mergeServerFormState.js +2 -2
  581. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  582. package/dist/forms/Form/rowHelpers.d.ts +17 -0
  583. package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
  584. package/dist/forms/Form/rowHelpers.js +24 -0
  585. package/dist/forms/Form/rowHelpers.js.map +1 -0
  586. package/dist/forms/Form/rows.js.map +1 -1
  587. package/dist/forms/Form/types.d.ts +10 -17
  588. package/dist/forms/Form/types.d.ts.map +1 -1
  589. package/dist/forms/Form/types.js.map +1 -1
  590. package/dist/forms/NullifyField/index.js +2 -2
  591. package/dist/forms/NullifyField/index.js.map +1 -1
  592. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  593. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  594. package/dist/forms/RenderFields/RenderField.js +2 -2
  595. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  596. package/dist/forms/RenderFields/index.js.map +1 -1
  597. package/dist/forms/RenderFields/index.scss +8 -5
  598. package/dist/forms/RenderFields/types.d.ts +1 -2
  599. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  600. package/dist/forms/RenderFields/types.js.map +1 -1
  601. package/dist/forms/RowLabel/Context/index.d.ts +2 -2
  602. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  603. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  604. package/dist/forms/RowLabel/index.js.map +1 -1
  605. package/dist/forms/RowLabel/types.js.map +1 -1
  606. package/dist/forms/Submit/index.js.map +1 -1
  607. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  608. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  609. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  610. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  611. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  612. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  613. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  614. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  615. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -2
  616. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  617. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +42 -20
  618. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  619. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  620. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  621. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  622. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  623. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  624. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  625. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  626. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  627. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  628. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  629. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  630. package/dist/forms/buildStateFromSchema/index.d.ts +5 -3
  631. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  632. package/dist/forms/buildStateFromSchema/index.js +3 -1
  633. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  634. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +4 -3
  635. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  636. package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
  637. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  638. package/dist/forms/useField/index.d.ts.map +1 -1
  639. package/dist/forms/useField/index.js +14 -7
  640. package/dist/forms/useField/index.js.map +1 -1
  641. package/dist/forms/useField/types.d.ts +2 -2
  642. package/dist/forms/useField/types.d.ts.map +1 -1
  643. package/dist/forms/useField/types.js.map +1 -1
  644. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  645. package/dist/forms/withCondition/index.d.ts.map +1 -1
  646. package/dist/forms/withCondition/index.js.map +1 -1
  647. package/dist/graphics/Account/Default/index.js.map +1 -1
  648. package/dist/graphics/Account/Gravatar/index.d.ts.map +1 -1
  649. package/dist/graphics/Account/Gravatar/index.js +4 -4
  650. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  651. package/dist/graphics/Account/index.d.ts.map +1 -1
  652. package/dist/graphics/Account/index.js +5 -1
  653. package/dist/graphics/Account/index.js.map +1 -1
  654. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  655. package/dist/graphics/ExternalLink/index.js.map +1 -1
  656. package/dist/graphics/File/index.js.map +1 -1
  657. package/dist/graphics/Icon/index.js.map +1 -1
  658. package/dist/graphics/Logo/index.js.map +1 -1
  659. package/dist/hooks/useDebounce.js.map +1 -1
  660. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  661. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  662. package/dist/hooks/useDelay.d.ts.map +1 -1
  663. package/dist/hooks/useDelay.js.map +1 -1
  664. package/dist/hooks/useDelayedRender.js.map +1 -1
  665. package/dist/hooks/useHotkey.js +1 -1
  666. package/dist/hooks/useHotkey.js.map +1 -1
  667. package/dist/hooks/useIntersect.d.ts +0 -1
  668. package/dist/hooks/useIntersect.d.ts.map +1 -1
  669. package/dist/hooks/useIntersect.js +1 -1
  670. package/dist/hooks/useIntersect.js.map +1 -1
  671. package/dist/hooks/usePayloadAPI.d.ts +0 -1
  672. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  673. package/dist/hooks/usePayloadAPI.js +7 -3
  674. package/dist/hooks/usePayloadAPI.js.map +1 -1
  675. package/dist/hooks/useResize.js.map +1 -1
  676. package/dist/hooks/useThrottledEffect.d.ts +0 -1
  677. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  678. package/dist/hooks/useThrottledEffect.js +1 -1
  679. package/dist/hooks/useThrottledEffect.js.map +1 -1
  680. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  681. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  682. package/dist/hooks/useUseAsTitle.js.map +1 -1
  683. package/dist/icons/Calendar/index.d.ts.map +1 -1
  684. package/dist/icons/Calendar/index.js +8 -33
  685. package/dist/icons/Calendar/index.js.map +1 -1
  686. package/dist/icons/Calendar/index.scss +1 -1
  687. package/dist/icons/Check/index.d.ts.map +1 -1
  688. package/dist/icons/Check/index.js +8 -17
  689. package/dist/icons/Check/index.js.map +1 -1
  690. package/dist/icons/Check/index.scss +1 -1
  691. package/dist/icons/Chevron/index.js +5 -4
  692. package/dist/icons/Chevron/index.js.map +1 -1
  693. package/dist/icons/Chevron/index.scss +2 -5
  694. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  695. package/dist/icons/CloseMenu/index.js +8 -22
  696. package/dist/icons/CloseMenu/index.js.map +1 -1
  697. package/dist/icons/CloseMenu/index.scss +2 -2
  698. package/dist/icons/CodeBlock/index.d.ts.map +1 -1
  699. package/dist/icons/CodeBlock/index.js +8 -14
  700. package/dist/icons/CodeBlock/index.js.map +1 -1
  701. package/dist/icons/Copy/index.d.ts.map +1 -1
  702. package/dist/icons/Copy/index.js +12 -16
  703. package/dist/icons/Copy/index.js.map +1 -1
  704. package/dist/icons/Copy/index.scss +1 -1
  705. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  706. package/dist/icons/DragHandle/index.js +19 -25
  707. package/dist/icons/DragHandle/index.js.map +1 -1
  708. package/dist/icons/DragHandle/index.scss +2 -0
  709. package/dist/icons/Edit/index.d.ts.map +1 -1
  710. package/dist/icons/Edit/index.js +8 -21
  711. package/dist/icons/Edit/index.js.map +1 -1
  712. package/dist/icons/Edit/index.scss +3 -3
  713. package/dist/icons/Line/index.d.ts.map +1 -1
  714. package/dist/icons/Line/index.js +7 -6
  715. package/dist/icons/Line/index.js.map +1 -1
  716. package/dist/icons/Line/index.scss +1 -1
  717. package/dist/icons/Link/index.d.ts.map +1 -1
  718. package/dist/icons/Link/index.js +11 -14
  719. package/dist/icons/Link/index.js.map +1 -1
  720. package/dist/icons/Link/index.scss +1 -1
  721. package/dist/icons/LogOut/index.d.ts.map +1 -1
  722. package/dist/icons/LogOut/index.js +9 -24
  723. package/dist/icons/LogOut/index.js.map +1 -1
  724. package/dist/icons/LogOut/index.scss +1 -1
  725. package/dist/icons/Menu/index.d.ts.map +1 -1
  726. package/dist/icons/Menu/index.js +10 -28
  727. package/dist/icons/Menu/index.js.map +1 -1
  728. package/dist/icons/Menu/index.scss +3 -2
  729. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  730. package/dist/icons/MinimizeMaximize/index.js +8 -35
  731. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  732. package/dist/icons/More/index.d.ts.map +1 -1
  733. package/dist/icons/More/index.js +10 -13
  734. package/dist/icons/More/index.js.map +1 -1
  735. package/dist/icons/More/index.scss +1 -0
  736. package/dist/icons/Plus/index.d.ts.map +1 -1
  737. package/dist/icons/Plus/index.js +10 -20
  738. package/dist/icons/Plus/index.js.map +1 -1
  739. package/dist/icons/Plus/index.scss +1 -1
  740. package/dist/icons/Search/index.d.ts.map +1 -1
  741. package/dist/icons/Search/index.js +8 -18
  742. package/dist/icons/Search/index.js.map +1 -1
  743. package/dist/icons/Search/index.scss +1 -1
  744. package/dist/icons/Swap/index.d.ts.map +1 -1
  745. package/dist/icons/Swap/index.js +8 -28
  746. package/dist/icons/Swap/index.js.map +1 -1
  747. package/dist/icons/Swap/index.scss +2 -2
  748. package/dist/icons/X/index.d.ts.map +1 -1
  749. package/dist/icons/X/index.js +10 -21
  750. package/dist/icons/X/index.js.map +1 -1
  751. package/dist/icons/X/index.scss +3 -3
  752. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  753. package/dist/providers/Actions/index.js.map +1 -1
  754. package/dist/providers/Auth/index.d.ts +3 -1
  755. package/dist/providers/Auth/index.d.ts.map +1 -1
  756. package/dist/providers/Auth/index.js +48 -71
  757. package/dist/providers/Auth/index.js.map +1 -1
  758. package/dist/providers/ClientFunction/index.js.map +1 -1
  759. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  760. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
  761. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  762. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +3 -2
  763. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  764. package/dist/providers/ComponentMap/buildComponentMap/collections.js +19 -13
  765. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  766. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -2
  767. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  768. package/dist/providers/ComponentMap/buildComponentMap/fields.js +128 -97
  769. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  770. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +3 -2
  771. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  772. package/dist/providers/ComponentMap/buildComponentMap/globals.js +3 -1
  773. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  774. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +1 -1
  775. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  776. package/dist/providers/ComponentMap/buildComponentMap/index.js +4 -2
  777. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  778. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +4 -58
  779. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  780. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  781. package/dist/providers/ComponentMap/index.d.ts +2 -1
  782. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  783. package/dist/providers/ComponentMap/index.js.map +1 -1
  784. package/dist/providers/Config/index.js.map +1 -1
  785. package/dist/providers/DocumentEvents/index.js.map +1 -1
  786. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  787. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  788. package/dist/providers/DocumentInfo/index.js +60 -18
  789. package/dist/providers/DocumentInfo/index.js.map +1 -1
  790. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  791. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  792. package/dist/providers/DocumentInfo/types.js.map +1 -1
  793. package/dist/providers/EditDepth/index.js.map +1 -1
  794. package/dist/providers/EntityVisibility/index.js.map +1 -1
  795. package/dist/providers/FieldComponents/index.js.map +1 -1
  796. package/dist/providers/ListInfo/index.d.ts +2 -2
  797. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  798. package/dist/providers/ListInfo/index.js.map +1 -1
  799. package/dist/providers/ListQuery/index.d.ts +17 -10
  800. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  801. package/dist/providers/ListQuery/index.js +9 -7
  802. package/dist/providers/ListQuery/index.js.map +1 -1
  803. package/dist/providers/Locale/index.js.map +1 -1
  804. package/dist/providers/Operation/index.js.map +1 -1
  805. package/dist/providers/Params/index.d.ts +2 -1
  806. package/dist/providers/Params/index.d.ts.map +1 -1
  807. package/dist/providers/Params/index.js.map +1 -1
  808. package/dist/providers/Preferences/index.js +3 -3
  809. package/dist/providers/Preferences/index.js.map +1 -1
  810. package/dist/providers/Root/index.js.map +1 -1
  811. package/dist/providers/RouteCache/index.js.map +1 -1
  812. package/dist/providers/ScrollInfo/index.d.ts +0 -1
  813. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  814. package/dist/providers/ScrollInfo/index.js.map +1 -1
  815. package/dist/providers/SearchParams/index.d.ts +1 -1
  816. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  817. package/dist/providers/SearchParams/index.js +1 -1
  818. package/dist/providers/SearchParams/index.js.map +1 -1
  819. package/dist/providers/Selection/index.js +2 -2
  820. package/dist/providers/Selection/index.js.map +1 -1
  821. package/dist/providers/Theme/index.js.map +1 -1
  822. package/dist/providers/ToastContainer/icons/Error.js +2 -2
  823. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  824. package/dist/providers/ToastContainer/icons/Info.js +2 -2
  825. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  826. package/dist/providers/ToastContainer/icons/Success.js +2 -2
  827. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  828. package/dist/providers/ToastContainer/icons/Warning.js +2 -2
  829. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  830. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  831. package/dist/providers/ToastContainer/index.js +3 -1
  832. package/dist/providers/ToastContainer/index.js.map +1 -1
  833. package/dist/providers/Translation/index.d.ts.map +1 -1
  834. package/dist/providers/Translation/index.js.map +1 -1
  835. package/dist/providers/UploadEdits/index.d.ts +12 -0
  836. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  837. package/dist/providers/UploadEdits/index.js +30 -0
  838. package/dist/providers/UploadEdits/index.js.map +1 -0
  839. package/dist/providers/WindowInfo/index.d.ts +0 -1
  840. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  841. package/dist/providers/WindowInfo/index.js.map +1 -1
  842. package/dist/scss/app.scss +4 -3
  843. package/dist/scss/colors.scss +76 -76
  844. package/dist/scss/toasts.scss +75 -45
  845. package/dist/scss/type.scss +14 -23
  846. package/dist/scss/vars.scss +26 -47
  847. package/dist/styles.css +1 -1
  848. package/dist/utilities/api.d.ts +2 -2
  849. package/dist/utilities/api.d.ts.map +1 -1
  850. package/dist/utilities/api.js +1 -1
  851. package/dist/utilities/api.js.map +1 -1
  852. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  853. package/dist/utilities/buildComponentMap.js.map +1 -1
  854. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  855. package/dist/utilities/buildFieldSchemaMap/index.js +26 -5
  856. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  857. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -2
  858. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  859. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +7 -11
  860. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  861. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  862. package/dist/utilities/buildFormState.d.ts +4 -4
  863. package/dist/utilities/buildFormState.d.ts.map +1 -1
  864. package/dist/utilities/buildFormState.js +21 -13
  865. package/dist/utilities/buildFormState.js.map +1 -1
  866. package/dist/utilities/canUseDOM.js.map +1 -1
  867. package/dist/utilities/dateLocales.js.map +1 -1
  868. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  869. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  870. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  871. package/dist/utilities/flattenFieldMap.js.map +1 -1
  872. package/dist/utilities/formatAdminURL.d.ts +9 -0
  873. package/dist/utilities/formatAdminURL.d.ts.map +1 -0
  874. package/dist/utilities/formatAdminURL.js +15 -0
  875. package/dist/utilities/formatAdminURL.js.map +1 -0
  876. package/dist/utilities/formatDate.js.map +1 -1
  877. package/dist/utilities/formatDocTitle.d.ts +1 -1
  878. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  879. package/dist/utilities/formatDocTitle.js.map +1 -1
  880. package/dist/utilities/formatFields.js.map +1 -1
  881. package/dist/utilities/generateFieldID.js.map +1 -1
  882. package/dist/utilities/getFormState.d.ts +2 -2
  883. package/dist/utilities/getFormState.d.ts.map +1 -1
  884. package/dist/utilities/getFormState.js.map +1 -1
  885. package/dist/utilities/getOffsetTop.js.map +1 -1
  886. package/dist/utilities/getRequestLanguage.js.map +1 -1
  887. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  888. package/dist/utilities/groupNavItems.js.map +1 -1
  889. package/dist/utilities/hasSavePermission.js.map +1 -1
  890. package/dist/utilities/isEditing.js.map +1 -1
  891. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  892. package/dist/utilities/reduceFieldsToValuesWithValidation.js +2 -5
  893. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  894. package/dist/utilities/scrollToID.js.map +1 -1
  895. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  896. package/dist/utilities/setsAreEqual.js.map +1 -1
  897. package/package.json +59 -78
  898. package/dist/exports/client/DatePicker-CBQPW5J5.js +0 -30
  899. package/dist/exports/client/DatePicker-CBQPW5J5.js.map +0 -8
  900. package/dist/exports/client/chunk-DODCWLCH.js +0 -14
  901. package/dist/exports/client/chunk-DODCWLCH.js.map +0 -8
  902. package/dist/fields/Checkbox/types.d.ts +0 -12
  903. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  904. package/dist/fields/Checkbox/types.js.map +0 -1
  905. package/dist/fields/HiddenInput/index.d.ts +0 -11
  906. package/dist/fields/HiddenInput/index.d.ts.map +0 -1
  907. package/dist/fields/HiddenInput/index.js.map +0 -1
  908. package/dist/fields/Row/types.d.ts +0 -12
  909. package/dist/fields/Row/types.d.ts.map +0 -1
  910. package/dist/fields/Row/types.js +0 -3
  911. package/dist/fields/Row/types.js.map +0 -1
  912. package/dist/fields/Upload/types.d.ts +0 -10
  913. package/dist/fields/Upload/types.d.ts.map +0 -1
  914. package/dist/fields/Upload/types.js +0 -3
  915. package/dist/fields/Upload/types.js.map +0 -1
  916. package/dist/forms/Form/getDataByPath.d.ts +0 -3
  917. package/dist/forms/Form/getDataByPath.d.ts.map +0 -1
  918. package/dist/forms/Form/getDataByPath.js +0 -19
  919. package/dist/forms/Form/getDataByPath.js.map +0 -1
  920. package/dist/forms/Form/getSiblingData.d.ts +0 -3
  921. package/dist/forms/Form/getSiblingData.d.ts.map +0 -1
  922. package/dist/forms/Form/getSiblingData.js +0 -36
  923. package/dist/forms/Form/getSiblingData.js.map +0 -1
  924. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  925. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  926. package/dist/providers/FormQueryParams/index.js +0 -53
  927. package/dist/providers/FormQueryParams/index.js.map +0 -1
  928. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  929. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  930. package/dist/providers/FormQueryParams/types.js +0 -3
  931. package/dist/providers/FormQueryParams/types.js.map +0 -1
  932. package/dist/utilities/reduceFieldsToValues.d.ts +0 -10
  933. package/dist/utilities/reduceFieldsToValues.d.ts.map +0 -1
  934. package/dist/utilities/reduceFieldsToValues.js +0 -25
  935. package/dist/utilities/reduceFieldsToValues.js.map +0 -1
  936. /package/dist/fields/{Checkbox → Password}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","Array","isArray","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","useAsTitle","versions","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { usePayloadAPI } from '../../hooks/usePayloadAPI.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { type Option, ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<Option | Option[]>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption && !Array.isArray(selectedOption)) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["useModal","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","XIcon","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","Array","isArray","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","useAsTitle","versions","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const { collections } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"names":["useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","length","filteredCollectionSlugs","upload","map","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","key","MemoizedDrawerToggler","MemoizedDrawerState","isDrawerOpen"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const { collections } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"names":["useModal","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","length","filteredCollectionSlugs","upload","map","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","key","MemoizedDrawerToggler","MemoizedDrawerState","isDrawerOpen"],"mappings":"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"}
@@ -12,12 +12,12 @@ export type ListDrawerProps = {
12
12
  }) => void;
13
13
  selectedCollection?: string;
14
14
  };
15
- export type ListTogglerProps = HTMLAttributes<HTMLButtonElement> & {
15
+ export type ListTogglerProps = {
16
16
  children?: React.ReactNode;
17
17
  className?: string;
18
18
  disabled?: boolean;
19
19
  drawerSlug?: string;
20
- };
20
+ } & HTMLAttributes<HTMLButtonElement>;
21
21
  export type UseListDrawer = (args: {
22
22
  collectionSlugs?: string[];
23
23
  filterOptions?: FilterOptionsResult;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/F,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACjE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC/F,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC;IACvE;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type ListDrawerProps = {\n collectionSlugs: string[]\n customHeader?: React.ReactNode\n drawerSlug?: string\n filterOptions?: FilterOptionsResult\n onSelect?: (args: { collectionSlug: SanitizedCollectionConfig['slug']; docID: string }) => void\n selectedCollection?: string\n}\n\nexport type ListTogglerProps = HTMLAttributes<HTMLButtonElement> & {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n}\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"names":[],"rangeMappings":"","mappings":"AAoBA,WAgBC"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nexport type ListDrawerProps = {\n collectionSlugs: string[]\n customHeader?: React.ReactNode\n drawerSlug?: string\n filterOptions?: FilterOptionsResult\n onSelect?: (args: { collectionSlug: SanitizedCollectionConfig['slug']; docID: string }) => void\n selectedCollection?: string\n}\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: string[]\n filterOptions?: FilterOptionsResult\n selectedCollection?: string\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Pick<ListDrawerProps, 'onSelect'>>, // drawer\n React.FC<Pick<ListTogglerProps, 'children' | 'className' | 'disabled'>>, // toggler\n {\n closeDrawer: () => void\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n toggleDrawer: () => void\n },\n]\n"],"names":[],"mappings":"AAoBA,WAgBC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","label","count","selectAll","toggleAll","totalDocs","t","div","className","span","AllAvailable","button","aria-label","onClick","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAMlB,OAAO,MAAMC,gBAA8C,CAAC,EAAEC,KAAK,EAAE;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGR;IACnD,MAAM,EAAES,CAAC,EAAE,GAAGR;IAEd,IAAII,UAAU,GAAG;QACf,OAAO;IACT;IAEA,qBACE,MAACK;QAAIC,WAAWT;;0BACd,KAACU;0BAAMH,EAAE,yBAAyB;oBAAEJ;oBAAOD;gBAAM;;YAChDE,cAAcP,gBAAgBc,YAAY,kBACzC,MAACf;;oBACE;oBAAI;kCAEL,KAACgB;wBACCC,cAAYN,EAAE,qBAAqB;4BAAEJ;4BAAOD;wBAAM;wBAClDO,WAAW,CAAC,EAAET,UAAU,QAAQ,CAAC;wBACjCc,SAAS,IAAMT,UAAU;wBACzBU,MAAK;kCAEJR,EAAE,qBAAqB;4BAAEJ,OAAOG;4BAAWJ;wBAAM;;;;;;AAM9D,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","label","count","selectAll","toggleAll","totalDocs","t","div","className","span","AllAvailable","button","aria-label","onClick","type"],"mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAMlB,OAAO,MAAMC,gBAA8C,CAAC,EAAEC,KAAK,EAAE;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGR;IACnD,MAAM,EAAES,CAAC,EAAE,GAAGR;IAEd,IAAII,UAAU,GAAG;QACf,OAAO;IACT;IAEA,qBACE,MAACK;QAAIC,WAAWT;;0BACd,KAACU;0BAAMH,EAAE,yBAAyB;oBAAEJ;oBAAOD;gBAAM;;YAChDE,cAAcP,gBAAgBc,YAAY,kBACzC,MAACf;;oBACE;oBAAI;kCAEL,KAACgB;wBACCC,cAAYN,EAAE,qBAAqB;4BAAEJ;4BAAOD;wBAAM;wBAClDO,WAAW,CAAC,EAAET,UAAU,QAAQ,CAAC;wBACjCc,SAAS,IAAMT,UAAU;wBACzBU,MAAK;kCAEJR,EAAE,qBAAqB;4BAAEJ,OAAOG;4BAAWJ;wBAAM;;;;;;AAM9D,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"names":["getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","animationDuration","loadingText","overlayType","show","t","div","className","filter","Boolean","join","style","span","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","useEffect","isLoading","undefined","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AASlB,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,OAAO,IAAI,EACZ;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,qBACE,MAACQ;QACCC,WAAW;YACTR;YACAK,OAAO,CAAC,EAAEL,UAAU,UAAU,CAAC,GAAG,CAAC,EAAEA,UAAU,SAAS,CAAC;YACzDI,cAAc,CAAC,EAAEJ,UAAU,EAAE,EAAEI,YAAY,CAAC,GAAG;SAChD,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO;YACLV,mBAAmBA,qBAAqB;QAC1C;;0BAEA,MAACK;gBAAIC,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;;kCAClC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;;;0BAGrC,KAACa;gBAAKL,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;0BAAGG,eAAeG,EAAE;;;;AAG/D,EAAC;AAQD,OAAO,MAAMQ,uBAA+D,CAAC,EAC3EC,MAAMC,GAAG,EACTC,OAAO,YAAY,EACnBd,WAAW,EACXE,IAAI,EACL;IACC,MAAM,EAAEa,oBAAoB,EAAE,GAAGrB;IAEjCD,MAAMuB,SAAS,CAAC;QACdD,qBAAqB;YACnBD;YACAG,WAAWf;YACXW;YACAb,aAAaA,eAAekB;QAC9B;QAEA,OAAO;YACLH,qBAAqB;gBACnBD;gBACAG,WAAW;gBACXJ;YACF;QACF;IACF,GAAG;QAACX;QAAMa;QAAsBF;QAAKC;QAAMd;KAAY;IAEvD,OAAO;AACT,EAAC;AAUD,OAAO,MAAMmB,2BAAoE,CAAC,EAChFP,IAAI,EACJE,OAAO,YAAY,EACnBM,MAAM,EACNC,gBAAgB,KAAK,EACrBC,aAAa,EACd;IACC,MAAMC,eAAe5B;IACrB,MAAM,EAAE6B,IAAI,EAAErB,CAAC,EAAE,GAAGP;IAEpB,MAAM6B,SAAS;QACbC,QAAQvB,EAAE;QACVwB,SAASxB,EAAE;QACXyB,QAAQzB,EAAE;IACZ;IAEA,qBACE,KAACQ;QACCX,aAAa,CAAC,EAAEyB,MAAM,CAACL,OAAO,CAAC,CAAC,EAC9BE,gBAAgB9B,eAAe8B,eAAeE,QAAQ,GACvD,CAAC,CAACK,IAAI;QACPjB,MAAMA;QACNV,MAAMmB,iBAAiBE;QACvBT,MAAMA;;AAGZ,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"names":["getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","animationDuration","loadingText","overlayType","show","t","div","className","filter","Boolean","join","style","span","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","useEffect","isLoading","undefined","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AASlB,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,OAAO,IAAI,EACZ;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,qBACE,MAACQ;QACCC,WAAW;YACTR;YACAK,OAAO,CAAC,EAAEL,UAAU,UAAU,CAAC,GAAG,CAAC,EAAEA,UAAU,SAAS,CAAC;YACzDI,cAAc,CAAC,EAAEJ,UAAU,EAAE,EAAEI,YAAY,CAAC,GAAG;SAChD,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO;YACLV,mBAAmBA,qBAAqB;QAC1C;;0BAEA,MAACK;gBAAIC,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;;kCAClC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;;;0BAGrC,KAACa;gBAAKL,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;0BAAGG,eAAeG,EAAE;;;;AAG/D,EAAC;AAQD,OAAO,MAAMQ,uBAA+D,CAAC,EAC3EC,MAAMC,GAAG,EACTC,OAAO,YAAY,EACnBd,WAAW,EACXE,IAAI,EACL;IACC,MAAM,EAAEa,oBAAoB,EAAE,GAAGrB;IAEjCD,MAAMuB,SAAS,CAAC;QACdD,qBAAqB;YACnBD;YACAG,WAAWf;YACXW;YACAb,aAAaA,eAAekB;QAC9B;QAEA,OAAO;YACLH,qBAAqB;gBACnBD;gBACAG,WAAW;gBACXJ;YACF;QACF;IACF,GAAG;QAACX;QAAMa;QAAsBF;QAAKC;QAAMd;KAAY;IAEvD,OAAO;AACT,EAAC;AAUD,OAAO,MAAMmB,2BAAoE,CAAC,EAChFP,IAAI,EACJE,OAAO,YAAY,EACnBM,MAAM,EACNC,gBAAgB,KAAK,EACrBC,aAAa,EACd;IACC,MAAMC,eAAe5B;IACrB,MAAM,EAAE6B,IAAI,EAAErB,CAAC,EAAE,GAAGP;IAEpB,MAAM6B,SAAS;QACbC,QAAQvB,EAAE;QACVwB,SAASxB,EAAE;QACXyB,QAAQzB,EAAE;IACZ;IAEA,qBACE,KAACQ;QACCX,aAAa,CAAC,EAAEyB,MAAM,CAACL,OAAO,CAAC,CAAC,EAC9BE,gBAAgB9B,eAAe8B,eAAeE,QAAQ,GACvD,CAAC,CAACK,IAAI;QACPjB,MAAMA;QACNV,MAAMmB,iBAAiBE;QACvBT,MAAMA;;AAGZ,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context.Provider\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.useContext(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","Provider","value","animationDuration","overlayType","useLoadingOverlay","contextHook","useContext","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,QAAQ,QAAO;AAI5C,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,0BAA0B,EAAEC,OAAO,QAAQ,eAAc;AAElE,MAAMC,mBAAmB;AAEzB,MAAMC,wBAAUP,cAAc;IAC5BQ,YAAY;IACZC,sBAAsBC;AACxB;AAEA,OAAO,MAAMC,yBAAmE,CAAC,EAAEC,QAAQ,EAAE;IAC3F,MAAM,EAAEC,CAAC,EAAE,GAAGV;IACd,MAAMW,eAAeD,EAAE;IACvB,MAAM,CAACE,UAAUC,gBAAgB,GAAGjB,MAAMkB,UAAU,CAACZ,SAASD;IAE9D,MAAM,EAAEc,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,EAAE,GAAGlB,iBAAiB;QACzEmB,iBAAiB;QACjBC,WAAWhB;QACXiB,aAAa;QACbC,YAAYlB;QACZmB,MAAMV,SAASW,SAAS;IAC1B;IAEA,MAAMjB,uBAAuBV,MAAM4B,WAAW,CAC5C,CAAC,EAAEC,IAAI,EAAEF,SAAS,EAAEG,GAAG,EAAEC,cAAchB,YAAY,EAAE;QACnD,IAAIY,WAAW;YACbN;YACAJ,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;oBACAC;gBACF;YACF;QACF,OAAO;YACLd,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;gBACF;YACF;QACF;IACF,GACA;QAACT;QAAsBN;KAAa;IAGtC,qBACE,MAACP,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,YAAYU;YACZT;QACF;;YAECS,2BACC,KAACjB;gBACCiC,mBAAmB,CAAC,EAAE5B,iBAAiB,EAAE,CAAC;gBAC1CwB,aAAaf,SAASe,WAAW,IAAIhB;gBACrCqB,aAAapB,SAASoB,WAAW;gBACjCV,MAAM,CAACN;;YAGVP;;;AAGP,EAAC;AAED,OAAO,MAAMwB,oBAAoB;IAC/B,MAAMC,cAActC,MAAMuC,UAAU,CAAC/B;IACrC,IAAI8B,gBAAgB3B,WAAW;QAC7B,MAAM,IAAI6B,MAAM;IAClB;IAEA,OAAOF;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context.Provider\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.useContext(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","Provider","value","animationDuration","overlayType","useLoadingOverlay","contextHook","useContext","Error"],"mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,QAAQ,QAAO;AAI5C,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,0BAA0B,EAAEC,OAAO,QAAQ,eAAc;AAElE,MAAMC,mBAAmB;AAEzB,MAAMC,wBAAUP,cAAc;IAC5BQ,YAAY;IACZC,sBAAsBC;AACxB;AAEA,OAAO,MAAMC,yBAAmE,CAAC,EAAEC,QAAQ,EAAE;IAC3F,MAAM,EAAEC,CAAC,EAAE,GAAGV;IACd,MAAMW,eAAeD,EAAE;IACvB,MAAM,CAACE,UAAUC,gBAAgB,GAAGjB,MAAMkB,UAAU,CAACZ,SAASD;IAE9D,MAAM,EAAEc,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,EAAE,GAAGlB,iBAAiB;QACzEmB,iBAAiB;QACjBC,WAAWhB;QACXiB,aAAa;QACbC,YAAYlB;QACZmB,MAAMV,SAASW,SAAS;IAC1B;IAEA,MAAMjB,uBAAuBV,MAAM4B,WAAW,CAC5C,CAAC,EAAEC,IAAI,EAAEF,SAAS,EAAEG,GAAG,EAAEC,cAAchB,YAAY,EAAE;QACnD,IAAIY,WAAW;YACbN;YACAJ,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;oBACAC;gBACF;YACF;QACF,OAAO;YACLd,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;gBACF;YACF;QACF;IACF,GACA;QAACT;QAAsBN;KAAa;IAGtC,qBACE,MAACP,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,YAAYU;YACZT;QACF;;YAECS,2BACC,KAACjB;gBACCiC,mBAAmB,CAAC,EAAE5B,iBAAiB,EAAE,CAAC;gBAC1CwB,aAAaf,SAASe,WAAW,IAAIhB;gBACrCqB,aAAapB,SAASoB,WAAW;gBACjCV,MAAM,CAACN;;YAGVP;;;AAGP,EAAC;AAED,OAAO,MAAMwB,oBAAoB;IAC/B,MAAMC,cAActC,MAAMuC,UAAU,CAAC/B;IACrC,IAAI8B,gBAAgB3B,WAAW;QAC7B,MAAM,IAAI6B,MAAM;IAClB;IAEA,OAAOF;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LoadingOverlay/reducer.ts"],"sourcesContent":["import type { Action, State } from './types.js'\n\nexport const defaultLoadingOverlayState = {\n isLoading: false,\n loaders: [],\n loadingText: '',\n overlayType: null,\n}\n\nexport const reducer = (state: State, action: Action): State => {\n const loadersCopy = [...state.loaders]\n const { type = 'fullscreen', key = 'user', loadingText } = action.payload\n\n if (action.type === 'add') {\n loadersCopy.push({ type, key, loadingText })\n } else if (action.type === 'remove') {\n const index = loadersCopy.findIndex((item) => item.key === key && item.type === type)\n loadersCopy.splice(index, 1)\n }\n\n const nextLoader = loadersCopy?.length > 0 ? loadersCopy[loadersCopy.length - 1] : null\n\n return {\n isLoading: Boolean(nextLoader),\n loaders: loadersCopy,\n loadingText: nextLoader?.loadingText || state?.loadingText,\n overlayType: nextLoader?.type || state?.overlayType,\n }\n}\n"],"names":["defaultLoadingOverlayState","isLoading","loaders","loadingText","overlayType","reducer","state","action","loadersCopy","type","key","payload","push","index","findIndex","item","splice","nextLoader","length","Boolean"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,OAAO,MAAMA,6BAA6B;IACxCC,WAAW;IACXC,SAAS,EAAE;IACXC,aAAa;IACbC,aAAa;AACf,EAAC;AAED,OAAO,MAAMC,UAAU,CAACC,OAAcC;IACpC,MAAMC,cAAc;WAAIF,MAAMJ,OAAO;KAAC;IACtC,MAAM,EAAEO,OAAO,YAAY,EAAEC,MAAM,MAAM,EAAEP,WAAW,EAAE,GAAGI,OAAOI,OAAO;IAEzE,IAAIJ,OAAOE,IAAI,KAAK,OAAO;QACzBD,YAAYI,IAAI,CAAC;YAAEH;YAAMC;YAAKP;QAAY;IAC5C,OAAO,IAAII,OAAOE,IAAI,KAAK,UAAU;QACnC,MAAMI,QAAQL,YAAYM,SAAS,CAAC,CAACC,OAASA,KAAKL,GAAG,KAAKA,OAAOK,KAAKN,IAAI,KAAKA;QAChFD,YAAYQ,MAAM,CAACH,OAAO;IAC5B;IAEA,MAAMI,aAAaT,aAAaU,SAAS,IAAIV,WAAW,CAACA,YAAYU,MAAM,GAAG,EAAE,GAAG;IAEnF,OAAO;QACLjB,WAAWkB,QAAQF;QACnBf,SAASM;QACTL,aAAac,YAAYd,eAAeG,OAAOH;QAC/CC,aAAaa,YAAYR,QAAQH,OAAOF;IAC1C;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LoadingOverlay/reducer.ts"],"sourcesContent":["import type { Action, State } from './types.js'\n\nexport const defaultLoadingOverlayState = {\n isLoading: false,\n loaders: [],\n loadingText: '',\n overlayType: null,\n}\n\nexport const reducer = (state: State, action: Action): State => {\n const loadersCopy = [...state.loaders]\n const { type = 'fullscreen', key = 'user', loadingText } = action.payload\n\n if (action.type === 'add') {\n loadersCopy.push({ type, key, loadingText })\n } else if (action.type === 'remove') {\n const index = loadersCopy.findIndex((item) => item.key === key && item.type === type)\n loadersCopy.splice(index, 1)\n }\n\n const nextLoader = loadersCopy?.length > 0 ? loadersCopy[loadersCopy.length - 1] : null\n\n return {\n isLoading: Boolean(nextLoader),\n loaders: loadersCopy,\n loadingText: nextLoader?.loadingText || state?.loadingText,\n overlayType: nextLoader?.type || state?.overlayType,\n }\n}\n"],"names":["defaultLoadingOverlayState","isLoading","loaders","loadingText","overlayType","reducer","state","action","loadersCopy","type","key","payload","push","index","findIndex","item","splice","nextLoader","length","Boolean"],"mappings":"AAEA,OAAO,MAAMA,6BAA6B;IACxCC,WAAW;IACXC,SAAS,EAAE;IACXC,aAAa;IACbC,aAAa;AACf,EAAC;AAED,OAAO,MAAMC,UAAU,CAACC,OAAcC;IACpC,MAAMC,cAAc;WAAIF,MAAMJ,OAAO;KAAC;IACtC,MAAM,EAAEO,OAAO,YAAY,EAAEC,MAAM,MAAM,EAAEP,WAAW,EAAE,GAAGI,OAAOI,OAAO;IAEzE,IAAIJ,OAAOE,IAAI,KAAK,OAAO;QACzBD,YAAYI,IAAI,CAAC;YAAEH;YAAMC;YAAKP;QAAY;IAC5C,OAAO,IAAII,OAAOE,IAAI,KAAK,UAAU;QACnC,MAAMI,QAAQL,YAAYM,SAAS,CAAC,CAACC,OAASA,KAAKL,GAAG,KAAKA,OAAOK,KAAKN,IAAI,KAAKA;QAChFD,YAAYQ,MAAM,CAACH,OAAO;IAC5B;IAEA,MAAMI,aAAaT,aAAaU,SAAS,IAAIV,WAAW,CAACA,YAAYU,MAAM,GAAG,EAAE,GAAG;IAEnF,OAAO;QACLjB,WAAWkB,QAAQF;QACnBf,SAASM;QACTL,aAAac,YAAYd,eAAeG,OAAOH;QAC/CC,aAAaa,YAAYR,QAAQH,OAAOF;IAC1C;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LoadingOverlay/types.ts"],"sourcesContent":["export type LoadingOverlayTypes = 'fullscreen' | 'withoutNav'\n\ntype ToggleLoadingOverlayOptions = {\n isLoading?: boolean\n key: string\n loadingText?: string\n type?: LoadingOverlayTypes\n}\nexport type ToggleLoadingOverlay = (options: ToggleLoadingOverlayOptions) => void\n\ntype Add = {\n payload: {\n key: string\n loadingText?: string\n type: LoadingOverlayTypes\n }\n type: 'add'\n}\ntype Remove = {\n payload: {\n key: string\n loadingText?: never\n type: LoadingOverlayTypes\n }\n type: 'remove'\n}\nexport type Action = Add | Remove\nexport type State = {\n isLoading: boolean\n loaders: {\n key: string\n loadingText: string\n type: LoadingOverlayTypes\n }[]\n loadingText: string\n overlayType: LoadingOverlayTypes | null\n}\n\nexport type LoadingOverlayContext = {\n isOnScreen: boolean\n toggleLoadingOverlay: ToggleLoadingOverlay\n}\n"],"names":[],"rangeMappings":"","mappings":"AAsCA,WAGC"}
1
+ {"version":3,"sources":["../../../src/elements/LoadingOverlay/types.ts"],"sourcesContent":["export type LoadingOverlayTypes = 'fullscreen' | 'withoutNav'\n\ntype ToggleLoadingOverlayOptions = {\n isLoading?: boolean\n key: string\n loadingText?: string\n type?: LoadingOverlayTypes\n}\nexport type ToggleLoadingOverlay = (options: ToggleLoadingOverlayOptions) => void\n\ntype Add = {\n payload: {\n key: string\n loadingText?: string\n type: LoadingOverlayTypes\n }\n type: 'add'\n}\ntype Remove = {\n payload: {\n key: string\n loadingText?: never\n type: LoadingOverlayTypes\n }\n type: 'remove'\n}\nexport type Action = Add | Remove\nexport type State = {\n isLoading: boolean\n loaders: {\n key: string\n loadingText: string\n type: LoadingOverlayTypes\n }[]\n loadingText: string\n overlayType: LoadingOverlayTypes | null\n}\n\nexport type LoadingOverlayContext = {\n isOnScreen: boolean\n toggleLoadingOverlay: ToggleLoadingOverlay\n}\n"],"names":[],"mappings":"AAsCA,WAGC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\n &nbsp;&nbsp;\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n )\n}\n"],"names":["getTranslation","React","ChevronIcon","useLocale","useTranslation","baseClass","LocalizerLabel","props","ariaLabel","className","locale","i18n","t","div","aria-label","filter","Boolean","join","span","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,kCAAiC;AAC7D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AACxE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGF;IACjC,MAAMG,SAASP;IACf,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGR;IAEpB,qBACE,MAACS;QACCC,cAAYN,aAAaI,EAAE;QAC3BH,WAAW;YAACJ;YAAWI;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;;0BAEvD,KAACJ;gBAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAG,CAAC,EAAEO,EAAE,kBAAkB,CAAC,CAAC;;YAAO;0BAExE,KAACM;gBAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;0BAC3C,CAAC,EAAEL,eAAeU,OAAOS,KAAK,EAAER,MAAM,CAAC;;YACnC;0BAEP,KAACT;gBAAYO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;;;AAGrD,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\n &nbsp;&nbsp;\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n &nbsp;\n <ChevronIcon className={`${baseClass}__chevron`} />\n </div>\n )\n}\n"],"names":["getTranslation","React","ChevronIcon","useLocale","useTranslation","baseClass","LocalizerLabel","props","ariaLabel","className","locale","i18n","t","div","aria-label","filter","Boolean","join","span","label"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,kCAAiC;AAC7D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AACxE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGF;IACjC,MAAMG,SAASP;IACf,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGR;IAEpB,qBACE,MAACS;QACCC,cAAYN,aAAaI,EAAE;QAC3BH,WAAW;YAACJ;YAAWI;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;;0BAEvD,KAACJ;gBAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAG,CAAC,EAAEO,EAAE,kBAAkB,CAAC,CAAC;;YAAO;0BAExE,KAACM;gBAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;0BAC3C,CAAC,EAAEL,eAAeU,OAAOS,KAAK,EAAER,MAAM,CAAC;;YACnC;0BAEP,KAACT;gBAAYO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;;;AAGrD,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAuDA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAgDA,CAAA"}
@@ -1,11 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
- import { useRouter } from 'next/navigation.js';
5
4
  import React from 'react';
6
5
  import { useConfig } from '../../providers/Config/index.js';
7
6
  import { useLocale } from '../../providers/Locale/index.js';
8
- import { useRouteCache } from '../../providers/RouteCache/index.js';
9
7
  import { useSearchParams } from '../../providers/SearchParams/index.js';
10
8
  import { useTranslation } from '../../providers/Translation/index.js';
11
9
  import { Popup, PopupList } from '../Popup/index.js';
@@ -19,8 +17,6 @@ export const Localizer = (props)=>{
19
17
  const { i18n } = useTranslation();
20
18
  const locale = useLocale();
21
19
  const { stringifyParams } = useSearchParams();
22
- const router = useRouter();
23
- const { clearRouteCache } = useRouteCache();
24
20
  if (localization) {
25
21
  const { locales } = localization;
26
22
  return /*#__PURE__*/ _jsx("div", {
@@ -36,15 +32,12 @@ export const Localizer = (props)=>{
36
32
  const localeOptionLabel = getTranslation(localeOption.label, i18n);
37
33
  return /*#__PURE__*/ _jsxs(PopupList.Button, {
38
34
  active: locale.code === localeOption.code,
39
- onClick: ()=>{
40
- router.replace(stringifyParams({
41
- params: {
42
- locale: localeOption.code
43
- }
44
- }));
45
- clearRouteCache();
46
- close();
47
- },
35
+ href: stringifyParams({
36
+ params: {
37
+ locale: localeOption.code
38
+ }
39
+ }),
40
+ onClick: close,
48
41
  children: [
49
42
  localeOptionLabel,
50
43
  localeOptionLabel !== localeOption.code && ` (${localeOption.code})`
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const config = useConfig()\n const { localization } = config\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n key={localeOption.code}\n onClick={() => {\n router.replace(\n stringifyParams({\n params: {\n locale: localeOption.code,\n },\n }),\n )\n clearRouteCache()\n close()\n }}\n >\n {localeOptionLabel}\n {localeOptionLabel !== localeOption.code && ` (${localeOption.code})`}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","useRouter","React","useConfig","useLocale","useRouteCache","useSearchParams","useTranslation","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","className","config","localization","i18n","locale","stringifyParams","router","clearRouteCache","locales","div","filter","Boolean","join","button","horizontalAlign","render","close","ButtonGroup","map","localeOption","localeOptionLabel","label","Button","active","code","onClick","replace","params","showScrollbar","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,SAAS,QAAQ,oBAAmB;AACpD,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IACtB,MAAME,SAASZ;IACf,MAAM,EAAEa,YAAY,EAAE,GAAGD;IAEzB,MAAM,EAAEE,IAAI,EAAE,GAAGV;IACjB,MAAMW,SAASd;IACf,MAAM,EAAEe,eAAe,EAAE,GAAGb;IAC5B,MAAMc,SAASnB;IACf,MAAM,EAAEoB,eAAe,EAAE,GAAGhB;IAE5B,IAAIW,cAAc;QAChB,MAAM,EAAEM,OAAO,EAAE,GAAGN;QAEpB,qBACE,KAACO;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAAClB;gBACCmB,sBAAQ,KAACjB;gBACTkB,iBAAgB;gBAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,KAACrB,UAAUsB,WAAW;kCACnBT,QAAQU,GAAG,CAAC,CAACC;4BACZ,MAAMC,oBAAoBlC,eAAeiC,aAAaE,KAAK,EAAElB;4BAE7D,qBACE,MAACR,UAAU2B,MAAM;gCACfC,QAAQnB,OAAOoB,IAAI,KAAKL,aAAaK,IAAI;gCAEzCC,SAAS;oCACPnB,OAAOoB,OAAO,CACZrB,gBAAgB;wCACdsB,QAAQ;4CACNvB,QAAQe,aAAaK,IAAI;wCAC3B;oCACF;oCAEFjB;oCACAS;gCACF;;oCAECI;oCACAA,sBAAsBD,aAAaK,IAAI,IAAI,CAAC,EAAE,EAAEL,aAAaK,IAAI,CAAC,CAAC,CAAC;;+BAdhEL,aAAaK,IAAI;wBAiB5B;;gBAGJI,aAAa;gBACbC,MAAK;;;IAIb;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const config = useConfig()\n const { localization } = config\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const { stringifyParams } = useSearchParams()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n href={stringifyParams({\n params: {\n locale: localeOption.code,\n },\n })}\n key={localeOption.code}\n onClick={close}\n >\n {localeOptionLabel}\n {localeOptionLabel !== localeOption.code && ` (${localeOption.code})`}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useConfig","useLocale","useSearchParams","useTranslation","Popup","PopupList","LocalizerLabel","baseClass","Localizer","props","className","config","localization","i18n","locale","stringifyParams","locales","div","filter","Boolean","join","button","horizontalAlign","render","close","ButtonGroup","map","localeOption","localeOptionLabel","label","Button","active","code","href","params","onClick","showScrollbar","size"],"mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,KAAK,EAAEC,SAAS,QAAQ,oBAAmB;AACpD,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IACtB,MAAME,SAASX;IACf,MAAM,EAAEY,YAAY,EAAE,GAAGD;IAEzB,MAAM,EAAEE,IAAI,EAAE,GAAGV;IACjB,MAAMW,SAASb;IACf,MAAM,EAAEc,eAAe,EAAE,GAAGb;IAE5B,IAAIU,cAAc;QAChB,MAAM,EAAEI,OAAO,EAAE,GAAGJ;QAEpB,qBACE,KAACK;YAAIP,WAAW;gBAACH;gBAAWG;aAAU,CAACQ,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAAChB;gBACCiB,sBAAQ,KAACf;gBACTgB,iBAAgB;gBAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,KAACnB,UAAUoB,WAAW;kCACnBT,QAAQU,GAAG,CAAC,CAACC;4BACZ,MAAMC,oBAAoB9B,eAAe6B,aAAaE,KAAK,EAAEhB;4BAE7D,qBACE,MAACR,UAAUyB,MAAM;gCACfC,QAAQjB,OAAOkB,IAAI,KAAKL,aAAaK,IAAI;gCACzCC,MAAMlB,gBAAgB;oCACpBmB,QAAQ;wCACNpB,QAAQa,aAAaK,IAAI;oCAC3B;gCACF;gCAEAG,SAASX;;oCAERI;oCACAA,sBAAsBD,aAAaK,IAAI,IAAI,CAAC,EAAE,EAAEL,aAAaK,IAAI,CAAC,CAAC,CAAC;;+BAJhEL,aAAaK,IAAI;wBAO5B;;gBAGJI,aAAa;gBACbC,MAAK;;;IAIb;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Logout/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAuCvC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAUA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Logout/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAA;AA2CvC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAUA,CAAA"}
@@ -5,17 +5,22 @@ import { LogOutIcon } from '../../icons/LogOut/index.js';
5
5
  import { useComponentMap } from '../../providers/ComponentMap/index.js';
6
6
  import { useConfig } from '../../providers/Config/index.js';
7
7
  import { useTranslation } from '../../providers/Translation/index.js';
8
+ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
8
9
  const baseClass = 'nav';
9
10
  const DefaultLogout = ({ Link, tabIndex })=>{
10
11
  const { t } = useTranslation();
11
12
  const config = useConfig();
12
- const { admin: { routes: { logout: logoutRoute } }, routes: { admin } } = config;
13
+ const { admin: { routes: { logout: logoutRoute } }, routes: { admin: adminRoute } } = config;
13
14
  const basePath = process.env.NEXT_BASE_PATH ?? '';
14
15
  const LinkElement = Link || 'a';
15
16
  return /*#__PURE__*/ _jsx(LinkElement, {
16
17
  "aria-label": t('authentication:logOut'),
17
18
  className: `${baseClass}__log-out`,
18
- href: `${basePath}${admin}${logoutRoute}`,
19
+ href: formatAdminURL({
20
+ adminRoute,
21
+ basePath,
22
+ path: logoutRoute
23
+ }),
19
24
  tabIndex: tabIndex,
20
25
  children: /*#__PURE__*/ _jsx(LogOutIcon, {})
21
26
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Logout/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nconst baseClass = 'nav'\n\nconst DefaultLogout: React.FC<{\n Link: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex }) => {\n const { t } = useTranslation()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin },\n } = config\n\n const basePath = process.env.NEXT_BASE_PATH ?? ''\n\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n aria-label={t('authentication:logOut')}\n className={`${baseClass}__log-out`}\n href={`${basePath}${admin}${logoutRoute}`}\n tabIndex={tabIndex}\n >\n <LogOutIcon />\n </LinkElement>\n )\n}\n\nexport const Logout: React.FC<{\n Link?: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex = 0 }) => {\n const {\n componentMap: { LogoutButton: CustomLogout },\n } = useComponentMap()\n\n if (CustomLogout) {\n return <Fragment>{CustomLogout}</Fragment>\n }\n\n return <DefaultLogout Link={Link} tabIndex={tabIndex} />\n}\n"],"names":["React","Fragment","LogOutIcon","useComponentMap","useConfig","useTranslation","baseClass","DefaultLogout","Link","tabIndex","t","config","admin","routes","logout","logoutRoute","basePath","process","env","NEXT_BASE_PATH","LinkElement","aria-label","className","href","Logout","componentMap","LogoutButton","CustomLogout"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,MAAMC,YAAY;AAElB,MAAMC,gBAGD,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IACtB,MAAM,EAAEC,CAAC,EAAE,GAAGL;IACd,MAAMM,SAASP;IAEf,MAAM,EACJQ,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,KAAK,EAAE,EAClB,GAAGD;IAEJ,MAAMK,WAAWC,QAAQC,GAAG,CAACC,cAAc,IAAI;IAE/C,MAAMC,cAAcZ,QAAQ;IAE5B,qBACE,KAACY;QACCC,cAAYX,EAAE;QACdY,WAAW,CAAC,EAAEhB,UAAU,SAAS,CAAC;QAClCiB,MAAM,CAAC,EAAEP,SAAS,EAAEJ,MAAM,EAAEG,YAAY,CAAC;QACzCN,UAAUA;kBAEV,cAAA,KAACP;;AAGP;AAEA,OAAO,MAAMsB,SAGR,CAAC,EAAEhB,IAAI,EAAEC,WAAW,CAAC,EAAE;IAC1B,MAAM,EACJgB,cAAc,EAAEC,cAAcC,YAAY,EAAE,EAC7C,GAAGxB;IAEJ,IAAIwB,cAAc;QAChB,qBAAO,KAAC1B;sBAAU0B;;IACpB;IAEA,qBAAO,KAACpB;QAAcC,MAAMA;QAAMC,UAAUA;;AAC9C,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Logout/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\n\nconst baseClass = 'nav'\n\nconst DefaultLogout: React.FC<{\n Link: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex }) => {\n const { t } = useTranslation()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n const basePath = process.env.NEXT_BASE_PATH ?? ''\n const LinkElement = Link || 'a'\n\n return (\n <LinkElement\n aria-label={t('authentication:logOut')}\n className={`${baseClass}__log-out`}\n href={formatAdminURL({\n adminRoute,\n basePath,\n path: logoutRoute,\n })}\n tabIndex={tabIndex}\n >\n <LogOutIcon />\n </LinkElement>\n )\n}\n\nexport const Logout: React.FC<{\n Link?: React.ComponentType\n tabIndex?: number\n}> = ({ Link, tabIndex = 0 }) => {\n const {\n componentMap: { LogoutButton: CustomLogout },\n } = useComponentMap()\n\n if (CustomLogout) {\n return <Fragment>{CustomLogout}</Fragment>\n }\n\n return <DefaultLogout Link={Link} tabIndex={tabIndex} />\n}\n"],"names":["React","Fragment","LogOutIcon","useComponentMap","useConfig","useTranslation","formatAdminURL","baseClass","DefaultLogout","Link","tabIndex","t","config","admin","routes","logout","logoutRoute","adminRoute","basePath","process","env","NEXT_BASE_PATH","LinkElement","aria-label","className","href","path","Logout","componentMap","LogoutButton","CustomLogout"],"mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAElE,MAAMC,YAAY;AAElB,MAAMC,gBAGD,CAAC,EAAEC,IAAI,EAAEC,QAAQ,EAAE;IACtB,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,MAAMO,SAASR;IAEf,MAAM,EACJS,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGL;IAEJ,MAAMM,WAAWC,QAAQC,GAAG,CAACC,cAAc,IAAI;IAC/C,MAAMC,cAAcb,QAAQ;IAE5B,qBACE,KAACa;QACCC,cAAYZ,EAAE;QACda,WAAW,CAAC,EAAEjB,UAAU,SAAS,CAAC;QAClCkB,MAAMnB,eAAe;YACnBW;YACAC;YACAQ,MAAMV;QACR;QACAN,UAAUA;kBAEV,cAAA,KAACR;;AAGP;AAEA,OAAO,MAAMyB,SAGR,CAAC,EAAElB,IAAI,EAAEC,WAAW,CAAC,EAAE;IAC1B,MAAM,EACJkB,cAAc,EAAEC,cAAcC,YAAY,EAAE,EAC7C,GAAG3B;IAEJ,IAAI2B,cAAc;QAChB,qBAAO,KAAC7B;sBAAU6B;;IACpB;IAEA,qBAAO,KAACtB;QAAcC,MAAMA;QAAMC,UAAUA;;AAC9C,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Modal/index.tsx"],"sourcesContent":["import { Modal, useModal } from '@faceless-ui/modal'\nexport { Modal, useModal }\n"],"names":["Modal","useModal"],"rangeMappings":";","mappings":"AAAA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,SAASD,KAAK,EAAEC,QAAQ,GAAE"}
1
+ {"version":3,"sources":["../../../src/elements/Modal/index.tsx"],"sourcesContent":["import { Modal, useModal } from '@faceless-ui/modal'\nexport { Modal, useModal }\n"],"names":["Modal","useModal"],"mappings":"AAAA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,SAASD,KAAK,EAAEC,QAAQ,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Nav/NavToggler/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React from 'react'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useNav } from '../context.js'\nimport './index.scss'\n\nconst baseClass = 'nav-toggler'\n\nexport const NavToggler: React.FC<{\n children?: React.ReactNode\n className?: string\n id?: string\n tabIndex?: number\n}> = (props) => {\n const { id, children, className, tabIndex = 0 } = props\n\n const { t } = useTranslation()\n\n const { setPreference } = usePreferences()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n breakpoints: { l: largeBreak },\n } = useWindowInfo()\n\n return (\n <button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n className={[baseClass, navOpen && `${baseClass}--is-open`, className]\n .filter(Boolean)\n .join(' ')}\n id={id}\n onClick={async () => {\n setNavOpen(!navOpen)\n\n // only when the user explicitly toggles the nav on desktop do we want to set the preference\n // this is because the js may open or close the nav based on the window size, routing, etc\n if (!largeBreak) {\n await setPreference('nav', {\n open: !navOpen,\n })\n }\n }}\n tabIndex={tabIndex}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"names":["useWindowInfo","React","usePreferences","useTranslation","useNav","baseClass","NavToggler","props","id","children","className","tabIndex","t","setPreference","navOpen","setNavOpen","breakpoints","l","largeBreak","button","aria-label","filter","Boolean","join","onClick","open","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,MAAM,QAAQ,gBAAe;AACtC,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAKR,CAACC;IACJ,MAAM,EAAEC,EAAE,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,CAAC,EAAE,GAAGJ;IAElD,MAAM,EAAEK,CAAC,EAAE,GAAGT;IAEd,MAAM,EAAEU,aAAa,EAAE,GAAGX;IAE1B,MAAM,EAAEY,OAAO,EAAEC,UAAU,EAAE,GAAGX;IAEhC,MAAM,EACJY,aAAa,EAAEC,GAAGC,UAAU,EAAE,EAC/B,GAAGlB;IAEJ,qBACE,KAACmB;QACCC,cAAY,CAAC,EAAEN,UAAUF,EAAE,mBAAmBA,EAAE,gBAAgB,CAAC,EAAEA,EAAE,gBAAgB,CAAC;QACtFF,WAAW;YAACL;YAAWS,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;YAAEK;SAAU,CAClEW,MAAM,CAACC,SACPC,IAAI,CAAC;QACRf,IAAIA;QACJgB,SAAS;YACPT,WAAW,CAACD;YAEZ,4FAA4F;YAC5F,0FAA0F;YAC1F,IAAI,CAACI,YAAY;gBACf,MAAML,cAAc,OAAO;oBACzBY,MAAM,CAACX;gBACT;YACF;QACF;QACAH,UAAUA;QACVe,MAAK;kBAEJjB;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Nav/NavToggler/index.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React from 'react'\n\nimport { usePreferences } from '../../../providers/Preferences/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useNav } from '../context.js'\nimport './index.scss'\n\nconst baseClass = 'nav-toggler'\n\nexport const NavToggler: React.FC<{\n children?: React.ReactNode\n className?: string\n id?: string\n tabIndex?: number\n}> = (props) => {\n const { id, children, className, tabIndex = 0 } = props\n\n const { t } = useTranslation()\n\n const { setPreference } = usePreferences()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n breakpoints: { l: largeBreak },\n } = useWindowInfo()\n\n return (\n <button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n className={[baseClass, navOpen && `${baseClass}--is-open`, className]\n .filter(Boolean)\n .join(' ')}\n id={id}\n onClick={async () => {\n setNavOpen(!navOpen)\n\n // only when the user explicitly toggles the nav on desktop do we want to set the preference\n // this is because the js may open or close the nav based on the window size, routing, etc\n if (!largeBreak) {\n await setPreference('nav', {\n open: !navOpen,\n })\n }\n }}\n tabIndex={tabIndex}\n type=\"button\"\n >\n {children}\n </button>\n )\n}\n"],"names":["useWindowInfo","React","usePreferences","useTranslation","useNav","baseClass","NavToggler","props","id","children","className","tabIndex","t","setPreference","navOpen","setNavOpen","breakpoints","l","largeBreak","button","aria-label","filter","Boolean","join","onClick","open","type"],"mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,MAAM,QAAQ,gBAAe;AACtC,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAKR,CAACC;IACJ,MAAM,EAAEC,EAAE,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,CAAC,EAAE,GAAGJ;IAElD,MAAM,EAAEK,CAAC,EAAE,GAAGT;IAEd,MAAM,EAAEU,aAAa,EAAE,GAAGX;IAE1B,MAAM,EAAEY,OAAO,EAAEC,UAAU,EAAE,GAAGX;IAEhC,MAAM,EACJY,aAAa,EAAEC,GAAGC,UAAU,EAAE,EAC/B,GAAGlB;IAEJ,qBACE,KAACmB;QACCC,cAAY,CAAC,EAAEN,UAAUF,EAAE,mBAAmBA,EAAE,gBAAgB,CAAC,EAAEA,EAAE,gBAAgB,CAAC;QACtFF,WAAW;YAACL;YAAWS,WAAW,CAAC,EAAET,UAAU,SAAS,CAAC;YAAEK;SAAU,CAClEW,MAAM,CAACC,SACPC,IAAI,CAAC;QACRf,IAAIA;QACJgB,SAAS;YACPT,WAAW,CAACD;YAEZ,4FAA4F;YAC5F,0FAA0F;YAC1F,IAAI,CAACI,YAAY;gBACf,MAAML,cAAc,OAAO;oBACzBY,MAAM,CAACX;gBACT;YACF;QACF;QACAH,UAAUA;QACVe,MAAK;kBAEJjB;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\n\ntype NavContextType = {\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean) => void\n}\n\nexport const NavContext = React.createContext<NavContextType>({\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n})\n\nexport const useNav = () => React.useContext(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference('nav')\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const { getPreference } = usePreferences()\n const navRef = useRef(null)\n\n // initialize the nav to be closed\n // this is because getting the preference is async\n // so instead of closing it after the preference is loaded\n // we will open it after the preference is loaded\n const [navOpen, setNavOpen] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n setNavFromPreferences() // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // TODO: on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n disableBodyScroll(navRef.current)\n } else {\n enableBodyScroll(navRef.current)\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n if (largeBreak === false || midBreak === false || smallBreak === false) {\n setNavOpen(false)\n }\n }, [largeBreak, midBreak, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n clearAllBodyScrollLocks()\n }\n }, [])\n\n return (\n <NavContext.Provider value={{ navOpen, navRef, setNavOpen }}>{children}</NavContext.Provider>\n )\n}\n"],"names":["useWindowInfo","clearAllBodyScrollLocks","disableBodyScroll","enableBodyScroll","React","useEffect","useRef","usePreferences","NavContext","createContext","navOpen","navRef","setNavOpen","useNav","useContext","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","children","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","useState","setNavFromPreferences","current","Provider","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,SAASC,uBAAuB,EAAEC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAkB;AAC/F,OAAOC,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEhD,SAASC,cAAc,QAAQ,uCAAsC;AAQrE,OAAO,MAAMC,2BAAaJ,MAAMK,aAAa,CAAiB;IAC5DC,SAAS;IACTC,QAAQ;IACRC,YAAY,KAAO;AACrB,GAAE;AAEF,OAAO,MAAMC,SAAS,IAAMT,MAAMU,UAAU,CAACN,YAAW;AAExD,MAAMO,mBAAmB,OAAOC;IAC9B,MAAMC,WAAW,MAAMD,cAAc;IACrC,MAAME,iBAAiBD,UAAUE;IACjC,IAAI,OAAOD,mBAAmB,WAAW;QACvC,OAAOA;IACT,OAAO;QACL,OAAO;IACT;AACF;AAEA,OAAO,MAAME,cAER,CAAC,EAAEC,QAAQ,EAAE;IAChB,MAAM,EACJC,aAAa,EAAEC,GAAGC,UAAU,EAAEC,GAAGC,QAAQ,EAAEC,GAAGC,UAAU,EAAE,EAC3D,GAAG5B;IAEJ,MAAM,EAAEgB,aAAa,EAAE,GAAGT;IAC1B,MAAMI,SAASL,OAAO;IAEtB,kCAAkC;IAClC,kDAAkD;IAClD,0DAA0D;IAC1D,iDAAiD;IACjD,MAAM,CAACI,SAASE,WAAW,GAAGR,MAAMyB,QAAQ,CAAC;IAE7C,8DAA8D;IAC9DxB,UAAU;QACR,IAAImB,eAAe,OAAO;YACxB,MAAMM,wBAAwB;gBAC5B,MAAMZ,iBAAiB,MAAMH,iBAAiBC;gBAC9CJ,WAAWM;YACb;YAEAY,wBAAwB,8DAA8D;;QACxF;IACF,GAAG;QAACN;QAAYR;QAAeJ;KAAW;IAE1C,oDAAoD;IACpD,6CAA6C;IAE7C,0CAA0C;IAC1C,wDAAwD;IACxDP,UAAU;QACR,IAAIM,OAAOoB,OAAO,EAAE;YAClB,IAAIrB,WAAWgB,UAAU;gBACvBxB,kBAAkBS,OAAOoB,OAAO;YAClC,OAAO;gBACL5B,iBAAiBQ,OAAOoB,OAAO;YACjC;QACF;IACF,GAAG;QAACrB;QAASgB;KAAS;IAEtB,8CAA8C;IAC9C,qDAAqD;IACrD,mCAAmC;IACnCrB,UAAU;QACR,IAAImB,eAAe,SAASE,aAAa,SAASE,eAAe,OAAO;YACtEhB,WAAW;QACb;IACF,GAAG;QAACY;QAAYE;QAAUE;KAAW;IAErC,2DAA2D;IAC3DvB,UAAU;QACR,OAAO;YACLJ;QACF;IACF,GAAG,EAAE;IAEL,qBACE,KAACO,WAAWwB,QAAQ;QAACC,OAAO;YAAEvB;YAASC;YAAQC;QAAW;kBAAIS;;AAElE,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Nav/context.tsx"],"sourcesContent":["'use client'\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock'\nimport React, { useEffect, useRef } from 'react'\n\nimport { usePreferences } from '../../providers/Preferences/index.js'\n\ntype NavContextType = {\n navOpen: boolean\n navRef: React.RefObject<HTMLDivElement | null>\n setNavOpen: (value: boolean) => void\n}\n\nexport const NavContext = React.createContext<NavContextType>({\n navOpen: true,\n navRef: null,\n setNavOpen: () => {},\n})\n\nexport const useNav = () => React.useContext(NavContext)\n\nconst getNavPreference = async (getPreference): Promise<boolean> => {\n const navPrefs = await getPreference('nav')\n const preferredState = navPrefs?.open\n if (typeof preferredState === 'boolean') {\n return preferredState\n } else {\n return true\n }\n}\n\nexport const NavProvider: React.FC<{\n children: React.ReactNode\n}> = ({ children }) => {\n const {\n breakpoints: { l: largeBreak, m: midBreak, s: smallBreak },\n } = useWindowInfo()\n\n const { getPreference } = usePreferences()\n const navRef = useRef(null)\n\n // initialize the nav to be closed\n // this is because getting the preference is async\n // so instead of closing it after the preference is loaded\n // we will open it after the preference is loaded\n const [navOpen, setNavOpen] = React.useState(false)\n\n // on load check the user's preference and set \"initial\" state\n useEffect(() => {\n if (largeBreak === false) {\n const setNavFromPreferences = async () => {\n const preferredState = await getNavPreference(getPreference)\n setNavOpen(preferredState)\n }\n\n setNavFromPreferences() // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }, [largeBreak, getPreference, setNavOpen])\n\n // TODO: on smaller screens where the nav is a modal\n // close the nav when the user navigates away\n\n // on open and close, lock the body scroll\n // do not do this on desktop, the sidebar is not a modal\n useEffect(() => {\n if (navRef.current) {\n if (navOpen && midBreak) {\n disableBodyScroll(navRef.current)\n } else {\n enableBodyScroll(navRef.current)\n }\n }\n }, [navOpen, midBreak])\n\n // on smaller screens where the nav is a modal\n // close the nav when the user resizes down to mobile\n // the sidebar is a modal on mobile\n useEffect(() => {\n if (largeBreak === false || midBreak === false || smallBreak === false) {\n setNavOpen(false)\n }\n }, [largeBreak, midBreak, smallBreak])\n\n // when the component unmounts, clear all body scroll locks\n useEffect(() => {\n return () => {\n clearAllBodyScrollLocks()\n }\n }, [])\n\n return (\n <NavContext.Provider value={{ navOpen, navRef, setNavOpen }}>{children}</NavContext.Provider>\n )\n}\n"],"names":["useWindowInfo","clearAllBodyScrollLocks","disableBodyScroll","enableBodyScroll","React","useEffect","useRef","usePreferences","NavContext","createContext","navOpen","navRef","setNavOpen","useNav","useContext","getNavPreference","getPreference","navPrefs","preferredState","open","NavProvider","children","breakpoints","l","largeBreak","m","midBreak","s","smallBreak","useState","setNavFromPreferences","current","Provider","value"],"mappings":"AAAA;;AACA,SAASA,aAAa,QAAQ,2BAA0B;AACxD,SAASC,uBAAuB,EAAEC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAkB;AAC/F,OAAOC,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEhD,SAASC,cAAc,QAAQ,uCAAsC;AAQrE,OAAO,MAAMC,2BAAaJ,MAAMK,aAAa,CAAiB;IAC5DC,SAAS;IACTC,QAAQ;IACRC,YAAY,KAAO;AACrB,GAAE;AAEF,OAAO,MAAMC,SAAS,IAAMT,MAAMU,UAAU,CAACN,YAAW;AAExD,MAAMO,mBAAmB,OAAOC;IAC9B,MAAMC,WAAW,MAAMD,cAAc;IACrC,MAAME,iBAAiBD,UAAUE;IACjC,IAAI,OAAOD,mBAAmB,WAAW;QACvC,OAAOA;IACT,OAAO;QACL,OAAO;IACT;AACF;AAEA,OAAO,MAAME,cAER,CAAC,EAAEC,QAAQ,EAAE;IAChB,MAAM,EACJC,aAAa,EAAEC,GAAGC,UAAU,EAAEC,GAAGC,QAAQ,EAAEC,GAAGC,UAAU,EAAE,EAC3D,GAAG5B;IAEJ,MAAM,EAAEgB,aAAa,EAAE,GAAGT;IAC1B,MAAMI,SAASL,OAAO;IAEtB,kCAAkC;IAClC,kDAAkD;IAClD,0DAA0D;IAC1D,iDAAiD;IACjD,MAAM,CAACI,SAASE,WAAW,GAAGR,MAAMyB,QAAQ,CAAC;IAE7C,8DAA8D;IAC9DxB,UAAU;QACR,IAAImB,eAAe,OAAO;YACxB,MAAMM,wBAAwB;gBAC5B,MAAMZ,iBAAiB,MAAMH,iBAAiBC;gBAC9CJ,WAAWM;YACb;YAEAY,wBAAwB,8DAA8D;;QACxF;IACF,GAAG;QAACN;QAAYR;QAAeJ;KAAW;IAE1C,oDAAoD;IACpD,6CAA6C;IAE7C,0CAA0C;IAC1C,wDAAwD;IACxDP,UAAU;QACR,IAAIM,OAAOoB,OAAO,EAAE;YAClB,IAAIrB,WAAWgB,UAAU;gBACvBxB,kBAAkBS,OAAOoB,OAAO;YAClC,OAAO;gBACL5B,iBAAiBQ,OAAOoB,OAAO;YACjC;QACF;IACF,GAAG;QAACrB;QAASgB;KAAS;IAEtB,8CAA8C;IAC9C,qDAAqD;IACrD,mCAAmC;IACnCrB,UAAU;QACR,IAAImB,eAAe,SAASE,aAAa,SAASE,eAAe,OAAO;YACtEhB,WAAW;QACb;IACF,GAAG;QAACY;QAAYE;QAAUE;KAAW;IAErC,2DAA2D;IAC3DvB,UAAU;QACR,OAAO;YACLJ;QACF;IACF,GAAG,EAAE;IAEL,qBACE,KAACO,WAAWwB,QAAQ;QAACC,OAAO;YAAEvB;YAASC;YAAQC;QAAW;kBAAIS;;AAElE,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/NavGroup/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useNav } from '../Nav/context.js'\nimport './index.scss'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nconst baseClass = 'nav-group'\n\ntype Props = {\n children: React.ReactNode\n label: string\n}\n\nexport const NavGroup: React.FC<Props> = ({ children, label }) => {\n const [collapsed, setCollapsed] = useState(true)\n const [animate, setAnimate] = useState(false)\n const { getPreference, setPreference } = usePreferences()\n const { navOpen } = useNav()\n\n const preferencesKey = `collapsed-${label}-groups`\n\n useEffect(() => {\n if (label) {\n const setCollapsedFromPreferences = async () => {\n const preferences = (await getPreference(preferencesKey)) || []\n setCollapsed(preferences.indexOf(label) !== -1)\n }\n void setCollapsedFromPreferences()\n }\n }, [getPreference, label, preferencesKey])\n\n if (label) {\n const toggleCollapsed = async () => {\n setAnimate(true)\n let preferences: string[] = (await getPreference(preferencesKey)) || []\n if (collapsed) {\n preferences = preferences.filter((preference) => label !== preference)\n } else {\n preferences.push(label)\n }\n void setPreference(preferencesKey, preferences)\n setCollapsed(!collapsed)\n }\n\n return (\n <div\n className={[`${baseClass}`, `${label}`, collapsed && `${baseClass}--collapsed`]\n .filter(Boolean)\n .join(' ')}\n id={`nav-group-${label}`}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${collapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsed}\n tabIndex={!navOpen ? -1 : 0}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{label}</div>\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon\n className={`${baseClass}__indicator`}\n direction={!collapsed ? 'up' : undefined}\n />\n </div>\n </button>\n <AnimateHeight duration={animate ? 200 : 0} height={collapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </div>\n )\n }\n\n return <React.Fragment>{children}</React.Fragment>\n}\n"],"names":["React","useEffect","useState","AnimateHeightImport","ChevronIcon","usePreferences","useNav","AnimateHeight","default","baseClass","NavGroup","children","label","collapsed","setCollapsed","animate","setAnimate","getPreference","setPreference","navOpen","preferencesKey","setCollapsedFromPreferences","preferences","indexOf","toggleCollapsed","filter","preference","push","div","className","Boolean","join","id","button","onClick","tabIndex","type","direction","undefined","duration","height","Fragment"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAClD,OAAOC,yBAAyB,uBAAsB;AAEtD,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,OAAO,eAAc;AAErB,MAAMC,gBAAiBJ,oBAAoBK,OAAO,IAChDL;AAEF,MAAMM,YAAY;AAOlB,OAAO,MAAMC,WAA4B,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IAC3D,MAAM,CAACC,WAAWC,aAAa,GAAGZ,SAAS;IAC3C,MAAM,CAACa,SAASC,WAAW,GAAGd,SAAS;IACvC,MAAM,EAAEe,aAAa,EAAEC,aAAa,EAAE,GAAGb;IACzC,MAAM,EAAEc,OAAO,EAAE,GAAGb;IAEpB,MAAMc,iBAAiB,CAAC,UAAU,EAAER,MAAM,OAAO,CAAC;IAElDX,UAAU;QACR,IAAIW,OAAO;YACT,MAAMS,8BAA8B;gBAClC,MAAMC,cAAc,AAAC,MAAML,cAAcG,mBAAoB,EAAE;gBAC/DN,aAAaQ,YAAYC,OAAO,CAACX,WAAW,CAAC;YAC/C;YACA,KAAKS;QACP;IACF,GAAG;QAACJ;QAAeL;QAAOQ;KAAe;IAEzC,IAAIR,OAAO;QACT,MAAMY,kBAAkB;YACtBR,WAAW;YACX,IAAIM,cAAwB,AAAC,MAAML,cAAcG,mBAAoB,EAAE;YACvE,IAAIP,WAAW;gBACbS,cAAcA,YAAYG,MAAM,CAAC,CAACC,aAAed,UAAUc;YAC7D,OAAO;gBACLJ,YAAYK,IAAI,CAACf;YACnB;YACA,KAAKM,cAAcE,gBAAgBE;YACnCR,aAAa,CAACD;QAChB;QAEA,qBACE,MAACe;YACCC,WAAW;gBAAC,CAAC,EAAEpB,UAAU,CAAC;gBAAE,CAAC,EAAEG,MAAM,CAAC;gBAAEC,aAAa,CAAC,EAAEJ,UAAU,WAAW,CAAC;aAAC,CAC5EgB,MAAM,CAACK,SACPC,IAAI,CAAC;YACRC,IAAI,CAAC,UAAU,EAAEpB,MAAM,CAAC;;8BAExB,MAACqB;oBACCJ,WAAW;wBACT,CAAC,EAAEpB,UAAU,QAAQ,CAAC;wBACtB,CAAC,EAAEA,UAAU,UAAU,EAAEI,YAAY,cAAc,OAAO,CAAC;qBAC5D,CACEY,MAAM,CAACK,SACPC,IAAI,CAAC;oBACRG,SAASV;oBACTW,UAAU,CAAChB,UAAU,CAAC,IAAI;oBAC1BiB,MAAK;;sCAEL,KAACR;4BAAIC,WAAW,CAAC,EAAEpB,UAAU,OAAO,CAAC;sCAAGG;;sCACxC,KAACgB;4BAAIC,WAAW,CAAC,EAAEpB,UAAU,WAAW,CAAC;sCACvC,cAAA,KAACL;gCACCyB,WAAW,CAAC,EAAEpB,UAAU,WAAW,CAAC;gCACpC4B,WAAW,CAACxB,YAAY,OAAOyB;;;;;8BAIrC,KAAC/B;oBAAcgC,UAAUxB,UAAU,MAAM;oBAAGyB,QAAQ3B,YAAY,IAAI;8BAClE,cAAA,KAACe;wBAAIC,WAAW,CAAC,EAAEpB,UAAU,SAAS,CAAC;kCAAGE;;;;;IAIlD;IAEA,qBAAO,KAACX,MAAMyC,QAAQ;kBAAE9B;;AAC1B,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/NavGroup/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\nimport AnimateHeightImport from 'react-animate-height'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useNav } from '../Nav/context.js'\nimport './index.scss'\n\nconst AnimateHeight = (AnimateHeightImport.default ||\n AnimateHeightImport) as typeof AnimateHeightImport.default\n\nconst baseClass = 'nav-group'\n\ntype Props = {\n children: React.ReactNode\n label: string\n}\n\nexport const NavGroup: React.FC<Props> = ({ children, label }) => {\n const [collapsed, setCollapsed] = useState(true)\n const [animate, setAnimate] = useState(false)\n const { getPreference, setPreference } = usePreferences()\n const { navOpen } = useNav()\n\n const preferencesKey = `collapsed-${label}-groups`\n\n useEffect(() => {\n if (label) {\n const setCollapsedFromPreferences = async () => {\n const preferences = (await getPreference(preferencesKey)) || []\n setCollapsed(preferences.indexOf(label) !== -1)\n }\n void setCollapsedFromPreferences()\n }\n }, [getPreference, label, preferencesKey])\n\n if (label) {\n const toggleCollapsed = async () => {\n setAnimate(true)\n let preferences: string[] = (await getPreference(preferencesKey)) || []\n if (collapsed) {\n preferences = preferences.filter((preference) => label !== preference)\n } else {\n preferences.push(label)\n }\n void setPreference(preferencesKey, preferences)\n setCollapsed(!collapsed)\n }\n\n return (\n <div\n className={[`${baseClass}`, `${label}`, collapsed && `${baseClass}--collapsed`]\n .filter(Boolean)\n .join(' ')}\n id={`nav-group-${label}`}\n >\n <button\n className={[\n `${baseClass}__toggle`,\n `${baseClass}__toggle--${collapsed ? 'collapsed' : 'open'}`,\n ]\n .filter(Boolean)\n .join(' ')}\n onClick={toggleCollapsed}\n tabIndex={!navOpen ? -1 : 0}\n type=\"button\"\n >\n <div className={`${baseClass}__label`}>{label}</div>\n <div className={`${baseClass}__indicator`}>\n <ChevronIcon\n className={`${baseClass}__indicator`}\n direction={!collapsed ? 'up' : undefined}\n />\n </div>\n </button>\n <AnimateHeight duration={animate ? 200 : 0} height={collapsed ? 0 : 'auto'}>\n <div className={`${baseClass}__content`}>{children}</div>\n </AnimateHeight>\n </div>\n )\n }\n\n return <React.Fragment>{children}</React.Fragment>\n}\n"],"names":["React","useEffect","useState","AnimateHeightImport","ChevronIcon","usePreferences","useNav","AnimateHeight","default","baseClass","NavGroup","children","label","collapsed","setCollapsed","animate","setAnimate","getPreference","setPreference","navOpen","preferencesKey","setCollapsedFromPreferences","preferences","indexOf","toggleCollapsed","filter","preference","push","div","className","Boolean","join","id","button","onClick","tabIndex","type","direction","undefined","duration","height","Fragment"],"mappings":"AAAA;;AACA,OAAOA,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAClD,OAAOC,yBAAyB,uBAAsB;AAEtD,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,MAAM,QAAQ,oBAAmB;AAC1C,OAAO,eAAc;AAErB,MAAMC,gBAAiBJ,oBAAoBK,OAAO,IAChDL;AAEF,MAAMM,YAAY;AAOlB,OAAO,MAAMC,WAA4B,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IAC3D,MAAM,CAACC,WAAWC,aAAa,GAAGZ,SAAS;IAC3C,MAAM,CAACa,SAASC,WAAW,GAAGd,SAAS;IACvC,MAAM,EAAEe,aAAa,EAAEC,aAAa,EAAE,GAAGb;IACzC,MAAM,EAAEc,OAAO,EAAE,GAAGb;IAEpB,MAAMc,iBAAiB,CAAC,UAAU,EAAER,MAAM,OAAO,CAAC;IAElDX,UAAU;QACR,IAAIW,OAAO;YACT,MAAMS,8BAA8B;gBAClC,MAAMC,cAAc,AAAC,MAAML,cAAcG,mBAAoB,EAAE;gBAC/DN,aAAaQ,YAAYC,OAAO,CAACX,WAAW,CAAC;YAC/C;YACA,KAAKS;QACP;IACF,GAAG;QAACJ;QAAeL;QAAOQ;KAAe;IAEzC,IAAIR,OAAO;QACT,MAAMY,kBAAkB;YACtBR,WAAW;YACX,IAAIM,cAAwB,AAAC,MAAML,cAAcG,mBAAoB,EAAE;YACvE,IAAIP,WAAW;gBACbS,cAAcA,YAAYG,MAAM,CAAC,CAACC,aAAed,UAAUc;YAC7D,OAAO;gBACLJ,YAAYK,IAAI,CAACf;YACnB;YACA,KAAKM,cAAcE,gBAAgBE;YACnCR,aAAa,CAACD;QAChB;QAEA,qBACE,MAACe;YACCC,WAAW;gBAAC,CAAC,EAAEpB,UAAU,CAAC;gBAAE,CAAC,EAAEG,MAAM,CAAC;gBAAEC,aAAa,CAAC,EAAEJ,UAAU,WAAW,CAAC;aAAC,CAC5EgB,MAAM,CAACK,SACPC,IAAI,CAAC;YACRC,IAAI,CAAC,UAAU,EAAEpB,MAAM,CAAC;;8BAExB,MAACqB;oBACCJ,WAAW;wBACT,CAAC,EAAEpB,UAAU,QAAQ,CAAC;wBACtB,CAAC,EAAEA,UAAU,UAAU,EAAEI,YAAY,cAAc,OAAO,CAAC;qBAC5D,CACEY,MAAM,CAACK,SACPC,IAAI,CAAC;oBACRG,SAASV;oBACTW,UAAU,CAAChB,UAAU,CAAC,IAAI;oBAC1BiB,MAAK;;sCAEL,KAACR;4BAAIC,WAAW,CAAC,EAAEpB,UAAU,OAAO,CAAC;sCAAGG;;sCACxC,KAACgB;4BAAIC,WAAW,CAAC,EAAEpB,UAAU,WAAW,CAAC;sCACvC,cAAA,KAACL;gCACCyB,WAAW,CAAC,EAAEpB,UAAU,WAAW,CAAC;gCACpC4B,WAAW,CAACxB,YAAY,OAAOyB;;;;;8BAIrC,KAAC/B;oBAAcgC,UAAUxB,UAAU,MAAM;oBAAGyB,QAAQ3B,YAAY,IAAI;8BAClE,cAAA,KAACe;wBAAIC,WAAW,CAAC,EAAEpB,UAAU,SAAS,CAAC;kCAAGE;;;;;IAIlD;IAEA,qBAAO,KAACX,MAAMyC,QAAQ;kBAAE9B;;AAC1B,EAAC"}
@@ -49,8 +49,8 @@
49
49
 
50
50
  &--collapsed {
51
51
  .collapsible__toggle {
52
- border-bottom-right-radius: $style-radius-s;
53
- border-bottom-left-radius: $style-radius-s;
52
+ border-bottom-right-radius: $style-radius-m;
53
+ border-bottom-left-radius: $style-radius-m;
54
54
  }
55
55
  }
56
56
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Pagination/ClickableArrow/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport './index.scss'\n\nconst baseClass = 'clickable-arrow'\n\nexport type ClickableArrowProps = {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n updatePage?: () => void\n}\n\nexport const ClickableArrow: React.FC<ClickableArrowProps> = (props) => {\n const { direction = 'right', isDisabled = false, updatePage } = props\n\n const classes = [\n baseClass,\n isDisabled && `${baseClass}--is-disabled`,\n direction && `${baseClass}--${direction}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n onClick={!isDisabled ? updatePage : undefined}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n )\n}\n"],"names":["React","ChevronIcon","baseClass","ClickableArrow","props","direction","isDisabled","updatePage","classes","filter","Boolean","join","button","className","disabled","onClick","undefined","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,kCAAiC;AAC7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAQlB,OAAO,MAAMC,iBAAgD,CAACC;IAC5D,MAAM,EAAEC,YAAY,OAAO,EAAEC,aAAa,KAAK,EAAEC,UAAU,EAAE,GAAGH;IAEhE,MAAMI,UAAU;QACdN;QACAI,cAAc,CAAC,EAAEJ,UAAU,aAAa,CAAC;QACzCG,aAAa,CAAC,EAAEH,UAAU,EAAE,EAAEG,UAAU,CAAC;KAC1C,CACEI,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QACCC,WAAWL;QACXM,UAAUR;QACVS,SAAS,CAACT,aAAaC,aAAaS;QACpCC,MAAK;kBAEL,cAAA,KAAChB;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Pagination/ClickableArrow/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport './index.scss'\n\nconst baseClass = 'clickable-arrow'\n\nexport type ClickableArrowProps = {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n updatePage?: () => void\n}\n\nexport const ClickableArrow: React.FC<ClickableArrowProps> = (props) => {\n const { direction = 'right', isDisabled = false, updatePage } = props\n\n const classes = [\n baseClass,\n isDisabled && `${baseClass}--is-disabled`,\n direction && `${baseClass}--${direction}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n onClick={!isDisabled ? updatePage : undefined}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n )\n}\n"],"names":["React","ChevronIcon","baseClass","ClickableArrow","props","direction","isDisabled","updatePage","classes","filter","Boolean","join","button","className","disabled","onClick","undefined","type"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,WAAW,QAAQ,kCAAiC;AAC7D,OAAO,eAAc;AAErB,MAAMC,YAAY;AAQlB,OAAO,MAAMC,iBAAgD,CAACC;IAC5D,MAAM,EAAEC,YAAY,OAAO,EAAEC,aAAa,KAAK,EAAEC,UAAU,EAAE,GAAGH;IAEhE,MAAMI,UAAU;QACdN;QACAI,cAAc,CAAC,EAAEJ,UAAU,aAAa,CAAC;QACzCG,aAAa,CAAC,EAAEH,UAAU,EAAE,EAAEG,UAAU,CAAC;KAC1C,CACEI,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QACCC,WAAWL;QACXM,UAAUR;QACVS,SAAS,CAACT,aAAaC,aAAaS;QACpCC,MAAK;kBAEL,cAAA,KAAChB;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Pagination/Page/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nexport type PageProps = {\n isCurrent?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage?: (page) => void\n}\n\nconst baseClass = 'paginator__page'\n\nexport const Page: React.FC<PageProps> = ({\n isCurrent,\n isFirstPage = false,\n isLastPage = false,\n page = 1,\n updatePage,\n}) => {\n const classes = [\n baseClass,\n isCurrent && `${baseClass}--is-current`,\n isFirstPage && `${baseClass}--is-first-page`,\n isLastPage && `${baseClass}--is-last-page`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button className={classes} onClick={() => updatePage(page)} type=\"button\">\n {page}\n </button>\n )\n}\n"],"names":["React","baseClass","Page","isCurrent","isFirstPage","isLastPage","page","updatePage","classes","filter","Boolean","join","button","className","onClick","type"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAUzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,OAA4B,CAAC,EACxCC,SAAS,EACTC,cAAc,KAAK,EACnBC,aAAa,KAAK,EAClBC,OAAO,CAAC,EACRC,UAAU,EACX;IACC,MAAMC,UAAU;QACdP;QACAE,aAAa,CAAC,EAAEF,UAAU,YAAY,CAAC;QACvCG,eAAe,CAAC,EAAEH,UAAU,eAAe,CAAC;QAC5CI,cAAc,CAAC,EAAEJ,UAAU,cAAc,CAAC;KAC3C,CACEQ,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QAAOC,WAAWL;QAASM,SAAS,IAAMP,WAAWD;QAAOS,MAAK;kBAC/DT;;AAGP,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Pagination/Page/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nexport type PageProps = {\n isCurrent?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage?: (page) => void\n}\n\nconst baseClass = 'paginator__page'\n\nexport const Page: React.FC<PageProps> = ({\n isCurrent,\n isFirstPage = false,\n isLastPage = false,\n page = 1,\n updatePage,\n}) => {\n const classes = [\n baseClass,\n isCurrent && `${baseClass}--is-current`,\n isFirstPage && `${baseClass}--is-first-page`,\n isLastPage && `${baseClass}--is-last-page`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <button className={classes} onClick={() => updatePage(page)} type=\"button\">\n {page}\n </button>\n )\n}\n"],"names":["React","baseClass","Page","isCurrent","isFirstPage","isLastPage","page","updatePage","classes","filter","Boolean","join","button","className","onClick","type"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAUzB,MAAMC,YAAY;AAElB,OAAO,MAAMC,OAA4B,CAAC,EACxCC,SAAS,EACTC,cAAc,KAAK,EACnBC,aAAa,KAAK,EAClBC,OAAO,CAAC,EACRC,UAAU,EACX;IACC,MAAMC,UAAU;QACdP;QACAE,aAAa,CAAC,EAAEF,UAAU,YAAY,CAAC;QACvCG,eAAe,CAAC,EAAEH,UAAU,eAAe,CAAC;QAC5CI,cAAc,CAAC,EAAEJ,UAAU,cAAc,CAAC;KAC3C,CACEQ,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,qBACE,KAACC;QAAOC,WAAWL;QAASM,SAAS,IAAMP,WAAWD;QAAOS,MAAK;kBAC/DT;;AAGP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Pagination/Separator/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nexport const Separator: React.FC = () => <span className=\"paginator__separator\">&mdash;</span>\n"],"names":["React","Separator","span","className"],"rangeMappings":";;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,YAAsB,kBAAM,KAACC;QAAKC,WAAU;kBAAuB;OAAc"}
1
+ {"version":3,"sources":["../../../../src/elements/Pagination/Separator/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nexport const Separator: React.FC = () => <span className=\"paginator__separator\">&mdash;</span>\n"],"names":["React","Separator","span","className"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,YAAsB,kBAAM,KAACC;QAAKC,WAAU;kBAAuB;OAAc"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) return null\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') onChange(page)\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) rangeStartIndex = 0\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({ type: 'Separator' })\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({ type: 'Separator' })\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","div","className","map","node","i","isCurrent","NodeType"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,SAAS,QAAQ,uBAAsB;AAChD,OAAO,eAAc;AAErB,MAAMC,YAAY;IAChBH;IACAC;IACAC;AACF;AAEA,MAAME,YAAY;AA4BlB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EACJC,cAAc,KAAK,EACnBC,cAAc,KAAK,EACnBC,WAAW,IAAI,EACfC,oBAAoB,CAAC,EACrBC,QAAQ,EACRC,MAAMC,WAAW,EACjBC,WAAW,IAAI,EACfC,aAAa,IAAI,EAClB,GAAGT;IAEJ,IAAI,CAACS,cAAcA,cAAc,GAAG,OAAO;IAE3C,MAAMC,aAAa,CAACJ;QAClB,IAAI,OAAOD,aAAa,YAAYA,SAASC;IAC/C;IAEA,yCAAyC;IACzC,MAAMK,QAAQC,MAAMC,IAAI,CAAC;QAAEC,QAAQL;IAAW,GAAG,CAACM,GAAGC,QAAUA,QAAQ;IAEvE,2FAA2F;IAC3F,IAAIC,kBAAkBV,cAAc,IAAIH;IAExC,uEAAuE;IACvE,IAAIa,mBAAmB,GAAGA,kBAAkB;IAE5C,MAAMC,gBAAgBX,cAAc,IAAIH,oBAAoB;IAE5D,sDAAsD;IACtD,MAAMe,QAAgBR,MAAMS,KAAK,CAACH,iBAAiBC;IAEnD,kCAAkC;IAClC,IAAIX,cAAcH,oBAAoB,KAAK,GAAGe,MAAME,OAAO,CAAC;QAAEC,MAAM;IAAY;IAChF,8BAA8B;IAC9B,IAAIf,cAAcH,oBAAoB,GAAG;QACvCe,MAAME,OAAO,CAAC;YACZC,MAAM;YACNtB,OAAO;gBACLuB,aAAa;gBACbjB,MAAM;gBACNI;YACF;QACF;IACF;IAEA,kCAAkC;IAClC,IAAIH,cAAcH,oBAAoB,IAAIK,YAAYU,MAAMK,IAAI,CAAC;QAAEF,MAAM;IAAY;IACrF,6BAA6B;IAC7B,IAAIJ,gBAAgBT,YAAY;QAC9BU,MAAMK,IAAI,CAAC;YACTF,MAAM;YACNtB,OAAO;gBACLyB,YAAY;gBACZnB,MAAMG;gBACNC;YACF;QACF;IACF;IAEA,8CAA8C;IAC9CS,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAAC1B;YACbS,YAAY,IAAMA,WAAWP;QAC/B;IACF;IAEAgB,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAACzB;YACbQ,YAAY,IAAMA,WAAWF;QAC/B;IACF;IAEA,qBACE,KAACoB;QAAIC,WAAW/B;kBACbqB,MAAMW,GAAG,CAAC,CAACC,MAAMC;YAChB,IAAI,OAAOD,SAAS,UAAU;gBAC5B,qBACE,KAACpC;oBAAKsC,WAAW1B,gBAAgBwB;oBAAczB,MAAMyB;oBAAMrB,YAAYA;mBAA3BsB;YAEhD;YAEA,MAAME,WAAWrC,SAAS,CAACkC,KAAKT,IAAI,CAAC;YAErC,qBAAO,KAACY;gBAAkB,GAAGH,KAAK/B,KAAK;eAAjBgC;QACxB;;AAGN,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Pagination/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ClickableArrow } from './ClickableArrow/index.js'\nimport { Page } from './Page/index.js'\nimport { Separator } from './Separator/index.js'\nimport './index.scss'\n\nconst nodeTypes = {\n ClickableArrow,\n Page,\n Separator,\n}\n\nconst baseClass = 'paginator'\n\nexport type PaginationProps = {\n hasNextPage?: boolean\n hasPrevPage?: boolean\n limit?: number\n nextPage?: number\n numberOfNeighbors?: number\n onChange?: (page: number) => void\n page?: number\n prevPage?: number\n totalPages?: number\n}\n\nexport type Node =\n | {\n props?: {\n direction?: 'left' | 'right'\n isDisabled?: boolean\n isFirstPage?: boolean\n isLastPage?: boolean\n page?: number\n updatePage: (page?: number) => void\n }\n type: 'ClickableArrow' | 'Page' | 'Separator'\n }\n | number\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n hasNextPage = false,\n hasPrevPage = false,\n nextPage = null,\n numberOfNeighbors = 1,\n onChange,\n page: currentPage,\n prevPage = null,\n totalPages = null,\n } = props\n\n if (!totalPages || totalPages <= 1) return null\n\n const updatePage = (page) => {\n if (typeof onChange === 'function') onChange(page)\n }\n\n // Create array of integers for each page\n const pages = Array.from({ length: totalPages }, (_, index) => index + 1)\n\n // Assign indices for start and end of the range of pages that should be shown in paginator\n let rangeStartIndex = currentPage - 1 - numberOfNeighbors\n\n // Sanitize rangeStartIndex in case it is less than zero for safe split\n if (rangeStartIndex <= 0) rangeStartIndex = 0\n\n const rangeEndIndex = currentPage - 1 + numberOfNeighbors + 1\n\n // Slice out the range of pages that we want to render\n const nodes: Node[] = pages.slice(rangeStartIndex, rangeEndIndex)\n\n // Add prev separator if necessary\n if (currentPage - numberOfNeighbors - 1 >= 2) nodes.unshift({ type: 'Separator' })\n // Add first page if necessary\n if (currentPage > numberOfNeighbors + 1) {\n nodes.unshift({\n type: 'Page',\n props: {\n isFirstPage: true,\n page: 1,\n updatePage,\n },\n })\n }\n\n // Add next separator if necessary\n if (currentPage + numberOfNeighbors + 1 < totalPages) nodes.push({ type: 'Separator' })\n // Add last page if necessary\n if (rangeEndIndex < totalPages) {\n nodes.push({\n type: 'Page',\n props: {\n isLastPage: true,\n page: totalPages,\n updatePage,\n },\n })\n }\n\n // Add prev and next arrows based on necessity\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'right',\n isDisabled: !hasNextPage,\n updatePage: () => updatePage(nextPage),\n },\n })\n\n nodes.unshift({\n type: 'ClickableArrow',\n props: {\n direction: 'left',\n isDisabled: !hasPrevPage,\n updatePage: () => updatePage(prevPage),\n },\n })\n\n return (\n <div className={baseClass}>\n {nodes.map((node, i) => {\n if (typeof node === 'number') {\n return (\n <Page isCurrent={currentPage === node} key={i} page={node} updatePage={updatePage} />\n )\n }\n\n const NodeType = nodeTypes[node.type]\n\n return <NodeType key={i} {...node.props} />\n })}\n </div>\n )\n}\n"],"names":["React","ClickableArrow","Page","Separator","nodeTypes","baseClass","Pagination","props","hasNextPage","hasPrevPage","nextPage","numberOfNeighbors","onChange","page","currentPage","prevPage","totalPages","updatePage","pages","Array","from","length","_","index","rangeStartIndex","rangeEndIndex","nodes","slice","unshift","type","isFirstPage","push","isLastPage","direction","isDisabled","div","className","map","node","i","isCurrent","NodeType"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,4BAA2B;AAC1D,SAASC,IAAI,QAAQ,kBAAiB;AACtC,SAASC,SAAS,QAAQ,uBAAsB;AAChD,OAAO,eAAc;AAErB,MAAMC,YAAY;IAChBH;IACAC;IACAC;AACF;AAEA,MAAME,YAAY;AA4BlB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EACJC,cAAc,KAAK,EACnBC,cAAc,KAAK,EACnBC,WAAW,IAAI,EACfC,oBAAoB,CAAC,EACrBC,QAAQ,EACRC,MAAMC,WAAW,EACjBC,WAAW,IAAI,EACfC,aAAa,IAAI,EAClB,GAAGT;IAEJ,IAAI,CAACS,cAAcA,cAAc,GAAG,OAAO;IAE3C,MAAMC,aAAa,CAACJ;QAClB,IAAI,OAAOD,aAAa,YAAYA,SAASC;IAC/C;IAEA,yCAAyC;IACzC,MAAMK,QAAQC,MAAMC,IAAI,CAAC;QAAEC,QAAQL;IAAW,GAAG,CAACM,GAAGC,QAAUA,QAAQ;IAEvE,2FAA2F;IAC3F,IAAIC,kBAAkBV,cAAc,IAAIH;IAExC,uEAAuE;IACvE,IAAIa,mBAAmB,GAAGA,kBAAkB;IAE5C,MAAMC,gBAAgBX,cAAc,IAAIH,oBAAoB;IAE5D,sDAAsD;IACtD,MAAMe,QAAgBR,MAAMS,KAAK,CAACH,iBAAiBC;IAEnD,kCAAkC;IAClC,IAAIX,cAAcH,oBAAoB,KAAK,GAAGe,MAAME,OAAO,CAAC;QAAEC,MAAM;IAAY;IAChF,8BAA8B;IAC9B,IAAIf,cAAcH,oBAAoB,GAAG;QACvCe,MAAME,OAAO,CAAC;YACZC,MAAM;YACNtB,OAAO;gBACLuB,aAAa;gBACbjB,MAAM;gBACNI;YACF;QACF;IACF;IAEA,kCAAkC;IAClC,IAAIH,cAAcH,oBAAoB,IAAIK,YAAYU,MAAMK,IAAI,CAAC;QAAEF,MAAM;IAAY;IACrF,6BAA6B;IAC7B,IAAIJ,gBAAgBT,YAAY;QAC9BU,MAAMK,IAAI,CAAC;YACTF,MAAM;YACNtB,OAAO;gBACLyB,YAAY;gBACZnB,MAAMG;gBACNC;YACF;QACF;IACF;IAEA,8CAA8C;IAC9CS,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAAC1B;YACbS,YAAY,IAAMA,WAAWP;QAC/B;IACF;IAEAgB,MAAME,OAAO,CAAC;QACZC,MAAM;QACNtB,OAAO;YACL0B,WAAW;YACXC,YAAY,CAACzB;YACbQ,YAAY,IAAMA,WAAWF;QAC/B;IACF;IAEA,qBACE,KAACoB;QAAIC,WAAW/B;kBACbqB,MAAMW,GAAG,CAAC,CAACC,MAAMC;YAChB,IAAI,OAAOD,SAAS,UAAU;gBAC5B,qBACE,KAACpC;oBAAKsC,WAAW1B,gBAAgBwB;oBAAczB,MAAMyB;oBAAMrB,YAAYA;mBAA3BsB;YAEhD;YAEA,MAAME,WAAWrC,SAAS,CAACkC,KAAKT,IAAI,CAAC;YAErC,qBAAO,KAACY;gBAAkB,GAAGH,KAAK/B,KAAK;eAAjBgC;QACxB;;AAGN,EAAC"}