@payloadcms/ui 4.0.0-internal.e55ccef → 4.0.0-internal.f05c47f

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 (561) 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/Autosave/index.d.ts.map +1 -1
  15. package/dist/elements/Autosave/index.js +3 -0
  16. package/dist/elements/Autosave/index.js.map +1 -1
  17. package/dist/elements/BranchSelector/index.css +83 -0
  18. package/dist/elements/BranchSelector/index.d.ts +12 -0
  19. package/dist/elements/BranchSelector/index.d.ts.map +1 -0
  20. package/dist/elements/BranchSelector/index.js +160 -0
  21. package/dist/elements/BranchSelector/index.js.map +1 -0
  22. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  23. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  24. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  25. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  26. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  28. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  29. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  30. package/dist/elements/BulkUpload/FormsManager/index.js +7 -3
  31. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  32. package/dist/elements/Button/index.css +2 -2
  33. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  34. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  35. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  36. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  37. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  38. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  39. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  40. package/dist/elements/ClipboardAction/index.js +17 -1
  41. package/dist/elements/ClipboardAction/index.js.map +1 -1
  42. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  43. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  44. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
  45. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
  46. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
  47. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  48. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  49. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  50. package/dist/elements/ClipboardAction/types.js.map +1 -1
  51. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  52. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  53. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  54. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  55. package/dist/elements/CodeEditor/index.css +0 -5
  56. package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
  57. package/dist/elements/ColumnSelection/Popup.js +3 -3
  58. package/dist/elements/ColumnSelection/Popup.js.map +1 -1
  59. package/dist/elements/Combobox/index.css +76 -23
  60. package/dist/elements/Combobox/index.d.ts +7 -0
  61. package/dist/elements/Combobox/index.d.ts.map +1 -1
  62. package/dist/elements/Combobox/index.js +58 -20
  63. package/dist/elements/Combobox/index.js.map +1 -1
  64. package/dist/elements/CommandPalette/index.css +0 -7
  65. package/dist/elements/CopyToClipboard/index.d.ts +1 -0
  66. package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
  67. package/dist/elements/CopyToClipboard/index.js +10 -8
  68. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  69. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  70. package/dist/elements/CreateDocumentButton/index.js +4 -1
  71. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  72. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  73. package/dist/elements/DatePicker/DatePicker.js +1 -0
  74. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  75. package/dist/elements/DatePicker/index.css +1 -1
  76. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  77. package/dist/elements/DeleteDocument/index.js +24 -2
  78. package/dist/elements/DeleteDocument/index.js.map +1 -1
  79. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  80. package/dist/elements/DeleteMany/index.js +4 -1
  81. package/dist/elements/DeleteMany/index.js.map +1 -1
  82. package/dist/elements/Drawer/index.css +10 -4
  83. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
  84. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  85. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  86. package/dist/elements/DuplicateDocument/index.js +6 -1
  87. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  88. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  89. package/dist/elements/EditMany/DrawerContent.js +6 -3
  90. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  91. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  92. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  93. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  94. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  95. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  96. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  97. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  98. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  99. package/dist/elements/FileManager/FileToolbar/index.js +3 -0
  100. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  101. package/dist/elements/FileManager/index.css +36 -23
  102. package/dist/elements/FileManager/index.d.ts +1 -1
  103. package/dist/elements/FileManager/index.d.ts.map +1 -1
  104. package/dist/elements/FileManager/index.js +15 -4
  105. package/dist/elements/FileManager/index.js.map +1 -1
  106. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  107. package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
  108. package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
  109. package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
  110. package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
  111. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
  112. package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
  113. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
  114. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
  115. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
  116. package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
  117. package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
  118. package/dist/elements/Hierarchy/Modal/index.js +3 -0
  119. package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
  120. package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
  121. package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
  122. package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
  123. package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
  124. package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
  125. package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
  126. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  127. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  128. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  129. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  130. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  131. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  132. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  133. package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
  134. package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
  135. package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
  136. package/dist/elements/IDLabel/index.css +6 -0
  137. package/dist/elements/IDLabel/index.d.ts +1 -1
  138. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  139. package/dist/elements/IDLabel/index.js +16 -21
  140. package/dist/elements/IDLabel/index.js.map +1 -1
  141. package/dist/elements/InputStepper/index.css +0 -1
  142. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
  143. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
  144. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
  145. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  146. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
  147. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
  148. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  149. package/dist/elements/Locked/index.css +0 -8
  150. package/dist/elements/Locked/index.d.ts.map +1 -1
  151. package/dist/elements/Locked/index.js +70 -64
  152. package/dist/elements/Locked/index.js.map +1 -1
  153. package/dist/elements/MiniCarousel/index.css +39 -37
  154. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  155. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  156. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  157. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  158. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  159. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  160. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  161. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  162. package/dist/elements/NavGroup/index.css +0 -1
  163. package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
  164. package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
  165. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  166. package/dist/elements/Popup/PopupButtonList/index.css +1 -1
  167. package/dist/elements/Popup/index.js +1 -1
  168. package/dist/elements/Popup/index.js.map +1 -1
  169. package/dist/elements/PreviewButton/index.d.ts +1 -2
  170. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  171. package/dist/elements/PreviewButton/index.js +11 -5
  172. package/dist/elements/PreviewButton/index.js.map +1 -1
  173. package/dist/elements/PreviewSizes/index.css +8 -9
  174. package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
  175. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  176. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  177. package/dist/elements/PublishButton/index.js +6 -2
  178. package/dist/elements/PublishButton/index.js.map +1 -1
  179. package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
  180. package/dist/elements/PublishMany/DrawerContent.js +4 -1
  181. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  182. package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
  183. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  184. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  185. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  186. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  187. package/dist/elements/ReactSelect/index.css +0 -3
  188. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  189. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  190. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  191. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  192. package/dist/elements/RelationshipTable/index.css +0 -2
  193. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  194. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  195. package/dist/elements/RelationshipTable/index.js +41 -5
  196. package/dist/elements/RelationshipTable/index.js.map +1 -1
  197. package/dist/elements/RenderTitle/index.css +4 -0
  198. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  199. package/dist/elements/RenderTitle/index.js +18 -13
  200. package/dist/elements/RenderTitle/index.js.map +1 -1
  201. package/dist/elements/RestoreButton/index.d.ts.map +1 -1
  202. package/dist/elements/RestoreButton/index.js +4 -1
  203. package/dist/elements/RestoreButton/index.js.map +1 -1
  204. package/dist/elements/RestoreMany/index.d.ts.map +1 -1
  205. package/dist/elements/RestoreMany/index.js +3 -0
  206. package/dist/elements/RestoreMany/index.js.map +1 -1
  207. package/dist/elements/SelectRow/index.d.ts +4 -3
  208. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  209. package/dist/elements/SelectRow/index.js +10 -7
  210. package/dist/elements/SelectRow/index.js.map +1 -1
  211. package/dist/elements/SidebarToggle/index.css +0 -17
  212. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  213. package/dist/elements/SortColumn/index.js +42 -38
  214. package/dist/elements/SortColumn/index.js.map +1 -1
  215. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  216. package/dist/elements/SortHeader/index.js +29 -26
  217. package/dist/elements/SortHeader/index.js.map +1 -1
  218. package/dist/elements/StepNav/index.css +64 -14
  219. package/dist/elements/StepNav/index.d.ts.map +1 -1
  220. package/dist/elements/StepNav/index.js +145 -69
  221. package/dist/elements/StepNav/index.js.map +1 -1
  222. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  223. package/dist/elements/Table/DefaultCell/index.js +3 -11
  224. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  225. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  226. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  227. package/dist/elements/Table/OrderableRow.js +17 -1
  228. package/dist/elements/Table/OrderableRow.js.map +1 -1
  229. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  230. package/dist/elements/Table/OrderableTable.js +22 -3
  231. package/dist/elements/Table/OrderableTable.js.map +1 -1
  232. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  233. package/dist/elements/Table/RelationshipProvider/index.js +29 -23
  234. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  235. package/dist/elements/Table/index.css +1 -0
  236. package/dist/elements/TableSection/index.css +0 -1
  237. package/dist/elements/Thumbnail/index.d.ts +1 -1
  238. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  239. package/dist/elements/Thumbnail/index.js.map +1 -1
  240. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  241. package/dist/elements/TimezonePicker/index.js +5 -1
  242. package/dist/elements/TimezonePicker/index.js.map +1 -1
  243. package/dist/elements/Tooltip/index.css +15 -34
  244. package/dist/elements/Tooltip/index.d.ts +11 -3
  245. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  246. package/dist/elements/Tooltip/index.js +151 -85
  247. package/dist/elements/Tooltip/index.js.map +1 -1
  248. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  249. package/dist/elements/UnpublishButton/index.js +4 -1
  250. package/dist/elements/UnpublishButton/index.js.map +1 -1
  251. package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
  252. package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
  253. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  254. package/dist/elements/Upload/index.css +0 -5
  255. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  257. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  258. package/dist/exports/client/index.d.ts +8 -1
  259. package/dist/exports/client/index.d.ts.map +1 -1
  260. package/dist/exports/client/index.js +1 -1
  261. package/dist/exports/client/index.js.map +3 -3
  262. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  263. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  264. package/dist/fields/Array/ArrayRow.js +99 -160
  265. package/dist/fields/Array/ArrayRow.js.map +1 -1
  266. package/dist/fields/Array/index.d.ts.map +1 -1
  267. package/dist/fields/Array/index.js +38 -10
  268. package/dist/fields/Array/index.js.map +1 -1
  269. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  270. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  271. package/dist/fields/Blocks/BlockRow.js +136 -195
  272. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  273. package/dist/fields/Blocks/RowActions.d.ts +3 -0
  274. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  275. package/dist/fields/Blocks/RowActions.js +26 -20
  276. package/dist/fields/Blocks/RowActions.js.map +1 -1
  277. package/dist/fields/Blocks/index.d.ts.map +1 -1
  278. package/dist/fields/Blocks/index.js +38 -10
  279. package/dist/fields/Blocks/index.js.map +1 -1
  280. package/dist/fields/Checkbox/Input.d.ts +2 -0
  281. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  282. package/dist/fields/Checkbox/Input.js +32 -26
  283. package/dist/fields/Checkbox/Input.js.map +1 -1
  284. package/dist/fields/Checkbox/index.css +37 -73
  285. package/dist/fields/FieldError/index.css +0 -9
  286. package/dist/fields/FieldError/index.d.ts.map +1 -1
  287. package/dist/fields/FieldError/index.js +19 -9
  288. package/dist/fields/FieldError/index.js.map +1 -1
  289. package/dist/fields/Join/index.css +9 -0
  290. package/dist/fields/Join/index.d.ts.map +1 -1
  291. package/dist/fields/Join/index.js +13 -9
  292. package/dist/fields/Join/index.js.map +1 -1
  293. package/dist/fields/RadioGroup/index.css +0 -7
  294. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  295. package/dist/fields/Relationship/Input.js +37 -15
  296. package/dist/fields/Relationship/Input.js.map +1 -1
  297. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  298. package/dist/fields/Slug/index.css +0 -1
  299. package/dist/fields/Slug/index.d.ts.map +1 -1
  300. package/dist/fields/Slug/index.js +75 -111
  301. package/dist/fields/Slug/index.js.map +1 -1
  302. package/dist/fields/Upload/Input.d.ts.map +1 -1
  303. package/dist/fields/Upload/Input.js +4 -1
  304. package/dist/fields/Upload/Input.js.map +1 -1
  305. package/dist/fields/Upload/index.css +19 -4
  306. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  307. package/dist/forms/Form/fieldReducer.js +3 -1
  308. package/dist/forms/Form/fieldReducer.js.map +1 -1
  309. package/dist/forms/Form/index.d.ts.map +1 -1
  310. package/dist/forms/Form/index.js +12 -15
  311. package/dist/forms/Form/index.js.map +1 -1
  312. package/dist/forms/Form/types.d.ts +1 -1
  313. package/dist/forms/Form/types.d.ts.map +1 -1
  314. package/dist/forms/Form/types.js.map +1 -1
  315. package/dist/forms/RenderFields/index.css +16 -2
  316. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  317. package/dist/forms/WatchChildErrors/index.js +2 -2
  318. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  319. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  320. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  321. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  322. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  323. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  324. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  325. package/dist/hooks/usePayloadAPI.js +44 -40
  326. package/dist/hooks/usePayloadAPI.js.map +1 -1
  327. package/dist/icons/Edit/index.d.ts +0 -1
  328. package/dist/icons/Edit/index.d.ts.map +1 -1
  329. package/dist/icons/Edit/index.js +4 -4
  330. package/dist/icons/Edit/index.js.map +1 -1
  331. package/dist/layouts/Root/index.d.ts +1 -1
  332. package/dist/layouts/Root/index.d.ts.map +1 -1
  333. package/dist/layouts/Root/index.js +8 -2
  334. package/dist/layouts/Root/index.js.map +1 -1
  335. package/dist/providers/Actions/index.d.ts +1 -0
  336. package/dist/providers/Actions/index.d.ts.map +1 -1
  337. package/dist/providers/Actions/index.js +43 -11
  338. package/dist/providers/Actions/index.js.map +1 -1
  339. package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
  340. package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
  341. package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
  342. package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
  343. package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
  344. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
  345. package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
  346. package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
  347. package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
  348. package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
  349. package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
  350. package/dist/providers/Auth/authSessionRequests.js +119 -0
  351. package/dist/providers/Auth/authSessionRequests.js.map +1 -0
  352. package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
  353. package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
  354. package/dist/providers/Auth/index.d.ts +2 -56
  355. package/dist/providers/Auth/index.d.ts.map +1 -1
  356. package/dist/providers/Auth/index.js +283 -135
  357. package/dist/providers/Auth/index.js.map +1 -1
  358. package/dist/providers/Auth/sessionActivity.d.ts +23 -0
  359. package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
  360. package/dist/providers/Auth/sessionActivity.js +49 -0
  361. package/dist/providers/Auth/sessionActivity.js.map +1 -0
  362. package/dist/providers/Auth/sessionActivity.spec.js +44 -0
  363. package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
  364. package/dist/providers/Auth/sessionTiming.d.ts +11 -0
  365. package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
  366. package/dist/providers/Auth/sessionTiming.js +18 -0
  367. package/dist/providers/Auth/sessionTiming.js.map +1 -0
  368. package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
  369. package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
  370. package/dist/providers/Auth/tabSessionSync/index.js +263 -0
  371. package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
  372. package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
  373. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
  374. package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
  375. package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
  376. package/dist/providers/Auth/tabSessionSync/types.js +6 -0
  377. package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
  378. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
  379. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
  380. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
  381. package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
  382. package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
  383. package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
  384. package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
  385. package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
  386. package/dist/providers/Auth/types.d.ts +65 -0
  387. package/dist/providers/Auth/types.d.ts.map +1 -0
  388. package/dist/providers/Auth/types.js +2 -0
  389. package/dist/providers/Auth/types.js.map +1 -0
  390. package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
  391. package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
  392. package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
  393. package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
  394. package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
  395. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
  396. package/dist/providers/Branch/index.d.ts +62 -0
  397. package/dist/providers/Branch/index.d.ts.map +1 -0
  398. package/dist/providers/Branch/index.js +192 -0
  399. package/dist/providers/Branch/index.js.map +1 -0
  400. package/dist/providers/Branch/index.server.d.ts +14 -0
  401. package/dist/providers/Branch/index.server.d.ts.map +1 -0
  402. package/dist/providers/Branch/index.server.js +80 -0
  403. package/dist/providers/Branch/index.server.js.map +1 -0
  404. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  405. package/dist/providers/DocumentInfo/index.js +5 -1
  406. package/dist/providers/DocumentInfo/index.js.map +1 -1
  407. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
  408. package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
  409. package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
  410. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  411. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  412. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  413. package/dist/providers/DocumentTitle/index.js +2 -0
  414. package/dist/providers/DocumentTitle/index.js.map +1 -1
  415. package/dist/providers/Embed/index.d.ts +24 -0
  416. package/dist/providers/Embed/index.d.ts.map +1 -0
  417. package/dist/providers/Embed/index.js +105 -0
  418. package/dist/providers/Embed/index.js.map +1 -0
  419. package/dist/providers/FormErrorHandler/index.d.ts +24 -0
  420. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  421. package/dist/providers/FormErrorHandler/index.js +6 -0
  422. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  423. package/dist/providers/Hierarchy/index.d.ts.map +1 -1
  424. package/dist/providers/Hierarchy/index.js +4 -1
  425. package/dist/providers/Hierarchy/index.js.map +1 -1
  426. package/dist/providers/Locale/index.d.ts.map +1 -1
  427. package/dist/providers/Locale/index.js +41 -36
  428. package/dist/providers/Locale/index.js.map +1 -1
  429. package/dist/providers/Root/index.d.ts +1 -0
  430. package/dist/providers/Root/index.d.ts.map +1 -1
  431. package/dist/providers/Root/index.js +37 -31
  432. package/dist/providers/Root/index.js.map +1 -1
  433. package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
  434. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  435. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
  436. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
  437. package/dist/providers/RouteTransition/index.d.ts +2 -0
  438. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  439. package/dist/providers/RouteTransition/index.js +42 -14
  440. package/dist/providers/RouteTransition/index.js.map +1 -1
  441. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  442. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  443. package/dist/providers/SidebarTabs/index.js.map +1 -1
  444. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  445. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  446. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  447. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  448. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  449. package/dist/providers/Theme/index.d.ts +3 -0
  450. package/dist/providers/Theme/index.d.ts.map +1 -1
  451. package/dist/providers/Theme/index.js +107 -95
  452. package/dist/providers/Theme/index.js.map +1 -1
  453. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  454. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  455. package/dist/providers/UploadHandlers/index.js +102 -42
  456. package/dist/providers/UploadHandlers/index.js.map +1 -1
  457. package/dist/styles.css +13 -10
  458. package/dist/templates/Default/index.d.ts +1 -0
  459. package/dist/templates/Default/index.d.ts.map +1 -1
  460. package/dist/templates/Default/index.js +45 -39
  461. package/dist/templates/Default/index.js.map +1 -1
  462. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  463. package/dist/utilities/combineFieldLabel.js +5 -1
  464. package/dist/utilities/combineFieldLabel.js.map +1 -1
  465. package/dist/utilities/generateFieldID.d.ts +1 -1
  466. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  467. package/dist/utilities/generateFieldID.js +2 -2
  468. package/dist/utilities/generateFieldID.js.map +1 -1
  469. package/dist/utilities/getRequestBranch.d.ts +18 -0
  470. package/dist/utilities/getRequestBranch.d.ts.map +1 -0
  471. package/dist/utilities/getRequestBranch.js +32 -0
  472. package/dist/utilities/getRequestBranch.js.map +1 -0
  473. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  474. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  475. package/dist/utilities/getRequestEmbed.js +10 -0
  476. package/dist/utilities/getRequestEmbed.js.map +1 -0
  477. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  478. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  479. package/dist/utilities/handleServerFunctions.js +17 -37
  480. package/dist/utilities/handleServerFunctions.js.map +1 -1
  481. package/dist/utilities/initReq.d.ts.map +1 -1
  482. package/dist/utilities/initReq.js +8 -0
  483. package/dist/utilities/initReq.js.map +1 -1
  484. package/dist/utilities/matchesSearchQuery.d.ts +12 -0
  485. package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
  486. package/dist/utilities/matchesSearchQuery.js +23 -0
  487. package/dist/utilities/matchesSearchQuery.js.map +1 -0
  488. package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
  489. package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
  490. package/dist/utilities/renderTable.d.ts.map +1 -1
  491. package/dist/utilities/renderTable.js +18 -2
  492. package/dist/utilities/renderTable.js.map +1 -1
  493. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  494. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  495. package/dist/utilities/serverFunctionRegistry.js +25 -7
  496. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  497. package/dist/utilities/slugify.d.ts.map +1 -1
  498. package/dist/utilities/slugify.js +49 -6
  499. package/dist/utilities/slugify.js.map +1 -1
  500. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  501. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
  502. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  503. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
  504. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
  505. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
  506. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  507. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
  508. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  509. package/dist/views/Dashboard/Default/ModularDashboard/index.css +29 -144
  510. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  511. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  512. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  513. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  514. package/dist/views/Edit/index.css +61 -53
  515. package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
  516. package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
  517. package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
  518. package/dist/views/HierarchyList/index.css +1 -1
  519. package/dist/views/List/ListHeader/index.d.ts +1 -10
  520. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  521. package/dist/views/List/ListHeader/index.js +1 -3
  522. package/dist/views/List/ListHeader/index.js.map +1 -1
  523. package/dist/views/List/index.client.d.ts.map +1 -1
  524. package/dist/views/List/index.client.js +0 -14
  525. package/dist/views/List/index.client.js.map +1 -1
  526. package/dist/views/List/index.css +6 -1
  527. package/dist/views/List/index.d.ts.map +1 -1
  528. package/dist/views/List/index.js +4 -0
  529. package/dist/views/List/index.js.map +1 -1
  530. package/dist/views/Logout/index.d.ts.map +1 -1
  531. package/dist/views/Logout/index.js +11 -0
  532. package/dist/views/Logout/index.js.map +1 -1
  533. package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
  534. package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
  535. package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
  536. package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
  537. package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
  538. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  539. package/dist/views/Root/index.d.ts +12 -1
  540. package/dist/views/Root/index.d.ts.map +1 -1
  541. package/dist/views/Root/index.js +11 -3
  542. package/dist/views/Root/index.js.map +1 -1
  543. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  544. package/dist/views/Version/Restore/index.js +6 -3
  545. package/dist/views/Version/Restore/index.js.map +1 -1
  546. package/package.json +5 -10
  547. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
  548. package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
  549. package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
  550. package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
  551. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  552. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  553. package/dist/scss/app.scss +0 -183
  554. package/dist/scss/colors.scss +0 -191
  555. package/dist/scss/custom.css +0 -1
  556. package/dist/scss/queries.scss +0 -27
  557. package/dist/scss/styles.scss +0 -9
  558. package/dist/scss/svg.scss +0 -10
  559. package/dist/scss/toastify.scss +0 -61
  560. package/dist/scss/vars.scss +0 -192
  561. package/dist/scss/z-index.scss +0 -9
