@payloadcms/ui 3.0.0-beta.77 → 3.0.0-beta.79

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 (568) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +5 -2
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.scss +5 -3
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +1 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Card/index.scss +3 -3
  9. package/dist/elements/Collapsible/index.scss +4 -1
  10. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  11. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +2 -2
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DeleteDocument/index.js +1 -1
  16. package/dist/elements/DeleteDocument/index.js.map +1 -1
  17. package/dist/elements/DeleteDocument/index.scss +1 -0
  18. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  19. package/dist/elements/DeleteMany/index.js +1 -1
  20. package/dist/elements/DeleteMany/index.js.map +1 -1
  21. package/dist/elements/DeleteMany/index.scss +1 -0
  22. package/dist/elements/DocumentControls/index.d.ts +10 -10
  23. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentControls/index.js +11 -13
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.scss +18 -7
  27. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -5
  29. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  30. package/dist/elements/DocumentDrawer/types.d.ts +10 -10
  31. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  33. package/dist/elements/DocumentFields/index.d.ts +9 -9
  34. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentFields/index.js +6 -5
  36. package/dist/elements/DocumentFields/index.js.map +1 -1
  37. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -6
  38. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  39. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  40. package/dist/elements/Drawer/types.d.ts +7 -7
  41. package/dist/elements/Drawer/types.d.ts.map +1 -1
  42. package/dist/elements/Drawer/types.js.map +1 -1
  43. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  44. package/dist/elements/DuplicateDocument/index.js +1 -2
  45. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  46. package/dist/elements/DuplicateDocument/index.scss +1 -0
  47. package/dist/elements/EditMany/index.d.ts +3 -3
  48. package/dist/elements/EditMany/index.d.ts.map +1 -1
  49. package/dist/elements/EditMany/index.js +4 -4
  50. package/dist/elements/EditMany/index.js.map +1 -1
  51. package/dist/elements/EditMany/index.scss +4 -10
  52. package/dist/elements/FieldSelect/index.d.ts +4 -4
  53. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  54. package/dist/elements/FieldSelect/index.js +32 -21
  55. package/dist/elements/FieldSelect/index.js.map +1 -1
  56. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  57. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -2
  58. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  59. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +4 -3
  60. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  61. package/dist/elements/ListControls/index.d.ts +2 -2
  62. package/dist/elements/ListControls/index.d.ts.map +1 -1
  63. package/dist/elements/ListControls/index.js +8 -8
  64. package/dist/elements/ListControls/index.js.map +1 -1
  65. package/dist/elements/ListControls/index.scss +14 -5
  66. package/dist/elements/ListDrawer/DrawerContent.js +6 -5
  67. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  68. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  69. package/dist/elements/ListDrawer/index.js +1 -1
  70. package/dist/elements/ListDrawer/index.js.map +1 -1
  71. package/dist/elements/ListDrawer/index.scss +4 -4
  72. package/dist/elements/ListDrawer/types.d.ts +6 -6
  73. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  74. package/dist/elements/ListDrawer/types.js.map +1 -1
  75. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
  77. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  78. package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
  79. package/dist/elements/Localizer/index.js +1 -1
  80. package/dist/elements/Localizer/index.js.map +1 -1
  81. package/dist/elements/Logout/index.d.ts.map +1 -1
  82. package/dist/elements/Logout/index.js +6 -6
  83. package/dist/elements/Logout/index.js.map +1 -1
  84. package/dist/elements/Popup/index.d.ts +1 -1
  85. package/dist/elements/Popup/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/index.js.map +1 -1
  87. package/dist/elements/PreviewButton/index.d.ts +2 -1
  88. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  89. package/dist/elements/PreviewButton/index.js +6 -1
  90. package/dist/elements/PreviewButton/index.js.map +1 -1
  91. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  92. package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
  93. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  94. package/dist/elements/PublishButton/index.d.ts +2 -1
  95. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/index.js +4 -1
  97. package/dist/elements/PublishButton/index.js.map +1 -1
  98. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  99. package/dist/elements/PublishMany/index.js +1 -1
  100. package/dist/elements/PublishMany/index.js.map +1 -1
  101. package/dist/elements/PublishMany/index.scss +1 -0
  102. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  105. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  107. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  109. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  111. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  112. package/dist/elements/SaveButton/index.d.ts +2 -1
  113. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  114. package/dist/elements/SaveButton/index.js +4 -1
  115. package/dist/elements/SaveButton/index.js.map +1 -1
  116. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  117. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  118. package/dist/elements/SaveDraftButton/index.js +5 -2
  119. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  120. package/dist/elements/Status/index.d.ts.map +1 -1
  121. package/dist/elements/Status/index.js +1 -1
  122. package/dist/elements/Status/index.js.map +1 -1
  123. package/dist/elements/Status/index.scss +1 -0
  124. package/dist/elements/StayLoggedIn/index.js +1 -1
  125. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  126. package/dist/elements/StayLoggedIn/index.scss +1 -0
  127. package/dist/elements/StepNav/index.d.ts +2 -2
  128. package/dist/elements/StepNav/index.d.ts.map +1 -1
  129. package/dist/elements/StepNav/index.js +11 -8
  130. package/dist/elements/StepNav/index.js.map +1 -1
  131. package/dist/elements/StepNav/index.scss +1 -1
  132. package/dist/elements/StepNav/types.d.ts +2 -2
  133. package/dist/elements/StepNav/types.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +2 -3
  135. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Array/index.js +2 -2
  137. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -4
  139. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
  141. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  142. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  143. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  145. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +3 -3
  146. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  147. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  148. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -2
  149. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  150. package/dist/elements/Table/DefaultCell/fields/Date/index.js +4 -4
  151. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  152. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  153. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  154. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  155. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  156. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  157. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  158. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -4
  159. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  160. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +6 -8
  161. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  162. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +2 -3
  163. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
  165. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  166. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  167. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  168. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  169. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  170. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  171. package/dist/elements/Table/DefaultCell/index.js +16 -12
  172. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  173. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  174. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  175. package/dist/elements/Table/RelationshipProvider/index.js +1 -2
  176. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  177. package/dist/elements/Table/TableCellProvider/index.d.ts +6 -6
  178. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  179. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  180. package/dist/elements/Table/index.d.ts +11 -14
  181. package/dist/elements/Table/index.d.ts.map +1 -1
  182. package/dist/elements/Table/index.js +7 -1
  183. package/dist/elements/Table/index.js.map +1 -1
  184. package/dist/elements/TableColumns/buildColumnState.d.ts +2 -2
  185. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  186. package/dist/elements/TableColumns/buildColumnState.js +30 -32
  187. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  188. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  189. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  190. package/dist/elements/TableColumns/filterFields.js +8 -11
  191. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  192. package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -3
  193. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  194. package/dist/elements/TableColumns/getInitialColumns.js +9 -11
  195. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  196. package/dist/elements/TableColumns/index.d.ts +6 -6
  197. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  198. package/dist/elements/TableColumns/index.js +8 -11
  199. package/dist/elements/TableColumns/index.js.map +1 -1
  200. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  201. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  202. package/dist/elements/ThumbnailCard/index.js +1 -1
  203. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  204. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  205. package/dist/elements/UnpublishMany/index.js +2 -2
  206. package/dist/elements/UnpublishMany/index.js.map +1 -1
  207. package/dist/elements/UnpublishMany/index.scss +1 -0
  208. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  209. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
  210. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  211. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
  212. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  213. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  214. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -2
  215. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  216. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
  217. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  218. package/dist/elements/WhereBuilder/Condition/index.d.ts +9 -9
  219. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  220. package/dist/elements/WhereBuilder/Condition/index.js +25 -20
  221. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  222. package/dist/elements/WhereBuilder/index.js +9 -8
  223. package/dist/elements/WhereBuilder/index.js.map +1 -1
  224. package/dist/elements/WhereBuilder/reduceClientFields.d.ts +15 -0
  225. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -0
  226. package/dist/elements/WhereBuilder/{reduceFieldMap.js → reduceClientFields.js} +28 -26
  227. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
  228. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  229. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  230. package/dist/elements/WhereBuilder/types.js.map +1 -1
  231. package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
  232. package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
  233. package/dist/exports/client/{DatePicker-XJHHMZP7.js → DatePicker-QKRYICNS.js} +2 -2
  234. package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
  235. package/dist/exports/client/{chunk-TIH7OFW3.js.map → chunk-HR5HEGNB.js.map} +4 -4
  236. package/dist/exports/client/index.d.ts +9 -2
  237. package/dist/exports/client/index.d.ts.map +1 -1
  238. package/dist/exports/client/index.js +27 -27
  239. package/dist/exports/client/index.js.map +4 -4
  240. package/dist/exports/shared/index.d.ts +4 -1
  241. package/dist/exports/shared/index.d.ts.map +1 -1
  242. package/dist/exports/shared/index.js +2 -2
  243. package/dist/exports/shared/index.js.map +4 -4
  244. package/dist/fields/Array/ArrayRow.d.ts +21 -21
  245. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  246. package/dist/fields/Array/ArrayRow.js +3 -3
  247. package/dist/fields/Array/ArrayRow.js.map +1 -1
  248. package/dist/fields/Array/index.d.ts.map +1 -1
  249. package/dist/fields/Array/index.js +11 -9
  250. package/dist/fields/Array/index.js.map +1 -1
  251. package/dist/fields/Blocks/BlockRow.d.ts +3 -3
  252. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  253. package/dist/fields/Blocks/BlockRow.js +9 -6
  254. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  255. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -6
  256. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  257. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  258. package/dist/fields/Blocks/RowActions.d.ts +13 -13
  259. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  260. package/dist/fields/Blocks/RowActions.js.map +1 -1
  261. package/dist/fields/Blocks/SectionTitle/index.scss +12 -2
  262. package/dist/fields/Blocks/index.d.ts +2 -2
  263. package/dist/fields/Blocks/index.d.ts.map +1 -1
  264. package/dist/fields/Blocks/index.js +10 -6
  265. package/dist/fields/Blocks/index.js.map +1 -1
  266. package/dist/fields/Blocks/index.scss +1 -0
  267. package/dist/fields/Checkbox/Input.d.ts +15 -15
  268. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  269. package/dist/fields/Checkbox/Input.js +9 -4
  270. package/dist/fields/Checkbox/Input.js.map +1 -1
  271. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  272. package/dist/fields/Checkbox/index.js +9 -6
  273. package/dist/fields/Checkbox/index.js.map +1 -1
  274. package/dist/fields/Code/index.d.ts.map +1 -1
  275. package/dist/fields/Code/index.js +14 -6
  276. package/dist/fields/Code/index.js.map +1 -1
  277. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  278. package/dist/fields/Collapsible/index.js +7 -5
  279. package/dist/fields/Collapsible/index.js.map +1 -1
  280. package/dist/fields/ConfirmPassword/index.d.ts +2 -2
  281. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  282. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  283. package/dist/fields/DateTime/index.d.ts.map +1 -1
  284. package/dist/fields/DateTime/index.js +14 -6
  285. package/dist/fields/DateTime/index.js.map +1 -1
  286. package/dist/fields/Email/index.d.ts.map +1 -1
  287. package/dist/fields/Email/index.js +15 -6
  288. package/dist/fields/Email/index.js.map +1 -1
  289. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  290. package/dist/fields/FieldDescription/index.js +8 -4
  291. package/dist/fields/FieldDescription/index.js.map +1 -1
  292. package/dist/fields/FieldError/index.d.ts.map +1 -1
  293. package/dist/fields/FieldError/index.js +8 -4
  294. package/dist/fields/FieldError/index.js.map +1 -1
  295. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  296. package/dist/fields/FieldLabel/index.js +8 -4
  297. package/dist/fields/FieldLabel/index.js.map +1 -1
  298. package/dist/fields/Group/index.d.ts.map +1 -1
  299. package/dist/fields/Group/index.js +63 -56
  300. package/dist/fields/Group/index.js.map +1 -1
  301. package/dist/fields/Hidden/index.d.ts.map +1 -1
  302. package/dist/fields/Hidden/index.js +1 -1
  303. package/dist/fields/Hidden/index.js.map +1 -1
  304. package/dist/fields/JSON/index.d.ts.map +1 -1
  305. package/dist/fields/JSON/index.js +14 -6
  306. package/dist/fields/JSON/index.js.map +1 -1
  307. package/dist/fields/Number/Input.d.ts +2 -0
  308. package/dist/fields/Number/Input.d.ts.map +1 -0
  309. package/dist/fields/Number/Input.js +2 -0
  310. package/dist/fields/Number/Input.js.map +1 -0
  311. package/dist/fields/Number/index.d.ts.map +1 -1
  312. package/dist/fields/Number/index.js +14 -6
  313. package/dist/fields/Number/index.js.map +1 -1
  314. package/dist/fields/Password/index.d.ts +1 -24
  315. package/dist/fields/Password/index.d.ts.map +1 -1
  316. package/dist/fields/Password/index.js +8 -7
  317. package/dist/fields/Password/index.js.map +1 -1
  318. package/dist/fields/Password/input.d.ts.map +1 -1
  319. package/dist/fields/Password/input.js +18 -8
  320. package/dist/fields/Password/input.js.map +1 -1
  321. package/dist/fields/Password/types.d.ts +32 -23
  322. package/dist/fields/Password/types.d.ts.map +1 -1
  323. package/dist/fields/Password/types.js.map +1 -1
  324. package/dist/fields/Point/index.d.ts.map +1 -1
  325. package/dist/fields/Point/index.js +23 -9
  326. package/dist/fields/Point/index.js.map +1 -1
  327. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  328. package/dist/fields/RadioGroup/index.js +7 -4
  329. package/dist/fields/RadioGroup/index.js.map +1 -1
  330. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
  331. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  332. package/dist/fields/Relationship/index.d.ts.map +1 -1
  333. package/dist/fields/Relationship/index.js +8 -5
  334. package/dist/fields/Relationship/index.js.map +1 -1
  335. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  336. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  337. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  338. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  339. package/dist/fields/RichText/index.d.ts +2 -2
  340. package/dist/fields/RichText/index.d.ts.map +1 -1
  341. package/dist/fields/RichText/index.js.map +1 -1
  342. package/dist/fields/Row/index.d.ts.map +1 -1
  343. package/dist/fields/Row/index.js +6 -8
  344. package/dist/fields/Row/index.js.map +1 -1
  345. package/dist/fields/Select/Input.d.ts +26 -6
  346. package/dist/fields/Select/Input.d.ts.map +1 -1
  347. package/dist/fields/Select/Input.js +13 -6
  348. package/dist/fields/Select/Input.js.map +1 -1
  349. package/dist/fields/Select/index.d.ts.map +1 -1
  350. package/dist/fields/Select/index.js +8 -9
  351. package/dist/fields/Select/index.js.map +1 -1
  352. package/dist/fields/Tabs/Tab/index.d.ts +5 -5
  353. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  354. package/dist/fields/Tabs/Tab/index.js +4 -5
  355. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  356. package/dist/fields/Tabs/index.d.ts.map +1 -1
  357. package/dist/fields/Tabs/index.js +10 -9
  358. package/dist/fields/Tabs/index.js.map +1 -1
  359. package/dist/fields/Text/Input.d.ts.map +1 -1
  360. package/dist/fields/Text/Input.js +13 -6
  361. package/dist/fields/Text/Input.js.map +1 -1
  362. package/dist/fields/Text/index.js +9 -10
  363. package/dist/fields/Text/index.js.map +1 -1
  364. package/dist/fields/Text/types.d.ts +32 -13
  365. package/dist/fields/Text/types.d.ts.map +1 -1
  366. package/dist/fields/Text/types.js.map +1 -1
  367. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  368. package/dist/fields/Textarea/Input.js +13 -6
  369. package/dist/fields/Textarea/Input.js.map +1 -1
  370. package/dist/fields/Textarea/index.js +9 -10
  371. package/dist/fields/Textarea/index.js.map +1 -1
  372. package/dist/fields/Textarea/types.d.ts +28 -6
  373. package/dist/fields/Textarea/types.d.ts.map +1 -1
  374. package/dist/fields/Textarea/types.js.map +1 -1
  375. package/dist/fields/Upload/Input.d.ts +25 -12
  376. package/dist/fields/Upload/Input.d.ts.map +1 -1
  377. package/dist/fields/Upload/Input.js +5 -4
  378. package/dist/fields/Upload/Input.js.map +1 -1
  379. package/dist/fields/Upload/index.d.ts.map +1 -1
  380. package/dist/fields/Upload/index.js +7 -10
  381. package/dist/fields/Upload/index.js.map +1 -1
  382. package/dist/fields/index.d.ts +5 -1
  383. package/dist/fields/index.d.ts.map +1 -1
  384. package/dist/fields/index.js.map +1 -1
  385. package/dist/forms/FieldPropsProvider/index.d.ts +11 -11
  386. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  387. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  388. package/dist/forms/Form/createNestedClientFieldPath.d.ts +3 -0
  389. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -0
  390. package/dist/forms/Form/{createNestedFieldPath.js → createNestedClientFieldPath.js} +2 -13
  391. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -0
  392. package/dist/forms/Form/index.js +1 -1
  393. package/dist/forms/Form/index.js.map +1 -1
  394. package/dist/forms/Form/types.d.ts +3 -3
  395. package/dist/forms/Form/types.d.ts.map +1 -1
  396. package/dist/forms/Form/types.js.map +1 -1
  397. package/dist/forms/NullifyField/index.d.ts +3 -3
  398. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  399. package/dist/forms/NullifyField/index.js +5 -15
  400. package/dist/forms/NullifyField/index.js.map +1 -1
  401. package/dist/forms/RenderFields/RenderField.d.ts +12 -15
  402. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  403. package/dist/forms/RenderFields/RenderField.js +35 -16
  404. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  405. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  406. package/dist/forms/RenderFields/index.js +7 -14
  407. package/dist/forms/RenderFields/index.js.map +1 -1
  408. package/dist/forms/RenderFields/types.d.ts +11 -11
  409. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  410. package/dist/forms/RenderFields/types.js.map +1 -1
  411. package/dist/forms/RowLabel/Context/index.d.ts +4 -4
  412. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  413. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  414. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  415. package/dist/forms/RowLabel/index.js +8 -2
  416. package/dist/forms/RowLabel/index.js.map +1 -1
  417. package/dist/forms/RowLabel/types.d.ts +7 -8
  418. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  419. package/dist/forms/RowLabel/types.js.map +1 -1
  420. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +2 -2
  421. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  422. package/dist/forms/WatchChildErrors/buildPathSegments.js +11 -10
  423. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  424. package/dist/forms/WatchChildErrors/index.d.ts +2 -2
  425. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  426. package/dist/forms/WatchChildErrors/index.js +3 -3
  427. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  428. package/dist/forms/useField/index.js +1 -1
  429. package/dist/forms/useField/index.js.map +1 -1
  430. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  431. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  432. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  433. package/dist/graphics/Account/index.d.ts.map +1 -1
  434. package/dist/graphics/Account/index.js +14 -8
  435. package/dist/graphics/Account/index.js.map +1 -1
  436. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  437. package/dist/hooks/useDelayedRender.js.map +1 -1
  438. package/dist/hooks/useUseAsTitle.d.ts +2 -2
  439. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  440. package/dist/hooks/useUseAsTitle.js +3 -3
  441. package/dist/hooks/useUseAsTitle.js.map +1 -1
  442. package/dist/providers/Actions/SetViewActions/index.d.ts +3 -3
  443. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  444. package/dist/providers/Actions/SetViewActions/index.js +1 -1
  445. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  446. package/dist/providers/Actions/index.d.ts +3 -3
  447. package/dist/providers/Actions/index.d.ts.map +1 -1
  448. package/dist/providers/Actions/index.js +2 -2
  449. package/dist/providers/Actions/index.js.map +1 -1
  450. package/dist/providers/Auth/index.js +1 -1
  451. package/dist/providers/Auth/index.js.map +1 -1
  452. package/dist/providers/Config/RenderComponent.d.ts +12 -0
  453. package/dist/providers/Config/RenderComponent.d.ts.map +1 -0
  454. package/dist/providers/Config/RenderComponent.js +69 -0
  455. package/dist/providers/Config/RenderComponent.js.map +1 -0
  456. package/dist/providers/Config/createClientConfig/collections.d.ts +24 -0
  457. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -0
  458. package/dist/providers/Config/createClientConfig/collections.js +173 -0
  459. package/dist/providers/Config/createClientConfig/collections.js.map +1 -0
  460. package/dist/providers/Config/createClientConfig/fields.d.ts +22 -0
  461. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -0
  462. package/dist/providers/Config/createClientConfig/fields.js +299 -0
  463. package/dist/providers/Config/createClientConfig/fields.js.map +1 -0
  464. package/dist/providers/Config/createClientConfig/getComponent.d.ts +11 -0
  465. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -0
  466. package/dist/providers/Config/createClientConfig/getComponent.js +29 -0
  467. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -0
  468. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +11 -0
  469. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -0
  470. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -0
  471. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -0
  472. package/dist/providers/Config/createClientConfig/globals.d.ts +22 -0
  473. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -0
  474. package/dist/providers/Config/createClientConfig/globals.js +103 -0
  475. package/dist/providers/Config/createClientConfig/globals.js.map +1 -0
  476. package/dist/providers/Config/createClientConfig/index.d.ts +21 -0
  477. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -0
  478. package/dist/providers/Config/createClientConfig/index.js +98 -0
  479. package/dist/providers/Config/createClientConfig/index.js.map +1 -0
  480. package/dist/providers/Config/index.d.ts +10 -3
  481. package/dist/providers/Config/index.d.ts.map +1 -1
  482. package/dist/providers/Config/index.js +17 -3
  483. package/dist/providers/Config/index.js.map +1 -1
  484. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  485. package/dist/providers/DocumentInfo/index.js +16 -16
  486. package/dist/providers/DocumentInfo/index.js.map +1 -1
  487. package/dist/providers/FieldComponents/index.d.ts +4 -3
  488. package/dist/providers/FieldComponents/index.d.ts.map +1 -1
  489. package/dist/providers/FieldComponents/index.js +2 -3
  490. package/dist/providers/FieldComponents/index.js.map +1 -1
  491. package/dist/providers/ListInfo/index.d.ts +12 -12
  492. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  493. package/dist/providers/ListInfo/index.js.map +1 -1
  494. package/dist/providers/Locale/index.d.ts.map +1 -1
  495. package/dist/providers/Locale/index.js +1 -1
  496. package/dist/providers/Locale/index.js.map +1 -1
  497. package/dist/providers/Preferences/index.js +1 -1
  498. package/dist/providers/Preferences/index.js.map +1 -1
  499. package/dist/providers/Root/index.d.ts +0 -2
  500. package/dist/providers/Root/index.d.ts.map +1 -1
  501. package/dist/providers/Root/index.js +46 -48
  502. package/dist/providers/Root/index.js.map +1 -1
  503. package/dist/scss/app.scss +4 -4
  504. package/dist/scss/type.scss +1 -0
  505. package/dist/scss/vars.scss +1 -1
  506. package/dist/styles.css +1 -1
  507. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  508. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -0
  509. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  510. package/dist/utilities/buildFormState.d.ts.map +1 -1
  511. package/dist/utilities/buildFormState.js +2 -4
  512. package/dist/utilities/buildFormState.js.map +1 -1
  513. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  514. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  515. package/dist/utilities/flattenFieldMap.js +8 -8
  516. package/dist/utilities/flattenFieldMap.js.map +1 -1
  517. package/dist/utilities/groupNavItems.d.ts +3 -3
  518. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  519. package/dist/utilities/groupNavItems.js.map +1 -1
  520. package/package.json +10 -4
  521. package/dist/elements/RenderCustomClientComponent/index.d.ts +0 -8
  522. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +0 -1
  523. package/dist/elements/RenderCustomClientComponent/index.js +0 -19
  524. package/dist/elements/RenderCustomClientComponent/index.js.map +0 -1
  525. package/dist/elements/RenderCustomComponent/index.d.ts +0 -17
  526. package/dist/elements/RenderCustomComponent/index.d.ts.map +0 -1
  527. package/dist/elements/RenderCustomComponent/index.js +0 -26
  528. package/dist/elements/RenderCustomComponent/index.js.map +0 -1
  529. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +0 -14
  530. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
  531. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
  532. package/dist/exports/client/chunk-TIH7OFW3.js +0 -30
  533. package/dist/forms/Form/createNestedFieldPath.d.ts +0 -4
  534. package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
  535. package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
  536. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +0 -9
  537. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +0 -1
  538. package/dist/providers/ComponentMap/buildComponentMap/actions.js +0 -45
  539. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +0 -1
  540. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +0 -18
  541. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
  542. package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -118
  543. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +0 -1
  544. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +0 -18
  545. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +0 -1
  546. package/dist/providers/ComponentMap/buildComponentMap/fields.js +0 -703
  547. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
  548. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -19
  549. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
  550. package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -81
  551. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +0 -1
  552. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +0 -16
  553. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +0 -1
  554. package/dist/providers/ComponentMap/buildComponentMap/index.js +0 -79
  555. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
  556. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -39
  557. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +0 -1
  558. package/dist/providers/ComponentMap/buildComponentMap/types.js +0 -3
  559. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +0 -1
  560. package/dist/providers/ComponentMap/index.d.ts +0 -25
  561. package/dist/providers/ComponentMap/index.d.ts.map +0 -1
  562. package/dist/providers/ComponentMap/index.js +0 -53
  563. package/dist/providers/ComponentMap/index.js.map +0 -1
  564. package/dist/utilities/buildComponentMap.d.ts +0 -4
  565. package/dist/utilities/buildComponentMap.d.ts.map +0 -1
  566. package/dist/utilities/buildComponentMap.js +0 -4
  567. package/dist/utilities/buildComponentMap.js.map +0 -1
  568. /package/dist/exports/client/{DatePicker-XJHHMZP7.js.map → DatePicker-QKRYICNS.js.map} +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"],"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 { RenderComponent } from '../../providers/Config/RenderComponent.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 {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\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 = selectedCollectionConfig?.admin?.components.views.list.Component\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 <RenderComponent mappedComponent={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","RenderComponent","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","config","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","admin","components","views","list","Component","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","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","mappedComponent","onSave"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aA8E3B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAElF,cAAc,YAAY,CAAA;AAM1B,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,gBAAgB,CAAA;AAEtC,eAAO,MAAM,oBAAoB,qBAG9B;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,WAAmC,CAAA;AAEpC,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiBxD,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,aAgF3B,CAAA"}
