@payloadcms/ui 4.0.0-internal.add4c47 → 4.0.0-internal.af6aad0

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 (717) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +10 -3
  4. package/dist/css/z-index.css +1 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -5
  6. package/dist/elements/AddNewRelation/index.js +2 -2
  7. package/dist/elements/AddNewRelation/index.js.map +1 -1
  8. package/dist/elements/AppHeader/index.css +5 -3
  9. package/dist/elements/AppHeader/index.d.ts +1 -8
  10. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  11. package/dist/elements/AppHeader/index.js +8 -13
  12. package/dist/elements/AppHeader/index.js.map +1 -1
  13. package/dist/elements/ArrayAction/index.d.ts +1 -0
  14. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  15. package/dist/elements/ArrayAction/index.js +45 -32
  16. package/dist/elements/ArrayAction/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.css +10 -4
  18. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/AddFilesView/index.js +71 -51
  20. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  22. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  23. package/dist/elements/Button/index.css +25 -2
  24. package/dist/elements/Button/index.d.ts.map +1 -1
  25. package/dist/elements/Button/index.js +2 -0
  26. package/dist/elements/Button/index.js.map +1 -1
  27. package/dist/elements/Button/types.d.ts +1 -1
  28. package/dist/elements/Button/types.d.ts.map +1 -1
  29. package/dist/elements/Button/types.js.map +1 -1
  30. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  31. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  32. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +65 -3
  33. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  34. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +345 -1
  35. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +1 -1
  36. package/dist/elements/CodeEditor/index.css +0 -5
  37. package/dist/elements/CommandPalette/index.css +0 -7
  38. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  39. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  40. package/dist/elements/CopyToClipboard/index.js +10 -8
  41. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  42. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  43. package/dist/elements/CreateDocumentButton/index.js +4 -1
  44. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  45. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  46. package/dist/elements/DatePicker/DatePicker.js +1 -0
  47. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  48. package/dist/elements/DatePicker/index.css +1 -1
  49. package/dist/elements/DefaultListViewTabs/index.css +1 -0
  50. package/dist/elements/DefaultListViewTabs/index.d.ts.map +1 -1
  51. package/dist/elements/DefaultListViewTabs/index.js +84 -62
  52. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  53. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  54. package/dist/elements/DeleteDocument/index.js +16 -1
  55. package/dist/elements/DeleteDocument/index.js.map +1 -1
  56. package/dist/elements/DocumentDrawer/types.d.ts +1 -1
  57. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  58. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  59. package/dist/elements/Drawer/index.css +10 -4
  60. package/dist/elements/Drawer/types.d.ts +2 -2
  61. package/dist/elements/Drawer/types.d.ts.map +1 -1
  62. package/dist/elements/Drawer/types.js.map +1 -1
  63. package/dist/elements/Dropzone/index.css +10 -4
  64. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  65. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  66. package/dist/elements/EditMany/DrawerContent.js +2 -2
  67. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  68. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  69. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  70. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  71. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  72. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  73. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  74. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  75. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  76. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  77. package/dist/elements/FileManager/index.css +0 -30
  78. package/dist/elements/FileManager/index.d.ts.map +1 -1
  79. package/dist/elements/FileManager/index.js +380 -287
  80. package/dist/elements/FileManager/index.js.map +1 -1
  81. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +22 -4
  82. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  83. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +68 -49
  84. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  85. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +100 -16
  86. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  87. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +97 -137
  88. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  89. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts +1 -1
  90. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  91. package/dist/elements/Hierarchy/ColumnBrowser/index.js +51 -23
  92. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  93. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts +26 -3
  94. package/dist/elements/Hierarchy/ColumnBrowser/types.d.ts.map +1 -1
  95. package/dist/elements/Hierarchy/ColumnBrowser/types.js.map +1 -1
  96. package/dist/elements/Hierarchy/CreateNewButton/index.css +9 -0
  97. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts +9 -0
  98. package/dist/elements/Hierarchy/CreateNewButton/index.d.ts.map +1 -0
  99. package/dist/elements/Hierarchy/CreateNewButton/index.js +111 -0
  100. package/dist/elements/Hierarchy/CreateNewButton/index.js.map +1 -0
  101. package/dist/elements/Hierarchy/DocHeaderButton/index.d.ts.map +1 -1
  102. package/dist/elements/Hierarchy/DocHeaderButton/index.js +6 -1
  103. package/dist/elements/Hierarchy/DocHeaderButton/index.js.map +1 -1
  104. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js +1 -3
  105. package/dist/elements/Hierarchy/DocHeaderButton/index.server.js.map +1 -1
  106. package/dist/elements/Hierarchy/Field/index.client.d.ts +5 -0
  107. package/dist/elements/Hierarchy/Field/index.client.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/Field/index.client.js +120 -95
  109. package/dist/elements/Hierarchy/Field/index.client.js.map +1 -1
  110. package/dist/elements/Hierarchy/Field/index.css +3 -34
  111. package/dist/elements/Hierarchy/Modal/Footer/index.css +45 -0
  112. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts +28 -0
  113. package/dist/elements/Hierarchy/Modal/Footer/index.d.ts.map +1 -0
  114. package/dist/elements/Hierarchy/Modal/Footer/index.js +166 -0
  115. package/dist/elements/Hierarchy/Modal/Footer/index.js.map +1 -0
  116. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +18 -4
  117. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  118. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +88 -24
  119. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  120. package/dist/elements/Hierarchy/Modal/index.css +4 -53
  121. package/dist/elements/Hierarchy/Modal/index.d.ts +5 -2
  122. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  123. package/dist/elements/Hierarchy/Modal/index.js +136 -99
  124. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  125. package/dist/elements/Hierarchy/Modal/types.d.ts +15 -0
  126. package/dist/elements/Hierarchy/Modal/types.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Modal/types.js.map +1 -1
  128. package/dist/elements/Hierarchy/MoveMany/index.d.ts +7 -3
  129. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  130. package/dist/elements/Hierarchy/MoveMany/index.js +43 -170
  131. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  132. package/dist/elements/Hierarchy/Search/index.css +2 -9
  133. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  134. package/dist/elements/Hierarchy/Search/index.js +6 -73
  135. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  136. package/dist/elements/Hierarchy/Search/types.d.ts +2 -6
  137. package/dist/elements/Hierarchy/Search/types.d.ts.map +1 -1
  138. package/dist/elements/Hierarchy/Search/types.js.map +1 -1
  139. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts +0 -4
  140. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  141. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +101 -166
  142. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  143. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  144. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +3 -21
  145. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  146. package/dist/elements/Hierarchy/Tree/LoadMore/index.css +3 -3
  147. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +59 -30
  148. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts +1 -1
  149. package/dist/elements/Hierarchy/Tree/TreeNode/index.d.ts.map +1 -1
  150. package/dist/elements/Hierarchy/Tree/TreeNode/index.js +54 -10
  151. package/dist/elements/Hierarchy/Tree/TreeNode/index.js.map +1 -1
  152. package/dist/elements/Hierarchy/Tree/index.css +8 -9
  153. package/dist/elements/Hierarchy/Tree/index.d.ts.map +1 -1
  154. package/dist/elements/Hierarchy/Tree/index.js +29 -47
  155. package/dist/elements/Hierarchy/Tree/index.js.map +1 -1
  156. package/dist/elements/Hierarchy/Tree/types.d.ts +9 -1
  157. package/dist/elements/Hierarchy/Tree/types.d.ts.map +1 -1
  158. package/dist/elements/Hierarchy/Tree/types.js.map +1 -1
  159. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  160. package/dist/elements/Hierarchy/Tree/useChildren.js +11 -1
  161. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  162. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts +22 -0
  163. package/dist/elements/Hierarchy/getFolderHierarchySlug.d.ts.map +1 -0
  164. package/dist/elements/Hierarchy/getFolderHierarchySlug.js +17 -0
  165. package/dist/elements/Hierarchy/getFolderHierarchySlug.js.map +1 -0
  166. package/dist/elements/Hierarchy/move/moveDocuments.d.ts +34 -0
  167. package/dist/elements/Hierarchy/move/moveDocuments.d.ts.map +1 -0
  168. package/dist/elements/Hierarchy/move/moveDocuments.js +94 -0
  169. package/dist/elements/Hierarchy/move/moveDocuments.js.map +1 -0
  170. package/dist/elements/IDLabel/index.css +6 -0
  171. package/dist/elements/IDLabel/index.d.ts +1 -1
  172. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  173. package/dist/elements/IDLabel/index.js +16 -21
  174. package/dist/elements/IDLabel/index.js.map +1 -1
  175. package/dist/elements/InputStepper/index.css +0 -1
  176. package/dist/elements/ListControls/index.d.ts.map +1 -1
  177. package/dist/elements/ListControls/index.js +3 -2
  178. package/dist/elements/ListControls/index.js.map +1 -1
  179. package/dist/elements/ListControls/types.d.ts +4 -0
  180. package/dist/elements/ListControls/types.d.ts.map +1 -1
  181. package/dist/elements/ListControls/types.js.map +1 -1
  182. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  183. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  184. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  185. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  186. package/dist/elements/Locked/index.css +0 -8
  187. package/dist/elements/Locked/index.d.ts.map +1 -1
  188. package/dist/elements/Locked/index.js +70 -64
  189. package/dist/elements/Locked/index.js.map +1 -1
  190. package/dist/elements/Nav/NavSidebarToggle/index.js +1 -1
  191. package/dist/elements/Nav/NavSidebarToggle/index.js.map +1 -1
  192. package/dist/elements/Nav/NavWrapper/index.d.ts +1 -0
  193. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
  194. package/dist/elements/Nav/NavWrapper/index.js +12 -18
  195. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  196. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  197. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  198. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  199. package/dist/elements/Nav/SidebarTabs/index.css +1 -7
  200. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  201. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  202. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  203. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  204. package/dist/elements/Nav/context.d.ts +0 -1
  205. package/dist/elements/Nav/context.d.ts.map +1 -1
  206. package/dist/elements/Nav/context.js +92 -67
  207. package/dist/elements/Nav/context.js.map +1 -1
  208. package/dist/elements/Nav/index.css +47 -42
  209. package/dist/elements/Nav/index.d.ts +4 -0
  210. package/dist/elements/Nav/index.d.ts.map +1 -1
  211. package/dist/elements/Nav/index.js +16 -1
  212. package/dist/elements/Nav/index.js.map +1 -1
  213. package/dist/elements/NavGroup/index.css +29 -16
  214. package/dist/elements/Popup/PopupButtonList/index.css +33 -17
  215. package/dist/elements/Popup/index.css +6 -0
  216. package/dist/elements/Popup/index.d.ts +10 -0
  217. package/dist/elements/Popup/index.d.ts.map +1 -1
  218. package/dist/elements/Popup/index.js +13 -6
  219. package/dist/elements/Popup/index.js.map +1 -1
  220. package/dist/elements/PreviewButton/index.d.ts +1 -2
  221. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  222. package/dist/elements/PreviewButton/index.js +11 -5
  223. package/dist/elements/PreviewButton/index.js.map +1 -1
  224. package/dist/elements/PreviewSizes/index.css +8 -9
  225. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  226. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  227. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  228. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  229. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  230. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  231. package/dist/elements/ReactSelect/index.css +0 -3
  232. package/dist/elements/ReactSelect/types.d.ts +5 -0
  233. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  234. package/dist/elements/ReactSelect/types.js.map +1 -1
  235. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  236. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  237. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  238. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  239. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  240. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  241. package/dist/elements/RelationshipTable/index.js +41 -5
  242. package/dist/elements/RelationshipTable/index.js.map +1 -1
  243. package/dist/elements/RenderTitle/index.css +4 -0
  244. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  245. package/dist/elements/RenderTitle/index.js +18 -13
  246. package/dist/elements/RenderTitle/index.js.map +1 -1
  247. package/dist/elements/SegmentedControl/index.css +58 -0
  248. package/dist/elements/SegmentedControl/index.d.ts +19 -0
  249. package/dist/elements/SegmentedControl/index.d.ts.map +1 -0
  250. package/dist/elements/SegmentedControl/index.js +104 -0
  251. package/dist/elements/SegmentedControl/index.js.map +1 -0
  252. package/dist/elements/SelectAll/index.d.ts.map +1 -1
  253. package/dist/elements/SelectAll/index.js +1 -2
  254. package/dist/elements/SelectAll/index.js.map +1 -1
  255. package/dist/elements/SelectRow/index.d.ts +4 -3
  256. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  257. package/dist/elements/SelectRow/index.js +11 -9
  258. package/dist/elements/SelectRow/index.js.map +1 -1
  259. package/dist/elements/SidebarRow/index.css +1 -5
  260. package/dist/elements/SidebarToggle/index.css +3 -18
  261. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  262. package/dist/elements/SortColumn/index.js +42 -38
  263. package/dist/elements/SortColumn/index.js.map +1 -1
  264. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  265. package/dist/elements/SortHeader/index.js +29 -26
  266. package/dist/elements/SortHeader/index.js.map +1 -1
  267. package/dist/elements/StepNav/DropTarget/index.css +20 -0
  268. package/dist/elements/StepNav/DropTarget/index.d.ts +16 -0
  269. package/dist/elements/StepNav/DropTarget/index.d.ts.map +1 -0
  270. package/dist/elements/StepNav/DropTarget/index.js +71 -0
  271. package/dist/elements/StepNav/DropTarget/index.js.map +1 -0
  272. package/dist/elements/StepNav/index.css +64 -14
  273. package/dist/elements/StepNav/index.d.ts.map +1 -1
  274. package/dist/elements/StepNav/index.js +147 -69
  275. package/dist/elements/StepNav/index.js.map +1 -1
  276. package/dist/elements/StepNav/types.d.ts +6 -0
  277. package/dist/elements/StepNav/types.d.ts.map +1 -1
  278. package/dist/elements/StepNav/types.js.map +1 -1
  279. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.css +5 -7
  280. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.d.ts.map +1 -1
  281. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js +14 -3
  282. package/dist/elements/Table/DefaultCell/fields/Hierarchy/index.js.map +1 -1
  283. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  284. package/dist/elements/Table/DefaultCell/index.js +3 -11
  285. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  286. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  287. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  288. package/dist/elements/Table/OrderableRow.js +17 -1
  289. package/dist/elements/Table/OrderableRow.js.map +1 -1
  290. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  291. package/dist/elements/Table/OrderableTable.js +19 -2
  292. package/dist/elements/Table/OrderableTable.js.map +1 -1
  293. package/dist/elements/TableSection/index.css +0 -1
  294. package/dist/elements/Tooltip/index.css +15 -34
  295. package/dist/elements/Tooltip/index.d.ts +11 -3
  296. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  297. package/dist/elements/Tooltip/index.js +151 -85
  298. package/dist/elements/Tooltip/index.js.map +1 -1
  299. package/dist/elements/Upload/UploadFromURLModal/index.d.ts +1 -1
  300. package/dist/elements/Upload/UploadFromURLModal/index.d.ts.map +1 -1
  301. package/dist/elements/Upload/UploadFromURLModal/index.js.map +1 -1
  302. package/dist/elements/Upload/index.css +39 -37
  303. package/dist/elements/Upload/index.d.ts.map +1 -1
  304. package/dist/elements/Upload/index.js +37 -99
  305. package/dist/elements/Upload/index.js.map +1 -1
  306. package/dist/elements/Upload/usePasteFromClipboard.d.ts +14 -0
  307. package/dist/elements/Upload/usePasteFromClipboard.d.ts.map +1 -0
  308. package/dist/elements/Upload/usePasteFromClipboard.js +93 -0
  309. package/dist/elements/Upload/usePasteFromClipboard.js.map +1 -0
  310. package/dist/elements/Upload/useUploadFromUrl.d.ts +20 -0
  311. package/dist/elements/Upload/useUploadFromUrl.d.ts.map +1 -0
  312. package/dist/elements/Upload/useUploadFromUrl.js +201 -0
  313. package/dist/elements/Upload/useUploadFromUrl.js.map +1 -0
  314. package/dist/elements/UploadDropzoneContent/index.css +31 -0
  315. package/dist/elements/UploadDropzoneContent/index.d.ts +17 -0
  316. package/dist/elements/UploadDropzoneContent/index.d.ts.map +1 -0
  317. package/dist/elements/UploadDropzoneContent/index.js +62 -0
  318. package/dist/elements/UploadDropzoneContent/index.js.map +1 -0
  319. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts +18 -0
  320. package/dist/elements/UserMenu/HoverSubmenuGroup.d.ts.map +1 -0
  321. package/dist/elements/UserMenu/HoverSubmenuGroup.js +38 -0
  322. package/dist/elements/UserMenu/HoverSubmenuGroup.js.map +1 -0
  323. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  324. package/dist/elements/UserMenu/LanguageMenu/index.js +83 -39
  325. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  326. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  327. package/dist/elements/UserMenu/SettingsMenu/index.js +57 -21
  328. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  329. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  330. package/dist/elements/UserMenu/ThemeMenu/index.js +83 -39
  331. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  332. package/dist/elements/UserMenu/index.css +32 -2
  333. package/dist/elements/UserMenu/index.d.ts +1 -0
  334. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  335. package/dist/elements/UserMenu/index.js +77 -51
  336. package/dist/elements/UserMenu/index.js.map +1 -1
  337. package/dist/elements/UserMenu/useHoverSubmenu.d.ts +21 -0
  338. package/dist/elements/UserMenu/useHoverSubmenu.d.ts.map +1 -0
  339. package/dist/elements/UserMenu/useHoverSubmenu.js +260 -0
  340. package/dist/elements/UserMenu/useHoverSubmenu.js.map +1 -0
  341. package/dist/elements/ViewModeToggle/index.d.ts +8 -0
  342. package/dist/elements/ViewModeToggle/index.d.ts.map +1 -0
  343. package/dist/elements/ViewModeToggle/index.js +29 -0
  344. package/dist/elements/ViewModeToggle/index.js.map +1 -0
  345. package/dist/elements/WhereBuilder/conditionValue.d.ts +32 -0
  346. package/dist/elements/WhereBuilder/conditionValue.d.ts.map +1 -0
  347. package/dist/elements/WhereBuilder/conditionValue.js +32 -0
  348. package/dist/elements/WhereBuilder/conditionValue.js.map +1 -0
  349. package/dist/elements/WhereBuilder/conditionValue.spec.js +65 -0
  350. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +1 -0
  351. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  352. package/dist/elements/WhereBuilder/index.js +15 -4
  353. package/dist/elements/WhereBuilder/index.js.map +1 -1
  354. package/dist/exports/client/index.d.ts +9 -1
  355. package/dist/exports/client/index.d.ts.map +1 -1
  356. package/dist/exports/client/index.js +1 -1
  357. package/dist/exports/client/index.js.map +3 -3
  358. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  359. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  360. package/dist/fields/Array/ArrayRow.js +2 -0
  361. package/dist/fields/Array/ArrayRow.js.map +1 -1
  362. package/dist/fields/Array/index.d.ts.map +1 -1
  363. package/dist/fields/Array/index.js +38 -10
  364. package/dist/fields/Array/index.js.map +1 -1
  365. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  366. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  367. package/dist/fields/Blocks/BlockRow.js +2 -0
  368. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  369. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  370. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  371. package/dist/fields/Blocks/RowActions.js +22 -19
  372. package/dist/fields/Blocks/RowActions.js.map +1 -1
  373. package/dist/fields/Blocks/index.d.ts.map +1 -1
  374. package/dist/fields/Blocks/index.js +38 -10
  375. package/dist/fields/Blocks/index.js.map +1 -1
  376. package/dist/fields/Checkbox/Input.d.ts +4 -2
  377. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  378. package/dist/fields/Checkbox/Input.js +136 -148
  379. package/dist/fields/Checkbox/Input.js.map +1 -1
  380. package/dist/fields/Checkbox/index.css +163 -186
  381. package/dist/fields/FieldError/index.css +0 -9
  382. package/dist/fields/FieldError/index.d.ts.map +1 -1
  383. package/dist/fields/FieldError/index.js +19 -9
  384. package/dist/fields/FieldError/index.js.map +1 -1
  385. package/dist/fields/Join/index.css +9 -0
  386. package/dist/fields/Join/index.d.ts.map +1 -1
  387. package/dist/fields/Join/index.js +13 -9
  388. package/dist/fields/Join/index.js.map +1 -1
  389. package/dist/fields/RadioGroup/index.css +0 -7
  390. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  391. package/dist/fields/Relationship/Input.js +53 -17
  392. package/dist/fields/Relationship/Input.js.map +1 -1
  393. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  394. package/dist/fields/Relationship/optionsReducer.js +2 -0
  395. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  396. package/dist/fields/Relationship/types.d.ts +24 -0
  397. package/dist/fields/Relationship/types.d.ts.map +1 -1
  398. package/dist/fields/Relationship/types.js.map +1 -1
  399. package/dist/fields/Slug/index.css +0 -1
  400. package/dist/fields/Slug/index.d.ts.map +1 -1
  401. package/dist/fields/Slug/index.js +80 -125
  402. package/dist/fields/Slug/index.js.map +1 -1
  403. package/dist/fields/Upload/Input.d.ts.map +1 -1
  404. package/dist/fields/Upload/Input.js +44 -16
  405. package/dist/fields/Upload/Input.js.map +1 -1
  406. package/dist/fields/Upload/Input.spec.js +241 -0
  407. package/dist/fields/Upload/Input.spec.js.map +1 -0
  408. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  409. package/dist/forms/Form/fieldReducer.js +3 -1
  410. package/dist/forms/Form/fieldReducer.js.map +1 -1
  411. package/dist/forms/Form/index.d.ts.map +1 -1
  412. package/dist/forms/Form/index.js +9 -1
  413. package/dist/forms/Form/index.js.map +1 -1
  414. package/dist/forms/Form/types.d.ts +1 -1
  415. package/dist/forms/Form/types.d.ts.map +1 -1
  416. package/dist/forms/Form/types.js.map +1 -1
  417. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  418. package/dist/forms/WatchChildErrors/index.js +2 -2
  419. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  420. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  421. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +2 -1
  422. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  423. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  424. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  425. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  426. package/dist/icons/CollapseLayers/index.css +5 -0
  427. package/dist/icons/CollapseLayers/index.d.ts +7 -0
  428. package/dist/icons/CollapseLayers/index.d.ts.map +1 -0
  429. package/dist/icons/CollapseLayers/index.js +23 -0
  430. package/dist/icons/CollapseLayers/index.js.map +1 -0
  431. package/dist/icons/Edit/index.d.ts +0 -1
  432. package/dist/icons/Edit/index.d.ts.map +1 -1
  433. package/dist/icons/Edit/index.js +4 -4
  434. package/dist/icons/Edit/index.js.map +1 -1
  435. package/dist/icons/Table/index.css +5 -0
  436. package/dist/icons/Table/index.d.ts +7 -0
  437. package/dist/icons/Table/index.d.ts.map +1 -0
  438. package/dist/icons/Table/index.js +25 -0
  439. package/dist/icons/Table/index.js.map +1 -0
  440. package/dist/layouts/Root/index.d.ts +1 -1
  441. package/dist/layouts/Root/index.d.ts.map +1 -1
  442. package/dist/layouts/Root/index.js +8 -2
  443. package/dist/layouts/Root/index.js.map +1 -1
  444. package/dist/providers/Actions/index.d.ts +1 -0
  445. package/dist/providers/Actions/index.d.ts.map +1 -1
  446. package/dist/providers/Actions/index.js +43 -11
  447. package/dist/providers/Actions/index.js.map +1 -1
  448. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  449. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  450. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  451. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  452. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  453. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  454. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  455. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  456. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  457. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  458. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  459. package/dist/providers/Auth/authSessionRequests.js +119 -0
  460. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  461. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  462. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  463. package/dist/providers/Auth/index.d.ts +2 -56
  464. package/dist/providers/Auth/index.d.ts.map +1 -1
  465. package/dist/providers/Auth/index.js +283 -135
  466. package/dist/providers/Auth/index.js.map +1 -1
  467. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  468. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  469. package/dist/providers/Auth/sessionActivity.js +49 -0
  470. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  471. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  472. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  473. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  474. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  475. package/dist/providers/Auth/sessionTiming.js +18 -0
  476. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  477. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  478. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  479. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  480. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  481. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  482. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  483. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  484. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  485. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  486. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  487. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  488. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  489. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  490. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  491. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  492. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  493. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  494. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  495. package/dist/providers/Auth/types.d.ts +65 -0
  496. package/dist/providers/Auth/types.d.ts.map +1 -0
  497. package/dist/providers/Auth/types.js +2 -0
  498. package/dist/providers/Auth/types.js.map +1 -0
  499. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  500. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  501. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  502. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  503. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  504. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  505. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  506. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  507. package/dist/providers/DocumentTitle/index.js +2 -0
  508. package/dist/providers/DocumentTitle/index.js.map +1 -1
  509. package/dist/providers/Embed/index.d.ts +24 -0
  510. package/dist/providers/Embed/index.d.ts.map +1 -0
  511. package/dist/providers/Embed/index.js +105 -0
  512. package/dist/providers/Embed/index.js.map +1 -0
  513. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  514. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  515. package/dist/providers/FormErrorHandler/index.js +6 -0
  516. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  517. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  518. package/dist/providers/Hierarchy/index.js +53 -24
  519. package/dist/providers/Hierarchy/index.js.map +1 -1
  520. package/dist/providers/Hierarchy/types.d.ts +2 -0
  521. package/dist/providers/Hierarchy/types.d.ts.map +1 -1
  522. package/dist/providers/Hierarchy/types.js.map +1 -1
  523. package/dist/providers/HierarchyDnd/index.css +51 -0
  524. package/dist/providers/HierarchyDnd/index.d.ts +21 -0
  525. package/dist/providers/HierarchyDnd/index.d.ts.map +1 -0
  526. package/dist/providers/HierarchyDnd/index.js +163 -0
  527. package/dist/providers/HierarchyDnd/index.js.map +1 -0
  528. package/dist/providers/HierarchyDnd/types.d.ts +56 -0
  529. package/dist/providers/HierarchyDnd/types.d.ts.map +1 -0
  530. package/dist/providers/HierarchyDnd/types.js +21 -0
  531. package/dist/providers/HierarchyDnd/types.js.map +1 -0
  532. package/dist/providers/Locale/index.d.ts.map +1 -1
  533. package/dist/providers/Locale/index.js +41 -36
  534. package/dist/providers/Locale/index.js.map +1 -1
  535. package/dist/providers/Root/index.d.ts +1 -0
  536. package/dist/providers/Root/index.d.ts.map +1 -1
  537. package/dist/providers/Root/index.js +37 -31
  538. package/dist/providers/Root/index.js.map +1 -1
  539. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  540. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  541. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  542. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  543. package/dist/providers/RouteTransition/index.d.ts +2 -0
  544. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  545. package/dist/providers/RouteTransition/index.js +42 -14
  546. package/dist/providers/RouteTransition/index.js.map +1 -1
  547. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  548. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  549. package/dist/providers/SidebarTabs/index.js.map +1 -1
  550. package/dist/providers/Theme/index.d.ts +3 -0
  551. package/dist/providers/Theme/index.d.ts.map +1 -1
  552. package/dist/providers/Theme/index.js +107 -95
  553. package/dist/providers/Theme/index.js.map +1 -1
  554. package/dist/styles.css +12 -10
  555. package/dist/templates/Default/Wrapper/index.css +2 -1
  556. package/dist/templates/Default/Wrapper/index.d.ts +2 -0
  557. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
  558. package/dist/templates/Default/Wrapper/index.js +12 -6
  559. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  560. package/dist/templates/Default/index.css +3 -1
  561. package/dist/templates/Default/index.d.ts +1 -0
  562. package/dist/templates/Default/index.d.ts.map +1 -1
  563. package/dist/templates/Default/index.js +19 -15
  564. package/dist/templates/Default/index.js.map +1 -1
  565. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  566. package/dist/utilities/combineFieldLabel.js +5 -1
  567. package/dist/utilities/combineFieldLabel.js.map +1 -1
  568. package/dist/utilities/formatMetadata.d.ts.map +1 -1
  569. package/dist/utilities/formatMetadata.js +0 -5
  570. package/dist/utilities/formatMetadata.js.map +1 -1
  571. package/dist/utilities/generateFieldID.d.ts +1 -1
  572. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  573. package/dist/utilities/generateFieldID.js +2 -2
  574. package/dist/utilities/generateFieldID.js.map +1 -1
  575. package/dist/utilities/getFilesFromClipboard.d.ts +10 -0
  576. package/dist/utilities/getFilesFromClipboard.d.ts.map +1 -0
  577. package/dist/utilities/getFilesFromClipboard.js +49 -0
  578. package/dist/utilities/getFilesFromClipboard.js.map +1 -0
  579. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  580. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  581. package/dist/utilities/getRequestEmbed.js +10 -0
  582. package/dist/utilities/getRequestEmbed.js.map +1 -0
  583. package/dist/utilities/renderTable.d.ts.map +1 -1
  584. package/dist/utilities/renderTable.js +18 -2
  585. package/dist/utilities/renderTable.js.map +1 -1
  586. package/dist/utilities/slugify.d.ts.map +1 -1
  587. package/dist/utilities/slugify.js +50 -6
  588. package/dist/utilities/slugify.js.map +1 -1
  589. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  590. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  591. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  592. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  593. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  594. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  595. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  596. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  597. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  598. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  599. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  600. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  601. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  602. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  603. package/dist/views/Edit/SetDocumentTitle/index.d.ts.map +1 -1
  604. package/dist/views/Edit/SetDocumentTitle/index.js +4 -1
  605. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  606. package/dist/views/Edit/index.d.ts.map +1 -1
  607. package/dist/views/Edit/index.js +3 -2
  608. package/dist/views/Edit/index.js.map +1 -1
  609. package/dist/views/HierarchyList/DocumentListSelection/index.d.ts.map +1 -1
  610. package/dist/views/HierarchyList/DocumentListSelection/index.js +100 -105
  611. package/dist/views/HierarchyList/DocumentListSelection/index.js.map +1 -1
  612. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.css +216 -0
  613. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts +20 -0
  614. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.d.ts.map +1 -0
  615. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js +182 -0
  616. package/dist/views/HierarchyList/HierarchyCards/DocumentCard/index.js.map +1 -0
  617. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.css +38 -0
  618. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts +15 -0
  619. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.d.ts.map +1 -0
  620. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js +85 -0
  621. package/dist/views/HierarchyList/HierarchyCards/DragPreviewItem/index.js.map +1 -0
  622. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.css +98 -0
  623. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts +27 -0
  624. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.d.ts.map +1 -0
  625. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js +84 -0
  626. package/dist/views/HierarchyList/HierarchyCards/FolderCard/index.js.map +1 -0
  627. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts +19 -0
  628. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.d.ts.map +1 -0
  629. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js +100 -0
  630. package/dist/views/HierarchyList/HierarchyCards/HierarchyCard/index.js.map +1 -0
  631. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts +53 -0
  632. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.d.ts.map +1 -0
  633. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js +145 -0
  634. package/dist/views/HierarchyList/HierarchyCards/PlaneItem/index.js.map +1 -0
  635. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts +8 -0
  636. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.d.ts.map +1 -0
  637. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js +21 -0
  638. package/dist/views/HierarchyList/HierarchyCards/getThumbnailSrc.js.map +1 -0
  639. package/dist/views/HierarchyList/HierarchyCards/index.css +115 -0
  640. package/dist/views/HierarchyList/HierarchyCards/index.d.ts +80 -0
  641. package/dist/views/HierarchyList/HierarchyCards/index.d.ts.map +1 -0
  642. package/dist/views/HierarchyList/HierarchyCards/index.js +457 -0
  643. package/dist/views/HierarchyList/HierarchyCards/index.js.map +1 -0
  644. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts +6 -1
  645. package/dist/views/HierarchyList/HierarchyListHeader/index.d.ts.map +1 -1
  646. package/dist/views/HierarchyList/HierarchyListHeader/index.js +10 -8
  647. package/dist/views/HierarchyList/HierarchyListHeader/index.js.map +1 -1
  648. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.d.ts.map +1 -1
  649. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js +11 -10
  650. package/dist/views/HierarchyList/HierarchyTable/ChildNameCell.js.map +1 -1
  651. package/dist/views/HierarchyList/HierarchyTable/SlotTable.d.ts.map +1 -1
  652. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js +3 -6
  653. package/dist/views/HierarchyList/HierarchyTable/SlotTable.js.map +1 -1
  654. package/dist/views/HierarchyList/HierarchyTable/index.css +51 -0
  655. package/dist/views/HierarchyList/HierarchyTable/index.d.ts +13 -1
  656. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  657. package/dist/views/HierarchyList/HierarchyTable/index.js +156 -38
  658. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  659. package/dist/views/HierarchyList/HierarchyTable/types.d.ts +6 -0
  660. package/dist/views/HierarchyList/HierarchyTable/types.d.ts.map +1 -1
  661. package/dist/views/HierarchyList/HierarchyTable/types.js.map +1 -1
  662. package/dist/views/HierarchyList/index.css +1 -1
  663. package/dist/views/HierarchyList/index.d.ts.map +1 -1
  664. package/dist/views/HierarchyList/index.js +103 -20
  665. package/dist/views/HierarchyList/index.js.map +1 -1
  666. package/dist/views/List/ListHeader/index.d.ts +1 -10
  667. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  668. package/dist/views/List/ListHeader/index.js +1 -3
  669. package/dist/views/List/ListHeader/index.js.map +1 -1
  670. package/dist/views/List/ListSelection/index.d.ts.map +1 -1
  671. package/dist/views/List/ListSelection/index.js +138 -122
  672. package/dist/views/List/ListSelection/index.js.map +1 -1
  673. package/dist/views/List/handleHierarchy.d.ts +6 -1
  674. package/dist/views/List/handleHierarchy.d.ts.map +1 -1
  675. package/dist/views/List/handleHierarchy.js +34 -3
  676. package/dist/views/List/handleHierarchy.js.map +1 -1
  677. package/dist/views/List/index.client.d.ts.map +1 -1
  678. package/dist/views/List/index.client.js +128 -18
  679. package/dist/views/List/index.client.js.map +1 -1
  680. package/dist/views/List/index.css +6 -1
  681. package/dist/views/List/index.d.ts.map +1 -1
  682. package/dist/views/List/index.js +29 -14
  683. package/dist/views/List/index.js.map +1 -1
  684. package/dist/views/Logout/index.d.ts.map +1 -1
  685. package/dist/views/Logout/index.js +11 -0
  686. package/dist/views/Logout/index.js.map +1 -1
  687. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  688. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  689. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  690. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  691. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  692. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  693. package/dist/views/Root/getRouteData.d.ts.map +1 -1
  694. package/dist/views/Root/getRouteData.js +8 -2
  695. package/dist/views/Root/getRouteData.js.map +1 -1
  696. package/dist/views/Root/index.d.ts +12 -1
  697. package/dist/views/Root/index.d.ts.map +1 -1
  698. package/dist/views/Root/index.js +11 -3
  699. package/dist/views/Root/index.js.map +1 -1
  700. package/dist/views/Version/generateVersionViewMetadata.js.map +1 -1
  701. package/dist/views/Versions/generateVersionsViewMetadata.js.map +1 -1
  702. package/package.json +6 -11
  703. package/dist/elements/Hierarchy/Field/SelectedHierarchies.css +0 -36
  704. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts +0 -13
  705. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +0 -1
  706. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +0 -141
  707. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +0 -1
  708. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  709. package/dist/scss/app.scss +0 -183
  710. package/dist/scss/colors.scss +0 -191
  711. package/dist/scss/custom.css +0 -1
  712. package/dist/scss/queries.scss +0 -27
  713. package/dist/scss/styles.scss +0 -9
  714. package/dist/scss/svg.scss +0 -10
  715. package/dist/scss/toastify.scss +0 -61
  716. package/dist/scss/vars.scss +0 -192
  717. package/dist/scss/z-index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/fields/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n CollectionSlug,\n FilterOptionsResult,\n LabelFunction,\n StaticDescription,\n StaticLabel,\n ValueWithRelation,\n} from 'payload'\n\nexport type Option = {\n allowEdit: boolean\n label: string\n options?: Option[]\n relationTo?: string\n value: number | string\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type MonomorphicRelationValue = number | string\n\nexport type Value =\n | MonomorphicRelationValue\n | MonomorphicRelationValue[]\n | ValueWithRelation\n | ValueWithRelation[]\n\ntype CLEAR = {\n exemptValues?: ValueWithRelation | ValueWithRelation[]\n type: 'CLEAR'\n}\n\ntype UPDATE = {\n collection: ClientCollectionConfig\n config: ClientConfig\n doc: any\n i18n: I18nClient\n type: 'UPDATE'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n config: ClientConfig\n docs: any[]\n i18n: I18nClient\n ids?: (number | string)[]\n sort?: boolean\n type: 'ADD'\n}\n\ntype REMOVE = {\n collection: ClientCollectionConfig\n config: ClientConfig\n i18n: I18nClient\n id: string\n type: 'REMOVE'\n}\n\nexport type Action = ADD | CLEAR | REMOVE | UPDATE\n\nexport type HasManyValueUnion =\n | {\n hasMany: false\n value?: ValueWithRelation\n }\n | {\n hasMany: true\n value?: ValueWithRelation[]\n }\n\nexport type UpdateResults = (\n args: {\n filterOptions?: FilterOptionsResult\n lastFullyLoadedRelation?: number\n lastLoadedPage: Record<string, number>\n onSuccess?: () => void\n search?: string\n sort?: boolean\n } & HasManyValueUnion,\n) => void\n\nexport type RelationshipInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly allowEdit?: boolean\n readonly appearance?: 'drawer' | 'select'\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly formatDisplayedOptions?: (options: OptionGroup[]) => Option[] | OptionGroup[]\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly maxResultsPerRequest?: number\n readonly maxRows?: number\n readonly minRows?: number\n readonly path: string\n readonly placeholder?: LabelFunction | string\n readonly readOnly?: boolean\n readonly relationTo: string[]\n readonly required?: boolean\n readonly showError?: boolean\n /**\n * Controls the height of the input. Defaults to `'large'`.\n */\n readonly size?: 'large' | 'medium'\n readonly sortOptions?: Partial<Record<CollectionSlug, string>>\n readonly style?: React.CSSProperties\n} & SharedRelationshipInputProps\n\ntype SharedRelationshipInputProps =\n | {\n readonly hasMany: false\n readonly initialValue?: null | ValueWithRelation\n readonly onChange: (value: ValueWithRelation) => void\n readonly value?: null | ValueWithRelation\n }\n | {\n readonly hasMany: true\n readonly initialValue?: null | ValueWithRelation[]\n readonly onChange: (value: ValueWithRelation[]) => void\n readonly value?: null | ValueWithRelation[]\n }\n"],"mappings":"AAuFA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/fields/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n CollectionSlug,\n FilterOptionsResult,\n LabelFunction,\n StaticDescription,\n StaticLabel,\n ValueWithRelation,\n} from 'payload'\n\nexport type Option = {\n allowEdit: boolean\n /**\n * The document the option was built from, narrowed to the fields that were selected when it was\n * loaded. Present for callers that need more than the title, e.g. `formatOptionLabel`.\n */\n doc?: Record<string, unknown>\n label: string\n options?: Option[]\n relationTo?: string\n value: number | string\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type MonomorphicRelationValue = number | string\n\nexport type Value =\n | MonomorphicRelationValue\n | MonomorphicRelationValue[]\n | ValueWithRelation\n | ValueWithRelation[]\n\ntype CLEAR = {\n exemptValues?: ValueWithRelation | ValueWithRelation[]\n type: 'CLEAR'\n}\n\ntype UPDATE = {\n collection: ClientCollectionConfig\n config: ClientConfig\n doc: any\n i18n: I18nClient\n type: 'UPDATE'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n config: ClientConfig\n docs: any[]\n i18n: I18nClient\n ids?: (number | string)[]\n sort?: boolean\n type: 'ADD'\n}\n\ntype REMOVE = {\n collection: ClientCollectionConfig\n config: ClientConfig\n i18n: I18nClient\n id: string\n type: 'REMOVE'\n}\n\nexport type Action = ADD | CLEAR | REMOVE | UPDATE\n\nexport type HasManyValueUnion =\n | {\n hasMany: false\n value?: ValueWithRelation\n }\n | {\n hasMany: true\n value?: ValueWithRelation[]\n }\n\nexport type UpdateResults = (\n args: {\n filterOptions?: FilterOptionsResult\n lastFullyLoadedRelation?: number\n lastLoadedPage: Record<string, number>\n onSuccess?: () => void\n search?: string\n sort?: boolean\n } & HasManyValueUnion,\n) => void\n\nexport type RelationshipInputProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly allowEdit?: boolean\n readonly appearance?: 'drawer' | 'select'\n readonly BeforeInput?: React.ReactNode\n readonly className?: string\n /**\n * Replaces the button rendered at the end of the input row, which creates a new related\n * document by default. Also suppresses that default button when provided.\n */\n readonly CreateButton?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly description?: StaticDescription\n readonly Error?: React.ReactNode\n readonly filterOptions?: FilterOptionsResult\n readonly formatDisplayedOptions?: (options: OptionGroup[]) => Option[] | OptionGroup[]\n /**\n * Overrides the label of a single option. `context` is `'menu'` while browsing the dropdown and\n * `'value'` for the selected value(s), so extra detail can be shown only while browsing.\n */\n readonly formatOptionLabel?: (args: {\n context: 'menu' | 'value'\n defaultLabel: string\n doc?: Record<string, unknown>\n }) => string\n readonly isSortable?: boolean\n readonly Label?: React.ReactNode\n readonly label?: StaticLabel\n readonly localized?: boolean\n readonly maxResultsPerRequest?: number\n readonly maxRows?: number\n readonly minRows?: number\n readonly path: string\n readonly placeholder?: LabelFunction | string\n readonly readOnly?: boolean\n readonly relationTo: string[]\n readonly required?: boolean\n /**\n * Extra fields to select when loading options, merged with the collection's title field.\n * Required for virtual fields, which are only computed when explicitly selected.\n */\n readonly selectOptionFields?: Record<string, boolean>\n readonly showError?: boolean\n /**\n * Controls the height of the input. Defaults to `'large'`.\n */\n readonly size?: 'large' | 'medium'\n readonly sortOptions?: Partial<Record<CollectionSlug, string>>\n readonly style?: React.CSSProperties\n} & SharedRelationshipInputProps\n\ntype SharedRelationshipInputProps =\n | {\n readonly hasMany: false\n readonly initialValue?: null | ValueWithRelation\n readonly onChange: (value: ValueWithRelation) => void\n readonly value?: null | ValueWithRelation\n }\n | {\n readonly hasMany: true\n readonly initialValue?: null | ValueWithRelation[]\n readonly onChange: (value: ValueWithRelation[]) => void\n readonly value?: null | ValueWithRelation[]\n }\n"],"mappings":"AA4FA","ignoreList":[]}