@@ -0,0 +1,121 @@
1
+ @layer payload-default, payload;
2
+
3
+ @import '../styles.css';
4
+
5
+ @layer payload-default {
6
+ :root {
7
+ --font-body: var(--font-family-sans), sans-serif;
8
+ --font-mono: var(--font-family-mono), 'SF Mono', Menlo, Consolas, Monaco, monospace;
9
+
10
+ --app-header-height: 0px;
11
+ --doc-controls-height: 0px;
12
+ --doc-header-height: 0px;
13
+ --nav-width: 275px;
14
+ }
15
+
16
+ @media (max-width: 768px) {
17
+ :root {
18
+ --nav-width: 100vw;
19
+ }
20
+ }
21
+
22
+ /* GLOBAL STYLES */
23
+
24
+ * {
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ html {
29
+ background: var(--color-bg);
30
+ -webkit-font-smoothing: antialiased;
31
+
32
+ &[data-theme='dark'] {
33
+ color-scheme: dark;
34
+ }
35
+ }
36
+
37
+ html,
38
+ body,
39
+ #app {
40
+ height: 100%;
41
+ }
42
+
43
+ body {
44
+ font-family: var(--font-body);
45
+ font-size: var(--text-body-medium-font-size);
46
+ font-weight: var(--text-body-medium-font-weight);
47
+ line-height: var(--text-body-medium-line-height);
48
+ letter-spacing: var(--text-letter-spacing);
49
+ color: var(--color-text);
50
+ margin: 0;
51
+ /* this is for the nav to be able to push the document over */
52
+ overflow-x: hidden;
53
+ }
54
+
55
+ /* Lock background scroll while a drawer is open. Backs up faceless-ui's JS
56
+ body-scroll-lock, which a sibling modal can clear prematurely. */
57
+ body:has(.drawer--is-open) {
58
+ overflow: hidden;
59
+ }
60
+
61
+ img {
62
+ max-width: 100%;
63
+ height: auto;
64
+ display: block;
65
+ }
66
+
67
+ p {
68
+ margin: 0;
69
+ }
70
+
71
+ ul,
72
+ ol {
73
+ padding-left: 1.53846rem;
74
+ margin: 0;
75
+ }
76
+
77
+ :focus-visible {
78
+ outline: var(--accessibility-outline);
79
+ outline-offset: var(--accessibility-outline-offset);
80
+ border-radius: var(--radius-medium);
81
+ }
82
+
83
+ a {
84
+ color: currentColor;
85
+
86
+ &:focus {
87
+ &:not(:focus-visible) {
88
+ opacity: 0.8;
89
+ }
90
+ }
91
+
92
+ &:active {
93
+ opacity: 0.7;
94
+ }
95
+ }
96
+
97
+ svg {
98
+ vertical-align: middle;
99
+ }
100
+
101
+ dialog {
102
+ width: 100%;
103
+ border: 0;
104
+ padding: 0;
105
+ color: currentColor;
106
+ }
107
+
108
+ .payload__modal-item {
109
+ min-height: 100%;
110
+ background: transparent;
111
+ }
112
+
113
+ .payload__modal-container--enterDone {
114
+ overflow: auto;
115
+ }
116
+
117
+ .payload__modal-item--enter,
118
+ .payload__modal-item--enterDone {
119
+ z-index: var(--z-modal);
120
+ }
121
+ }
@@ -13,9 +13,6 @@
13
13
  padding: 0 var(--field-padding-inline);
