@payloadcms/ui 3.0.0-canary.518fabe → 3.0.0-canary.51be7be

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 (499) hide show
  1. package/dist/elements/AddNewRelation/index.scss +36 -34
  2. package/dist/elements/AppHeader/index.scss +151 -150
  3. package/dist/elements/ArrayAction/index.scss +23 -21
  4. package/dist/elements/Autosave/index.d.ts.map +1 -1
  5. package/dist/elements/Autosave/index.js +1 -3
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.scss +4 -2
  8. package/dist/elements/Banner/index.scss +51 -49
  9. package/dist/elements/BulkUpload/ActionsBar/index.js +2 -2
  10. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/ActionsBar/index.scss +45 -43
  12. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  13. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  15. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  16. package/dist/elements/BulkUpload/AddFilesView/index.scss +23 -21
  17. package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
  18. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
  19. package/dist/elements/BulkUpload/EditForm/index.js +3 -1
  20. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
  22. package/dist/elements/BulkUpload/FileSidebar/index.scss +214 -212
  23. package/dist/elements/BulkUpload/FormsManager/index.js +3 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  25. package/dist/elements/BulkUpload/Header/index.scss +11 -9
  26. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/index.js +22 -42
  28. package/dist/elements/BulkUpload/index.js.map +1 -1
  29. package/dist/elements/Button/index.d.ts.map +1 -1
  30. package/dist/elements/Button/index.js +1 -0
  31. package/dist/elements/Button/index.js.map +1 -1
  32. package/dist/elements/Button/index.scss +202 -200
  33. package/dist/elements/Button/types.d.ts +6 -0
  34. package/dist/elements/Button/types.d.ts.map +1 -1
  35. package/dist/elements/Button/types.js.map +1 -1
  36. package/dist/elements/Card/index.scss +58 -56
  37. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  38. package/dist/elements/CodeEditor/CodeEditor.js +51 -25
  39. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  40. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  41. package/dist/elements/CodeEditor/index.js +2 -8
  42. package/dist/elements/CodeEditor/index.js.map +1 -1
  43. package/dist/elements/CodeEditor/index.scss +16 -14
  44. package/dist/elements/Collapsible/index.scss +125 -123
  45. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  46. package/dist/elements/ColumnSelector/index.js +14 -2
  47. package/dist/elements/ColumnSelector/index.js.map +1 -1
  48. package/dist/elements/ColumnSelector/index.scss +36 -34
  49. package/dist/elements/CopyToClipboard/index.scss +21 -19
  50. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  51. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  52. package/dist/elements/DatePicker/DatePicker.js +1 -1
  53. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  54. package/dist/elements/DatePicker/index.scss +309 -307
  55. package/dist/elements/DatePicker/library.scss +859 -0
  56. package/dist/elements/DeleteDocument/index.scss +32 -30
  57. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  58. package/dist/elements/DeleteMany/index.js +16 -5
  59. package/dist/elements/DeleteMany/index.js.map +1 -1
  60. package/dist/elements/DeleteMany/index.scss +29 -27
  61. package/dist/elements/DocumentControls/index.d.ts +4 -1
  62. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  63. package/dist/elements/DocumentControls/index.js +43 -7
  64. package/dist/elements/DocumentControls/index.js.map +1 -1
  65. package/dist/elements/DocumentControls/index.scss +192 -182
  66. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  67. package/dist/elements/DocumentDrawer/DrawerContent.js +23 -17
  68. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  69. package/dist/elements/DocumentDrawer/index.scss +55 -53
  70. package/dist/elements/DocumentDrawer/types.d.ts +4 -1
  71. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  72. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  73. package/dist/elements/DocumentFields/index.scss +144 -142
  74. package/dist/elements/Drawer/index.scss +111 -109
  75. package/dist/elements/Dropzone/index.d.ts +2 -1
  76. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  77. package/dist/elements/Dropzone/index.js +3 -2
  78. package/dist/elements/Dropzone/index.js.map +1 -1
  79. package/dist/elements/Dropzone/index.scss +32 -30
  80. package/dist/elements/DuplicateDocument/index.scss +31 -29
  81. package/dist/elements/EditMany/index.d.ts.map +1 -1
  82. package/dist/elements/EditMany/index.js +235 -124
  83. package/dist/elements/EditMany/index.js.map +1 -1
  84. package/dist/elements/EditMany/index.scss +162 -160
  85. package/dist/elements/EditUpload/index.scss +180 -178
  86. package/dist/elements/ErrorPill/index.scss +27 -25
  87. package/dist/elements/FieldSelect/index.js +2 -2
  88. package/dist/elements/FieldSelect/index.js.map +1 -1
  89. package/dist/elements/FieldSelect/index.scss +4 -2
  90. package/dist/elements/FileDetails/DraggableFileDetails/index.scss +25 -23
  91. package/dist/elements/FileDetails/FileMeta/index.scss +21 -19
  92. package/dist/elements/FileDetails/StaticFileDetails/index.scss +104 -102
  93. package/dist/elements/GenerateConfirmation/index.scss +29 -27
  94. package/dist/elements/Gutter/index.scss +14 -12
  95. package/dist/elements/Hamburger/index.scss +38 -32
  96. package/dist/elements/IDLabel/index.scss +11 -9
  97. package/dist/elements/ListControls/index.d.ts.map +1 -1
  98. package/dist/elements/ListControls/index.js +9 -5
  99. package/dist/elements/ListControls/index.js.map +1 -1
  100. package/dist/elements/ListControls/index.scss +70 -74
  101. package/dist/elements/ListDrawer/DrawerContent.d.ts +2 -0
  102. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  103. package/dist/elements/ListDrawer/DrawerContent.js +194 -188
  104. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  105. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  106. package/dist/elements/ListDrawer/index.js +18 -15
  107. package/dist/elements/ListDrawer/index.js.map +1 -1
  108. package/dist/elements/ListDrawer/index.scss +93 -91
  109. package/dist/elements/ListDrawer/types.d.ts +4 -1
  110. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  111. package/dist/elements/ListDrawer/types.js.map +1 -1
  112. package/dist/elements/ListHeader/index.scss +9 -7
  113. package/dist/elements/ListSelection/index.scss +14 -12
  114. package/dist/elements/Loading/index.scss +108 -106
  115. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  116. package/dist/elements/Localizer/LocalizerLabel/index.js +9 -5
  117. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  118. package/dist/elements/Localizer/LocalizerLabel/index.scss +45 -39
  119. package/dist/elements/Localizer/index.scss +7 -5
  120. package/dist/elements/Locked/index.d.ts +8 -0
  121. package/dist/elements/Locked/index.d.ts.map +1 -0
  122. package/dist/elements/Locked/index.js +72 -0
  123. package/dist/elements/Locked/index.js.map +1 -0
  124. package/dist/elements/Locked/index.scss +16 -0
  125. package/dist/elements/Nav/NavToggler/index.scss +9 -7
  126. package/dist/elements/NavGroup/index.scss +43 -41
  127. package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
  128. package/dist/elements/Pagination/index.d.ts.map +1 -1
  129. package/dist/elements/Pagination/index.js +1 -1
  130. package/dist/elements/Pagination/index.js.map +1 -1
  131. package/dist/elements/Pagination/index.scss +40 -38
  132. package/dist/elements/PerPage/index.d.ts +5 -5
  133. package/dist/elements/PerPage/index.d.ts.map +1 -1
  134. package/dist/elements/PerPage/index.js +2 -1
  135. package/dist/elements/PerPage/index.js.map +1 -1
  136. package/dist/elements/PerPage/index.scss +37 -35
  137. package/dist/elements/Pill/index.scss +104 -100
  138. package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
  139. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  140. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  141. package/dist/elements/Popup/PopupTrigger/index.js +3 -2
  142. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  143. package/dist/elements/Popup/PopupTrigger/index.scss +26 -12
  144. package/dist/elements/Popup/index.d.ts +1 -0
  145. package/dist/elements/Popup/index.d.ts.map +1 -1
  146. package/dist/elements/Popup/index.js +6 -3
  147. package/dist/elements/Popup/index.js.map +1 -1
  148. package/dist/elements/Popup/index.scss +194 -175
  149. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  150. package/dist/elements/PreviewButton/usePreviewURL.js +11 -3
  151. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  152. package/dist/elements/PreviewSizes/index.scss +115 -113
  153. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  154. package/dist/elements/PublishButton/index.js +97 -46
  155. package/dist/elements/PublishButton/index.js.map +1 -1
  156. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  157. package/dist/elements/PublishMany/index.js +18 -6
  158. package/dist/elements/PublishMany/index.js.map +1 -1
  159. package/dist/elements/PublishMany/index.scss +28 -26
  160. package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
  161. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
  162. package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
  163. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
  164. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
  165. package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
  166. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  167. package/dist/elements/ReactSelect/index.js +2 -0
  168. package/dist/elements/ReactSelect/index.js.map +1 -1
  169. package/dist/elements/ReactSelect/index.scss +67 -56
  170. package/dist/elements/ReactSelect/types.d.ts +2 -1
  171. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  172. package/dist/elements/ReactSelect/types.js.map +1 -1
  173. package/dist/elements/RelationshipTable/TableWrapper.d.ts +8 -0
  174. package/dist/elements/RelationshipTable/TableWrapper.d.ts.map +1 -0
  175. package/dist/elements/RelationshipTable/TableWrapper.js +69 -0
  176. package/dist/elements/RelationshipTable/TableWrapper.js.map +1 -0
  177. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts +8 -0
  178. package/dist/elements/RelationshipTable/cells/DrawerLink/index.d.ts.map +1 -0
  179. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +82 -0
  180. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -0
  181. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +6 -0
  182. package/dist/elements/RelationshipTable/index.d.ts +15 -0
  183. package/dist/elements/RelationshipTable/index.d.ts.map +1 -0
  184. package/dist/elements/RelationshipTable/index.js +445 -0
  185. package/dist/elements/RelationshipTable/index.js.map +1 -0
  186. package/dist/elements/RelationshipTable/index.scss +28 -0
  187. package/dist/elements/RenderTitle/index.scss +7 -5
  188. package/dist/elements/SearchFilter/index.scss +31 -28
  189. package/dist/elements/SelectAll/index.scss +5 -3
  190. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  191. package/dist/elements/SelectRow/index.js +64 -24
  192. package/dist/elements/SelectRow/index.js.map +1 -1
  193. package/dist/elements/SelectRow/index.scss +6 -4
  194. package/dist/elements/ShimmerEffect/index.scss +26 -24
  195. package/dist/elements/SortColumn/index.d.ts +1 -0
  196. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  197. package/dist/elements/SortColumn/index.js +29 -17
  198. package/dist/elements/SortColumn/index.js.map +1 -1
  199. package/dist/elements/SortColumn/index.scss +54 -43
  200. package/dist/elements/SortComplex/index.scss +27 -25
  201. package/dist/elements/Status/index.js +1 -1
  202. package/dist/elements/Status/index.js.map +1 -1
  203. package/dist/elements/Status/index.scss +45 -43
  204. package/dist/elements/StayLoggedIn/index.scss +28 -26
  205. package/dist/elements/StepNav/index.scss +62 -61
  206. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
  207. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
  208. package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
  209. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
  210. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -3
  211. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +43 -40
  213. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  214. package/dist/elements/Table/DefaultCell/fields/Relationship/index.scss +0 -3
  215. package/dist/elements/Table/DefaultCell/fields/index.d.ts +1 -0
  216. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/index.js +1 -0
  218. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  219. package/dist/elements/Table/DefaultCell/index.js +2 -2
  220. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  221. package/dist/elements/Table/RenderCell.d.ts +11 -0
  222. package/dist/elements/Table/RenderCell.d.ts.map +1 -0
  223. package/dist/elements/Table/RenderCell.js +30 -0
  224. package/dist/elements/Table/RenderCell.js.map +1 -0
  225. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  226. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  227. package/dist/elements/Table/index.d.ts +3 -6
  228. package/dist/elements/Table/index.d.ts.map +1 -1
  229. package/dist/elements/Table/index.js +36 -31
  230. package/dist/elements/Table/index.js.map +1 -1
  231. package/dist/elements/Table/index.scss +87 -35
  232. package/dist/elements/TableColumns/buildColumnState.d.ts +5 -2
  233. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  234. package/dist/elements/TableColumns/buildColumnState.js +35 -22
  235. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  236. package/dist/elements/TableColumns/index.d.ts +5 -0
  237. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  238. package/dist/elements/TableColumns/index.js +107 -74
  239. package/dist/elements/TableColumns/index.js.map +1 -1
  240. package/dist/elements/Thumbnail/index.scss +37 -35
  241. package/dist/elements/ThumbnailCard/index.scss +31 -29
  242. package/dist/elements/Tooltip/index.d.ts +1 -0
  243. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  244. package/dist/elements/Tooltip/index.js +15 -13
  245. package/dist/elements/Tooltip/index.js.map +1 -1
  246. package/dist/elements/Tooltip/index.scss +77 -75
  247. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  248. package/dist/elements/UnpublishMany/index.js +18 -6
  249. package/dist/elements/UnpublishMany/index.js.map +1 -1
  250. package/dist/elements/UnpublishMany/index.scss +28 -26
  251. package/dist/elements/Upload/index.d.ts.map +1 -1
  252. package/dist/elements/Upload/index.js +2 -0
  253. package/dist/elements/Upload/index.js.map +1 -1
  254. package/dist/elements/Upload/index.scss +122 -120
  255. package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
  256. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
  257. package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
  258. package/dist/elements/WhereBuilder/Condition/index.js +32 -30
  259. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  260. package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
  261. package/dist/elements/WhereBuilder/index.scss +28 -26
  262. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
  263. package/dist/elements/WhereBuilder/reduceClientFields.js +3 -1
  264. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
  265. package/dist/exports/client/{CodeEditor-CHKRX3U2.js → CodeEditor-4A6256PR.js} +6 -4
  266. package/dist/exports/client/CodeEditor-4A6256PR.js.map +8 -0
  267. package/dist/exports/client/{DatePicker-OLRZVTAD.js → DatePicker-2ZXVD574.js} +2 -2
  268. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  269. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  270. package/dist/exports/client/{chunk-JINNHJP7.js → chunk-ED2SHEMU.js} +3 -3
  271. package/dist/exports/client/{chunk-JINNHJP7.js.map → chunk-ED2SHEMU.js.map} +4 -4
  272. package/dist/exports/client/index.d.ts +3 -1
  273. package/dist/exports/client/index.d.ts.map +1 -1
  274. package/dist/exports/client/index.js +22 -19
  275. package/dist/exports/client/index.js.map +4 -4
  276. package/dist/exports/shared/index.d.ts +3 -0
  277. package/dist/exports/shared/index.d.ts.map +1 -1
  278. package/dist/exports/shared/index.js +2 -2
  279. package/dist/exports/shared/index.js.map +4 -4
  280. package/dist/fields/Array/ArrayRow.js +2 -2
  281. package/dist/fields/Array/ArrayRow.js.map +1 -1
  282. package/dist/fields/Array/index.scss +74 -72
  283. package/dist/fields/Blocks/BlockRow.js +2 -2
  284. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  285. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
  286. package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
  287. package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
  288. package/dist/fields/Blocks/index.scss +89 -87
  289. package/dist/fields/Checkbox/Input.js +1 -1
  290. package/dist/fields/Checkbox/Input.js.map +1 -1
  291. package/dist/fields/Checkbox/index.scss +110 -95
  292. package/dist/fields/Code/index.scss +18 -16
  293. package/dist/fields/Collapsible/index.d.ts +141 -4
  294. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  295. package/dist/fields/Collapsible/index.scss +8 -6
  296. package/dist/fields/ConfirmPassword/index.scss +18 -16
  297. package/dist/fields/DateTime/index.scss +13 -11
  298. package/dist/fields/Email/index.scss +21 -19
  299. package/dist/fields/FieldDescription/index.scss +9 -7
  300. package/dist/fields/FieldError/index.scss +13 -11
  301. package/dist/fields/FieldLabel/index.scss +17 -15
  302. package/dist/fields/Group/index.js +2 -2
  303. package/dist/fields/Group/index.js.map +1 -1
  304. package/dist/fields/Group/index.scss +107 -105
  305. package/dist/fields/JSON/index.scss +11 -9
  306. package/dist/fields/Join/index.d.ts +9 -0
  307. package/dist/fields/Join/index.d.ts.map +1 -0
  308. package/dist/fields/Join/index.js +75 -0
  309. package/dist/fields/Join/index.js.map +1 -0
  310. package/dist/fields/Number/index.js +1 -1
  311. package/dist/fields/Number/index.js.map +1 -1
  312. package/dist/fields/Number/index.scss +19 -17
  313. package/dist/fields/Password/index.js +29 -25
  314. package/dist/fields/Password/index.js.map +1 -1
  315. package/dist/fields/Password/index.scss +18 -16
  316. package/dist/fields/Point/index.scss +33 -31
  317. package/dist/fields/RadioGroup/Radio/index.scss +58 -56
  318. package/dist/fields/RadioGroup/index.scss +57 -55
  319. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  320. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  321. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  322. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  323. package/dist/fields/Relationship/index.d.ts +4 -4
  324. package/dist/fields/Relationship/index.d.ts.map +1 -1
  325. package/dist/fields/Relationship/index.js +2 -0
  326. package/dist/fields/Relationship/index.js.map +1 -1
  327. package/dist/fields/Relationship/index.scss +44 -42
  328. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +23 -20
  329. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  330. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -38
  331. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  332. package/dist/fields/Relationship/select-components/SingleValue/index.js +35 -34
  333. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  334. package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -41
  335. package/dist/fields/Relationship/types.d.ts +1 -0
  336. package/dist/fields/Relationship/types.d.ts.map +1 -1
  337. package/dist/fields/Relationship/types.js.map +1 -1
  338. package/dist/fields/Row/index.scss +31 -26
  339. package/dist/fields/Select/index.scss +16 -14
  340. package/dist/fields/Tabs/Tab/index.scss +58 -56
  341. package/dist/fields/Tabs/index.d.ts.map +1 -1
  342. package/dist/fields/Tabs/index.js +69 -53
  343. package/dist/fields/Tabs/index.js.map +1 -1
  344. package/dist/fields/Tabs/index.scss +46 -44
  345. package/dist/fields/Text/index.d.ts.map +1 -1
  346. package/dist/fields/Text/index.scss +23 -21
  347. package/dist/fields/Textarea/index.d.ts.map +1 -1
  348. package/dist/fields/Textarea/index.js +4 -1
  349. package/dist/fields/Textarea/index.js.map +1 -1
  350. package/dist/fields/Textarea/index.scss +89 -87
  351. package/dist/fields/Upload/HasMany/index.scss +20 -18
  352. package/dist/fields/Upload/HasOne/index.js +1 -1
  353. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  354. package/dist/fields/Upload/HasOne/index.scss +5 -3
  355. package/dist/fields/Upload/Input.d.ts +0 -1
  356. package/dist/fields/Upload/Input.d.ts.map +1 -1
  357. package/dist/fields/Upload/Input.js +49 -39
  358. package/dist/fields/Upload/Input.js.map +1 -1
  359. package/dist/fields/Upload/RelationshipContent/index.js +28 -29
  360. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  361. package/dist/fields/Upload/RelationshipContent/index.scss +44 -42
  362. package/dist/fields/Upload/UploadCard/index.scss +21 -20
  363. package/dist/fields/Upload/index.scss +49 -47
  364. package/dist/fields/index.d.ts.map +1 -1
  365. package/dist/fields/index.js +2 -0
  366. package/dist/fields/index.js.map +1 -1
  367. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  368. package/dist/forms/Form/fieldReducer.js +7 -0
  369. package/dist/forms/Form/fieldReducer.js.map +1 -1
  370. package/dist/forms/Form/index.js +6 -2
  371. package/dist/forms/Form/index.js.map +1 -1
  372. package/dist/forms/Form/index.scss +5 -3
  373. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  374. package/dist/forms/NullifyField/index.js +1 -0
  375. package/dist/forms/NullifyField/index.js.map +1 -1
  376. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  377. package/dist/forms/RenderFields/RenderField.js +3 -1
  378. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  379. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  380. package/dist/forms/RenderFields/index.js +18 -15
  381. package/dist/forms/RenderFields/index.js.map +1 -1
  382. package/dist/forms/RenderFields/index.scss +47 -45
  383. package/dist/forms/Submit/index.scss +5 -3
  384. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  385. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +3 -4
  386. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  387. package/dist/forms/buildStateFromSchema/index.d.ts +2 -0
  388. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  389. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  390. package/dist/forms/useField/index.d.ts.map +1 -1
  391. package/dist/forms/useField/index.js +203 -111
  392. package/dist/forms/useField/index.js.map +1 -1
  393. package/dist/graphics/Account/Default/index.scss +43 -41
  394. package/dist/hooks/useDelay.js +48 -15
  395. package/dist/hooks/useDelay.js.map +1 -1
  396. package/dist/hooks/useDelayedRender.js +71 -32
  397. package/dist/hooks/useDelayedRender.js.map +1 -1
  398. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  399. package/dist/hooks/usePayloadAPI.js.map +1 -1
  400. package/dist/icons/Calendar/index.scss +8 -6
  401. package/dist/icons/Check/index.scss +9 -7
  402. package/dist/icons/Chevron/index.d.ts +3 -3
  403. package/dist/icons/Chevron/index.d.ts.map +1 -1
  404. package/dist/icons/Chevron/index.js +4 -4
  405. package/dist/icons/Chevron/index.js.map +1 -1
  406. package/dist/icons/Chevron/index.scss +20 -10
  407. package/dist/icons/CloseMenu/index.scss +7 -5
  408. package/dist/icons/Copy/index.scss +9 -7
  409. package/dist/icons/DragHandle/index.scss +9 -7
  410. package/dist/icons/Edit/index.scss +9 -7
  411. package/dist/icons/Line/index.scss +8 -6
  412. package/dist/icons/Link/index.scss +8 -6
  413. package/dist/icons/Lock/index.d.ts +6 -0
  414. package/dist/icons/Lock/index.d.ts.map +1 -0
  415. package/dist/icons/Lock/index.js +27 -0
  416. package/dist/icons/Lock/index.js.map +1 -0
  417. package/dist/icons/Lock/index.scss +10 -0
  418. package/dist/icons/LogOut/index.scss +8 -6
  419. package/dist/icons/Menu/index.scss +6 -4
  420. package/dist/icons/More/index.scss +8 -6
  421. package/dist/icons/Plus/index.scss +6 -4
  422. package/dist/icons/Search/index.scss +8 -6
  423. package/dist/icons/Swap/index.scss +9 -7
  424. package/dist/icons/X/index.scss +6 -4
  425. package/dist/providers/Auth/index.d.ts +9 -4
  426. package/dist/providers/Auth/index.d.ts.map +1 -1
  427. package/dist/providers/Auth/index.js +51 -56
  428. package/dist/providers/Auth/index.js.map +1 -1
  429. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  430. package/dist/providers/Config/createClientConfig/collections.js +11 -1
  431. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  432. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  433. package/dist/providers/Config/createClientConfig/fields.js +24 -3
  434. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  435. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  436. package/dist/providers/DocumentInfo/index.js +109 -7
  437. package/dist/providers/DocumentInfo/index.js.map +1 -1
  438. package/dist/providers/DocumentInfo/types.d.ts +32 -27
  439. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  440. package/dist/providers/DocumentInfo/types.js.map +1 -1
  441. package/dist/providers/ListQuery/index.d.ts +5 -5
  442. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  443. package/dist/providers/ListQuery/index.js.map +1 -1
  444. package/dist/providers/Preferences/index.js +3 -1
  445. package/dist/providers/Preferences/index.js.map +1 -1
  446. package/dist/providers/Root/index.d.ts.map +1 -1
  447. package/dist/providers/Root/index.js +2 -2
  448. package/dist/providers/Root/index.js.map +1 -1
  449. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  450. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  451. package/dist/providers/ScrollInfo/index.js +1 -12
  452. package/dist/providers/ScrollInfo/index.js.map +1 -1
  453. package/dist/providers/Selection/index.d.ts +3 -2
  454. package/dist/providers/Selection/index.d.ts.map +1 -1
  455. package/dist/providers/Selection/index.js +66 -37
  456. package/dist/providers/Selection/index.js.map +1 -1
  457. package/dist/providers/Theme/index.d.ts +0 -1
  458. package/dist/providers/Theme/index.d.ts.map +1 -1
  459. package/dist/providers/Theme/index.js +29 -21
  460. package/dist/providers/Theme/index.js.map +1 -1
  461. package/dist/providers/Translation/index.d.ts.map +1 -1
  462. package/dist/providers/Translation/index.js +5 -7
  463. package/dist/providers/Translation/index.js.map +1 -1
  464. package/dist/scss/app.scss +166 -162
  465. package/dist/scss/colors.scss +256 -254
  466. package/dist/scss/resets.scss +9 -7
  467. package/dist/scss/toastify.scss +42 -40
  468. package/dist/scss/toasts.scss +105 -103
  469. package/dist/scss/type.scss +81 -79
  470. package/dist/styles.css +1 -1
  471. package/dist/utilities/buildFormState.d.ts +9 -3
  472. package/dist/utilities/buildFormState.d.ts.map +1 -1
  473. package/dist/utilities/buildFormState.js +82 -4
  474. package/dist/utilities/buildFormState.js.map +1 -1
  475. package/dist/utilities/deepMerge.d.ts +12 -0
  476. package/dist/utilities/deepMerge.d.ts.map +1 -0
  477. package/dist/utilities/deepMerge.js +25 -0
  478. package/dist/utilities/deepMerge.js.map +1 -0
  479. package/dist/utilities/getFormState.d.ts +8 -2
  480. package/dist/utilities/getFormState.d.ts.map +1 -1
  481. package/dist/utilities/getFormState.js +3 -1
  482. package/dist/utilities/getFormState.js.map +1 -1
  483. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  484. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  485. package/dist/utilities/handleBackToDashboard.js +12 -0
  486. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  487. package/dist/utilities/handleGoBack.d.ts +9 -0
  488. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  489. package/dist/utilities/handleGoBack.js +13 -0
  490. package/dist/utilities/handleGoBack.js.map +1 -0
  491. package/dist/utilities/handleTakeOver.d.ts +7 -0
  492. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  493. package/dist/utilities/handleTakeOver.js +27 -0
  494. package/dist/utilities/handleTakeOver.js.map +1 -0
  495. package/package.json +16 -16
  496. package/dist/exports/client/CodeEditor-CHKRX3U2.js.map +0 -8
  497. package/dist/exports/client/chunk-BGA6EPOL.js +0 -14
  498. package/dist/exports/client/chunk-BGA6EPOL.js.map +0 -8
  499. /package/dist/exports/client/{DatePicker-OLRZVTAD.js.map → DatePicker-2ZXVD574.js.map} +0 -0
