@payloadcms/ui 3.0.0-canary.a5aaf21 → 3.0.0-canary.a6e7305

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 (417) hide show
  1. package/dist/elements/AddNewRelation/index.scss +36 -34
  2. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  3. package/dist/elements/AppHeader/index.js +1 -0
  4. package/dist/elements/AppHeader/index.js.map +1 -1
  5. package/dist/elements/AppHeader/index.scss +151 -150
  6. package/dist/elements/ArrayAction/index.scss +23 -21
  7. package/dist/elements/Autosave/index.d.ts.map +1 -1
  8. package/dist/elements/Autosave/index.js +1 -3
  9. package/dist/elements/Autosave/index.js.map +1 -1
  10. package/dist/elements/Autosave/index.scss +4 -2
  11. package/dist/elements/Banner/index.scss +51 -49
  12. package/dist/elements/BulkUpload/ActionsBar/index.scss +49 -43
  13. package/dist/elements/BulkUpload/AddFilesView/index.d.ts +2 -1
  14. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/AddFilesView/index.js +2 -0
  16. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  17. package/dist/elements/BulkUpload/AddFilesView/index.scss +23 -21
  18. package/dist/elements/BulkUpload/AddingFilesView/index.scss +16 -14
  19. package/dist/elements/BulkUpload/DrawerCloseButton/index.scss +23 -21
  20. package/dist/elements/BulkUpload/EditForm/index.scss +6 -4
  21. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/FileSidebar/index.js +34 -25
  23. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/FileSidebar/index.scss +250 -210
  25. package/dist/elements/BulkUpload/FormsManager/index.d.ts +1 -0
  26. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/index.js +60 -25
  28. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/Header/index.scss +11 -9
  30. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/index.js +32 -42
  32. package/dist/elements/BulkUpload/index.js.map +1 -1
  33. package/dist/elements/Button/index.d.ts.map +1 -1
  34. package/dist/elements/Button/index.js +13 -4
  35. package/dist/elements/Button/index.js.map +1 -1
  36. package/dist/elements/Button/index.scss +205 -199
  37. package/dist/elements/Button/types.d.ts +3 -1
  38. package/dist/elements/Button/types.d.ts.map +1 -1
  39. package/dist/elements/Button/types.js.map +1 -1
  40. package/dist/elements/Card/index.scss +58 -56
  41. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  42. package/dist/elements/CodeEditor/CodeEditor.js +32 -27
  43. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  44. package/dist/elements/CodeEditor/index.scss +16 -14
  45. package/dist/elements/CodeEditor/types.d.ts +1 -0
  46. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  47. package/dist/elements/CodeEditor/types.js.map +1 -1
  48. package/dist/elements/Collapsible/index.scss +125 -123
  49. package/dist/elements/ColumnSelector/index.scss +36 -34
  50. package/dist/elements/CopyToClipboard/index.scss +21 -19
  51. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  52. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  53. package/dist/elements/DatePicker/DatePicker.js +1 -1
  54. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  55. package/dist/elements/DatePicker/index.scss +309 -307
  56. package/dist/elements/DatePicker/library.scss +859 -0
  57. package/dist/elements/DeleteDocument/index.scss +32 -30
  58. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  59. package/dist/elements/DeleteMany/index.js +16 -5
  60. package/dist/elements/DeleteMany/index.js.map +1 -1
  61. package/dist/elements/DeleteMany/index.scss +29 -27
  62. package/dist/elements/DocumentControls/index.d.ts +1 -1
  63. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  64. package/dist/elements/DocumentControls/index.js +6 -6
  65. package/dist/elements/DocumentControls/index.js.map +1 -1
  66. package/dist/elements/DocumentControls/index.scss +190 -188
  67. package/dist/elements/DocumentDrawer/index.d.ts.map +1 -1
  68. package/dist/elements/DocumentDrawer/index.js +29 -23
  69. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  70. package/dist/elements/DocumentDrawer/index.scss +55 -53
  71. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  72. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  73. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  74. package/dist/elements/DocumentFields/index.scss +144 -142
  75. package/dist/elements/Drawer/index.scss +111 -109
  76. package/dist/elements/Dropzone/index.d.ts +2 -1
  77. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  78. package/dist/elements/Dropzone/index.js +3 -2
  79. package/dist/elements/Dropzone/index.js.map +1 -1
  80. package/dist/elements/Dropzone/index.scss +32 -30
  81. package/dist/elements/DuplicateDocument/index.scss +31 -29
  82. package/dist/elements/EditMany/index.js +3 -2
  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 -36
  96. package/dist/elements/IDLabel/index.scss +11 -9
  97. package/dist/elements/ListControls/index.scss +71 -69
  98. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  99. package/dist/elements/ListDrawer/DrawerContent.js +193 -187
  100. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  101. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  102. package/dist/elements/ListDrawer/index.js +2 -0
  103. package/dist/elements/ListDrawer/index.js.map +1 -1
  104. package/dist/elements/ListDrawer/index.scss +93 -91
  105. package/dist/elements/ListDrawer/types.d.ts +3 -2
  106. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  107. package/dist/elements/ListDrawer/types.js.map +1 -1
  108. package/dist/elements/ListHeader/index.scss +9 -7
  109. package/dist/elements/ListSelection/index.scss +14 -12
  110. package/dist/elements/Loading/index.scss +108 -106
  111. package/dist/elements/Localizer/LocalizerLabel/index.scss +44 -42
  112. package/dist/elements/Localizer/index.scss +7 -5
  113. package/dist/elements/Locked/index.d.ts +1 -1
  114. package/dist/elements/Locked/index.d.ts.map +1 -1
  115. package/dist/elements/Locked/index.js +2 -5
  116. package/dist/elements/Locked/index.js.map +1 -1
  117. package/dist/elements/Locked/index.scss +11 -9
  118. package/dist/elements/Logout/index.d.ts.map +1 -1
  119. package/dist/elements/Logout/index.js +15 -10
  120. package/dist/elements/Logout/index.js.map +1 -1
  121. package/dist/elements/Nav/NavToggler/index.scss +9 -7
  122. package/dist/elements/NavGroup/index.scss +43 -41
  123. package/dist/elements/Pagination/ClickableArrow/index.scss +34 -32
  124. package/dist/elements/Pagination/index.scss +40 -38
  125. package/dist/elements/PerPage/index.scss +37 -35
  126. package/dist/elements/Pill/index.scss +103 -101
  127. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  128. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  129. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  130. package/dist/elements/Popup/PopupButtonList/index.scss +45 -43
  131. package/dist/elements/Popup/PopupTrigger/index.d.ts +1 -0
  132. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  133. package/dist/elements/Popup/PopupTrigger/index.js +3 -2
  134. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  135. package/dist/elements/Popup/PopupTrigger/index.scss +26 -12
  136. package/dist/elements/Popup/index.d.ts +1 -0
  137. package/dist/elements/Popup/index.d.ts.map +1 -1
  138. package/dist/elements/Popup/index.js +6 -3
  139. package/dist/elements/Popup/index.js.map +1 -1
  140. package/dist/elements/Popup/index.scss +194 -175
  141. package/dist/elements/PreviewSizes/index.scss +115 -113
  142. package/dist/elements/PublishButton/index.js +31 -18
  143. package/dist/elements/PublishButton/index.js.map +1 -1
  144. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  145. package/dist/elements/PublishMany/index.js +16 -5
  146. package/dist/elements/PublishMany/index.js.map +1 -1
  147. package/dist/elements/PublishMany/index.scss +28 -26
  148. package/dist/elements/ReactSelect/ClearIndicator/index.scss +6 -4
  149. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +11 -9
  150. package/dist/elements/ReactSelect/MultiValue/index.scss +26 -24
  151. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +16 -14
  152. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +20 -18
  153. package/dist/elements/ReactSelect/ValueContainer/index.scss +22 -20
  154. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  155. package/dist/elements/ReactSelect/index.js +2 -0
  156. package/dist/elements/ReactSelect/index.js.map +1 -1
  157. package/dist/elements/ReactSelect/index.scss +69 -59
  158. package/dist/elements/ReactSelect/types.d.ts +2 -1
  159. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  160. package/dist/elements/ReactSelect/types.js.map +1 -1
  161. package/dist/elements/RelationshipTable/cells/DrawerLink/index.scss +5 -3
  162. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  163. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  164. package/dist/elements/RelationshipTable/index.js +94 -92
  165. package/dist/elements/RelationshipTable/index.js.map +1 -1
  166. package/dist/elements/RelationshipTable/index.scss +21 -19
  167. package/dist/elements/RenderTitle/index.scss +7 -5
  168. package/dist/elements/SearchFilter/index.scss +31 -28
  169. package/dist/elements/SelectAll/index.scss +5 -3
  170. package/dist/elements/SelectRow/index.scss +6 -4
  171. package/dist/elements/ShimmerEffect/index.scss +26 -24
  172. package/dist/elements/SortColumn/index.scss +51 -49
  173. package/dist/elements/SortComplex/index.scss +27 -25
  174. package/dist/elements/Status/index.js +1 -1
  175. package/dist/elements/Status/index.js.map +1 -1
  176. package/dist/elements/Status/index.scss +45 -43
  177. package/dist/elements/StayLoggedIn/index.scss +29 -26
  178. package/dist/elements/StepNav/index.d.ts.map +1 -1
  179. package/dist/elements/StepNav/index.js +21 -14
  180. package/dist/elements/StepNav/index.js.map +1 -1
  181. package/dist/elements/StepNav/index.scss +62 -61
  182. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.scss +20 -18
  183. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +22 -20
  184. package/dist/elements/Table/DefaultCell/fields/File/index.scss +18 -16
  185. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +20 -18
  186. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  187. package/dist/elements/Table/DefaultCell/index.js +30 -30
  188. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  189. package/dist/elements/Table/TableCellProvider/index.js +9 -9
  190. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  191. package/dist/elements/Table/index.scss +74 -72
  192. package/dist/elements/TableColumns/buildColumnState.js +1 -0
  193. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  194. package/dist/elements/Thumbnail/createThumbnail.d.ts +5 -0
  195. package/dist/elements/Thumbnail/createThumbnail.d.ts.map +1 -0
  196. package/dist/elements/Thumbnail/createThumbnail.js +50 -0
  197. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -0
  198. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  199. package/dist/elements/Thumbnail/index.js.map +1 -1
  200. package/dist/elements/Thumbnail/index.scss +37 -35
  201. package/dist/elements/ThumbnailCard/index.scss +31 -29
  202. package/dist/elements/Tooltip/index.scss +77 -75
  203. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  204. package/dist/elements/UnpublishMany/index.js +16 -5
  205. package/dist/elements/UnpublishMany/index.js.map +1 -1
  206. package/dist/elements/UnpublishMany/index.scss +28 -26
  207. package/dist/elements/Upload/index.d.ts.map +1 -1
  208. package/dist/elements/Upload/index.js +2 -0
  209. package/dist/elements/Upload/index.js.map +1 -1
  210. package/dist/elements/Upload/index.scss +117 -121
  211. package/dist/elements/WhereBuilder/Condition/Number/index.scss +4 -2
  212. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +9 -7
  213. package/dist/elements/WhereBuilder/Condition/Text/index.scss +4 -2
  214. package/dist/elements/WhereBuilder/Condition/index.scss +43 -41
  215. package/dist/elements/WhereBuilder/index.scss +28 -26
  216. package/dist/exports/client/{CodeEditor-CXCLJBIQ.js → CodeEditor-LZ2347XA.js} +6 -6
  217. package/dist/exports/client/CodeEditor-LZ2347XA.js.map +8 -0
  218. package/dist/exports/client/{DatePicker-NBYDOP2X.js → DatePicker-FUJV23KL.js} +2 -2
  219. package/dist/exports/client/chunk-6IWEPNUV.js +14 -0
  220. package/dist/exports/client/chunk-6IWEPNUV.js.map +8 -0
  221. package/dist/exports/client/{chunk-6MRITTMD.js → chunk-UMJJTMDP.js} +2 -2
  222. package/dist/exports/client/{chunk-6MRITTMD.js.map → chunk-UMJJTMDP.js.map} +4 -4
  223. package/dist/exports/client/index.d.ts +4 -1
  224. package/dist/exports/client/index.d.ts.map +1 -1
  225. package/dist/exports/client/index.js +22 -19
  226. package/dist/exports/client/index.js.map +4 -4
  227. package/dist/exports/shared/index.d.ts +4 -0
  228. package/dist/exports/shared/index.d.ts.map +1 -1
  229. package/dist/exports/shared/index.js +2 -2
  230. package/dist/exports/shared/index.js.map +4 -4
  231. package/dist/fields/Array/index.scss +74 -72
  232. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +25 -23
  233. package/dist/fields/Blocks/BlocksDrawer/index.scss +36 -34
  234. package/dist/fields/Blocks/SectionTitle/index.scss +51 -49
  235. package/dist/fields/Blocks/index.scss +89 -87
  236. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  237. package/dist/fields/Checkbox/index.js +1 -0
  238. package/dist/fields/Checkbox/index.js.map +1 -1
  239. package/dist/fields/Checkbox/index.scss +107 -105
  240. package/dist/fields/Code/index.scss +18 -16
  241. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  242. package/dist/fields/Collapsible/index.scss +8 -6
  243. package/dist/fields/ConfirmPassword/index.scss +18 -16
  244. package/dist/fields/DateTime/index.scss +13 -11
  245. package/dist/fields/Email/index.scss +21 -19
  246. package/dist/fields/FieldDescription/index.scss +9 -7
  247. package/dist/fields/FieldError/index.scss +13 -11
  248. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  249. package/dist/fields/FieldLabel/index.js +58 -30
  250. package/dist/fields/FieldLabel/index.js.map +1 -1
  251. package/dist/fields/FieldLabel/index.scss +34 -10
  252. package/dist/fields/Group/index.scss +107 -105
  253. package/dist/fields/JSON/index.d.ts.map +1 -1
  254. package/dist/fields/JSON/index.js +2 -0
  255. package/dist/fields/JSON/index.js.map +1 -1
  256. package/dist/fields/JSON/index.scss +11 -9
  257. package/dist/fields/Join/index.d.ts.map +1 -1
  258. package/dist/fields/Join/index.js +14 -4
  259. package/dist/fields/Join/index.js.map +1 -1
  260. package/dist/fields/Number/index.js +1 -1
  261. package/dist/fields/Number/index.js.map +1 -1
  262. package/dist/fields/Number/index.scss +19 -17
  263. package/dist/fields/Password/index.scss +18 -16
  264. package/dist/fields/Point/index.scss +33 -31
  265. package/dist/fields/RadioGroup/Radio/index.scss +58 -56
  266. package/dist/fields/RadioGroup/index.d.ts +1 -0
  267. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  268. package/dist/fields/RadioGroup/index.js +33 -30
  269. package/dist/fields/RadioGroup/index.js.map +1 -1
  270. package/dist/fields/RadioGroup/index.scss +57 -55
  271. package/dist/fields/Relationship/findOptionsByValue.d.ts +2 -1
  272. package/dist/fields/Relationship/findOptionsByValue.d.ts.map +1 -1
  273. package/dist/fields/Relationship/findOptionsByValue.js +9 -2
  274. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  275. package/dist/fields/Relationship/index.d.ts.map +1 -1
  276. package/dist/fields/Relationship/index.js +2 -0
  277. package/dist/fields/Relationship/index.js.map +1 -1
  278. package/dist/fields/Relationship/index.scss +44 -42
  279. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +23 -20
  280. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  281. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +40 -38
  282. package/dist/fields/Relationship/select-components/SingleValue/index.js +24 -21
  283. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  284. package/dist/fields/Relationship/select-components/SingleValue/index.scss +43 -41
  285. package/dist/fields/Relationship/types.d.ts +1 -0
  286. package/dist/fields/Relationship/types.d.ts.map +1 -1
  287. package/dist/fields/Relationship/types.js.map +1 -1
  288. package/dist/fields/Row/index.scss +31 -29
  289. package/dist/fields/Select/index.scss +16 -14
  290. package/dist/fields/Tabs/Tab/index.scss +58 -56
  291. package/dist/fields/Tabs/index.d.ts.map +1 -1
  292. package/dist/fields/Tabs/index.js +69 -53
  293. package/dist/fields/Tabs/index.js.map +1 -1
  294. package/dist/fields/Tabs/index.scss +46 -44
  295. package/dist/fields/Text/index.scss +23 -21
  296. package/dist/fields/Textarea/index.d.ts.map +1 -1
  297. package/dist/fields/Textarea/index.js +3 -1
  298. package/dist/fields/Textarea/index.js.map +1 -1
  299. package/dist/fields/Textarea/index.scss +89 -87
  300. package/dist/fields/Upload/HasMany/index.d.ts +2 -0
  301. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  302. package/dist/fields/Upload/HasMany/index.js +20 -16
  303. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  304. package/dist/fields/Upload/HasMany/index.scss +20 -18
  305. package/dist/fields/Upload/HasOne/index.d.ts +2 -0
  306. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  307. package/dist/fields/Upload/HasOne/index.js +3 -1
  308. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  309. package/dist/fields/Upload/HasOne/index.scss +5 -3
  310. package/dist/fields/Upload/Input.d.ts +0 -1
  311. package/dist/fields/Upload/Input.d.ts.map +1 -1
  312. package/dist/fields/Upload/Input.js +170 -130
  313. package/dist/fields/Upload/Input.js.map +1 -1
  314. package/dist/fields/Upload/RelationshipContent/index.d.ts +2 -0
  315. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
  316. package/dist/fields/Upload/RelationshipContent/index.js +61 -42
  317. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  318. package/dist/fields/Upload/RelationshipContent/index.scss +44 -42
  319. package/dist/fields/Upload/UploadCard/index.scss +21 -19
  320. package/dist/fields/Upload/index.scss +49 -47
  321. package/dist/fields/Upload/types.d.ts +4 -0
  322. package/dist/fields/Upload/types.d.ts.map +1 -0
  323. package/dist/fields/Upload/types.js +2 -0
  324. package/dist/fields/Upload/types.js.map +1 -0
  325. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  326. package/dist/forms/Form/fieldReducer.js +7 -0
  327. package/dist/forms/Form/fieldReducer.js.map +1 -1
  328. package/dist/forms/Form/index.scss +5 -3
  329. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  330. package/dist/forms/NullifyField/index.js +1 -0
  331. package/dist/forms/NullifyField/index.js.map +1 -1
  332. package/dist/forms/RenderFields/index.scss +47 -45
  333. package/dist/forms/Submit/index.scss +5 -3
  334. package/dist/forms/useField/index.d.ts.map +1 -1
  335. package/dist/forms/useField/index.js +1 -1
  336. package/dist/forms/useField/index.js.map +1 -1
  337. package/dist/graphics/Account/Default/index.scss +43 -41
  338. package/dist/icons/Calendar/index.scss +8 -6
  339. package/dist/icons/Check/index.scss +9 -7
  340. package/dist/icons/Chevron/index.scss +18 -16
  341. package/dist/icons/CloseMenu/index.scss +7 -5
  342. package/dist/icons/Copy/index.scss +9 -7
  343. package/dist/icons/DragHandle/index.scss +9 -7
  344. package/dist/icons/Edit/index.scss +9 -7
  345. package/dist/icons/Line/index.scss +8 -6
  346. package/dist/icons/Link/index.scss +8 -6
  347. package/dist/icons/Lock/index.scss +6 -4
  348. package/dist/icons/LogOut/index.scss +8 -6
  349. package/dist/icons/Menu/index.scss +6 -4
  350. package/dist/icons/More/index.scss +8 -6
  351. package/dist/icons/Plus/index.scss +6 -4
  352. package/dist/icons/Search/index.scss +8 -6
  353. package/dist/icons/Swap/index.scss +9 -7
  354. package/dist/icons/X/index.scss +6 -4
  355. package/dist/providers/Auth/index.d.ts +9 -4
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +51 -56
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -1
  360. package/dist/providers/Config/createClientConfig/collections.js +10 -0
  361. package/dist/providers/Config/createClientConfig/collections.js.map +1 -1
  362. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -1
  363. package/dist/providers/Config/createClientConfig/fields.js +22 -7
  364. package/dist/providers/Config/createClientConfig/fields.js.map +1 -1
  365. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  366. package/dist/providers/DocumentInfo/index.js +25 -15
  367. package/dist/providers/DocumentInfo/index.js.map +1 -1
  368. package/dist/providers/DocumentInfo/types.d.ts +3 -2
  369. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  370. package/dist/providers/DocumentInfo/types.js.map +1 -1
  371. package/dist/providers/ListQuery/index.js +1 -1
  372. package/dist/providers/ListQuery/index.js.map +1 -1
  373. package/dist/providers/Root/index.js +0 -1
  374. package/dist/providers/Root/index.js.map +1 -1
  375. package/dist/providers/ScrollInfo/index.d.ts +1 -3
  376. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  377. package/dist/providers/ScrollInfo/index.js +1 -12
  378. package/dist/providers/ScrollInfo/index.js.map +1 -1
  379. package/dist/providers/Selection/index.js +3 -3
  380. package/dist/providers/Selection/index.js.map +1 -1
  381. package/dist/providers/Theme/index.d.ts +0 -1
  382. package/dist/providers/Theme/index.d.ts.map +1 -1
  383. package/dist/providers/Theme/index.js +29 -21
  384. package/dist/providers/Theme/index.js.map +1 -1
  385. package/dist/scss/app.scss +166 -162
  386. package/dist/scss/colors.scss +256 -254
  387. package/dist/scss/resets.scss +9 -7
  388. package/dist/scss/toastify.scss +42 -40
  389. package/dist/scss/toasts.scss +105 -103
  390. package/dist/scss/type.scss +81 -79
  391. package/dist/styles.css +1 -1
  392. package/dist/utilities/buildFormState.d.ts.map +1 -1
  393. package/dist/utilities/buildFormState.js +53 -5
  394. package/dist/utilities/buildFormState.js.map +1 -1
  395. package/dist/utilities/getFormState.d.ts.map +1 -1
  396. package/dist/utilities/getFormState.js.map +1 -1
  397. package/dist/utilities/handleBackToDashboard.d.ts +8 -0
  398. package/dist/utilities/handleBackToDashboard.d.ts.map +1 -0
  399. package/dist/utilities/handleBackToDashboard.js +12 -0
  400. package/dist/utilities/handleBackToDashboard.js.map +1 -0
  401. package/dist/utilities/handleGoBack.d.ts +9 -0
  402. package/dist/utilities/handleGoBack.d.ts.map +1 -0
  403. package/dist/utilities/handleGoBack.js +13 -0
  404. package/dist/utilities/handleGoBack.js.map +1 -0
  405. package/dist/utilities/handleTakeOver.d.ts +7 -0
  406. package/dist/utilities/handleTakeOver.d.ts.map +1 -0
  407. package/dist/utilities/handleTakeOver.js +27 -0
  408. package/dist/utilities/handleTakeOver.js.map +1 -0
  409. package/dist/utilities/isClientUserObject.d.ts +3 -0
  410. package/dist/utilities/isClientUserObject.d.ts.map +1 -0
  411. package/dist/utilities/isClientUserObject.js +4 -0
  412. package/dist/utilities/isClientUserObject.js.map +1 -0
  413. package/package.json +10 -10
  414. package/dist/exports/client/CodeEditor-CXCLJBIQ.js.map +0 -8
  415. package/dist/exports/client/chunk-W2YIQDPJ.js +0 -14
  416. package/dist/exports/client/chunk-W2YIQDPJ.js.map +0 -8
  417. /package/dist/exports/client/{DatePicker-NBYDOP2X.js.map → DatePicker-FUJV23KL.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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAsF7B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/AppHeader/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAc1D,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAuF7B,CAAA"}
@@ -102,6 +102,7 @@ export const AppHeader = () => {
102
102
  adminRoute,
103
103
  path: accountRoute
104
104
  }),