14
14
  appearance: none;
15
15
  -webkit-appearance: none;
16
- transition-property: box-shadow, background-color;
17
- transition-duration: 100ms;
18
- transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
19
16
  outline: none;
20
17
 
21
18
  &[data-rtl='true'] {
@@ -70,9 +67,6 @@
70
67
  border: var(--stroke-width-small) solid var(--field-color-border);
71
68
  border-radius: var(--field-border-radius);
72
69
  min-height: var(--field-min-height-large);
73
- transition-property: box-shadow, background-color;
74
- transition-duration: 100ms;
75
- transition-timing-function: cubic-bezier(0, 0.2, 0.2, 1);
76
70
 
77
71
  &:where(:hover:not(:focus-within):not(:has(input:disabled)):not(:has(input:read-only))) {
78
72
  border-color: var(--field-color-border-hover);
@@ -2,6 +2,7 @@
2
2
  :root {
3
3
  --spacer-0: 0;
4
4
  --spacer-1: 0.25rem; /** 4px */
5
+ --spacer-1-5: 0.375rem; /** 6px */
5
6
  --spacer-2: 0.5rem; /** 8px */
6
7
  --spacer-2-5: 0.75rem; /** 12px */
7
8
  --spacer-3: 1rem; /** 16px */
@@ -15,19 +16,26 @@
15
16
  --spacing-view-bottom: var(--gutter-h);
16
17
 
17
18
  /* Breakpoints */
18
- --breakpoint-m-width: 1024px;
19
+ --breakpoint-xs-width: 400px;
19
20
  --breakpoint-s-width: 768px;
21
+ --breakpoint-m-width: 1024px;
22
+ --breakpoint-l-width: 1440px;
20
23
  }
21
24
 
22
- @media (max-width: 1024px) {
25
+ @media (max-width: 1440px) {
23
26
  :root {
24
27
  --gutter-h: var(--spacer-4);
25
28
  }
26
29
  }
27
30
 
28
- @media (max-width: 768px) {
31
+ @media (max-width: 1024px) {
29
32
  :root {
30
33
  --gutter-h: var(--spacer-3);
34
+ }
35
+ }
36
+
37
+ @media (max-width: 768px) {
38
+ :root {
31
39
  --spacing-field: var(--spacer-2-5);
32
40
  --spacing-view-bottom: var(--spacer-6);
33
41
  }
@@ -1,5 +1,6 @@
1
1
  @layer payload-default {
2
2
  :root {
3
+ /* --z-popup needs to be higher than --z-modal to ensure the popup is displayed when modal is open */
3
4
  --z-popup: 60;
4
5
  --z-nav: 20;
5
6
  --z-modal: 30;
@@ -22,7 +22,6 @@
22
22
  border-radius: var(--button-radius);
23
23
  color: var(--color-icon);
24
24
  cursor: pointer;
25
- transition: background-color 100ms;
26
25
 
27
26
  &:hover {
28
27
  background: var(--color-bg-secondary-hover);
@@ -60,6 +60,7 @@
60
60
  flex-grow: 0;
61
61
  gap: var(--spacer-1);
62
62
  width: 100%;
63
+ min-width: 0;
63
64
  }
64
65
 
65
66
  .app-header__controls-wrapper {
@@ -80,9 +81,6 @@
80
81
  border-radius: var(--button-radius);
81
82
  cursor: pointer;
82
83
  color: var(--color-icon);
83
- transition:
84
- background-color 0.15s ease,
85
- border-color 0.15s ease;
86
84
 
87
85
  &:hover {
88
86
  background-color: var(--color-bg-transparent-hover);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAe9E,OAAO,aAAa,CAAA;AAIpB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,KAAK,qBA2GxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAgB9E,OAAO,aAAa,CAAA;AAIpB,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAA;CAC7C,CAAA;AACD,wBAAgB,SAAS,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,KAAK,qBA8GxF"}
@@ -8,6 +8,7 @@ import { LanguageIcon } from '../../icons/Language/index.js';
8
8
  import { SidebarIcon } from '../../icons/Sidebar/index.js';
9
9
  import { useActions } from '../../providers/Actions/index.js';
10
10
  import { useConfig } from '../../providers/Config/index.js';
11
+ import { useEmbed } from '../../providers/Embed/index.js';
11
12
  import { useLocale } from '../../providers/Locale/index.js';
12
13
  import { useTranslation } from '../../providers/Translation/index.js';
13
14
  import { Button } from '../Button/index.js';
@@ -26,6 +27,9 @@ export function AppHeader({
26
27
  t
27
28
  } = useTranslation();
28
29
  const locale = useLocale();
30
+ const {
31
+ isEmbedded
32
+ } = useEmbed();
29
33
  const {
30
34
  Actions
31
35
  } = useActions();
@@ -128,7 +132,7 @@ export function AppHeader({
128
132
  })
129
133
  })
130
134
  })]
131
- }), /*#__PURE__*/_jsx(UserMenu, {
135
+ }), !isEmbedded && /*#__PURE__*/_jsx(UserMenu, {
132
136
  CustomAvatar: CustomAvatar,
133
137
  CustomLogoutButton: CustomLogoutButton,
134
138
  settingsItemGroups: settingsItemGroups
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useElementHeightVariable","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useLocale","useTranslation","Button","Localizer","useNav","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","CustomLogoutButton","settingsItemGroups","t","locale","Actions","navOpen","setNavOpen","config","localization","headerRef","customControlsRef","isScrollable","setIsScrollable","cssVar","ref","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","buttonStyle","icon","onClick","type","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\nimport { useElementHeightVariable } from '../../hooks/useElementHeightVariable.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\nexport function AppHeader({ CustomAvatar, CustomLogoutButton, settingsItemGroups }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const headerRef = useRef<HTMLElement>(null)\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useElementHeightVariable({ cssVar: '--app-header-height', ref: headerRef })\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header\n className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}\n ref={headerRef}\n >\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n </div>\n <UserMenu\n CustomAvatar={CustomAvatar}\n CustomLogoutButton={CustomLogoutButton}\n settingsItemGroups={settingsItemGroups}\n />\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useElementHeightVariable","ChevronIcon","LanguageIcon","SidebarIcon","useActions","useConfig","useEmbed","useLocale","useTranslation","Button","Localizer","useNav","StepNav","UserMenu","baseClass","AppHeader","CustomAvatar","CustomLogoutButton","settingsItemGroups","t","locale","isEmbedded","Actions","navOpen","setNavOpen","config","localization","headerRef","customControlsRef","isScrollable","setIsScrollable","cssVar","ref","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","ActionComponents","Object","values","_jsx","className","filter","Boolean","join","_jsxs","buttonStyle","icon","onClick","type","map","Action","i","length","renderButton","active","onKeyDown","ariaProps","extraButtonProps","style","padding","size","iconPosition","selected","code","direction"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport type { UserMenuSettingsGroup } from '../UserMenu/SettingsMenu/index.js'\n\nimport { useElementHeightVariable } from '../../hooks/useElementHeightVariable.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { LanguageIcon } from '../../icons/Language/index.js'\nimport { SidebarIcon } from '../../icons/Sidebar/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEmbed } from '../../providers/Embed/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { StepNav } from '../StepNav/index.js'\nimport { UserMenu } from '../UserMenu/index.js'\nimport './index.css'\n\nconst baseClass = 'app-header'\n\ntype Props = {\n CustomAvatar?: React.ReactNode\n CustomLogoutButton?: React.ReactNode\n settingsItemGroups?: UserMenuSettingsGroup[]\n}\nexport function AppHeader({ CustomAvatar, CustomLogoutButton, settingsItemGroups }: Props) {\n const { t } = useTranslation()\n const locale = useLocale()\n const { isEmbedded } = useEmbed()\n\n const { Actions } = useActions()\n\n const { navOpen, setNavOpen } = useNav()\n\n const {\n config: { localization },\n } = useConfig()\n\n const headerRef = useRef<HTMLElement>(null)\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\n\n useElementHeightVariable({ cssVar: '--app-header-height', ref: headerRef })\n\n useEffect(() => {\n const checkIsScrollable = () => {\n const el = customControlsRef.current\n if (el) {\n const scrollable = el.scrollWidth > el.clientWidth\n setIsScrollable(scrollable)\n }\n }\n\n checkIsScrollable()\n window.addEventListener('resize', checkIsScrollable)\n\n return () => {\n window.removeEventListener('resize', checkIsScrollable)\n }\n }, [Actions])\n\n const ActionComponents = Actions ? Object.values(Actions) : []\n\n return (\n <header\n className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}\n ref={headerRef}\n >\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <Button\n aria-label={`${navOpen ? t('general:close') : t('general:open')} ${t('general:menu')}`}\n buttonStyle=\"ghost\"\n className={`${baseClass}__sidebar-toggle`}\n icon={<SidebarIcon />}\n onClick={() => setNavOpen(!navOpen)}\n type=\"button\"\n />\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} />\n </div>\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {ActionComponents.map((Action, i) => (\n <div\n className={\n isScrollable && i === ActionComponents.length - 1\n ? `${baseClass}__last-action`\n : ''\n }\n key={i}\n >\n {Action}\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <Localizer\n className={`${baseClass}__localizer`}\n renderButton={({ active, onClick, onKeyDown, ...ariaProps }) => (\n <Button\n aria-label={t('general:locale')}\n buttonStyle=\"secondary\"\n extraButtonProps={{ onKeyDown, style: { padding: '0 var(--spacer-1) 0 0' } }}\n icon={<LanguageIcon size={24} />}\n iconPosition=\"left\"\n onClick={onClick}\n selected={active}\n {...ariaProps}\n >\n <div className=\"localizer__button-content\">\n {locale.code}\n <ChevronIcon direction={active ? 'up' : 'down'} size={16} />\n </div>\n </Button>\n )}\n />\n )}\n </div>\n {!isEmbedded && (\n <UserMenu\n CustomAvatar={CustomAvatar}\n CustomLogoutButton={CustomLogoutButton}\n settingsItemGroups={settingsItemGroups}\n />\n )}\n </div>\n </div>\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { ClipboardPasteEligibilityArgs } from '../ClipboardAction/types.js';
2
3
  import './index.css';
3
4
  export type Props = {
4
5
  addRow: (current: number, blockType?: string) => Promise<void> | void;
@@ -8,7 +9,9 @@ export type Props = {
8
9
  index: number;
9
10
  isSortable?: boolean;
10
11
  moveRow: (from: number, to: number) => void;
12
+ pasteData: ClipboardPasteEligibilityArgs;
11
13
  pasteRow: (index: number) => void;
14
+ pasteRowBelow: (index: number) => void;
12
15
  removeRow: (index: number) => void;
13
16
  rowCount: number;
14
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ArrayAction/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAWzB,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA4GvC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ArrayAction/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AAYhF,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3C,SAAS,EAAE,6BAA6B,CAAA;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmIvC,CAAA"}
@@ -4,18 +4,19 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { ArrowIcon } from '../../icons/Arrow/index.js';
7
- import { ClipboardIcon } from '../../icons/Clipboard/index.js';
8
7
  import { CopyIcon } from '../../icons/Copy/index.js';
9
8
  import { DuplicateIcon } from '../../icons/Duplicate/index.js';
10
9
  import { MoreIcon } from '../../icons/More/index.js';
11
10
  import { PlusIcon } from '../../icons/Plus/index.js';
11
+ import { SwapIcon } from '../../icons/Swap/index.js';
12
12
  import { XIcon } from '../../icons/X/index.js';
13
13
  import { useTranslation } from '../../providers/Translation/index.js';
14
+ import { useCanPasteClipboard } from '../ClipboardAction/useCanPasteClipboard.js';
14
15
  import { Popup, PopupList } from '../Popup/index.js';
15
16
  import './index.css';
16
17
  const baseClass = 'array-actions';
17
18
  export const ArrayAction = t0 => {
18
- const $ = _c(12);
19
+ const $ = _c(31);
19
20
  const {
20
21
  addRow,
21
22
  copyRow,
@@ -24,26 +25,39 @@ export const ArrayAction = t0 => {
24
25
  index,
25
26
  isSortable,
26
27
  moveRow,
28
+ pasteData,
27
29
  pasteRow,
30
+ pasteRowBelow,
28
31
  removeRow,
29
32
  rowCount
30
33
  } = t0;
31
34
  const {
32
35
  t
33
36
  } = useTranslation();
37
+ const {
38
+ canPaste,
39
+ refresh
40
+ } = useCanPasteClipboard(pasteData);
34
41
  let t1;
35
- if ($[0] !== addRow || $[1] !== copyRow || $[2] !== duplicateRow || $[3] !== hasMaxRows || $[4] !== index || $[5] !== isSortable || $[6] !== moveRow || $[7] !== pasteRow || $[8] !== removeRow || $[9] !== rowCount || $[10] !== t) {
36
- t1 = _jsx(Popup, {
37
- button: _jsx(MoreIcon, {}),
38
- buttonAriaLabel: t("general:moreOptions"),
39
- buttonClassName: `${baseClass}__button`,
40
- caret: false,
41
- className: baseClass,
42
- horizontalAlign: "right",
43
- render: t2 => {
42
+ if ($[0] !== addRow || $[1] !== canPaste || $[2] !== copyRow || $[3] !== duplicateRow || $[4] !== hasMaxRows || $[5] !== index || $[6] !== isSortable || $[7] !== moveRow || $[8] !== pasteRow || $[9] !== pasteRowBelow || $[10] !== refresh || $[11] !== removeRow || $[12] !== rowCount || $[13] !== t) {
43
+ let t2;
44
+ if ($[15] !== refresh) {
45
+ t2 = active => {
46
+ if (active) {
47
+ refresh();
48
+ }
49
+ };
50
+ $[15] = refresh;
51
+ $[16] = t2;
52
+ } else {
53
+ t2 = $[16];
54
+ }
55
+ let t3;
56
+ if ($[17] !== addRow || $[18] !== canPaste || $[19] !== copyRow || $[20] !== duplicateRow || $[21] !== hasMaxRows || $[22] !== index || $[23] !== isSortable || $[24] !== moveRow || $[25] !== pasteRow || $[26] !== pasteRowBelow || $[27] !== removeRow || $[28] !== rowCount || $[29] !== t) {
57
+ t3 = t4 => {
44
58
  const {
45
59
  close
46
- } = t2;
60
+ } = t4;
47
61
  return _jsxs(PopupList.MenuItem, {
48
62
  children: [isSortable && index !== 0 && _jsx(PopupList.Button, {
49
63
  className: `${baseClass}__action ${baseClass}__move-up`,
@@ -99,16 +113,27 @@ export const ArrayAction = t0 => {
99
113
  close();
100
114
  },
101
115
  children: t("general:copyRow")
102
- }), _jsx(PopupList.Button, {
103
- className: `${baseClass}__action ${baseClass}__paste`,
104
- icon: _jsx(ClipboardIcon, {
116
+ }), !hasMaxRows && _jsx(PopupList.Button, {
117
+ className: `${baseClass}__action ${baseClass}__paste-below`,
118
+ disabled: !canPaste,
119
+ icon: _jsx(ArrowIcon, {
120
+ direction: "down",
105
121
  size: 24
106
122
  }),
123
+ onClick: () => {
124
+ pasteRowBelow(index);
125
+ close();
126
+ },
127
+ children: t("general:pasteBelow")
128
+ }), _jsx(PopupList.Button, {
129
+ className: `${baseClass}__action ${baseClass}__paste`,
130
+ disabled: !canPaste,
131
+ icon: _jsx(SwapIcon, {}),
107
132
  onClick: () => {
108
133
  pasteRow(index);
109
134
  close();
110
135
  },
111
- children: t("general:pasteRow")
136
+ children: t("general:replaceRow")
112
137
  }), _jsx(PopupList.Button, {
113
138
  className: `${baseClass}__action ${baseClass}__remove`,
114
139
  icon: _jsx(XIcon, {
@@ -121,22 +146,51 @@ export const ArrayAction = t0 => {
121
146
  children: t("general:remove")
122
147
  })]
123
148
  });
124
- }
149
+ };
150
+ $[17] = addRow;
151
+ $[18] = canPaste;
152
+ $[19] = copyRow;
153
+ $[20] = duplicateRow;
154
+ $[21] = hasMaxRows;
155
+ $[22] = index;
156
+ $[23] = isSortable;
157
+ $[24] = moveRow;
158
+ $[25] = pasteRow;
159
+ $[26] = pasteRowBelow;
160
+ $[27] = removeRow;
161
+ $[28] = rowCount;
162
+ $[29] = t;
163
+ $[30] = t3;
164
+ } else {
165
+ t3 = $[30];
166
+ }
167
+ t1 = _jsx(Popup, {
168
+ button: _jsx(MoreIcon, {}),
169
+ buttonAriaLabel: t("general:moreOptions"),
170
+ buttonClassName: `${baseClass}__button`,
171
+ caret: false,
172
+ className: baseClass,
173
+ horizontalAlign: "right",
174
+ onToggleOpen: t2,
175
+ render: t3
125
176
  });
126
177
  $[0] = addRow;
127
- $[1] = copyRow;
128
- $[2] = duplicateRow;
129
- $[3] = hasMaxRows;
130
- $[4] = index;
131
- $[5] = isSortable;
132
- $[6] = moveRow;
133
- $[7] = pasteRow;
134
- $[8] = removeRow;
135
- $[9] = rowCount;
136
- $[10] = t;
137
- $[11] = t1;
178
+ $[1] = canPaste;
179
+ $[2] = copyRow;
180
+ $[3] = duplicateRow;
181
+ $[4] = hasMaxRows;
182
+ $[5] = index;
183
+ $[6] = isSortable;
184
+ $[7] = moveRow;
185
+ $[8] = pasteRow;
186
+ $[9] = pasteRowBelow;
187
+ $[10] = refresh;
188
+ $[11] = removeRow;
189
+ $[12] = rowCount;
190
+ $[13] = t;
191
+ $[14] = t1;
138
192
  } else {
139
- t1 = $[11];
193
+ t1 = $[14];
140
194
  }
141
195
  return t1;
142
196
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ArrowIcon","ClipboardIcon","CopyIcon","DuplicateIcon","MoreIcon","PlusIcon","XIcon","useTranslation","Popup","PopupList","baseClass","ArrayAction","t0","$","addRow","copyRow","duplicateRow","hasMaxRows","index","isSortable","moveRow","pasteRow","removeRow","rowCount","t","t1","_jsx","button","buttonAriaLabel","buttonClassName","caret","className","horizontalAlign","render","t2","close","_jsxs","MenuItem","children","Button","icon","direction","size","Fragment"],"sources":["../../../src/elements/ArrayAction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { ArrowIcon } from '../../icons/Arrow/index.js'\nimport { ClipboardIcon } from '../../icons/Clipboard/index.js'\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { DuplicateIcon } from '../../icons/Duplicate/index.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'array-actions'\n\nexport type Props = {\n addRow: (current: number, blockType?: string) => Promise<void> | void\n copyRow: (index: number) => void\n duplicateRow: (current: number) => void\n hasMaxRows: boolean\n index: number\n isSortable?: boolean\n moveRow: (from: number, to: number) => void\n pasteRow: (index: number) => void\n removeRow: (index: number) => void\n rowCount: number\n}\n\nexport const ArrayAction: React.FC<Props> = ({\n addRow,\n copyRow,\n duplicateRow,\n hasMaxRows,\n index,\n isSortable,\n moveRow,\n pasteRow,\n removeRow,\n rowCount,\n}) => {\n const { t } = useTranslation()\n\n return (\n <Popup\n button={<MoreIcon />}\n buttonAriaLabel={t('general:moreOptions')}\n buttonClassName={`${baseClass}__button`}\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n render={({ close }) => {\n return (\n <PopupList.MenuItem>\n {isSortable && index !== 0 && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__move-up`}\n icon={<ArrowIcon direction=\"up\" size={24} />}\n onClick={() => {\n moveRow(index, index - 1)\n close()\n }}\n >\n {t('general:moveUp')}\n </PopupList.Button>\n )}\n {isSortable && index < rowCount - 1 && (\n <PopupList.Button\n className={`${baseClass}__action`}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n moveRow(index, index + 1)\n close()\n }}\n >\n {t('general:moveDown')}\n </PopupList.Button>\n )}\n {!hasMaxRows && (\n <React.Fragment>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__add`}\n icon={<PlusIcon size={24} />}\n onClick={() => {\n void addRow(index + 1)\n close()\n }}\n >\n {t('general:addBelow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__duplicate`}\n icon={<DuplicateIcon size={24} />}\n onClick={() => {\n duplicateRow(index)\n close()\n }}\n >\n {t('general:duplicate')}\n </PopupList.Button>\n </React.Fragment>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__copy`}\n icon={<CopyIcon size={24} />}\n onClick={() => {\n copyRow(index)\n close()\n }}\n >\n {t('general:copyRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste`}\n icon={<ClipboardIcon size={24} />}\n onClick={() => {\n pasteRow(index)\n close()\n }}\n >\n {t('general:pasteRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__remove`}\n icon={<XIcon size={24} />}\n onClick={() => {\n removeRow(index)\n close()\n }}\n >\n {t('general:remove')}\n </PopupList.Button>\n </PopupList.MenuItem>\n )\n }}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ArrowIcon","CopyIcon","DuplicateIcon","MoreIcon","PlusIcon","SwapIcon","XIcon","useTranslation","useCanPasteClipboard","Popup","PopupList","baseClass","ArrayAction","t0","$","addRow","copyRow","duplicateRow","hasMaxRows","index","isSortable","moveRow","pasteData","pasteRow","pasteRowBelow","removeRow","rowCount","t","canPaste","refresh","t1","t2","active","t3","t4","close","_jsxs","MenuItem","children","_jsx","Button","className","icon","direction","size","Fragment","disabled","onClick","button","buttonAriaLabel","buttonClassName","caret","horizontalAlign","onToggleOpen","render"],"sources":["../../../src/elements/ArrayAction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { ClipboardPasteEligibilityArgs } from '../ClipboardAction/types.js'\n\nimport { ArrowIcon } from '../../icons/Arrow/index.js'\nimport { CopyIcon } from '../../icons/Copy/index.js'\nimport { DuplicateIcon } from '../../icons/Duplicate/index.js'\nimport { MoreIcon } from '../../icons/More/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { SwapIcon } from '../../icons/Swap/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useCanPasteClipboard } from '../ClipboardAction/useCanPasteClipboard.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport './index.css'\n\nconst baseClass = 'array-actions'\n\nexport type Props = {\n addRow: (current: number, blockType?: string) => Promise<void> | void\n copyRow: (index: number) => void\n duplicateRow: (current: number) => void\n hasMaxRows: boolean\n index: number\n isSortable?: boolean\n moveRow: (from: number, to: number) => void\n pasteData: ClipboardPasteEligibilityArgs\n pasteRow: (index: number) => void\n pasteRowBelow: (index: number) => void\n removeRow: (index: number) => void\n rowCount: number\n}\n\nexport const ArrayAction: React.FC<Props> = ({\n addRow,\n copyRow,\n duplicateRow,\n hasMaxRows,\n index,\n isSortable,\n moveRow,\n pasteData,\n pasteRow,\n pasteRowBelow,\n removeRow,\n rowCount,\n}) => {\n const { t } = useTranslation()\n\n const { canPaste, refresh } = useCanPasteClipboard(pasteData)\n\n return (\n <Popup\n button={<MoreIcon />}\n buttonAriaLabel={t('general:moreOptions')}\n buttonClassName={`${baseClass}__button`}\n caret={false}\n className={baseClass}\n horizontalAlign=\"right\"\n onToggleOpen={(active) => {\n if (active) {\n refresh()\n }\n }}\n render={({ close }) => {\n return (\n <PopupList.MenuItem>\n {isSortable && index !== 0 && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__move-up`}\n icon={<ArrowIcon direction=\"up\" size={24} />}\n onClick={() => {\n moveRow(index, index - 1)\n close()\n }}\n >\n {t('general:moveUp')}\n </PopupList.Button>\n )}\n {isSortable && index < rowCount - 1 && (\n <PopupList.Button\n className={`${baseClass}__action`}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n moveRow(index, index + 1)\n close()\n }}\n >\n {t('general:moveDown')}\n </PopupList.Button>\n )}\n {!hasMaxRows && (\n <React.Fragment>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__add`}\n icon={<PlusIcon size={24} />}\n onClick={() => {\n void addRow(index + 1)\n close()\n }}\n >\n {t('general:addBelow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__duplicate`}\n icon={<DuplicateIcon size={24} />}\n onClick={() => {\n duplicateRow(index)\n close()\n }}\n >\n {t('general:duplicate')}\n </PopupList.Button>\n </React.Fragment>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__copy`}\n icon={<CopyIcon size={24} />}\n onClick={() => {\n copyRow(index)\n close()\n }}\n >\n {t('general:copyRow')}\n </PopupList.Button>\n {!hasMaxRows && (\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste-below`}\n disabled={!canPaste}\n icon={<ArrowIcon direction=\"down\" size={24} />}\n onClick={() => {\n pasteRowBelow(index)\n close()\n }}\n >\n {t('general:pasteBelow')}\n </PopupList.Button>\n )}\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__paste`}\n disabled={!canPaste}\n icon={<SwapIcon />}\n onClick={() => {\n pasteRow(index)\n close()\n }}\n >\n {t('general:replaceRow')}\n </PopupList.Button>\n <PopupList.Button\n className={`${baseClass}__action ${baseClass}__remove`}\n icon={<XIcon size={24} />}\n onClick={() => {\n removeRow(index)\n close()\n }}\n >\n {t('general:remove')}\n </PopupList.Button>\n </PopupList.MenuItem>\n )\n }}\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAUzE,OAAO,KAAwD,MAAM,OAAO,CAAA;AAmB5E,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAqMpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAUzE,OAAO,KAAwD,MAAM,OAAO,CAAA;AAoB5E,OAAO,aAAa,CAAA;AAMpB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,qBAAqB,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuMpC,CAAA"}
@@ -9,6 +9,7 @@ import { useAllFormFields, useForm, useFormModified, useFormSubmitted } from '..
9
9
  import { useDebounce } from '../../hooks/useDebounce.js';
10
10
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
11
11
  import { useQueue } from '../../hooks/useQueue.js';
12
+ import { useBranchParam } from '../../providers/Branch/index.js';
12
13
  import { useConfig } from '../../providers/Config/index.js';
13
14
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
14
15
  import { useLocale } from '../../providers/Locale/index.js';
@@ -48,6 +49,7 @@ export const Autosave = ({
48
49
  const {
49
50
  code: locale
50
51
  } = useLocale();
52
+ const branch = useBranchParam();
51
53
  const {
52
54
  t
53
55
  } = useTranslation();
@@ -84,6 +86,7 @@ export const Autosave = ({
84
86
  let entitySlug;
85
87
  const params = qs.stringify({
86
88
  autosave: true,
89
+ branch,
87
90
  depth: 0,
88
91
  draft: true,
89
92
  'fallback-locale': 'null',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["dequal","formatAdminURL","getAutosaveInterval","hasDraftValidationEnabled","reduceFieldsToValues","qs","React","useDeferredValue","useEffect","useRef","useState","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useEffectEvent","useQueue","useConfig","useDocumentInfo","useLocale","useTranslation","reduceFieldsToValuesWithValidation","LeaveWithoutSaving","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","config","routes","api","docConfig","mostRecentVersionIsAutosaved","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","isValid","setBackgroundProcessing","submit","formState","modified","submitted","code","locale","t","interval","validateOnDraft","_saving","setSaving","saving","debouncedFormState","queueTask","autosaveTimeoutRef","handleAutosave","current","undefined","startTimestamp","endTimestamp","hideIndicator","setTimeout","stopAutoSaveIndicator","Date","getTime","url","method","entitySlug","params","stringify","autosave","depth","draft","addQueryPrefix","slug","apiRoute","path","valid","skipSubmission","result","acceptValues","overrideLocalChanges","action","context","getDocPermissions","incrementVersionCount","disableFormWhileProcessing","disableSuccessStatus","overrides","_status","skipValidation","res","ok","prev","newDate","afterProcess","beforeProcess","didMount","previousDebouncedData","updatedAt","_","formData","__","prevFormData","clearTimeout","_jsxs","Fragment","_jsx","className"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport {\n formatAdminURL,\n getAutosaveInterval,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useDeferredValue, useEffect, useRef, useState } from 'react'\n\nimport type { OnSaveContext } from '../../views/Edit/index.js'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport { LeaveWithoutSaving } from '../LeaveWithoutSaving/index.js'\nimport './index.css'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({ id, collection, global: globalDoc }) => {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const {\n docConfig,\n mostRecentVersionIsAutosaved,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n\n const { isValid, setBackgroundProcessing, submit } = useForm()\n\n const [formState] = useAllFormFields()\n const modified = useFormModified()\n const submitted = useFormSubmitted()\n\n const { code: locale } = useLocale()\n const { t } = useTranslation()\n\n const interval = getAutosaveInterval(docConfig)\n const validateOnDraft = hasDraftValidationEnabled(docConfig)\n\n const [_saving, setSaving] = useState(false)\n\n const saving = useDeferredValue(_saving)\n\n const debouncedFormState = useDebounce(formState, interval)\n\n const { queueTask } = useQueue()\n\n const autosaveTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n const handleAutosave = useEffectEvent(() => {\n autosaveTimeoutRef.current = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const hideIndicator = () => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeoutRef.current = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n stopAutoSaveIndicator()\n }\n }\n\n queueTask(\n async () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n const params = qs.stringify(\n {\n autosave: true,\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n if (collection && id) {\n entitySlug = collection.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/${entitySlug}/${id}${params}`,\n })\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${entitySlug}${params}`,\n })\n method = 'POST'\n }\n\n const { valid } = reduceFieldsToValuesWithValidation(formState, true)\n\n const skipSubmission = submitted && !valid && validateOnDraft\n\n if (!skipSubmission && modified && url) {\n const result = await submit<any, OnSaveContext>({\n acceptValues: {\n overrideLocalChanges: false,\n },\n action: url,\n context: {\n getDocPermissions: false,\n incrementVersionCount: !mostRecentVersionIsAutosaved,\n },\n disableFormWhileProcessing: false,\n disableSuccessStatus: true,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: !validateOnDraft,\n })\n\n if (result && result?.res?.ok && !mostRecentVersionIsAutosaved) {\n setMostRecentVersionIsAutosaved(true)\n setUnpublishedVersionCount((prev) => prev + 1)\n }\n\n const newDate = new Date()\n\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n hideIndicator()\n }\n }\n },\n {\n afterProcess: () => {\n setBackgroundProcessing(false)\n },\n beforeProcess: () => {\n setBackgroundProcessing(true)\n },\n },\n )\n })\n\n const didMount = useRef(false)\n const previousDebouncedData = useRef(reduceFieldsToValues(debouncedFormState))\n\n // When debounced fields change, autosave\n useEffect(() => {\n /**\n * Ensure autosave doesn't run on mount\n */\n if (!didMount.current) {\n didMount.current = true\n return\n }\n\n /**\n * Ensure autosave only runs if the form data changes, not every time the entire form state changes\n * Remove `updatedAt` from comparison as it changes on every autosave interval.\n */\n const { updatedAt: _, ...formData } = reduceFieldsToValues(debouncedFormState)\n const { updatedAt: __, ...prevFormData } = previousDebouncedData.current\n\n if (dequal(formData, prevFormData)) {\n return\n }\n\n previousDebouncedData.current = formData\n\n handleAutosave()\n }, [debouncedFormState])\n\n /**\n * If component unmounts, clear the autosave timeout\n */\n useEffect(() => {\n return () => {\n stopAutoSaveIndicator()\n }\n }, [])\n\n const stopAutoSaveIndicator = useEffectEvent(() => {\n if (autosaveTimeoutRef.current) {\n clearTimeout(autosaveTimeoutRef.current)\n }\n\n setSaving(false)\n })\n\n return (\n <React.Fragment>\n {validateOnDraft && !isValid && <LeaveWithoutSaving />}\n {saving && <div className={baseClass}>{t('general:saving')}</div>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["dequal","formatAdminURL","getAutosaveInterval","hasDraftValidationEnabled","reduceFieldsToValues","qs","React","useDeferredValue","useEffect","useRef","useState","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useEffectEvent","useQueue","useBranchParam","useConfig","useDocumentInfo","useLocale","useTranslation","reduceFieldsToValuesWithValidation","LeaveWithoutSaving","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","config","routes","api","docConfig","mostRecentVersionIsAutosaved","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","isValid","setBackgroundProcessing","submit","formState","modified","submitted","code","locale","branch","t","interval","validateOnDraft","_saving","setSaving","saving","debouncedFormState","queueTask","autosaveTimeoutRef","handleAutosave","current","undefined","startTimestamp","endTimestamp","hideIndicator","setTimeout","stopAutoSaveIndicator","Date","getTime","url","method","entitySlug","params","stringify","autosave","depth","draft","addQueryPrefix","slug","apiRoute","path","valid","skipSubmission","result","acceptValues","overrideLocalChanges","action","context","getDocPermissions","incrementVersionCount","disableFormWhileProcessing","disableSuccessStatus","overrides","_status","skipValidation","res","ok","prev","newDate","afterProcess","beforeProcess","didMount","previousDebouncedData","updatedAt","_","formData","__","prevFormData","clearTimeout","_jsxs","Fragment","_jsx","className"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { dequal } from 'dequal/lite'\nimport {\n formatAdminURL,\n getAutosaveInterval,\n hasDraftValidationEnabled,\n reduceFieldsToValues,\n} from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useDeferredValue, useEffect, useRef, useState } from 'react'\n\nimport type { OnSaveContext } from '../../views/Edit/index.js'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useQueue } from '../../hooks/useQueue.js'\nimport { useBranchParam } from '../../providers/Branch/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport { LeaveWithoutSaving } from '../LeaveWithoutSaving/index.js'\nimport './index.css'\n\nconst baseClass = 'autosave'\n// The minimum time the saving state should be shown\nconst minimumAnimationTime = 1000\n\nexport type Props = {\n collection?: ClientCollectionConfig\n global?: ClientGlobalConfig\n id?: number | string\n publishedDocUpdatedAt: string\n}\n\nexport const Autosave: React.FC<Props> = ({ id, collection, global: globalDoc }) => {\n const {\n config: {\n routes: { api },\n },\n } = useConfig()\n\n const {\n docConfig,\n mostRecentVersionIsAutosaved,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n } = useDocumentInfo()\n\n const { isValid, setBackgroundProcessing, submit } = useForm()\n\n const [formState] = useAllFormFields()\n const modified = useFormModified()\n const submitted = useFormSubmitted()\n\n const { code: locale } = useLocale()\n const branch = useBranchParam()\n const { t } = useTranslation()\n\n const interval = getAutosaveInterval(docConfig)\n const validateOnDraft = hasDraftValidationEnabled(docConfig)\n\n const [_saving, setSaving] = useState(false)\n\n const saving = useDeferredValue(_saving)\n\n const debouncedFormState = useDebounce(formState, interval)\n\n const { queueTask } = useQueue()\n\n const autosaveTimeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n const handleAutosave = useEffectEvent(() => {\n autosaveTimeoutRef.current = undefined\n // We need to log the time in order to figure out if we need to trigger the state off later\n let startTimestamp = undefined\n let endTimestamp = undefined\n\n const hideIndicator = () => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeoutRef.current = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n stopAutoSaveIndicator()\n }\n }\n\n queueTask(\n async () => {\n if (modified) {\n startTimestamp = new Date().getTime()\n\n setSaving(true)\n\n let url: string\n let method: string\n let entitySlug: string\n const params = qs.stringify(\n {\n autosave: true,\n branch,\n depth: 0,\n draft: true,\n 'fallback-locale': 'null',\n locale,\n },\n {\n addQueryPrefix: true,\n },\n )\n\n if (collection && id) {\n entitySlug = collection.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/${entitySlug}/${id}${params}`,\n })\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = formatAdminURL({\n apiRoute: api,\n path: `/globals/${entitySlug}${params}`,\n })\n method = 'POST'\n }\n\n const { valid } = reduceFieldsToValuesWithValidation(formState, true)\n\n const skipSubmission = submitted && !valid && validateOnDraft\n\n if (!skipSubmission && modified && url) {\n const result = await submit<any, OnSaveContext>({\n acceptValues: {\n overrideLocalChanges: false,\n },\n action: url,\n context: {\n getDocPermissions: false,\n incrementVersionCount: !mostRecentVersionIsAutosaved,\n },\n disableFormWhileProcessing: false,\n disableSuccessStatus: true,\n method,\n overrides: {\n _status: 'draft',\n },\n skipValidation: !validateOnDraft,\n })\n\n if (result && result?.res?.ok && !mostRecentVersionIsAutosaved) {\n setMostRecentVersionIsAutosaved(true)\n setUnpublishedVersionCount((prev) => prev + 1)\n }\n\n const newDate = new Date()\n\n // We need to log the time in order to figure out if we need to trigger the state off later\n endTimestamp = newDate.getTime()\n\n hideIndicator()\n }\n }\n },\n {\n afterProcess: () => {\n setBackgroundProcessing(false)\n },\n beforeProcess: () => {\n setBackgroundProcessing(true)\n },\n },\n )\n })\n\n const didMount = useRef(false)\n const previousDebouncedData = useRef(reduceFieldsToValues(debouncedFormState))\n\n // When debounced fields change, autosave\n useEffect(() => {\n /**\n * Ensure autosave doesn't run on mount\n */\n if (!didMount.current) {\n didMount.current = true\n return\n }\n\n /**\n * Ensure autosave only runs if the form data changes, not every time the entire form state changes\n * Remove `updatedAt` from comparison as it changes on every autosave interval.\n */\n const { updatedAt: _, ...formData } = reduceFieldsToValues(debouncedFormState)\n const { updatedAt: __, ...prevFormData } = previousDebouncedData.current\n\n if (dequal(formData, prevFormData)) {\n return\n }\n\n previousDebouncedData.current = formData\n\n handleAutosave()\n }, [debouncedFormState])\n\n /**\n * If component unmounts, clear the autosave timeout\n */\n useEffect(() => {\n return () => {\n stopAutoSaveIndicator()\n }\n }, [])\n\n const stopAutoSaveIndicator = useEffectEvent(() => {\n if (autosaveTimeoutRef.current) {\n clearTimeout(autosaveTimeoutRef.current)\n }\n\n setSaving(false)\n })\n\n return (\n <React.Fragment>\n {validateOnDraft && !isValid && <LeaveWithoutSaving />}\n {saving && <div className={baseClass}>{t('general:saving')}</div>}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}