@payloadcms/ui 4.0.0-internal.21664f3 → 4.0.0-internal.2f0d313

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 (488) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +1 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -1
  6. package/dist/elements/AppHeader/index.css +1 -3
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +5 -1
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +3 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +83 -29
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  15. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  17. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  19. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  20. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  21. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  22. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  23. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  24. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  26. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  28. package/dist/elements/Button/index.css +2 -2
  29. package/dist/elements/Button/index.d.ts.map +1 -1
  30. package/dist/elements/Button/index.js +2 -0
  31. package/dist/elements/Button/index.js.map +1 -1
  32. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  33. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  34. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  35. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  36. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  37. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  38. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  39. package/dist/elements/ClipboardAction/index.js +17 -1
  40. package/dist/elements/ClipboardAction/index.js.map +1 -1
  41. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  42. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  43. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  44. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  45. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  46. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  47. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  48. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  49. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  50. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  51. package/dist/elements/ClipboardAction/types.js.map +1 -1
  52. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  53. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  54. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  55. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  56. package/dist/elements/CodeEditor/index.css +0 -5
  57. package/dist/elements/CommandPalette/index.css +0 -7
  58. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  59. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  60. package/dist/elements/CopyToClipboard/index.js +10 -8
  61. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  62. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  63. package/dist/elements/CreateDocumentButton/index.js +4 -1
  64. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  65. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  66. package/dist/elements/DatePicker/DatePicker.js +1 -0
  67. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  68. package/dist/elements/DatePicker/index.css +1 -1
  69. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  70. package/dist/elements/DeleteDocument/index.js +16 -1
  71. package/dist/elements/DeleteDocument/index.js.map +1 -1
  72. package/dist/elements/Drawer/index.css +10 -4
  73. package/dist/elements/Dropzone/index.css +10 -4
  74. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  75. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  76. package/dist/elements/EditMany/DrawerContent.js +2 -2
  77. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  78. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  79. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  80. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  81. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  82. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  83. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  84. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  85. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  86. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  87. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  88. package/dist/elements/FileManager/index.css +35 -52
  89. package/dist/elements/FileManager/index.d.ts +1 -1
  90. package/dist/elements/FileManager/index.d.ts.map +1 -1
  91. package/dist/elements/FileManager/index.js +385 -282
  92. package/dist/elements/FileManager/index.js.map +1 -1
  93. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  94. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  96. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  97. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  98. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  99. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  100. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  101. package/dist/elements/IDLabel/index.css +6 -0
  102. package/dist/elements/IDLabel/index.d.ts +1 -1
  103. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  104. package/dist/elements/IDLabel/index.js +16 -21
  105. package/dist/elements/IDLabel/index.js.map +1 -1
  106. package/dist/elements/InputStepper/index.css +0 -1
  107. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  108. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  109. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  110. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  111. package/dist/elements/Locked/index.css +0 -8
  112. package/dist/elements/Locked/index.d.ts.map +1 -1
  113. package/dist/elements/Locked/index.js +70 -64
  114. package/dist/elements/Locked/index.js.map +1 -1
  115. package/dist/elements/MiniCarousel/index.css +39 -37
  116. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  117. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  118. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  119. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  120. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  121. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  122. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  123. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  124. package/dist/elements/NavGroup/index.css +0 -1
  125. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  126. package/dist/elements/Popup/index.js +1 -1
  127. package/dist/elements/Popup/index.js.map +1 -1
  128. package/dist/elements/PreviewButton/index.d.ts +1 -2
  129. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  130. package/dist/elements/PreviewButton/index.js +11 -5
  131. package/dist/elements/PreviewButton/index.js.map +1 -1
  132. package/dist/elements/PreviewSizes/index.css +8 -9
  133. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  134. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  135. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  136. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  137. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  138. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  139. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  140. package/dist/elements/ReactSelect/index.css +0 -3
  141. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  142. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  143. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  144. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  145. package/dist/elements/RelationshipTable/index.css +0 -2
  146. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  147. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  148. package/dist/elements/RelationshipTable/index.js +41 -5
  149. package/dist/elements/RelationshipTable/index.js.map +1 -1
  150. package/dist/elements/RenderTitle/index.css +4 -0
  151. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  152. package/dist/elements/RenderTitle/index.js +18 -13
  153. package/dist/elements/RenderTitle/index.js.map +1 -1
  154. package/dist/elements/SelectRow/index.d.ts +4 -3
  155. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  156. package/dist/elements/SelectRow/index.js +10 -7
  157. package/dist/elements/SelectRow/index.js.map +1 -1
  158. package/dist/elements/SidebarToggle/index.css +0 -17
  159. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  160. package/dist/elements/SortColumn/index.js +42 -38
  161. package/dist/elements/SortColumn/index.js.map +1 -1
  162. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  163. package/dist/elements/SortHeader/index.js +29 -26
  164. package/dist/elements/SortHeader/index.js.map +1 -1
  165. package/dist/elements/StepNav/index.css +64 -14
  166. package/dist/elements/StepNav/index.d.ts.map +1 -1
  167. package/dist/elements/StepNav/index.js +143 -69
  168. package/dist/elements/StepNav/index.js.map +1 -1
  169. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  170. package/dist/elements/Table/DefaultCell/index.js +3 -11
  171. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  172. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  173. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  174. package/dist/elements/Table/OrderableRow.js +17 -1
  175. package/dist/elements/Table/OrderableRow.js.map +1 -1
  176. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  177. package/dist/elements/Table/OrderableTable.js +19 -2
  178. package/dist/elements/Table/OrderableTable.js.map +1 -1
  179. package/dist/elements/Table/index.css +1 -0
  180. package/dist/elements/TableSection/index.css +0 -1
  181. package/dist/elements/Thumbnail/index.d.ts +1 -1
  182. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  183. package/dist/elements/Thumbnail/index.js.map +1 -1
  184. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  185. package/dist/elements/TimezonePicker/index.js +5 -1
  186. package/dist/elements/TimezonePicker/index.js.map +1 -1
  187. package/dist/elements/Tooltip/index.css +15 -34
  188. package/dist/elements/Tooltip/index.d.ts +11 -3
  189. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  190. package/dist/elements/Tooltip/index.js +151 -85
  191. package/dist/elements/Tooltip/index.js.map +1 -1
  192. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  193. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  194. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  195. package/dist/elements/Upload/index.css +39 -37
  196. package/dist/elements/Upload/index.d.ts.map +1 -1
  197. package/dist/elements/Upload/index.js +37 -99
  198. package/dist/elements/Upload/index.js.map +1 -1
  199. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  200. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  201. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  202. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  203. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  204. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  205. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  206. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  207. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  208. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  209. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  210. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  211. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  212. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  213. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  214. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  215. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  216. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  217. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  218. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  219. package/dist/elements/WhereBuilder/index.js +15 -4
  220. package/dist/elements/WhereBuilder/index.js.map +1 -1
  221. package/dist/exports/client/index.d.ts +5 -1
  222. package/dist/exports/client/index.d.ts.map +1 -1
  223. package/dist/exports/client/index.js +1 -1
  224. package/dist/exports/client/index.js.map +3 -3
  225. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  226. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  227. package/dist/fields/Array/ArrayRow.js +99 -160
  228. package/dist/fields/Array/ArrayRow.js.map +1 -1
  229. package/dist/fields/Array/index.d.ts.map +1 -1
  230. package/dist/fields/Array/index.js +38 -10
  231. package/dist/fields/Array/index.js.map +1 -1
  232. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  233. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  234. package/dist/fields/Blocks/BlockRow.js +136 -195
  235. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  236. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  237. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  238. package/dist/fields/Blocks/RowActions.js +26 -20
  239. package/dist/fields/Blocks/RowActions.js.map +1 -1
  240. package/dist/fields/Blocks/index.d.ts.map +1 -1
  241. package/dist/fields/Blocks/index.js +38 -10
  242. package/dist/fields/Blocks/index.js.map +1 -1
  243. package/dist/fields/Checkbox/Input.d.ts +2 -0
  244. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  245. package/dist/fields/Checkbox/Input.js +32 -26
  246. package/dist/fields/Checkbox/Input.js.map +1 -1
  247. package/dist/fields/Checkbox/index.css +37 -73
  248. package/dist/fields/FieldError/index.css +0 -9
  249. package/dist/fields/FieldError/index.d.ts.map +1 -1
  250. package/dist/fields/FieldError/index.js +19 -9
  251. package/dist/fields/FieldError/index.js.map +1 -1
  252. package/dist/fields/Join/index.css +9 -0
  253. package/dist/fields/Join/index.d.ts.map +1 -1
  254. package/dist/fields/Join/index.js +13 -9
  255. package/dist/fields/Join/index.js.map +1 -1
  256. package/dist/fields/RadioGroup/index.css +0 -7
  257. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  258. package/dist/fields/Relationship/Input.js +32 -14
  259. package/dist/fields/Relationship/Input.js.map +1 -1
  260. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  261. package/dist/fields/Slug/index.css +0 -1
  262. package/dist/fields/Slug/index.d.ts.map +1 -1
  263. package/dist/fields/Slug/index.js +75 -111
  264. package/dist/fields/Slug/index.js.map +1 -1
  265. package/dist/fields/Upload/Input.d.ts.map +1 -1
  266. package/dist/fields/Upload/Input.js +26 -0
  267. package/dist/fields/Upload/Input.js.map +1 -1
  268. package/dist/fields/Upload/index.css +19 -4
  269. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  270. package/dist/forms/Form/fieldReducer.js +3 -1
  271. package/dist/forms/Form/fieldReducer.js.map +1 -1
  272. package/dist/forms/Form/index.d.ts.map +1 -1
  273. package/dist/forms/Form/index.js +12 -15
  274. package/dist/forms/Form/index.js.map +1 -1
  275. package/dist/forms/Form/types.d.ts +1 -1
  276. package/dist/forms/Form/types.d.ts.map +1 -1
  277. package/dist/forms/Form/types.js.map +1 -1
  278. package/dist/forms/RenderFields/index.css +16 -2
  279. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  280. package/dist/forms/WatchChildErrors/index.js +2 -2
  281. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  282. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  283. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  284. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  285. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  286. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  287. package/dist/icons/Edit/index.d.ts +0 -1
  288. package/dist/icons/Edit/index.d.ts.map +1 -1
  289. package/dist/icons/Edit/index.js +4 -4
  290. package/dist/icons/Edit/index.js.map +1 -1
  291. package/dist/layouts/Root/index.d.ts +1 -1
  292. package/dist/layouts/Root/index.d.ts.map +1 -1
  293. package/dist/layouts/Root/index.js +8 -2
  294. package/dist/layouts/Root/index.js.map +1 -1
  295. package/dist/providers/Actions/index.d.ts +1 -0
  296. package/dist/providers/Actions/index.d.ts.map +1 -1
  297. package/dist/providers/Actions/index.js +43 -11
  298. package/dist/providers/Actions/index.js.map +1 -1
  299. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  300. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  301. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  302. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  303. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  304. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  305. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  306. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  307. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  308. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  309. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  310. package/dist/providers/Auth/authSessionRequests.js +119 -0
  311. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  312. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  313. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  314. package/dist/providers/Auth/index.d.ts +2 -56
  315. package/dist/providers/Auth/index.d.ts.map +1 -1
  316. package/dist/providers/Auth/index.js +283 -135
  317. package/dist/providers/Auth/index.js.map +1 -1
  318. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  319. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  320. package/dist/providers/Auth/sessionActivity.js +49 -0
  321. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  322. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  323. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  324. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  325. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  326. package/dist/providers/Auth/sessionTiming.js +18 -0
  327. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  328. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  329. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  330. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  331. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  332. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  333. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  334. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  335. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  336. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  337. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  338. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  339. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  340. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  341. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  342. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  343. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  344. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  345. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  346. package/dist/providers/Auth/types.d.ts +65 -0
  347. package/dist/providers/Auth/types.d.ts.map +1 -0
  348. package/dist/providers/Auth/types.js +2 -0
  349. package/dist/providers/Auth/types.js.map +1 -0
  350. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  351. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  352. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  353. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  354. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  355. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  356. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  357. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  358. package/dist/providers/DocumentTitle/index.js +2 -0
  359. package/dist/providers/DocumentTitle/index.js.map +1 -1
  360. package/dist/providers/Embed/index.d.ts +24 -0
  361. package/dist/providers/Embed/index.d.ts.map +1 -0
  362. package/dist/providers/Embed/index.js +105 -0
  363. package/dist/providers/Embed/index.js.map +1 -0
  364. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  365. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  366. package/dist/providers/FormErrorHandler/index.js +6 -0
  367. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  368. package/dist/providers/Locale/index.d.ts.map +1 -1
  369. package/dist/providers/Locale/index.js +41 -36
  370. package/dist/providers/Locale/index.js.map +1 -1
  371. package/dist/providers/Root/index.d.ts +1 -0
  372. package/dist/providers/Root/index.d.ts.map +1 -1
  373. package/dist/providers/Root/index.js +37 -31
  374. package/dist/providers/Root/index.js.map +1 -1
  375. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  376. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  377. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  378. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  379. package/dist/providers/RouteTransition/index.d.ts +2 -0
  380. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  381. package/dist/providers/RouteTransition/index.js +42 -14
  382. package/dist/providers/RouteTransition/index.js.map +1 -1
  383. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  384. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  385. package/dist/providers/SidebarTabs/index.js.map +1 -1
  386. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  387. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  388. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  389. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  390. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  391. package/dist/providers/Theme/index.d.ts +3 -0
  392. package/dist/providers/Theme/index.d.ts.map +1 -1
  393. package/dist/providers/Theme/index.js +107 -95
  394. package/dist/providers/Theme/index.js.map +1 -1
  395. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  396. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  397. package/dist/providers/UploadHandlers/index.js +102 -42
  398. package/dist/providers/UploadHandlers/index.js.map +1 -1
  399. package/dist/styles.css +13 -10
  400. package/dist/templates/Default/index.d.ts +1 -0
  401. package/dist/templates/Default/index.d.ts.map +1 -1
  402. package/dist/templates/Default/index.js +2 -0
  403. package/dist/templates/Default/index.js.map +1 -1
  404. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  405. package/dist/utilities/combineFieldLabel.js +5 -1
  406. package/dist/utilities/combineFieldLabel.js.map +1 -1
  407. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  408. package/dist/utilities/formatMetadata.js +0 -5
  409. package/dist/utilities/formatMetadata.js.map +1 -1
  410. package/dist/utilities/generateFieldID.d.ts +1 -1
  411. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  412. package/dist/utilities/generateFieldID.js +2 -2
  413. package/dist/utilities/generateFieldID.js.map +1 -1
  414. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  415. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  416. package/dist/utilities/getFilesFromClipboard.js +49 -0
  417. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  418. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  419. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  420. package/dist/utilities/getRequestEmbed.js +10 -0
  421. package/dist/utilities/getRequestEmbed.js.map +1 -0
  422. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  423. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  424. package/dist/utilities/handleServerFunctions.js +17 -37
  425. package/dist/utilities/handleServerFunctions.js.map +1 -1
  426. package/dist/utilities/renderTable.d.ts.map +1 -1
  427. package/dist/utilities/renderTable.js +18 -2
  428. package/dist/utilities/renderTable.js.map +1 -1
  429. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  430. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  431. package/dist/utilities/serverFunctionRegistry.js +25 -7
  432. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  433. package/dist/utilities/slugify.d.ts.map +1 -1
  434. package/dist/utilities/slugify.js +50 -6
  435. package/dist/utilities/slugify.js.map +1 -1
  436. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  437. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  438. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  439. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  440. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  441. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  442. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  443. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  444. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  445. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  446. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  447. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  448. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  449. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  450. package/dist/views/Edit/index.css +61 -53
  451. package/dist/views/HierarchyList/index.css +1 -1
  452. package/dist/views/List/ListHeader/index.d.ts +1 -10
  453. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  454. package/dist/views/List/ListHeader/index.js +1 -3
  455. package/dist/views/List/ListHeader/index.js.map +1 -1
  456. package/dist/views/List/index.client.d.ts.map +1 -1
  457. package/dist/views/List/index.client.js +0 -14
  458. package/dist/views/List/index.client.js.map +1 -1
  459. package/dist/views/List/index.css +6 -1
  460. package/dist/views/List/index.d.ts.map +1 -1
  461. package/dist/views/List/index.js +4 -0
  462. package/dist/views/List/index.js.map +1 -1
  463. package/dist/views/Logout/index.d.ts.map +1 -1
  464. package/dist/views/Logout/index.js +11 -0
  465. package/dist/views/Logout/index.js.map +1 -1
  466. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  467. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  468. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  469. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  470. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  471. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  472. package/dist/views/Root/index.d.ts +12 -1
  473. package/dist/views/Root/index.d.ts.map +1 -1
  474. package/dist/views/Root/index.js +11 -3
  475. package/dist/views/Root/index.js.map +1 -1
  476. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  477. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  478. package/package.json +5 -10
  479. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  480. package/dist/scss/app.scss +0 -183
  481. package/dist/scss/colors.scss +0 -191
  482. package/dist/scss/custom.css +0 -1
  483. package/dist/scss/queries.scss +0 -27
  484. package/dist/scss/styles.scss +0 -9
  485. package/dist/scss/svg.scss +0 -10
  486. package/dist/scss/toastify.scss +0 -61
  487. package/dist/scss/vars.scss +0 -192
  488. package/dist/scss/z-index.scss +0 -9