@@ -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;AAgBpD,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;AAgKD,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,6 +1,5 @@
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';
@@ -16,6 +15,7 @@ import { LockIcon } from '../../icons/Lock/index.js';
16
15
  import { LockOpenIcon } from '../../icons/LockOpen/index.js';
17
16
  import { RefreshIcon } from '../../icons/Refresh/index.js';
18
17
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
18
+ import { useLocale } from '../../providers/Locale/index.js';
19
19
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
20
20
  import { useTranslation } from '../../providers/Translation/index.js';
21
21
  import './index.css';
@@ -23,12 +23,10 @@ const baseClass = 'slug-field-component';
23
23
  /**
24
24
  * @experimental This component is experimental and may change or be removed in the future. Use at your own risk.
25
25
  */
26
- const SlugFieldComponent = t0 => {
27
- const $ = _c(18);
28
- const {
29
- field,
30
- path
31
- } = t0;
26
+ const SlugFieldComponent = ({
27
+ field,
28
+ path
29
+ }) => {
32
30
  const {
33
31
  admin,
34
32
  label,
@@ -45,167 +43,124 @@ const SlugFieldComponent = t0 => {
45
43
  t
46
44
  } = useTranslation();
47
45
  const {
46
+ id,
48
47
  collectionSlug,
49
48
  globalSlug
50
49
  } = useDocumentInfo();
51
50
  const {
52
51
  slugify
53
52
  } = useServerFunctions();
54
- const t1 = path || field.name;
55
- let t2;
56
- if ($[0] !== t1) {
57
- t2 = {
58
- path: t1
59
- };
60
- $[0] = t1;
61
- $[1] = t2;
62
- } else {
63
- t2 = $[1];
64
- }
53
+ const {
54
+ code: locale
55
+ } = useLocale();
65
56
  const {
66
57
  path: fieldPath,
67
58
  setValue,
68
59
  showError,
69
60
  value
70
- } = useField(t2);
61
+ } = useField({
62
+ path: path || field.name
63
+ });
71
64
  const {
72
65
  getData,
73
66
  getDataByPath
74
67
  } = useForm();
75
68
  const [isLocked, setIsLocked] = useState(true);
76
- let t3;
77
- if ($[2] !== collectionSlug || $[3] !== fieldPath || $[4] !== getData || $[5] !== getDataByPath || $[6] !== globalSlug || $[7] !== setValue || $[8] !== slugify || $[9] !== t || $[10] !== useAsSlug || $[11] !== value) {
78
- t3 = async e => {
79
- e.preventDefault();
80
- const valueToSlugify = getDataByPath(useAsSlug);
81
- let formattedSlug;
82
- ;
83
- try {
84
- formattedSlug = await slugify({
85
- collectionSlug,
86
- data: getData(),
87
- globalSlug,
88
- path: fieldPath,
89
- valueToSlugify
90
- });
91
- } catch (t4) {
92
- toast.error(t("error:unspecific"));
93
- return;
94
- }
95
- if (formattedSlug === null || formattedSlug === undefined) {
96
- setValue("");
97
- return;
98
- }
99
- if (value !== formattedSlug) {
100
- setValue(formattedSlug);
101
- }
102
- };
103
- $[2] = collectionSlug;
104
- $[3] = fieldPath;
105
- $[4] = getData;
106
- $[5] = getDataByPath;
107
- $[6] = globalSlug;
108
- $[7] = setValue;
109
- $[8] = slugify;
110
- $[9] = t;
111
- $[10] = useAsSlug;
112
- $[11] = value;
113
- $[12] = t3;
114
- } else {
115
- t3 = $[12];
116
- }
117
- const handleGenerate = t3;
118
- let t4;
119
- if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
120
- t4 = e_0 => {
121
- e_0.preventDefault();
122
- setIsLocked(_temp);
123
- };
124
- $[13] = t4;
125
- } else {
126
- t4 = $[13];
127
- }
128
- const toggleLock = t4;
129
- let t5;
130
- if ($[14] !== setValue) {
131
- t5 = e_1 => {
132
- setValue(e_1.target.value);
133
- };
134
- $[14] = setValue;
135
- $[15] = t5;
136
- } else {
137
- t5 = $[15];
138
- }
139
- const handleChange = t5;
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,
80
+ collectionSlug,
81
+ data: getData(),
82
+ globalSlug,
83
+ locale,
84
+ path: fieldPath,
85
+ valueToSlugify
86
+ });
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]);
140
110
  const isReadOnly = Boolean(readOnlyFromProps || isLocked);