@@ -36,7 +36,7 @@ export const ListDrawer = (props)=>{
36
36
  });
37
37
  };
38
38
  export const useListDrawer = ({ collectionSlugs: collectionSlugsFromProps, filterOptions, selectedCollection, uploads })=>{
39
- const { collections } = useConfig();
39
+ const { config: { collections } } = useConfig();
40
40
  const drawerDepth = useEditDepth();
41
41
  const uuid = useId();
42
42
  const { closeModal, modalState, openModal, toggleModal } = useModal();
@@ -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"],"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 {\n config: { collections },\n } = 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","config","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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"}
@@ -65,11 +65,11 @@
65
65
  height: base(1);
66
66
 
67
67
  svg {
68
- width: base(2.75);
69
- height: base(2.75);
68
+ width: base(2);
69
+ height: base(2);
70
70
  position: relative;
71
- left: base(-0.825);
72
- top: base(-0.825);
71
+ inset-inline-start: base(-0.5);
72
+ top: base(-0.5);
73
73
 
74
74
  .stroke {
75
75
  stroke-width: 2px;
@@ -2,15 +2,15 @@ import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload';
2
2
  import type React from 'react';
3
3
  import type { HTMLAttributes } from 'react';
4
4
  export type ListDrawerProps = {
5
- collectionSlugs: string[];
6
- customHeader?: React.ReactNode;
7
- drawerSlug?: string;
8
- filterOptions?: FilterOptionsResult;
9
- onSelect?: (args: {
5
+ readonly collectionSlugs: string[];
6
+ readonly customHeader?: React.ReactNode;
7
+ readonly drawerSlug?: string;
8
+ readonly filterOptions?: FilterOptionsResult;
9
+ readonly onSelect?: (args: {
10
10
  collectionSlug: SanitizedCollectionConfig['slug'];
11
11
  docID: string;
12
12
  }) => void;
13
- selectedCollection?: string;
13
+ readonly selectedCollection?: string;
14
14
  };
15
15
  export type ListTogglerProps = {
16
16
  children?: React.ReactNode;
@@ -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;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
+ {"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,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QACjD,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,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 = {\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
+ {"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 readonly collectionSlugs: string[]\n readonly customHeader?: React.ReactNode\n readonly drawerSlug?: string\n readonly filterOptions?: FilterOptionsResult\n readonly onSelect?: (args: {\n collectionSlug: SanitizedCollectionConfig['slug']\n docID: string\n }) => void\n readonly 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":"AAuBA,WAgBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAmBA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAiBA,CAAA"}
@@ -18,16 +18,17 @@ export const LocalizerLabel = (props)=>{
18
18
  className
19
19
  ].filter(Boolean).join(' '),
20
20
  children: [
21
- /*#__PURE__*/ _jsx("div", {
21
+ /*#__PURE__*/ _jsxs("div", {
22
22
  className: `${baseClass}__label`,
23
- children: `${t('general:locale')}:`
23
+ children: [
24
+ `${t('general:locale')}:`,
25
+ " "
26
+ ]
24
27
  }),
25
- "  ",
26
28
  /*#__PURE__*/ _jsx("span", {
27
29
  className: `${baseClass}__current-label`,
28
30
  children: `${getTranslation(locale.label, i18n)}`
29
31
  }),
30
- " ",
31
32
  /*#__PURE__*/ _jsx(ChevronIcon, {
32
33
  className: `${baseClass}__chevron`
33
34
  })
@@ -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"],"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')}:`}&nbsp;</div>\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\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,MAACJ;gBAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;;oBAAG,CAAC,EAAEO,EAAE,kBAAkB,CAAC,CAAC;oBAAC;;;0BAClE,KAACM;gBAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;0BAC3C,CAAC,EAAEL,eAAeU,OAAOS,KAAK,EAAER,MAAM,CAAC;;0BAE1C,KAACT;gBAAYO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;;;AAGrD,EAAC"}
@@ -5,12 +5,18 @@
5
5
  align-items: center;
6
6
  white-space: nowrap;
7
7
  display: flex;
8
+ padding-inline-start: base(0.4);
9
+ padding-inline-end: base(0.1);
10
+ gap: 0;
11
+ background-color: var(--theme-elevation-100);
12
+ border-radius: var(--style-radius-s);
8
13
 
9
14
  &__label {
10
15
  color: var(--theme-elevation-500);
11
16
  }
12
17
 
13
18
  &__chevron {
19
+ padding: base(0.1);
14
20
  .stroke {
15
21
  stroke: currentColor;
16
22
  }
@@ -12,7 +12,7 @@ import './index.scss';
12
12
  const baseClass = 'localizer';
13
13
  export const Localizer = (props)=>{
14
14
  const { className } = props;
15
- const config = useConfig();
15
+ const { config } = useConfig();
16
16
  const { localization } = config;
17
17
  const { i18n } = useTranslation();
18
18
  const locale = useLocale();
@@ -1 +1 @@
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
+ {"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,MAAM,EAAEE,MAAM,EAAE,GAAGX;IACnB,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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Logout/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AA2CzB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAcA,CAAA"}
@@ -1,15 +1,15 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import React, { Fragment } from 'react';
3
+ import React from 'react';
4
4
  import { LogOutIcon } from '../../icons/LogOut/index.js';
5
- import { useComponentMap } from '../../providers/ComponentMap/index.js';
5
+ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
6
6
  import { useConfig } from '../../providers/Config/index.js';
7
7
  import { useTranslation } from '../../providers/Translation/index.js';
8
8
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
9
9
  const baseClass = 'nav';
10
10
  const DefaultLogout = ({ Link, tabIndex })=>{
11
11
  const { t } = useTranslation();
12
- const config = useConfig();
12
+ const { config } = useConfig();
13
13
  const { admin: { routes: { logout: logoutRoute } }, routes: { admin: adminRoute } } = config;
14
14
  const basePath = process.env.NEXT_BASE_PATH ?? '';
15
15
  const LinkElement = Link || 'a';
@@ -26,10 +26,10 @@ const DefaultLogout = ({ Link, tabIndex })=>{
26
26
  });
27
27
  };
28
28
  export const Logout = ({ Link, tabIndex = 0 })=>{
29
- const { componentMap: { LogoutButton: CustomLogout } } = useComponentMap();
29
+ const { config: { admin: { components: { LogoutButton: CustomLogout } } } } = useConfig();
30
30
  if (CustomLogout) {
31
- return /*#__PURE__*/ _jsx(Fragment, {
32
- children: CustomLogout
31
+ return /*#__PURE__*/ _jsx(RenderComponent, {
32
+ mappedComponent: CustomLogout
33
33
  });
34
34
  }
35
35
  return /*#__PURE__*/ _jsx(DefaultLogout, {
@@ -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'\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
+ {"version":3,"sources":["../../../src/elements/Logout/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { LogOutIcon } from '../../icons/LogOut/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.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 config: {\n admin: {\n components: { LogoutButton: CustomLogout },\n },\n },\n } = useConfig()\n\n if (CustomLogout) {\n return <RenderComponent mappedComponent={CustomLogout} />\n }\n\n return <DefaultLogout Link={Link} tabIndex={tabIndex} />\n}\n"],"names":["React","LogOutIcon","RenderComponent","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","components","LogoutButton","CustomLogout","mappedComponent"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,UAAU,QAAQ,8BAA6B;AACxD,SAASC,eAAe,QAAQ,4CAA2C;AAC3E,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,MAAM,EAAEO,MAAM,EAAE,GAAGR;IAEnB,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,EACJE,QAAQ,EACNC,OAAO,EACLe,YAAY,EAAEC,cAAcC,YAAY,EAAE,EAC3C,EACF,EACF,GAAG1B;IAEJ,IAAI0B,cAAc;QAChB,qBAAO,KAAC3B;YAAgB4B,iBAAiBD;;IAC3C;IAEA,qBAAO,KAACtB;QAAcC,MAAMA;QAAMC,UAAUA;;AAC9C,EAAC"}
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import './index.scss';
5
5
  export type PopupProps = {
6
6
  backgroundColor?: CSSProperties['backgroundColor'];
7
- boundingRef?: React.MutableRefObject<HTMLElement>;
7
+ boundingRef?: React.RefObject<HTMLElement>;
8
8
  button?: React.ReactNode;
9
9
  buttonClassName?: string;
10
10
  buttonType?: 'custom' | 'default' | 'none';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAgKtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Popup/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1C,OAAO,KAAK,SAAS,MAAM,4BAA4B,CAAA;AAGvD,OAAO,KAAmD,MAAM,OAAO,CAAA;AAIvE,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,UAAU,GAAG;IACvB,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAA;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAA;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACxC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAA,KAAK,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IACnD,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAgKtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.MutableRefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonType = 'default',\n caret = true,\n children,\n className,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') onToggleOpen(active)\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonType","caret","children","className","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","div","onMouseEnter","onMouseLeave","ref","close"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Popup/index.tsx"],"sourcesContent":["'use client'\nimport type { CSSProperties } from 'react'\n\nexport * as PopupList from './PopupButtonList/index.js'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\n\nimport { useIntersect } from '../../hooks/useIntersect.js'\nimport { PopupTrigger } from './PopupTrigger/index.js'\nimport './index.scss'\n\nconst baseClass = 'popup'\n\nexport type PopupProps = {\n backgroundColor?: CSSProperties['backgroundColor']\n boundingRef?: React.RefObject<HTMLElement>\n button?: React.ReactNode\n buttonClassName?: string\n buttonType?: 'custom' | 'default' | 'none'\n caret?: boolean\n children?: React.ReactNode\n className?: string\n forceOpen?: boolean\n horizontalAlign?: 'center' | 'left' | 'right'\n initActive?: boolean\n onToggleOpen?: (active: boolean) => void\n render?: (any) => React.ReactNode\n showOnHover?: boolean\n showScrollbar?: boolean\n size?: 'fit-content' | 'large' | 'medium' | 'small'\n verticalAlign?: 'bottom' | 'top'\n}\n\nexport const Popup: React.FC<PopupProps> = (props) => {\n const {\n boundingRef,\n button,\n buttonClassName,\n buttonType = 'default',\n caret = true,\n children,\n className,\n forceOpen,\n horizontalAlign: horizontalAlignFromProps = 'left',\n initActive = false,\n onToggleOpen,\n render,\n showOnHover = false,\n showScrollbar = false,\n size = 'medium',\n verticalAlign: verticalAlignFromProps = 'top',\n } = props\n const { height: windowHeight, width: windowWidth } = useWindowInfo()\n const [intersectionRef, intersectionEntry] = useIntersect({\n root: boundingRef?.current || null,\n rootMargin: '-100px 0px 0px 0px',\n threshold: 1,\n })\n\n const contentRef = useRef(null)\n const [active, setActive] = useState(initActive)\n const [verticalAlign, setVerticalAlign] = useState(verticalAlignFromProps)\n const [horizontalAlign, setHorizontalAlign] = useState(horizontalAlignFromProps)\n\n const setPosition = useCallback(\n ({ horizontal = false, vertical = false }) => {\n if (contentRef.current) {\n const bounds = contentRef.current.getBoundingClientRect()\n\n const {\n bottom: contentBottomPos,\n left: contentLeftPos,\n right: contentRightPos,\n top: contentTopPos,\n } = bounds\n\n let boundingTopPos = 100\n let boundingRightPos = document.documentElement.clientWidth\n let boundingBottomPos = document.documentElement.clientHeight\n let boundingLeftPos = 0\n\n if (boundingRef?.current) {\n ;({\n bottom: boundingBottomPos,\n left: boundingLeftPos,\n right: boundingRightPos,\n top: boundingTopPos,\n } = boundingRef.current.getBoundingClientRect())\n }\n\n if (horizontal) {\n if (contentRightPos > boundingRightPos && contentLeftPos > boundingLeftPos) {\n setHorizontalAlign('right')\n } else if (contentLeftPos < boundingLeftPos && contentRightPos < boundingRightPos) {\n setHorizontalAlign('left')\n }\n }\n\n if (vertical) {\n if (contentTopPos < boundingTopPos && contentBottomPos < boundingBottomPos) {\n setVerticalAlign('bottom')\n } else if (contentBottomPos > boundingBottomPos && contentTopPos > boundingTopPos) {\n setVerticalAlign('top')\n }\n }\n }\n },\n [boundingRef],\n )\n\n const handleClickOutside = useCallback(\n (e) => {\n if (contentRef.current.contains(e.target)) {\n return\n }\n\n setActive(false)\n },\n [contentRef],\n )\n\n useEffect(() => {\n setPosition({ horizontal: true })\n }, [intersectionEntry, setPosition, windowWidth])\n\n useEffect(() => {\n setPosition({ vertical: true })\n }, [intersectionEntry, setPosition, windowHeight])\n\n useEffect(() => {\n if (typeof onToggleOpen === 'function') onToggleOpen(active)\n\n if (active) {\n document.addEventListener('mousedown', handleClickOutside)\n } else {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [active, handleClickOutside, onToggleOpen])\n\n useEffect(() => {\n setActive(forceOpen)\n }, [forceOpen])\n\n const classes = [\n baseClass,\n className,\n `${baseClass}--size-${size}`,\n `${baseClass}--v-align-${verticalAlign}`,\n `${baseClass}--h-align-${horizontalAlign}`,\n active && `${baseClass}--active`,\n showScrollbar && `${baseClass}--show-scrollbar`,\n ]\n .filter(Boolean)\n .join(' ')\n\n return (\n <div className={classes}>\n <div className={`${baseClass}__trigger-wrap`}>\n {showOnHover ? (\n <div\n className={`${baseClass}__on-hover-watch`}\n onMouseEnter={() => setActive(true)}\n onMouseLeave={() => setActive(false)}\n >\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n </div>\n ) : (\n <PopupTrigger\n {...{ active, button, buttonType, className: buttonClassName, setActive }}\n />\n )}\n </div>\n\n <div className={`${baseClass}__content`} ref={contentRef}>\n <div className={`${baseClass}__hide-scrollbar`} ref={intersectionRef}>\n <div className={`${baseClass}__scroll-container`}>\n <div className={`${baseClass}__scroll-content`}>\n {render && render({ close: () => setActive(false) })}\n {children && children}\n </div>\n </div>\n </div>\n\n {caret && <div className={`${baseClass}__caret`} />}\n </div>\n </div>\n )\n}\n"],"names":["PopupList","useWindowInfo","React","useCallback","useEffect","useRef","useState","useIntersect","PopupTrigger","baseClass","Popup","props","boundingRef","button","buttonClassName","buttonType","caret","children","className","forceOpen","horizontalAlign","horizontalAlignFromProps","initActive","onToggleOpen","render","showOnHover","showScrollbar","size","verticalAlign","verticalAlignFromProps","height","windowHeight","width","windowWidth","intersectionRef","intersectionEntry","root","current","rootMargin","threshold","contentRef","active","setActive","setVerticalAlign","setHorizontalAlign","setPosition","horizontal","vertical","bounds","getBoundingClientRect","bottom","contentBottomPos","left","contentLeftPos","right","contentRightPos","top","contentTopPos","boundingTopPos","boundingRightPos","document","documentElement","clientWidth","boundingBottomPos","clientHeight","boundingLeftPos","handleClickOutside","e","contains","target","addEventListener","removeEventListener","classes","filter","Boolean","join","div","onMouseEnter","onMouseLeave","ref","close"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import type { MappedComponent } from 'payload';
1
2
  import React from 'react';
2
3
  type Props = {
3
- CustomComponent?: React.ReactNode;
4
+ CustomComponent?: MappedComponent;
4
5
  };
5
6
  export declare const PreviewButton: React.FC<Props>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AA6BzB,KAAK,KAAK,GAAG;IACX,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAIzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAK,MAAM,OAAO,CAAA;AA8BzB,KAAK,KAAK,GAAG;IACX,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAMzC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
+ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
4
5
  import { Button } from '../Button/index.js';
5
6
  import { usePreviewURL } from './usePreviewURL.js';
6
7
  const baseClass = 'preview-btn';
@@ -20,7 +21,11 @@ const DefaultPreviewButton = ()=>{
20
21
  });
21
22
  };
22
23
  export const PreviewButton = ({ CustomComponent })=>{
23
- if (CustomComponent) return CustomComponent;
24
+ if (CustomComponent) {
25
+ return /*#__PURE__*/ _jsx(RenderComponent, {
26
+ mappedComponent: CustomComponent
27
+ });
28
+ }
24
29
  return /*#__PURE__*/ _jsx(DefaultPreviewButton, {});
25
30
  };
26
31
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nconst DefaultPreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n\ntype Props = {\n CustomComponent?: React.ReactNode\n}\n\nexport const PreviewButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) return CustomComponent\n\n return <DefaultPreviewButton />\n}\n"],"names":["React","Button","usePreviewURL","baseClass","DefaultPreviewButton","generatePreviewURL","label","buttonStyle","className","icon","iconPosition","onClick","openPreviewWindow","size","PreviewButton","CustomComponent"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,aAAa,QAAQ,qBAAoB;AAElD,MAAMC,YAAY;AAElB,MAAMC,uBAAiC;IACrC,MAAM,EAAEC,kBAAkB,EAAEC,KAAK,EAAE,GAAGJ;IAEtC,qBACE,KAACD;QACCM,aAAY;QACZC,WAAWL;QACXM,MAAM;QACNC,cAAa;QACb,sBAAsB;QACtBC,SAAS,IACPN,mBAAmB;gBACjBO,mBAAmB;YACrB;QAEFC,MAAK;kBAEJP;;AAGP;AAMA,OAAO,MAAMQ,gBAAiC,CAAC,EAAEC,eAAe,EAAE;IAChE,IAAIA,iBAAiB,OAAOA;IAE5B,qBAAO,KAACX;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PreviewButton/index.tsx"],"sourcesContent":["'use client'\nimport type { MappedComponent } from 'payload'\n\nimport React from 'react'\n\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { Button } from '../Button/index.js'\nimport { usePreviewURL } from './usePreviewURL.js'\n\nconst baseClass = 'preview-btn'\n\nconst DefaultPreviewButton: React.FC = () => {\n const { generatePreviewURL, label } = usePreviewURL()\n\n return (\n <Button\n buttonStyle=\"secondary\"\n className={baseClass}\n icon={'link'}\n iconPosition=\"left\"\n // disabled={disabled}\n onClick={() =>\n generatePreviewURL({\n openPreviewWindow: true,\n })\n }\n size=\"medium\"\n >\n {label}\n </Button>\n )\n}\n\ntype Props = {\n CustomComponent?: MappedComponent\n}\n\nexport const PreviewButton: React.FC<Props> = ({ CustomComponent }) => {\n if (CustomComponent) {\n return <RenderComponent mappedComponent={CustomComponent} />\n }\n\n return <DefaultPreviewButton />\n}\n"],"names":["React","RenderComponent","Button","usePreviewURL","baseClass","DefaultPreviewButton","generatePreviewURL","label","buttonStyle","className","icon","iconPosition","onClick","openPreviewWindow","size","PreviewButton","CustomComponent","mappedComponent"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,4CAA2C;AAC3E,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,aAAa,QAAQ,qBAAoB;AAElD,MAAMC,YAAY;AAElB,MAAMC,uBAAiC;IACrC,MAAM,EAAEC,kBAAkB,EAAEC,KAAK,EAAE,GAAGJ;IAEtC,qBACE,KAACD;QACCM,aAAY;QACZC,WAAWL;QACXM,MAAM;QACNC,cAAa;QACb,sBAAsB;QACtBC,SAAS,IACPN,mBAAmB;gBACjBO,mBAAmB;YACrB;QAEFC,MAAK;kBAEJP;;AAGP;AAMA,OAAO,MAAMQ,gBAAiC,CAAC,EAAEC,eAAe,EAAE;IAChE,IAAIA,iBAAiB;QACnB,qBAAO,KAACf;YAAgBgB,iBAAiBD;;IAC3C;IAEA,qBAAO,KAACX;AACV,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePreviewURL.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,QAAO;IAC/B,kBAAkB,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACpF,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAwDnB,CAAA"}
1
+ {"version":3,"file":"usePreviewURL.d.ts","sourceRoot":"","sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,aAAa,QAAO;IAC/B,kBAAkB,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACpF,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CA0DnB,CAAA"}
@@ -10,7 +10,7 @@ export const usePreviewURL = ()=>{
10
10
  const [isLoading, setIsLoading] = useState(false);
11
11
  const [previewURL, setPreviewURL] = useState('');
12
12
  const { code: locale } = useLocale();
13
- const { routes: { api }, serverURL } = useConfig();
13
+ const { config: { routes: { api }, serverURL } } = useConfig();
14
14
  const { t } = useTranslation();
15
15
  const isGeneratingPreviewURL = useRef(false);
16
16
  // we need to regenerate the preview URL every time the button is clicked
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const usePreviewURL = (): {\n generatePreviewURL: ({ openPreviewWindow }: { openPreviewWindow?: boolean }) => void\n isLoading: boolean\n label: string\n previewURL: string\n} => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [isLoading, setIsLoading] = useState(false)\n const [previewURL, setPreviewURL] = useState('')\n const { code: locale } = useLocale()\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n\n const { t } = useTranslation()\n\n const isGeneratingPreviewURL = useRef(false)\n\n // we need to regenerate the preview URL every time the button is clicked\n // to do this we need to fetch the document data fresh from the API\n // this will ensure the latest data is used when generating the preview URL\n const generatePreviewURL = useCallback(\n async ({ openPreviewWindow = false }) => {\n if (isGeneratingPreviewURL.current) return\n isGeneratingPreviewURL.current = true\n\n try {\n setIsLoading(true)\n\n let url = `${serverURL}${api}`\n if (collectionSlug) url = `${url}/${collectionSlug}/${id}/preview`\n if (globalSlug) url = `${url}/globals/${globalSlug}/preview`\n\n const res = await fetch(`${url}${locale ? `?locale=${locale}` : ''}`)\n\n if (!res.ok) throw new Error()\n const newPreviewURL = await res.json()\n if (!newPreviewURL) throw new Error()\n setPreviewURL(newPreviewURL)\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n if (openPreviewWindow) window.open(newPreviewURL, '_blank')\n } catch (err) {\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n toast.error(t('error:previewing'))\n }\n },\n [serverURL, api, collectionSlug, globalSlug, id, locale, t],\n )\n\n return {\n generatePreviewURL,\n isLoading,\n label: isLoading ? t('general:loading') : t('version:preview'),\n previewURL,\n }\n}\n"],"names":["useCallback","useRef","useState","toast","useConfig","useDocumentInfo","useLocale","useTranslation","usePreviewURL","id","collectionSlug","globalSlug","isLoading","setIsLoading","previewURL","setPreviewURL","code","locale","routes","api","serverURL","t","isGeneratingPreviewURL","generatePreviewURL","openPreviewWindow","current","url","res","fetch","ok","Error","newPreviewURL","json","window","open","err","error","label"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AACrD,SAASC,KAAK,QAAQ,SAAQ;AAE9B,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,gBAAgB;IAM3B,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGN;IAE3C,MAAM,CAACO,WAAWC,aAAa,GAAGX,SAAS;IAC3C,MAAM,CAACY,YAAYC,cAAc,GAAGb,SAAS;IAC7C,MAAM,EAAEc,MAAMC,MAAM,EAAE,GAAGX;IAEzB,MAAM,EACJY,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGhB;IAEJ,MAAM,EAAEiB,CAAC,EAAE,GAAGd;IAEd,MAAMe,yBAAyBrB,OAAO;IAEtC,yEAAyE;IACzE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAMsB,qBAAqBvB,YACzB,OAAO,EAAEwB,oBAAoB,KAAK,EAAE;QAClC,IAAIF,uBAAuBG,OAAO,EAAE;QACpCH,uBAAuBG,OAAO,GAAG;QAEjC,IAAI;YACFZ,aAAa;YAEb,IAAIa,MAAM,CAAC,EAAEN,UAAU,EAAED,IAAI,CAAC;YAC9B,IAAIT,gBAAgBgB,MAAM,CAAC,EAAEA,IAAI,CAAC,EAAEhB,eAAe,CAAC,EAAED,GAAG,QAAQ,CAAC;YAClE,IAAIE,YAAYe,MAAM,CAAC,EAAEA,IAAI,SAAS,EAAEf,WAAW,QAAQ,CAAC;YAE5D,MAAMgB,MAAM,MAAMC,MAAM,CAAC,EAAEF,IAAI,EAAET,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YAEpE,IAAI,CAACU,IAAIE,EAAE,EAAE,MAAM,IAAIC;YACvB,MAAMC,gBAAgB,MAAMJ,IAAIK,IAAI;YACpC,IAAI,CAACD,eAAe,MAAM,IAAID;YAC9Bf,cAAcgB;YACdlB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjC,IAAID,mBAAmBS,OAAOC,IAAI,CAACH,eAAe;QACpD,EAAE,OAAOI,KAAK;YACZtB,aAAa;YACbS,uBAAuBG,OAAO,GAAG;YACjCtB,MAAMiC,KAAK,CAACf,EAAE;QAChB;IACF,GACA;QAACD;QAAWD;QAAKT;QAAgBC;QAAYF;QAAIQ;QAAQI;KAAE;IAG7D,OAAO;QACLE;QACAX;QACAyB,OAAOzB,YAAYS,EAAE,qBAAqBA,EAAE;QAC5CP;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/PreviewButton/usePreviewURL.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\n\nexport const usePreviewURL = (): {\n generatePreviewURL: ({ openPreviewWindow }: { openPreviewWindow?: boolean }) => void\n isLoading: boolean\n label: string\n previewURL: string\n} => {\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const [isLoading, setIsLoading] = useState(false)\n const [previewURL, setPreviewURL] = useState('')\n const { code: locale } = useLocale()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n\n const isGeneratingPreviewURL = useRef(false)\n\n // we need to regenerate the preview URL every time the button is clicked\n // to do this we need to fetch the document data fresh from the API\n // this will ensure the latest data is used when generating the preview URL\n const generatePreviewURL = useCallback(\n async ({ openPreviewWindow = false }) => {\n if (isGeneratingPreviewURL.current) return\n isGeneratingPreviewURL.current = true\n\n try {\n setIsLoading(true)\n\n let url = `${serverURL}${api}`\n if (collectionSlug) url = `${url}/${collectionSlug}/${id}/preview`\n if (globalSlug) url = `${url}/globals/${globalSlug}/preview`\n\n const res = await fetch(`${url}${locale ? `?locale=${locale}` : ''}`)\n\n if (!res.ok) throw new Error()\n const newPreviewURL = await res.json()\n if (!newPreviewURL) throw new Error()\n setPreviewURL(newPreviewURL)\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n if (openPreviewWindow) window.open(newPreviewURL, '_blank')\n } catch (err) {\n setIsLoading(false)\n isGeneratingPreviewURL.current = false\n toast.error(t('error:previewing'))\n }\n },\n [serverURL, api, collectionSlug, globalSlug, id, locale, t],\n )\n\n return {\n generatePreviewURL,\n isLoading,\n label: isLoading ? t('general:loading') : t('version:preview'),\n previewURL,\n }\n}\n"],"names":["useCallback","useRef","useState","toast","useConfig","useDocumentInfo","useLocale","useTranslation","usePreviewURL","id","collectionSlug","globalSlug","isLoading","setIsLoading","previewURL","setPreviewURL","code","locale","config","routes","api","serverURL","t","isGeneratingPreviewURL","generatePreviewURL","openPreviewWindow","current","url","res","fetch","ok","Error","newPreviewURL","json","window","open","err","error","label"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAO;AACrD,SAASC,KAAK,QAAQ,SAAQ;AAE9B,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AAErE,OAAO,MAAMC,gBAAgB;IAM3B,MAAM,EAAEC,EAAE,EAAEC,cAAc,EAAEC,UAAU,EAAE,GAAGN;IAE3C,MAAM,CAACO,WAAWC,aAAa,GAAGX,SAAS;IAC3C,MAAM,CAACY,YAAYC,cAAc,GAAGb,SAAS;IAC7C,MAAM,EAAEc,MAAMC,MAAM,EAAE,GAAGX;IAEzB,MAAM,EACJY,QAAQ,EACNC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,EACF,GAAGjB;IAEJ,MAAM,EAAEkB,CAAC,EAAE,GAAGf;IAEd,MAAMgB,yBAAyBtB,OAAO;IAEtC,yEAAyE;IACzE,mEAAmE;IACnE,2EAA2E;IAC3E,MAAMuB,qBAAqBxB,YACzB,OAAO,EAAEyB,oBAAoB,KAAK,EAAE;QAClC,IAAIF,uBAAuBG,OAAO,EAAE;QACpCH,uBAAuBG,OAAO,GAAG;QAEjC,IAAI;YACFb,aAAa;YAEb,IAAIc,MAAM,CAAC,EAAEN,UAAU,EAAED,IAAI,CAAC;YAC9B,IAAIV,gBAAgBiB,MAAM,CAAC,EAAEA,IAAI,CAAC,EAAEjB,eAAe,CAAC,EAAED,GAAG,QAAQ,CAAC;YAClE,IAAIE,YAAYgB,MAAM,CAAC,EAAEA,IAAI,SAAS,EAAEhB,WAAW,QAAQ,CAAC;YAE5D,MAAMiB,MAAM,MAAMC,MAAM,CAAC,EAAEF,IAAI,EAAEV,SAAS,CAAC,QAAQ,EAAEA,OAAO,CAAC,GAAG,GAAG,CAAC;YAEpE,IAAI,CAACW,IAAIE,EAAE,EAAE,MAAM,IAAIC;YACvB,MAAMC,gBAAgB,MAAMJ,IAAIK,IAAI;YACpC,IAAI,CAACD,eAAe,MAAM,IAAID;YAC9BhB,cAAciB;YACdnB,aAAa;YACbU,uBAAuBG,OAAO,GAAG;YACjC,IAAID,mBAAmBS,OAAOC,IAAI,CAACH,eAAe;QACpD,EAAE,OAAOI,KAAK;YACZvB,aAAa;YACbU,uBAAuBG,OAAO,GAAG;YACjCvB,MAAMkC,KAAK,CAACf,EAAE;QAChB;IACF,GACA;QAACD;QAAWD;QAAKV;QAAgBC;QAAYF;QAAIQ;QAAQK;KAAE;IAG7D,OAAO;QACLE;QACAZ;QACA0B,OAAO1B,YAAYU,EAAE,qBAAqBA,EAAE;QAC5CR;IACF;AACF,EAAC"}
@@ -1,9 +1,10 @@
1
+ import type { MappedComponent } from 'payload';
1
2
  import React from 'react';
2
3
  export declare const DefaultPublishButton: React.FC<{
3
4
  label?: string;
4
5
  }>;
5
6
  type Props = {
6
- CustomComponent?: React.ReactNode;
7
+ CustomComponent?: MappedComponent;
7
8
  };
8
9
  export declare const PublishButton: React.FC<Props>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAS1C,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2C7D,CAAA;AAED,KAAK,KAAK,GAAG;IACX,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAGzC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAU1C,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2C7D,CAAA;AAED,KAAK,KAAK,GAAG;IACX,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAGzC,CAAA"}
@@ -4,6 +4,7 @@ import React, { useCallback } from 'react';
4
4
  import { useForm, useFormModified } from '../../forms/Form/context.js';
5
5
  import { FormSubmit } from '../../forms/Submit/index.js';
6
6
  import { useHotkey } from '../../hooks/useHotkey.js';
7
+ import { RenderComponent } from '../../providers/Config/RenderComponent.js';
7
8
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
8
9
  import { useEditDepth } from '../../providers/EditDepth/index.js';
9
10
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -49,7 +50,9 @@ export const DefaultPublishButton = ({ label: labelProp })=>{
49
50
  });
50
51
  };
51
52
  export const PublishButton = ({ CustomComponent })=>{
52
- if (CustomComponent) return CustomComponent;
53
+ if (CustomComponent) return /*#__PURE__*/ _jsx(RenderComponent, {
54
+ mappedComponent: CustomComponent
55
+ });
53
56
  return /*#__PURE__*/ _jsx(DefaultPublishButton, {});
54
57
  };
55
58