@@ -46,7 +46,6 @@
46
46
  background: transparent;
47
47
  color: var(--color-icon-secondary);
48
48
  cursor: pointer;
49
- transition: color 100ms;
50
49
 
51
50
  &:hover {
52
51
  color: var(--color-icon);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Slug/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAgC,MAAM,OAAO,CAAA;AAepD,OAAO,aAAa,CAAA;AAIpB,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAwJD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Slug/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,OAAO,KAAgC,MAAM,OAAO,CAAA;AAiBpD,OAAO,aAAa,CAAA;AAIpB,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAuKD,eAAO,MAAM,SAAS,0BAAoC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
 
3
- import { c as _c } from "react/compiler-runtime";
4
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
4
  import { getTranslation } from '@payloadcms/translations';
6
5
  import React, { useCallback, useState } from 'react';
6
+ import { toast } from 'sonner';
7
7
  import { Button } from '../../elements/Button/index.js';
8
8
  import { FieldDescription } from '../../fields/FieldDescription/index.js';
9
9
  import { FieldError } from '../../fields/FieldError/index.js';
@@ -15,6 +15,7 @@ import { LockIcon } from '../../icons/Lock/index.js';
15
15
  import { LockOpenIcon } from '../../icons/LockOpen/index.js';
16
16
  import { RefreshIcon } from '../../icons/Refresh/index.js';
17
17
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
18
+ import { useLocale } from '../../providers/Locale/index.js';
18
19
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
19
20
  import { useTranslation } from '../../providers/Translation/index.js';
20
21
  import './index.css';
@@ -22,12 +23,10 @@ const baseClass = 'slug-field-component';
22
23
  /**
23
24
  * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.
24
25
  */
25
- const SlugFieldComponent = t0 => {
26
- const $ = _c(17);
27
- const {
28
- field,
29
- path
30
- } = t0;
26
+ const SlugFieldComponent = ({
27
+ field,
28
+ path
29
+ }) => {
31
30
  const {
32
31
  admin,
33
32
  label,
@@ -44,159 +43,124 @@ const SlugFieldComponent = t0 => {
44
43
  t
45
44
  } = useTranslation();
46
45
  const {
46
+ id,
47
47
  collectionSlug,
48
48
  globalSlug
49
49
  } = useDocumentInfo();
50
50
  const {
51
51
  slugify
52
52
  } = useServerFunctions();
53
- const t1 = path || field.name;
54
- let t2;
55
- if ($[0] !== t1) {
56
- t2 = {
57
- path: t1
58
- };
59
- $[0] = t1;
60
- $[1] = t2;
61
- } else {
62
- t2 = $[1];
63
- }
53
+ const {
54
+ code: locale
55
+ } = useLocale();
64
56
  const {
65
57
  path: fieldPath,
66
58
  setValue,
67
59
  showError,
68
60
  value
69
- } = useField(t2);
61
+ } = useField({
62
+ path: path || field.name
63
+ });
70
64
  const {
71
65
  getData,
72
66
  getDataByPath
73
67
  } = useForm();
74
68
  const [isLocked, setIsLocked] = useState(true);
75
- let t3;
76
- if ($[2] !== collectionSlug || $[3] !== fieldPath || $[4] !== getData || $[5] !== getDataByPath || $[6] !== globalSlug || $[7] !== setValue || $[8] !== slugify || $[9] !== useAsSlug || $[10] !== value) {
77
- t3 = async e => {
78
- e.preventDefault();
79
- const valueToSlugify = getDataByPath(useAsSlug);
80
- const formattedSlug = await slugify({
69
+ /**
70
+ * This method allows the user to generate their slug on demand, e.g. when they click the "generate" button.
71
+ * It uses the `slugify` server function to gain access to their custom slugify function defined in their field config.
72
+ */
73
+ const handleGenerate = useCallback(async e => {
74
+ e.preventDefault();
75
+ const valueToSlugify = useAsSlug ? getDataByPath(useAsSlug) : undefined;
76
+ let formattedSlug;
77
+ try {
78
+ formattedSlug = await slugify({
79
+ id: id ?? undefined,
81
80
  collectionSlug,
82
81
  data: getData(),
83
82
  globalSlug,
83
+ locale,
84
84
  path: fieldPath,
85
85
  valueToSlugify
86
86
  });
87
- if (formattedSlug === null || formattedSlug === undefined) {
88
- setValue("");
89
- return;
90
- }
91
- if (value !== formattedSlug) {
92
- setValue(formattedSlug);
93
- }
94
- };
95
- $[2] = collectionSlug;
96
- $[3] = fieldPath;
97
- $[4] = getData;
98
- $[5] = getDataByPath;
99
- $[6] = globalSlug;
100
- $[7] = setValue;
101
- $[8] = slugify;
102
- $[9] = useAsSlug;
103
- $[10] = value;
104
- $[11] = t3;
105
- } else {
106
- t3 = $[11];
107
- }
108
- const handleGenerate = t3;
109
- let t4;
110
- if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
111
- t4 = e_0 => {
112
- e_0.preventDefault();
113
- setIsLocked(_temp);
114
- };
115
- $[12] = t4;
116
- } else {
117
- t4 = $[12];
118
- }
119
- const toggleLock = t4;
120
- let t5;
121
- if ($[13] !== setValue) {
122
- t5 = e_1 => {
123
- setValue(e_1.target.value);
124
- };
125
- $[13] = setValue;
126
- $[14] = t5;
127
- } else {
128
- t5 = $[14];
129
- }
130
- const handleChange = t5;
87
+ } catch (_err) {
88
+ toast.error(t('error:unspecific'));
89
+ return;
90
+ }
91
+ // Empty only comes back for globals (no counter fallback) — keep the current value. For
92
+ // collections the server returns the `<singular>-N` fallback when there's no source.
93
+ if (formattedSlug === null || formattedSlug === undefined || formattedSlug === '') {
94
+ return;
95
+ }
96
+ /**
97
+ * The result may be the same as the current value, and if so, we don't want to trigger a re-render.
98
+ */
99
+ if (value !== formattedSlug) {
100
+ setValue(formattedSlug);
101
+ }
102
+ }, [setValue, value, useAsSlug, getData, slugify, getDataByPath, id, collectionSlug, globalSlug, locale, fieldPath, t]);
103
+ const toggleLock = useCallback(e_0 => {
104
+ e_0.preventDefault();
105
+ setIsLocked(prev => !prev);
106
+ }, []);
107
+ const handleChange = useCallback(e_1 => {
108
+ setValue(e_1.target.value);
109
+ }, [setValue]);
131
110
  const isReadOnly = Boolean(readOnlyFromProps || isLocked);
132
- const t6 = ["field-type", baseClass, showError && `${baseClass}--error`, isLocked && `${baseClass}--locked`, readOnlyFromProps && `${baseClass}--read-only`].filter(Boolean).join(" ");
133
- const t7 = _jsx(FieldLabel, {
134
- htmlFor: `field-${fieldPath}`,
135
- label,
136
- required
137
- });
138
- const t8 = _jsx(FieldError, {
139
- path: fieldPath,
140
- showError
141
- });
142
- const t9 = showError && "form-input-group-error";
143
- let t10;
144
- if ($[15] !== t9) {
145
- t10 = ["form-input-group", `${baseClass}__input-container`, t9].filter(Boolean);
146
- $[15] = t9;
147
- $[16] = t10;
148
- } else {
149
- t10 = $[16];
150
- }
151
- return _jsxs("div", {
152
- className: t6,
153
- children: [t7, _jsxs("div", {
111
+ return /*#__PURE__*/_jsxs("div", {
112
+ className: ['field-type', baseClass, showError && `${baseClass}--error`, isLocked && `${baseClass}--locked`, readOnlyFromProps && `${baseClass}--read-only`].filter(Boolean).join(' '),
113
+ children: [/*#__PURE__*/_jsx(FieldLabel, {
114
+ htmlFor: `field-${fieldPath}`,
115
+ label: label,
116
+ required: required
117
+ }), /*#__PURE__*/_jsxs("div", {
154
118
  className: `${baseClass}__wrap`,
155
- children: [t8, _jsxs("div", {
156
- className: t10.join(" "),
157
- children: [_jsx("input", {
119
+ children: [/*#__PURE__*/_jsx(FieldError, {
120
+ path: fieldPath,
121
+ showError: showError
122
+ }), /*#__PURE__*/_jsxs("div", {
123
+ className: ['form-input-group', `${baseClass}__input-container`, showError && 'form-input-group-error'].filter(Boolean).join(' '),
124
+ children: [/*#__PURE__*/_jsx("input", {
158
125
  "aria-label": getTranslation(label, i18n) || path,
159
126
  className: `form-input ${baseClass}__input`,
160
127
  disabled: isReadOnly,
161
- id: `field-${fieldPath?.replace(/\./g, "__")}`,
128
+ id: `field-${fieldPath?.replace(/\./g, '__')}`,
162
129
  name: fieldPath,
163
130
  onChange: handleChange,
164
131
  placeholder: getTranslation(placeholder, i18n),
165
132
  type: "text",
166
- value: value || ""
167
- }), !readOnlyFromProps && _jsxs("div", {
133
+ value: value || ''
134
+ }), !readOnlyFromProps && /*#__PURE__*/_jsxs("div", {
168
135
  className: `${baseClass}__actions`,
169
- children: [!isLocked && _jsx(Button, {
170
- "aria-label": t("authentication:generate"),
136
+ children: [!isLocked && /*#__PURE__*/_jsx(Button, {
137
+ "aria-label": t('authentication:generate'),
171
138
  buttonStyle: "ghost",
172
139
  className: `${baseClass}__action-btn`,
173
- icon: _jsx(RefreshIcon, {}),
174
- id: `field-${fieldPath?.replace(/\./g, "__")}-generate`,
140
+ icon: /*#__PURE__*/_jsx(RefreshIcon, {}),
141
+ id: `field-${fieldPath?.replace(/\./g, '__')}-generate`,
175
142
  margin: false,
176
143
  onClick: handleGenerate
177
- }), _jsx(Button, {
178
- "aria-label": isLocked ? t("general:unlock") : t("general:lock"),
144
+ }), /*#__PURE__*/_jsx(Button, {
145
+ "aria-label": isLocked ? t('general:unlock') : t('general:lock'),
179
146
  buttonStyle: "ghost",
180
147
  className: `${baseClass}__action-btn`,
181
- icon: isLocked ? _jsx(LockIcon, {
148
+ icon: isLocked ? /*#__PURE__*/_jsx(LockIcon, {
182
149
  size: 16
183
- }) : _jsx(LockOpenIcon, {
150
+ }) : /*#__PURE__*/_jsx(LockOpenIcon, {
184
151
  size: 16
185
152
  }),
186
- id: `field-${fieldPath?.replace(/\./g, "__")}-lock`,
153
+ id: `field-${fieldPath?.replace(/\./g, '__')}-lock`,
187
154
  margin: false,
188
155
  onClick: toggleLock
189
156
  })]
190
157
  })]
191
- }), _jsx(FieldDescription, {
192
- description,
158
+ }), /*#__PURE__*/_jsx(FieldDescription, {
159
+ description: description,
193
160
  path: fieldPath
194
161
  })]
195
162
  })]
196
163
  });
197
164
  };
198
165
  export const SlugField = withCondition(SlugFieldComponent);
199
- function _temp(prev) {
200
- return !prev;
201
- }
202
166
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","useState","Button","FieldDescription","FieldError","FieldLabel","useForm","useField","withCondition","LockIcon","LockOpenIcon","RefreshIcon","useDocumentInfo","useServerFunctions","useTranslation","baseClass","SlugFieldComponent","t0","$","field","path","admin","label","required","useAsSlug","description","placeholder","readOnly","readOnlyFromProps","i18n","t","collectionSlug","globalSlug","slugify","t1","name","t2","fieldPath","setValue","showError","value","getData","getDataByPath","isLocked","setIsLocked","t3","e","preventDefault","valueToSlugify","formattedSlug","data","undefined","handleGenerate","t4","Symbol","for","e_0","_temp","toggleLock","t5","e_1","target","handleChange","isReadOnly","Boolean","t6","filter","join","t7","_jsx","htmlFor","t8","t9","t10","_jsxs","className","children","disabled","id","replace","onChange","type","buttonStyle","icon","margin","onClick","size","SlugField","prev"],"sources":["../../../src/fields/Slug/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SlugFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useState } from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { LockIcon } from '../../icons/Lock/index.js'\nimport { LockOpenIcon } from '../../icons/LockOpen/index.js'\nimport { RefreshIcon } from '../../icons/Refresh/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'slug-field-component'\n\ntype SlugFieldProps = {\n readonly field: SlugFieldClient\n readonly path?: string\n}\n\n/**\n * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.\n */\nconst SlugFieldComponent: React.FC<SlugFieldProps> = ({ field, path }) => {\n const { admin, label, required, useAsSlug } = field\n const { description, placeholder, readOnly: readOnlyFromProps } = admin || {}\n\n const { i18n, t } = useTranslation()\n\n const { collectionSlug, globalSlug } = useDocumentInfo()\n\n const { slugify } = useServerFunctions()\n\n const {\n path: fieldPath,\n setValue,\n showError,\n value,\n } = useField<string>({ path: path || field.name })\n\n const { getData, getDataByPath } = useForm()\n\n const [isLocked, setIsLocked] = useState(true)\n\n /**\n * This method allows the user to generate their slug on demand, e.g. when they click the \"generate\" button.\n * It uses the `slugify` server function to gain access to their custom slugify function defined in their field config.\n */\n const handleGenerate = useCallback(\n async (e: React.MouseEvent<Element>) => {\n e.preventDefault()\n\n const valueToSlugify = getDataByPath(useAsSlug)\n\n const formattedSlug = await slugify({\n collectionSlug,\n data: getData(),\n globalSlug,\n path: fieldPath,\n valueToSlugify,\n })\n\n if (formattedSlug === null || formattedSlug === undefined) {\n setValue('')\n return\n }\n\n /**\n * The result may be the same as the current value, and if so, we don't want to trigger a re-render.\n */\n if (value !== formattedSlug) {\n setValue(formattedSlug)\n }\n },\n [\n setValue,\n value,\n useAsSlug,\n getData,\n slugify,\n getDataByPath,\n collectionSlug,\n globalSlug,\n fieldPath,\n ],\n )\n\n const toggleLock = useCallback((e: React.MouseEvent<Element>) => {\n e.preventDefault()\n setIsLocked((prev) => !prev)\n }, [])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value)\n },\n [setValue],\n )\n\n const isReadOnly = Boolean(readOnlyFromProps || isLocked)\n\n return (\n <div\n className={[\n 'field-type',\n baseClass,\n showError && `${baseClass}--error`,\n isLocked && `${baseClass}--locked`,\n readOnlyFromProps && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <FieldLabel htmlFor={`field-${fieldPath}`} label={label} required={required} />\n <div className={`${baseClass}__wrap`}>\n <FieldError path={fieldPath} showError={showError} />\n\n <div\n className={[\n 'form-input-group',\n `${baseClass}__input-container`,\n showError && 'form-input-group-error',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <input\n aria-label={getTranslation(label, i18n) || path}\n className={`form-input ${baseClass}__input`}\n disabled={isReadOnly}\n id={`field-${fieldPath?.replace(/\\./g, '__')}`}\n name={fieldPath}\n onChange={handleChange}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"text\"\n value={value || ''}\n />\n\n {!readOnlyFromProps && (\n <div className={`${baseClass}__actions`}>\n {!isLocked && (\n <Button\n aria-label={t('authentication:generate')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__action-btn`}\n icon={<RefreshIcon />}\n id={`field-${fieldPath?.replace(/\\./g, '__')}-generate`}\n margin={false}\n onClick={handleGenerate}\n />\n )}\n <Button\n aria-label={isLocked ? t('general:unlock') : t('general:lock')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__action-btn`}\n icon={isLocked ? <LockIcon size={16} /> : <LockOpenIcon size={16} />}\n id={`field-${fieldPath?.replace(/\\./g, '__')}-lock`}\n margin={false}\n onClick={toggleLock}\n />\n </div>\n )}\n </div>\n\n <FieldDescription description={description} path={fieldPath} />\n </div>\n </div>\n )\n}\n\nexport const SlugField = withCondition(SlugFieldComponent)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","React","useCallback","useState","toast","Button","FieldDescription","FieldError","FieldLabel","useForm","useField","withCondition","LockIcon","LockOpenIcon","RefreshIcon","useDocumentInfo","useLocale","useServerFunctions","useTranslation","baseClass","SlugFieldComponent","field","path","admin","label","required","useAsSlug","description","placeholder","readOnly","readOnlyFromProps","i18n","t","id","collectionSlug","globalSlug","slugify","code","locale","fieldPath","setValue","showError","value","name","getData","getDataByPath","isLocked","setIsLocked","handleGenerate","e","preventDefault","valueToSlugify","undefined","formattedSlug","data","_err","error","toggleLock","prev","handleChange","target","isReadOnly","Boolean","_jsxs","className","filter","join","_jsx","htmlFor","disabled","replace","onChange","type","buttonStyle","icon","margin","onClick","size","SlugField"],"sources":["../../../src/fields/Slug/index.tsx"],"sourcesContent":["'use client'\n\nimport type { SlugFieldClient } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { FieldDescription } from '../../fields/FieldDescription/index.js'\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { LockIcon } from '../../icons/Lock/index.js'\nimport { LockOpenIcon } from '../../icons/LockOpen/index.js'\nimport { RefreshIcon } from '../../icons/Refresh/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.css'\n\nconst baseClass = 'slug-field-component'\n\ntype SlugFieldProps = {\n readonly field: SlugFieldClient\n readonly path?: string\n}\n\n/**\n * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.\n */\nconst SlugFieldComponent: React.FC<SlugFieldProps> = ({ field, path }) => {\n const { admin, label, required, useAsSlug } = field\n const { description, placeholder, readOnly: readOnlyFromProps } = admin || {}\n\n const { i18n, t } = useTranslation()\n\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n const { slugify } = useServerFunctions()\n\n const { code: locale } = useLocale()\n\n const {\n path: fieldPath,\n setValue,\n showError,\n value,\n } = useField<string>({ path: path || field.name })\n\n const { getData, getDataByPath } = useForm()\n\n const [isLocked, setIsLocked] = useState(true)\n\n /**\n * This method allows the user to generate their slug on demand, e.g. when they click the \"generate\" button.\n * It uses the `slugify` server function to gain access to their custom slugify function defined in their field config.\n */\n const handleGenerate = useCallback(\n async (e: React.MouseEvent<Element>) => {\n e.preventDefault()\n\n const valueToSlugify = useAsSlug ? getDataByPath(useAsSlug) : undefined\n\n let formattedSlug: null | string | undefined\n\n try {\n formattedSlug = await slugify({\n id: id ?? undefined,\n collectionSlug,\n data: getData(),\n globalSlug,\n locale,\n path: fieldPath,\n valueToSlugify,\n })\n } catch (_err) {\n toast.error(t('error:unspecific'))\n return\n }\n\n // Empty only comes back for globals (no counter fallback) — keep the current value. For\n // collections the server returns the `<singular>-N` fallback when there's no source.\n if (formattedSlug === null || formattedSlug === undefined || formattedSlug === '') {\n return\n }\n\n /**\n * The result may be the same as the current value, and if so, we don't want to trigger a re-render.\n */\n if (value !== formattedSlug) {\n setValue(formattedSlug)\n }\n },\n [\n setValue,\n value,\n useAsSlug,\n getData,\n slugify,\n getDataByPath,\n id,\n collectionSlug,\n globalSlug,\n locale,\n fieldPath,\n t,\n ],\n )\n\n const toggleLock = useCallback((e: React.MouseEvent<Element>) => {\n e.preventDefault()\n setIsLocked((prev) => !prev)\n }, [])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value)\n },\n [setValue],\n )\n\n const isReadOnly = Boolean(readOnlyFromProps || isLocked)\n\n return (\n <div\n className={[\n 'field-type',\n baseClass,\n showError && `${baseClass}--error`,\n isLocked && `${baseClass}--locked`,\n readOnlyFromProps && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <FieldLabel htmlFor={`field-${fieldPath}`} label={label} required={required} />\n <div className={`${baseClass}__wrap`}>\n <FieldError path={fieldPath} showError={showError} />\n\n <div\n className={[\n 'form-input-group',\n `${baseClass}__input-container`,\n showError && 'form-input-group-error',\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <input\n aria-label={getTranslation(label, i18n) || path}\n className={`form-input ${baseClass}__input`}\n disabled={isReadOnly}\n id={`field-${fieldPath?.replace(/\\./g, '__')}`}\n name={fieldPath}\n onChange={handleChange}\n placeholder={getTranslation(placeholder, i18n)}\n type=\"text\"\n value={value || ''}\n />\n\n {!readOnlyFromProps && (\n <div className={`${baseClass}__actions`}>\n {!isLocked && (\n <Button\n aria-label={t('authentication:generate')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__action-btn`}\n icon={<RefreshIcon />}\n id={`field-${fieldPath?.replace(/\\./g, '__')}-generate`}\n margin={false}\n onClick={handleGenerate}\n />\n )}\n <Button\n aria-label={isLocked ? t('general:unlock') : t('general:lock')}\n buttonStyle=\"ghost\"\n className={`${baseClass}__action-btn`}\n icon={isLocked ? <LockIcon size={16} /> : <LockOpenIcon size={16} />}\n id={`field-${fieldPath?.replace(/\\./g, '__')}-lock`}\n margin={false}\n onClick={toggleLock}\n />\n </div>\n )}\n </div>\n\n <FieldDescription description={description} path={fieldPath} />\n </div>\n </div>\n )\n}\n\nexport const SlugField = withCondition(SlugFieldComponent)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAC9B,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAqB9D,OAAO,aAAa,CAAA;AAGpB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;CACjG,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBA0sBlD"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,WAAW,IAAI,eAAe,EAC9B,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAKjD,OAAO,KAA0C,MAAM,OAAO,CAAA;AAuB9D,OAAO,aAAa,CAAA;AAGpB,eAAO,MAAM,SAAS,WAAW,CAAA;AAIjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IAC5C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAA;IACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAA,KAAK,IAAI,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,CAAA;CACjG,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,qBAsuBlD"}
@@ -5,6 +5,7 @@ import { useModal } from '@faceless-ui/modal';
5
5
  import { formatAdminURL } from 'payload/shared';
6
6
  import * as qs from 'qs-esm';
7
7
  import React, { useCallback, useEffect, useMemo } from 'react';
8
+ import { toast } from 'sonner';
8
9
  import { useBulkUpload } from '../../elements/BulkUpload/index.js';
9
10
  import { Button } from '../../elements/Button/index.js';
10
11
  import { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js';
@@ -18,6 +19,7 @@ import { FieldLabel } from '../../fields/FieldLabel/index.js';
18
19
  import { useAuth } from '../../providers/Auth/index.js';
19
20
  import { useLocale } from '../../providers/Locale/index.js';
20
21
  import { useTranslation } from '../../providers/Translation/index.js';
22
+ import { getFilesFromClipboard } from '../../utilities/getFilesFromClipboard.js';
21
23
  import { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js';
22
24
  import { fieldBaseClass } from '../shared/index.js';
23
25
  import { UploadComponentHasMany } from './HasMany/index.js';
@@ -298,6 +300,18 @@ export function UploadInput(props) {
298
300
  }
299
301
  openModal(drawerSlug);
300
302
  }, [hasMany, relationTo, activeRelationTo, setCollectionSlug, collectionSlugsWithCreatePermission, maxRows, openModal, drawerSlug, setInitialFiles, setSelectableCollections, setMaxFiles]);
303
+ const handlePasteFromClipboard = useCallback(async () => {
304
+ try {
305
+ const files = await getFilesFromClipboard();
306
+ if (!files) {
307
+ toast.error(t('error:noFileFoundInClipboard'));
308
+ return;
309
+ }
310
+ onLocalFileSelection(files);
311
+ } catch (_err) {
312
+ toast.error(t('error:unableToReadClipboard'));
313
+ }
314
+ }, [onLocalFileSelection, t]);
301
315
  // only hasMany can bulk select
302
316
  const onListBulkSelect = React.useCallback(async (docs_0, collectionSlug) => {
303
317
  const isPoly_1 = Array.isArray(relationTo);
@@ -579,6 +593,18 @@ export function UploadInput(props) {
579
593
  onClick: openListDrawer,
580
594
  size: "medium",
581
595
  children: t('fields:chooseFromExisting')
596
+ }), canCreate && !readOnly && /*#__PURE__*/_jsxs(_Fragment, {
597
+ children: [/*#__PURE__*/_jsx("span", {
598
+ className: `${baseClass}__dropzoneContent__orText`,
599
+ children: t('general:or')
600
+ }), /*#__PURE__*/_jsx(Button, {
601
+ buttonStyle: "secondary",
602
+ className: `${baseClass}__pasteFromClipboard`,
603
+ icon: "clipboard",
604
+ onClick: handlePasteFromClipboard,
605
+ size: "medium",
606
+ tooltip: t('upload:pasteFromClipboard')
607
+ })]
582
608
  }), /*#__PURE__*/_jsx(CreateDocDrawer, {
583
609
  onSave: onDocCreate
584
610
  }), /*#__PURE__*/_jsx(ListDrawer, {