141
- const t6 = ["field-type", baseClass, showError && `${baseClass}--error`, isLocked && `${baseClass}--locked`, readOnlyFromProps && `${baseClass}--read-only`].filter(Boolean).join(" ");
142
- const t7 = _jsx(FieldLabel, {
143
- htmlFor: `field-${fieldPath}`,
144
- label,
145
- required
146
- });
147
- const t8 = _jsx(FieldError, {
148
- path: fieldPath,
149
- showError
150
- });
151
- const t9 = showError && "form-input-group-error";
152
- let t10;
153
- if ($[16] !== t9) {
154
- t10 = ["form-input-group", `${baseClass}__input-container`, t9].filter(Boolean);
155
- $[16] = t9;
156
- $[17] = t10;
157
- } else {
158
- t10 = $[17];
159
- }
160
- return _jsxs("div", {
161
- className: t6,
162
- 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", {
163
118
  className: `${baseClass}__wrap`,
164
- children: [t8, _jsxs("div", {
165
- className: t10.join(" "),
166
- 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", {
167
125
  "aria-label": getTranslation(label, i18n) || path,
168
126
  className: `form-input ${baseClass}__input`,
169
127
  disabled: isReadOnly,
170
- id: `field-${fieldPath?.replace(/\./g, "__")}`,
128
+ id: `field-${fieldPath?.replace(/\./g, '__')}`,
171
129
  name: fieldPath,
172
130
  onChange: handleChange,
173
131
  placeholder: getTranslation(placeholder, i18n),
174
132
  type: "text",
175
- value: value || ""
176
- }), !readOnlyFromProps && _jsxs("div", {
133
+ value: value || ''
134
+ }), !readOnlyFromProps && /*#__PURE__*/_jsxs("div", {
177
135
  className: `${baseClass}__actions`,
178
- children: [!isLocked && _jsx(Button, {
179
- "aria-label": t("authentication:generate"),
136
+ children: [!isLocked && /*#__PURE__*/_jsx(Button, {
137
+ "aria-label": t('authentication:generate'),
180
138
  buttonStyle: "ghost",
181
139
  className: `${baseClass}__action-btn`,
182
- icon: _jsx(RefreshIcon, {}),
183
- id: `field-${fieldPath?.replace(/\./g, "__")}-generate`,
140
+ icon: /*#__PURE__*/_jsx(RefreshIcon, {}),
141
+ id: `field-${fieldPath?.replace(/\./g, '__')}-generate`,
184
142
  margin: false,
185
143
  onClick: handleGenerate
186
- }), _jsx(Button, {
187
- "aria-label": isLocked ? t("general:unlock") : t("general:lock"),
144
+ }), /*#__PURE__*/_jsx(Button, {
145
+ "aria-label": isLocked ? t('general:unlock') : t('general:lock'),
188
146
  buttonStyle: "ghost",
189
147
  className: `${baseClass}__action-btn`,
190
- icon: isLocked ? _jsx(LockIcon, {
148
+ icon: isLocked ? /*#__PURE__*/_jsx(LockIcon, {
191
149
  size: 16
192
- }) : _jsx(LockOpenIcon, {
150
+ }) : /*#__PURE__*/_jsx(LockOpenIcon, {
193
151
  size: 16
194
152
  }),
195
- id: `field-${fieldPath?.replace(/\./g, "__")}-lock`,
153
+ id: `field-${fieldPath?.replace(/\./g, '__')}-lock`,
196
154
  margin: false,
197
155
  onClick: toggleLock
198
156
  })]
199
157
  })]
200
- }), _jsx(FieldDescription, {
201
- description,
158
+ }), /*#__PURE__*/_jsx(FieldDescription, {
159
+ description: description,
202
160
  path: fieldPath
203
161
  })]
204
162
  })]
205
163
  });