@@ -1,42 +1,44 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .relationship-add-new {
4
- display: flex;
5
- align-items: stretch;
6
-
7
- .popup__trigger-wrap {
3
+ @layer payload-default {
4
+ .relationship-add-new {
8
5
  display: flex;
9
6
  align-items: stretch;
10
- height: 100%;
11
- }
12
7
 
13
- &__add-button:not(.relationship-add-new__add-button--unstyled),
14
- &__add-button:not(.relationship-add-new__add-button--unstyled).doc-drawer__toggler {
15
- @include formInput;
16
- margin: 0;
17
- border-top-left-radius: 0;
18
- border-bottom-left-radius: 0;
19
- position: relative;
20
- height: 100%;
21
- margin-left: -1px;
22
- display: flex;
23
- padding: 0 base(0.5);
24
- align-items: center;
25
- display: flex;
26
- cursor: pointer;
27
- }
8
+ .popup__trigger-wrap {
9
+ display: flex;
10
+ align-items: stretch;
11
+ height: 100%;
12
+ }
28
13
 
29
- &__add-button {
30
- margin: 0;
31
- border-top-left-radius: 0;
32
- border-bottom-left-radius: 0;
33
- position: relative;
34
- height: 100%;
35
- margin-left: -1px;
36
- display: flex;
37
- padding: 0 base(0.5);
38
- align-items: center;
39
- display: flex;
40
- cursor: pointer;
14
+ &__add-button:not(.relationship-add-new__add-button--unstyled),
15
+ &__add-button:not(.relationship-add-new__add-button--unstyled).doc-drawer__toggler {
16
+ @include formInput;
17
+ margin: 0;
18
+ border-top-left-radius: 0;
19
+ border-bottom-left-radius: 0;
20
+ position: relative;
21
+ height: 100%;
22
+ margin-left: -1px;
23
+ display: flex;
24
+ padding: 0 base(0.5);
25
+ align-items: center;
26
+ display: flex;
27
+ cursor: pointer;
28
+ }
29
+
30
+ &__add-button {
31
+ margin: 0;
32
+ border-top-left-radius: 0;
33
+ border-bottom-left-radius: 0;
34
+ position: relative;
35
+ height: 100%;
36
+ margin-left: -1px;
37
+ display: flex;
38
+ padding: 0 base(0.5);
39
+ align-items: center;
40
+ display: flex;
41
+ cursor: pointer;
42
+ }
41
43
  }
42
44
  }
@@ -1,194 +1,195 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .app-header {
4
- position: relative;
5
- width: 100%;
6
- height: var(--app-header-height);
7
- z-index: var(--z-modal);
8
-
9
- &__mobile-nav-toggler {
10
- display: none;
11
- }
12
-
13
- // place the localizer outside the `overflow: hidden` container so that the popup is visible
14
- // this means we need to use a placeholder div so that the space is retained in the DOM
15
- [dir='rtl'] &__localizer {
16
- right: unset;
17
- left: base(4.5);
18
- }
19
- &__localizer.localizer {
20
- position: absolute;
21
- top: 50%;
22
- right: base(4.5);
23
- transform: translate3d(0, -50%, 0);
24
- }
25
-
26
- &__localizer-spacing {
27
- visibility: hidden;
28
- }
29
-
30
- &__bg {
31
- opacity: 0;
32
- position: absolute;
33
- left: 0;
34
- top: 0;
3
+ @layer payload-default {
4
+ .app-header {
5
+ position: relative;
35
6
  width: 100%;
36
- height: 100%;
37
- pointer-events: none;
38
- }
7
+ height: var(--app-header-height);
8
+ z-index: var(--z-modal);
39
9
 
40
- &--show-bg {
41
- opacity: 1;
42
- }
10
+ &__mobile-nav-toggler {
11
+ display: none;
12
+ }
43
13
 
44
- &__content {
45
- display: flex;
46
- align-items: center;
47
- height: 100%;
48
- padding: 0 var(--gutter-h);
49
- position: relative;
50
- flex-grow: 1;
51
- }
14
+ // place the localizer outside the `overflow: hidden` container so that the popup is visible
15
+ // this means we need to use a placeholder div so that the space is retained in the DOM
16
+ [dir='rtl'] &__localizer {
17
+ right: unset;
18
+ left: base(4.5);
19
+ }
20
+ &__localizer.localizer {
21
+ position: absolute;
22
+ top: 50%;
23
+ right: base(4.5);
24
+ transform: translate3d(0, -50%, 0);
25
+ }
52
26
 
53
- &__wrapper {
54
- display: flex;
55
- gap: calc(var(--base) / 2);
56
- align-items: center;
57
- height: 100%;
58
- flex-grow: 1;
59
- justify-content: space-between;
60
- width: 100%;
61
- }
27
+ &__localizer-spacing {
28
+ visibility: hidden;
29
+ }
62
30
 
63
- &__account {
64
- position: relative;
31
+ &__bg {
32
+ opacity: 0;
33
+ position: absolute;
34
+ left: 0;
35
+ top: 0;
36
+ width: 100%;
37
+ height: 100%;
38
+ pointer-events: none;
39
+ }
65
40
 
66
- &:focus:not(:focus-visible) {
41
+ &--show-bg {
67
42
  opacity: 1;
68
43
  }
69
44
 
70
- // Use a pseudo element for the accessability so that it doesn't take up DOM space
71
- // Also because the parent element has `overflow: hidden` which would clip an outline
72
- &:focus-visible {
73
- outline: none;
45
+ &__content {
46
+ display: flex;
47
+ align-items: center;
48
+ height: 100%;
49
+ padding: 0 var(--gutter-h);
50
+ position: relative;
51
+ flex-grow: 1;
52
+ }
74
53
 
75
- &::after {
76
- content: '';
77
- border: var(--accessibility-outline);
78
- position: absolute;
79
- top: 0;
80
- right: 0;
81
- bottom: 0;
82
- left: 0;
83
- pointer-events: none;
84
- }
54
+ &__wrapper {
55
+ display: flex;
56
+ gap: calc(var(--base) / 2);
57
+ align-items: center;
58
+ height: 100%;
59
+ flex-grow: 1;
60
+ justify-content: space-between;
61
+ width: 100%;
85
62
  }
86
- }
87
63
 
88
- &__controls-wrapper {
89
- display: flex;
90
- align-items: center;
91
- flex-grow: 1;
92
- overflow: hidden;
93
- width: 100%;
94
- }
64
+ &__account {
65
+ position: relative;
95
66
 
96
- &__step-nav-wrapper {
97
- flex-grow: 0;
98
- overflow: auto;
99
- display: flex;
100
- width: 100%;
67
+ &:focus:not(:focus-visible) {
68
+ opacity: 1;
69
+ }
101
70
 
102
- &::-webkit-scrollbar {
103
- display: none;
71
+ // Use a pseudo element for the accessability so that it doesn't take up DOM space
72
+ // Also because the parent element has `overflow: hidden` which would clip an outline
73
+ &:focus-visible {
74
+ outline: none;
75
+
76
+ &::after {
77
+ content: '';
78
+ border: var(--accessibility-outline);
79
+ position: absolute;
80
+ top: 0;
81
+ right: 0;
82
+ bottom: 0;
83
+ left: 0;
84
+ pointer-events: none;
85
+ }
86
+ }
104
87
  }
105
- }
106
88
 
107
- &__actions-wrapper {
108
- position: relative;
109
- overflow: hidden;
110
- display: flex;
111
- align-items: center;
112
- gap: calc(var(--base) / 2);
113
- margin-right: var(--base);
114
- }
115
-
116
- &__gradient-placeholder {
117
- position: absolute;
118
- top: 0;
119
- right: 0;
120
- width: var(--base);
121
- height: var(--base);
122
- background: linear-gradient(to right, transparent, var(--theme-bg));
123
- }
89
+ &__controls-wrapper {
90
+ display: flex;
91
+ align-items: center;
92
+ flex-grow: 1;
93
+ overflow: hidden;
94
+ width: 100%;
95
+ }
124
96
 
125
- &__actions {
126
- display: flex;
127
- align-items: center;
128
- gap: calc(var(--base) / 2);
129
- flex-shrink: 0;
130
- max-width: 600px;
131
- overflow: auto;
132
- white-space: nowrap;
97
+ &__step-nav-wrapper {
98
+ flex-grow: 0;
99
+ overflow: auto;
100
+ display: flex;
101
+ width: 100%;
133
102
 
134
- &::-webkit-scrollbar {
135
- display: none;
103
+ &::-webkit-scrollbar {
104
+ display: none;
105
+ }
136
106
  }
137
- }
138
-
139
- &__last-action {
140
- margin-right: var(--base);
141
- }
142
107
 
143
- @include large-break {
144
- &__actions {
145
- max-width: 500px;
108
+ &__actions-wrapper {
109
+ position: relative;
110
+ display: flex;
111
+ align-items: center;
112
+ gap: calc(var(--base) / 2);
113
+ margin-right: var(--base);
146
114
  }
147
- }
148
115
 
149
- @include mid-break {
150
116
  &__gradient-placeholder {
151
- right: var(--base);
117
+ position: absolute;
118
+ top: 0;
119
+ right: 0;
120
+ width: var(--base);
121
+ height: var(--base);
122
+ background: linear-gradient(to right, transparent, var(--theme-bg));
152
123
  }
153
124
 
154
125
  &__actions {
155
- max-width: 300px;
156
- margin-right: var(--base);
126
+ display: flex;
127
+ align-items: center;
128
+ gap: calc(var(--base) / 2);
129
+ flex-shrink: 0;
130
+ max-width: 600px;
131
+ overflow: auto;
132
+ white-space: nowrap;
133
+
134
+ &::-webkit-scrollbar {
135
+ display: none;
136
+ }
157
137
  }
158
- }
159
138
 
160
- @include small-break {
161
- &__localizer.localizer {
162
- right: base(2);
139
+ &__last-action {
140
+ margin-right: var(--base);
163
141
  }
164
142
 
165
- &--nav-open {
166
- .app-header__localizer {
167
- display: none;
143
+ @include large-break {
144
+ &__actions {
145
+ max-width: 500px;
168
146
  }
169
147
  }
170
148
 
171
- &__mobile-nav-toggler {
172
- display: flex;
173
- align-items: center;
149
+ @include mid-break {
150
+ &__gradient-placeholder {
151
+ right: var(--base);
152
+ }
174
153
 
175
- &.nav-toggler--is-open {
176
- opacity: 0.5;
154
+ &__actions {
155
+ max-width: 300px;
156
+ margin-right: var(--base);
177
157
  }
178
158
  }
179
159
 
180
- &__step-header {
181
- // TODO: overflow the step header instead of hide it
182
- display: none;
183
- }
160
+ @include small-break {
161
+ &__localizer.localizer {
162
+ right: base(2);
163
+ }
184
164
 
185
- &__gradient-placeholder {
186
- right: 0;
187
- }
165
+ &--nav-open {
166
+ .app-header__localizer {
167
+ display: none;
168
+ }
169
+ }
188
170
 
189
- &__actions {
190
- max-width: 150px;
191
- margin-right: 0;
171
+ &__mobile-nav-toggler {
172
+ display: flex;
173
+ align-items: center;
174
+
175
+ &.nav-toggler--is-open {
176
+ opacity: 0.5;
177
+ }
178
+ }
179
+
180
+ &__step-header {
181
+ // TODO: overflow the step header instead of hide it
182
+ display: none;
183
+ }
184
+
185
+ &__gradient-placeholder {
186
+ right: 0;
187
+ }
188
+
189
+ &__actions {
190
+ max-width: 150px;
191
+ margin-right: 0;
192
+ }
192
193
  }
193
194
  }
194
195
  }
@@ -1,32 +1,34 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .array-actions {
4
- &__button {
5
- @extend %btn-reset;
6
- cursor: pointer;
7
- border-radius: 100px;
3
+ @layer payload-default {
4
+ .array-actions {
5
+ &__button {
6
+ @extend %btn-reset;
7
+ cursor: pointer;
8
+ border-radius: 100px;
8
9
 
9
- &:hover {
10
- background: var(--theme-elevation-0);
10
+ &:hover {
11
+ background: var(--theme-elevation-0);
12
+ }
11
13
  }
12
- }
13
14
 
14
- &__actions {
15
- list-style: none;
16
- margin: 0;
17
- padding: 0;
18
- }
15
+ &__actions {
16
+ list-style: none;
17
+ margin: 0;
18
+ padding: 0;
19
+ }
19
20
 
20
- &__action {
21
- display: flex;
22
- gap: calc(var(--base) / 2);
23
- align-items: center;
21
+ &__action {
22
+ display: flex;
23
+ gap: calc(var(--base) / 2);
24
+ align-items: center;
24
25
 
25
- svg {
26
- position: relative;
26
+ svg {
27
+ position: relative;
27
28
 
28
- .stroke {
29
- stroke-width: 1px;
29
+ .stroke {
30
+ stroke-width: 1px;
31
+ }
30
32
  }
31
33
  }
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAiB1D,OAAO,cAAc,CAAA;AAMrB,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,CAgPpC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Autosave/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGzE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAiB1D,OAAO,cAAc,CAAA;AAMrB,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,CA+OpC,CAAA"}
@@ -41,7 +41,6 @@ export const Autosave = ({
41
41
  } = useDocumentEvents();
42
42
  const {
43
43
  dispatchFields,
44
- setModified,
45
44
  setSubmitted
46
45
  } = useForm();
47
46
  const submitted = useFormSubmitted();
@@ -134,7 +133,6 @@ export const Autosave = ({
134
133
  entitySlug,
135
134
  updatedAt: newDate.toISOString()
136
135
  });
137
- setModified(false);
138
136
  void getVersions();
139
137
  } else {
140
138
  return res.json();
@@ -200,7 +198,7 @@ export const Autosave = ({
200
198
  }
201
199
  setSaving(false);
202
200
  };
203
- }, [api, collection, dispatchFields, getVersions, globalDoc, i18n, id, interval, modified, reportUpdate, serverURL, setSubmitted, setModified, versionsConfig?.drafts, debouncedFields, submitted]);
201
+ }, [api, collection, dispatchFields, getVersions, globalDoc, i18n, id, interval, modified, reportUpdate, serverURL, setSubmitted, versionsConfig?.drafts, debouncedFields, submitted]);
204
202
  useEffect(() => {
205
203
  if (versions?.docs?.[0]) {
206
204
  setLastSaved(new Date(versions.docs[0].updatedAt).getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","config","routes","api","serverURL","docConfig","getVersions","versions","reportUpdate","dispatchFields","setModified","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","Date","getTime","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","error","setTimeout","clearTimeout","abort","docs","_jsxs","className","Boolean","_jsx","Fragment","distance","date"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\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> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setModified, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave) {\n interval = versionsConfig.drafts.autosave.interval\n }\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = 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 autosave = () => {\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\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\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 if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n setModified(false)\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) {\n clearTimeout(autosaveTimeout)\n }\n if (abortController.signal) {\n try {\n abortController.abort('Autosave closed early.')\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n setModified,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["versionDefaults","React","useEffect","useRef","useState","toast","useAllFormFields","useForm","useFormModified","useFormSubmitted","useDebounce","useConfig","useDocumentEvents","useDocumentInfo","useLocale","useTranslation","formatTimeToNow","reduceFieldsToValuesWithValidation","baseClass","minimumAnimationTime","Autosave","id","collection","global","globalDoc","publishedDocUpdatedAt","config","routes","api","serverURL","docConfig","getVersions","versions","reportUpdate","dispatchFields","setSubmitted","submitted","versionsConfig","fields","formModified","code","locale","i18n","t","interval","autosaveInterval","drafts","autosave","saving","setSaving","lastSaved","setLastSaved","debouncedFields","modified","fieldRef","modifiedRef","localeRef","debouncedRef","current","abortController","AbortController","autosaveTimeout","undefined","startTimestamp","endTimestamp","Date","getTime","url","method","entitySlug","slug","data","valid","_status","skipSubmission","validate","fetch","body","JSON","stringify","credentials","headers","language","signal","then","res","newDate","status","updatedAt","toISOString","json","errors","Array","isArray","fieldErrors","nonFieldErrors","reduce","fieldErrs","nonFieldErrs","err","newFieldErrs","newNonFieldErrs","message","push","forEach","dataError","field","type","error","setTimeout","clearTimeout","abort","docs","_jsxs","className","Boolean","_jsx","Fragment","distance","date"],"sources":["../../../src/elements/Autosave/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport type { ClientCollectionConfig, ClientGlobalConfig } from 'payload'\n\nimport { versionDefaults } from 'payload/shared'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport {\n useAllFormFields,\n useForm,\n useFormModified,\n useFormSubmitted,\n} from '../../forms/Form/context.js'\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../utilities/formatDate.js'\nimport { reduceFieldsToValuesWithValidation } from '../../utilities/reduceFieldsToValuesWithValidation.js'\nimport './index.scss'\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> = ({\n id,\n collection,\n global: globalDoc,\n publishedDocUpdatedAt,\n}) => {\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { docConfig, getVersions, versions } = useDocumentInfo()\n const { reportUpdate } = useDocumentEvents()\n const { dispatchFields, setSubmitted } = useForm()\n const submitted = useFormSubmitted()\n const versionsConfig = docConfig?.versions\n\n const [fields] = useAllFormFields()\n const formModified = useFormModified()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n let interval = versionDefaults.autosaveInterval\n if (versionsConfig.drafts && versionsConfig.drafts.autosave) {\n interval = versionsConfig.drafts.autosave.interval\n }\n\n const [saving, setSaving] = useState(false)\n const [lastSaved, setLastSaved] = useState<number>()\n const debouncedFields = useDebounce(fields, interval)\n const modified = useDebounce(formModified, interval)\n const fieldRef = useRef(fields)\n const modifiedRef = useRef(modified)\n const localeRef = useRef(locale)\n const debouncedRef = useRef(debouncedFields)\n\n debouncedRef.current = debouncedFields\n\n // Store fields in ref so the autosave func\n // can always retrieve the most to date copies\n // after the timeout has executed\n fieldRef.current = fields\n\n // Store modified in ref so the autosave func\n // can bail out if modified becomes false while\n // timing out during autosave\n modifiedRef.current = modified\n\n // Store locale in ref so the autosave func\n // can always retrieve the most to date locale\n localeRef.current = locale\n\n // When debounced fields change, autosave\n useEffect(() => {\n const abortController = new AbortController()\n let autosaveTimeout = 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 autosave = () => {\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\n if (collection && id) {\n entitySlug = collection.slug\n url = `${serverURL}${api}/${entitySlug}/${id}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'PATCH'\n }\n\n if (globalDoc) {\n entitySlug = globalDoc.slug\n url = `${serverURL}${api}/globals/${entitySlug}?draft=true&autosave=true&locale=${localeRef.current}`\n method = 'POST'\n }\n\n if (url) {\n if (modifiedRef.current) {\n const { data, valid } = {\n ...reduceFieldsToValuesWithValidation(fieldRef.current, true),\n }\n data._status = 'draft'\n const skipSubmission =\n submitted && !valid && versionsConfig?.drafts && versionsConfig?.drafts?.validate\n\n if (!skipSubmission) {\n void fetch(url, {\n body: JSON.stringify(data),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n method,\n signal: abortController.signal,\n })\n .then((res) => {\n const newDate = new Date()\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 if (res.status === 200) {\n setLastSaved(newDate.getTime())\n\n reportUpdate({\n id,\n entitySlug,\n updatedAt: newDate.toISOString(),\n })\n\n void getVersions()\n } else {\n return res.json()\n }\n })\n .then((json) => {\n if (versionsConfig?.drafts && versionsConfig?.drafts?.validate && json?.errors) {\n if (Array.isArray(json.errors)) {\n const [fieldErrors, nonFieldErrors] = json.errors.reduce(\n ([fieldErrs, nonFieldErrs], err) => {\n const newFieldErrs = []\n const newNonFieldErrs = []\n\n if (err?.message) {\n newNonFieldErrs.push(err)\n }\n\n if (Array.isArray(err?.data)) {\n err.data.forEach((dataError) => {\n if (dataError?.field) {\n newFieldErrs.push(dataError)\n } else {\n newNonFieldErrs.push(dataError)\n }\n })\n }\n\n return [\n [...fieldErrs, ...newFieldErrs],\n [...nonFieldErrs, ...newNonFieldErrs],\n ]\n },\n [[], []],\n )\n\n dispatchFields({\n type: 'ADD_SERVER_ERRORS',\n errors: fieldErrors,\n })\n\n nonFieldErrors.forEach((err) => {\n toast.error(err.message || i18n.t('error:unknown'))\n })\n\n setSubmitted(true)\n setSaving(false)\n return\n }\n }\n })\n .then(() => {\n // If request was faster than minimum animation time, animate the difference\n if (endTimestamp - startTimestamp < minimumAnimationTime) {\n autosaveTimeout = setTimeout(\n () => {\n setSaving(false)\n },\n minimumAnimationTime - (endTimestamp - startTimestamp),\n )\n } else {\n setSaving(false)\n }\n })\n }\n }\n }\n }\n }\n\n void autosave()\n\n return () => {\n if (autosaveTimeout) {\n clearTimeout(autosaveTimeout)\n }\n if (abortController.signal) {\n try {\n abortController.abort('Autosave closed early.')\n } catch (error) {\n // swallow error\n }\n }\n setSaving(false)\n }\n }, [\n api,\n collection,\n dispatchFields,\n getVersions,\n globalDoc,\n i18n,\n id,\n interval,\n modified,\n reportUpdate,\n serverURL,\n setSubmitted,\n versionsConfig?.drafts,\n debouncedFields,\n submitted,\n ])\n\n useEffect(() => {\n if (versions?.docs?.[0]) {\n setLastSaved(new Date(versions.docs[0].updatedAt).getTime())\n } else if (publishedDocUpdatedAt) {\n setLastSaved(new Date(publishedDocUpdatedAt).getTime())\n }\n }, [publishedDocUpdatedAt, versions])\n\n return (\n <div className={baseClass}>\n {saving && t('general:saving')}\n {!saving && Boolean(lastSaved) && (\n <React.Fragment>\n {t('version:lastSavedAgo', {\n distance: formatTimeToNow({ date: lastSaved, i18n }),\n })}\n </React.Fragment>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  @import '../../scss/styles.scss';
2
2
 
3
- .autosave {
4
- white-space: nowrap;
3
+ @layer payload-default {
4
+ .autosave {
5
+ white-space: nowrap;
6
+ }
5
7
  }