105
+ prefetch: Link ? false : undefined,
105
106
  tabIndex: 0,
106
107
  children: /*#__PURE__*/_jsx(Account, {})
107
108
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","RenderComponent","useTranslation","formatAdminURL","Hamburger","Localizer","LocalizerLabel","useNav","NavToggler","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\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 Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} Link={Link} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["LinkWithDefault","React","useEffect","useRef","useState","Account","useActions","useConfig","RenderComponent","useTranslation","formatAdminURL","Hamburger","Localizer","LocalizerLabel","useNav","NavToggler","StepNav","baseClass","AppHeader","t","config","admin","routes","account","accountRoute","localization","adminRoute","actions","navOpen","customControlsRef","isScrollable","setIsScrollable","checkIsScrollable","el","current","scrollable","scrollWidth","clientWidth","window","addEventListener","removeEventListener","Link","default","LinkElement","_jsxs","className","filter","Boolean","join","_jsx","tabIndex","ref","Array","isArray","map","Action","i","length","mappedComponent","ariaLabel","href","path","prefetch","undefined"],"sources":["../../../src/elements/AppHeader/index.tsx"],"sourcesContent":["'use client'\nimport LinkWithDefault from 'next/link.js'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Account } from '../../graphics/Account/index.js'\nimport { useActions } from '../../providers/Actions/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { RenderComponent } from '../../providers/Config/RenderComponent.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Hamburger } from '../Hamburger/index.js'\nimport { Localizer } from '../Localizer/index.js'\nimport { LocalizerLabel } from '../Localizer/LocalizerLabel/index.js'\nimport { useNav } from '../Nav/context.js'\nimport { NavToggler } from '../Nav/NavToggler/index.js'\nimport { StepNav } from '../StepNav/index.js'\nimport './index.scss'\n\nconst baseClass = 'app-header'\n\nexport const AppHeader: React.FC = () => {\n const { t } = useTranslation()\n\n const {\n config: {\n admin: {\n routes: { account: accountRoute },\n },\n localization,\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const { actions } = useActions()\n\n const { navOpen } = useNav()\n\n const customControlsRef = useRef<HTMLDivElement>(null)\n const [isScrollable, setIsScrollable] = useState(false)\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 Link = LinkWithDefault.default\n\n const LinkElement = Link || 'a'\n\n return (\n <header className={[baseClass, navOpen && `${baseClass}--nav-open`].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__bg`} />\n <div className={`${baseClass}__content`}>\n <div className={`${baseClass}__wrapper`}>\n <NavToggler className={`${baseClass}__mobile-nav-toggler`} tabIndex={-1}>\n <Hamburger />\n </NavToggler>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__step-nav-wrapper`}>\n <StepNav className={`${baseClass}__step-nav`} Link={Link} />\n </div>\n <div className={`${baseClass}__actions-wrapper`}>\n <div className={`${baseClass}__actions`} ref={customControlsRef}>\n {Array.isArray(actions) &&\n actions.map((Action, i) => (\n <div\n className={\n isScrollable && i === actions.length - 1 ? `${baseClass}__last-action` : ''\n }\n key={i}\n >\n <RenderComponent mappedComponent={Action} />\n </div>\n ))}\n </div>\n {isScrollable && <div className={`${baseClass}__gradient-placeholder`} />}\n </div>\n {localization && (\n <LocalizerLabel ariaLabel=\"invisible\" className={`${baseClass}__localizer-spacing`} />\n )}\n <LinkElement\n aria-label={t('authentication:account')}\n className={`${baseClass}__account`}\n href={formatAdminURL({ adminRoute, path: accountRoute })}\n prefetch={Link ? false : undefined}\n tabIndex={0}\n >\n <Account />\n </LinkElement>\n </div>\n </div>\n </div>\n <Localizer className={`${baseClass}__localizer`} />\n </header>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -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":[]}