206
164
  };
207
165
  export const SlugField = withCondition(SlugFieldComponent);
208
- function _temp(prev) {
209
- return !prev;
210
- }
211
166
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useCallback","useState","toast","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","t4","error","undefined","handleGenerate","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'\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 { 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 let formattedSlug: null | string | undefined\n\n try {\n formattedSlug = await slugify({\n collectionSlug,\n data: getData(),\n globalSlug,\n path: fieldPath,\n valueToSlugify,\n })\n } catch (_err) {\n toast.error(t('error:unspecific'))\n return\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 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
+ {"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;AAwB9D,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,qBA2uBlD"}
@@ -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,8 @@ 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 { abortAndIgnore } from '../../utilities/abortAndIgnore.js';
23
+ import { getFilesFromClipboard } from '../../utilities/getFilesFromClipboard.js';
21
24
  import { normalizeRelationshipValue } from '../../utilities/normalizeRelationshipValue.js';
22
25
  import { fieldBaseClass } from '../shared/index.js';
23
26
  import { UploadComponentHasMany } from './HasMany/index.js';
@@ -139,10 +142,6 @@ export function UploadInput(props) {
139
142
  }] = useDocumentDrawer({
140
143
  collectionSlug: activeRelationTo
141
144
  });
142
- /**
143
- * Track the last loaded value to prevent unnecessary reloads
144
- */
145
- const loadedValueRef = React.useRef(null);
146
145
  const canCreate = useMemo(() => {
147
146
  if (!allowCreate) {
148
147
  return false;
@@ -159,7 +158,7 @@ export function UploadInput(props) {
159
158
  onChangeFromProps(newValue);
160
159
  }
161
160
  }, [onChangeFromProps]);
162
- const populateDocs = React.useCallback(async items => {
161
+ const populateDocs = React.useCallback(async (items, options) => {
163
162
  if (!items?.length) {
164
163
  return [];
165
164
  }
@@ -205,7 +204,8 @@ export function UploadInput(props) {
205
204
  'Content-Type': 'application/x-www-form-urlencoded',
206
205
  'X-Payload-HTTP-Method-Override': 'GET'
207
206
  },
208
- method: 'POST'
207
+ method: 'POST',
208
+ signal: options?.signal
209
209
  });
210
210
  let docs = [];
211
211
  if (response.ok) {
@@ -298,6 +298,18 @@ export function UploadInput(props) {
298
298
  }
299
299
  openModal(drawerSlug);
300
300
  }, [hasMany, relationTo, activeRelationTo, setCollectionSlug, collectionSlugsWithCreatePermission, maxRows, openModal, drawerSlug, setInitialFiles, setSelectableCollections, setMaxFiles]);
301
+ const handlePasteFromClipboard = useCallback(async () => {
302
+ try {
303
+ const files = await getFilesFromClipboard();
304
+ if (!files) {
305
+ toast.error(t('error:noFileFoundInClipboard'));
306
+ return;
307
+ }
308
+ onLocalFileSelection(files);
309
+ } catch (_err) {
310
+ toast.error(t('error:unableToReadClipboard'));
311
+ }
312
+ }, [onLocalFileSelection, t]);
301
313
  // only hasMany can bulk select
302
314
  const onListBulkSelect = React.useCallback(async (docs_0, collectionSlug) => {
303
315
  const isPoly_1 = Array.isArray(relationTo);
@@ -433,6 +445,7 @@ export function UploadInput(props) {
433
445
  setPopulatedDocs(newValue_4);
434
446
  }, [onChange, hasMany, relationTo]);
435
447
  useEffect(() => {
448
+ const abortController = new AbortController();
436
449
  async function loadInitialDocs() {
437
450
  if (value) {
438
451
  let itemsToLoad_0 = [];
@@ -469,23 +482,26 @@ export function UploadInput(props) {
469
482
  }
470
483
  }
471
484
  if (itemsToLoad_0.length > 0) {
472
- const loadedDocs_1 = await populateDocs(itemsToLoad_0);
473
- if (loadedDocs_1) {
474
- setPopulatedDocs(loadedDocs_1);
475
- loadedValueRef.current = value;
485
+ try {
486
+ const loadedDocs_1 = await populateDocs(itemsToLoad_0, {
487
+ signal: abortController.signal
488
+ });
489
+ if (loadedDocs_1 && !abortController.signal.aborted) {
490
+ setPopulatedDocs(loadedDocs_1);
491
+ }
492
+ } catch (_err_0) {
493
+ // Ignore aborted requests from superseded values / unmount
476
494
  }
477
495
  }
478
496
  } else {
479
497
  // Clear populated docs when value is cleared
480
498
  setPopulatedDocs([]);
481
- loadedValueRef.current = null;
482
499
  }
483
500
  }
484
- // Only load if value has changed from what we last loaded
485
- const valueChanged = loadedValueRef.current !== value;
486
- if (valueChanged) {
487
- void loadInitialDocs();
488
- }
501
+ void loadInitialDocs();
502
+ return () => {
503
+ abortAndIgnore(abortController);
504
+ };
489
505
  }, [populateDocs, value, relationTo]);
490
506
  useEffect(() => {
491
507
  setOnSuccess(onUploadSuccess);
@@ -579,6 +595,18 @@ export function UploadInput(props) {
579
595
  onClick: openListDrawer,
580
596
  size: "medium",
581
597
  children: t('fields:chooseFromExisting')
598
+ }), canCreate && !readOnly && /*#__PURE__*/_jsxs(_Fragment, {
599
+ children: [/*#__PURE__*/_jsx("span", {
600
+ className: `${baseClass}__dropzoneContent__orText`,
601
+ children: t('general:or')
602
+ }), /*#__PURE__*/_jsx(Button, {
603
+ buttonStyle: "secondary",
604
+ className: `${baseClass}__pasteFromClipboard`,
605
+ icon: "clipboard",
606
+ onClick: handlePasteFromClipboard,
607
+ size: "medium",
608
+ tooltip: t('upload:pasteFromClipboard')
609
+ })]
582
610
  }), /*#__PURE__*/_jsx(CreateDocDrawer, {
583
611
  onSave: onDocCreate
584
612
  }), /*#__PURE__*/_jsx(ListDrawer, {