@payloadcms/next 3.0.0-beta.12 → 3.0.0-beta.121

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 (928) hide show
  1. package/dist/cjs/withPayload.cjs +68 -18
  2. package/dist/cjs/withPayload.cjs.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +0 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +5 -0
  8. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +1 -0
  9. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +19 -0
  10. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
  11. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +13 -0
  12. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -0
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +112 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +8 -0
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -0
  17. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +82 -0
  18. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +95 -0
  20. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +6 -0
  21. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +1 -0
  22. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +34 -0
  23. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +7 -0
  25. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +1 -0
  26. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +17 -0
  27. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -0
  28. package/dist/elements/DocumentHeader/Tabs/index.d.ts +12 -0
  29. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -0
  30. package/dist/elements/DocumentHeader/Tabs/index.js +104 -0
  31. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
  32. package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
  33. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +3 -0
  34. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -0
  35. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +44 -0
  36. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
  37. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +9 -0
  38. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -0
  39. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +65 -0
  40. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
  41. package/dist/elements/DocumentHeader/index.d.ts +14 -0
  42. package/dist/elements/DocumentHeader/index.d.ts.map +1 -0
  43. package/dist/elements/DocumentHeader/index.js +31 -0
  44. package/dist/elements/DocumentHeader/index.js.map +1 -0
  45. package/dist/elements/DocumentHeader/index.scss +54 -0
  46. package/dist/elements/DocumentLocked/index.d.ts +12 -0
  47. package/dist/elements/DocumentLocked/index.d.ts.map +1 -0
  48. package/dist/elements/DocumentLocked/index.js +142 -0
  49. package/dist/elements/DocumentLocked/index.js.map +1 -0
  50. package/dist/elements/DocumentLocked/index.scss +39 -0
  51. package/dist/elements/DocumentTakeOver/index.d.ts +8 -0
  52. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -0
  53. package/dist/elements/DocumentTakeOver/index.js +98 -0
  54. package/dist/elements/DocumentTakeOver/index.js.map +1 -0
  55. package/dist/elements/DocumentTakeOver/index.scss +39 -0
  56. package/dist/elements/EmailAndUsername/index.d.ts +14 -0
  57. package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
  58. package/dist/elements/EmailAndUsername/index.js +121 -0
  59. package/dist/elements/EmailAndUsername/index.js.map +1 -0
  60. package/dist/elements/FormHeader/index.d.ts +9 -0
  61. package/dist/elements/FormHeader/index.d.ts.map +1 -0
  62. package/dist/elements/FormHeader/index.js +20 -0
  63. package/dist/elements/FormHeader/index.js.map +1 -0
  64. package/dist/elements/FormHeader/index.scss +8 -0
  65. package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
  66. package/dist/elements/LeaveWithoutSaving/index.js +153 -61
  67. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  68. package/dist/elements/LeaveWithoutSaving/index.scss +28 -25
  69. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
  70. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  71. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +121 -99
  72. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  73. package/dist/elements/Logo/index.d.ts +4 -0
  74. package/dist/elements/Logo/index.d.ts.map +1 -0
  75. package/dist/elements/Logo/index.js +42 -0
  76. package/dist/elements/Logo/index.js.map +1 -0
  77. package/dist/elements/Nav/NavHamburger/index.d.ts +5 -0
  78. package/dist/elements/Nav/NavHamburger/index.d.ts.map +1 -0
  79. package/dist/elements/Nav/NavHamburger/index.js +48 -0
  80. package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
  81. package/dist/elements/Nav/NavWrapper/index.d.ts +7 -0
  82. package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -0
  83. package/dist/elements/Nav/NavWrapper/index.js +55 -0
  84. package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
  85. package/dist/elements/Nav/NavWrapper/index.scss +27 -0
  86. package/dist/elements/Nav/index.client.d.ts +3 -0
  87. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  88. package/dist/elements/Nav/index.client.js +161 -0
  89. package/dist/elements/Nav/index.client.js.map +1 -0
  90. package/dist/elements/Nav/index.d.ts +6 -0
  91. package/dist/elements/Nav/index.d.ts.map +1 -0
  92. package/dist/elements/Nav/index.js +67 -0
  93. package/dist/elements/Nav/index.js.map +1 -0
  94. package/dist/elements/Nav/index.scss +162 -0
  95. package/dist/exports/layouts.d.ts +1 -1
  96. package/dist/exports/layouts.d.ts.map +1 -1
  97. package/dist/exports/layouts.js +1 -2
  98. package/dist/exports/layouts.js.map +1 -1
  99. package/dist/exports/routes.js +0 -1
  100. package/dist/exports/routes.js.map +1 -1
  101. package/dist/exports/templates.d.ts +3 -0
  102. package/dist/exports/templates.d.ts.map +1 -0
  103. package/dist/exports/templates.js +3 -0
  104. package/dist/exports/templates.js.map +1 -0
  105. package/dist/exports/utilities.d.ts +4 -2
  106. package/dist/exports/utilities.d.ts.map +1 -1
  107. package/dist/exports/utilities.js +4 -3
  108. package/dist/exports/utilities.js.map +1 -1
  109. package/dist/exports/views.d.ts +3 -2
  110. package/dist/exports/views.d.ts.map +1 -1
  111. package/dist/exports/views.js +3 -3
  112. package/dist/exports/views.js.map +1 -1
  113. package/dist/{next-fileupload → fetchAPI-multipart}/fileFactory.d.ts +3 -3
  114. package/dist/fetchAPI-multipart/fileFactory.d.ts.map +1 -0
  115. package/dist/fetchAPI-multipart/fileFactory.js +44 -0
  116. package/dist/fetchAPI-multipart/fileFactory.js.map +1 -0
  117. package/dist/{next-fileupload → fetchAPI-multipart}/handlers.d.ts +2 -3
  118. package/dist/fetchAPI-multipart/handlers.d.ts.map +1 -0
  119. package/dist/fetchAPI-multipart/handlers.js +87 -0
  120. package/dist/fetchAPI-multipart/handlers.js.map +1 -0
  121. package/dist/fetchAPI-multipart/index.d.ts +32 -0
  122. package/dist/fetchAPI-multipart/index.d.ts.map +1 -0
  123. package/dist/fetchAPI-multipart/index.js +43 -0
  124. package/dist/fetchAPI-multipart/index.js.map +1 -0
  125. package/dist/fetchAPI-multipart/isEligibleRequest.d.ts.map +1 -0
  126. package/dist/fetchAPI-multipart/isEligibleRequest.js +18 -0
  127. package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -0
  128. package/dist/fetchAPI-multipart/processMultipart.d.ts +9 -0
  129. package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -0
  130. package/dist/fetchAPI-multipart/processMultipart.js +180 -0
  131. package/dist/fetchAPI-multipart/processMultipart.js.map +1 -0
  132. package/dist/fetchAPI-multipart/processNested.d.ts.map +1 -0
  133. package/dist/fetchAPI-multipart/processNested.js +31 -0
  134. package/dist/fetchAPI-multipart/processNested.js.map +1 -0
  135. package/dist/fetchAPI-multipart/uploadTimer.d.ts.map +1 -0
  136. package/dist/fetchAPI-multipart/uploadTimer.js +20 -0
  137. package/dist/fetchAPI-multipart/uploadTimer.js.map +1 -0
  138. package/dist/{next-fileupload → fetchAPI-multipart}/utilities.d.ts +4 -4
  139. package/dist/fetchAPI-multipart/utilities.d.ts.map +1 -0
  140. package/dist/fetchAPI-multipart/utilities.js +227 -0
  141. package/dist/fetchAPI-multipart/utilities.js.map +1 -0
  142. package/dist/{next-stream-file → fetchAPI-stream-file}/index.d.ts +0 -1
  143. package/dist/fetchAPI-stream-file/index.d.ts.map +1 -0
  144. package/dist/fetchAPI-stream-file/index.js +27 -0
  145. package/dist/fetchAPI-stream-file/index.js.map +1 -0
  146. package/dist/index.js +0 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/layouts/Root/index.d.ts +5 -5
  149. package/dist/layouts/Root/index.d.ts.map +1 -1
  150. package/dist/layouts/Root/index.js +148 -78
  151. package/dist/layouts/Root/index.js.map +1 -1
  152. package/dist/prod/styles.css +1 -1
  153. package/dist/routes/graphql/handler.d.ts +1 -1
  154. package/dist/routes/graphql/handler.d.ts.map +1 -1
  155. package/dist/routes/graphql/handler.js +122 -101
  156. package/dist/routes/graphql/handler.js.map +1 -1
  157. package/dist/routes/graphql/index.js +0 -1
  158. package/dist/routes/graphql/index.js.map +1 -1
  159. package/dist/routes/graphql/playground.d.ts +1 -1
  160. package/dist/routes/graphql/playground.d.ts.map +1 -1
  161. package/dist/routes/graphql/playground.js +23 -24
  162. package/dist/routes/graphql/playground.js.map +1 -1
  163. package/dist/routes/index.d.ts +1 -1
  164. package/dist/routes/index.d.ts.map +1 -1
  165. package/dist/routes/index.js +1 -2
  166. package/dist/routes/index.js.map +1 -1
  167. package/dist/routes/rest/auth/access.d.ts.map +1 -1
  168. package/dist/routes/rest/auth/access.js +20 -9
  169. package/dist/routes/rest/auth/access.js.map +1 -1
  170. package/dist/routes/rest/auth/forgotPassword.d.ts.map +1 -1
  171. package/dist/routes/rest/auth/forgotPassword.js +30 -22
  172. package/dist/routes/rest/auth/forgotPassword.js.map +1 -1
  173. package/dist/routes/rest/auth/init.js +17 -15
  174. package/dist/routes/rest/auth/init.js.map +1 -1
  175. package/dist/routes/rest/auth/login.d.ts.map +1 -1
  176. package/dist/routes/rest/auth/login.js +45 -36
  177. package/dist/routes/rest/auth/login.js.map +1 -1
  178. package/dist/routes/rest/auth/logout.d.ts.map +1 -1
  179. package/dist/routes/rest/auth/logout.js +33 -29
  180. package/dist/routes/rest/auth/logout.js.map +1 -1
  181. package/dist/routes/rest/auth/me.d.ts.map +1 -1
  182. package/dist/routes/rest/auth/me.js +24 -23
  183. package/dist/routes/rest/auth/me.js.map +1 -1
  184. package/dist/routes/rest/auth/refresh.d.ts.map +1 -1
  185. package/dist/routes/rest/auth/refresh.js +29 -35
  186. package/dist/routes/rest/auth/refresh.js.map +1 -1
  187. package/dist/routes/rest/auth/registerFirstUser.d.ts.map +1 -1
  188. package/dist/routes/rest/auth/registerFirstUser.js +44 -42
  189. package/dist/routes/rest/auth/registerFirstUser.js.map +1 -1
  190. package/dist/routes/rest/auth/resetPassword.d.ts.map +1 -1
  191. package/dist/routes/rest/auth/resetPassword.js +39 -35
  192. package/dist/routes/rest/auth/resetPassword.js.map +1 -1
  193. package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
  194. package/dist/routes/rest/auth/unlock.js +28 -20
  195. package/dist/routes/rest/auth/unlock.js.map +1 -1
  196. package/dist/routes/rest/auth/verifyEmail.js +23 -18
  197. package/dist/routes/rest/auth/verifyEmail.js.map +1 -1
  198. package/dist/routes/rest/buildFormState.d.ts +1 -3
  199. package/dist/routes/rest/buildFormState.d.ts.map +1 -1
  200. package/dist/routes/rest/buildFormState.js +40 -169
  201. package/dist/routes/rest/buildFormState.js.map +1 -1
  202. package/dist/routes/rest/checkEndpoints.d.ts.map +1 -1
  203. package/dist/routes/rest/checkEndpoints.js +11 -9
  204. package/dist/routes/rest/checkEndpoints.js.map +1 -1
  205. package/dist/routes/rest/collections/count.js +16 -12
  206. package/dist/routes/rest/collections/count.js.map +1 -1
  207. package/dist/routes/rest/collections/create.d.ts.map +1 -1
  208. package/dist/routes/rest/collections/create.js +34 -28
  209. package/dist/routes/rest/collections/create.js.map +1 -1
  210. package/dist/routes/rest/collections/delete.d.ts.map +1 -1
  211. package/dist/routes/rest/collections/delete.js +47 -37
  212. package/dist/routes/rest/collections/delete.js.map +1 -1
  213. package/dist/routes/rest/collections/deleteByID.d.ts.map +1 -1
  214. package/dist/routes/rest/collections/deleteByID.js +42 -33
  215. package/dist/routes/rest/collections/deleteByID.js.map +1 -1
  216. package/dist/routes/rest/collections/docAccess.js +18 -15
  217. package/dist/routes/rest/collections/docAccess.js.map +1 -1
  218. package/dist/routes/rest/collections/duplicate.d.ts.map +1 -1
  219. package/dist/routes/rest/collections/duplicate.js +40 -33
  220. package/dist/routes/rest/collections/duplicate.js.map +1 -1
  221. package/dist/routes/rest/collections/find.d.ts.map +1 -1
  222. package/dist/routes/rest/collections/find.js +37 -22
  223. package/dist/routes/rest/collections/find.js.map +1 -1
  224. package/dist/routes/rest/collections/findByID.d.ts.map +1 -1
  225. package/dist/routes/rest/collections/findByID.js +34 -25
  226. package/dist/routes/rest/collections/findByID.js.map +1 -1
  227. package/dist/routes/rest/collections/findVersionByID.d.ts.map +1 -1
  228. package/dist/routes/rest/collections/findVersionByID.js +31 -24
  229. package/dist/routes/rest/collections/findVersionByID.js.map +1 -1
  230. package/dist/routes/rest/collections/findVersions.d.ts.map +1 -1
  231. package/dist/routes/rest/collections/findVersions.js +32 -21
  232. package/dist/routes/rest/collections/findVersions.js.map +1 -1
  233. package/dist/routes/rest/collections/preview.d.ts.map +1 -1
  234. package/dist/routes/rest/collections/preview.js +41 -37
  235. package/dist/routes/rest/collections/preview.js.map +1 -1
  236. package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
  237. package/dist/routes/rest/collections/restoreVersion.js +34 -27
  238. package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
  239. package/dist/routes/rest/collections/update.d.ts.map +1 -1
  240. package/dist/routes/rest/collections/update.js +52 -39
  241. package/dist/routes/rest/collections/update.js.map +1 -1
  242. package/dist/routes/rest/collections/updateByID.d.ts.map +1 -1
  243. package/dist/routes/rest/collections/updateByID.js +50 -35
  244. package/dist/routes/rest/collections/updateByID.js.map +1 -1
  245. package/dist/routes/rest/files/checkFileAccess.d.ts +2 -2
  246. package/dist/routes/rest/files/checkFileAccess.d.ts.map +1 -1
  247. package/dist/routes/rest/files/checkFileAccess.js +52 -45
  248. package/dist/routes/rest/files/checkFileAccess.js.map +1 -1
  249. package/dist/routes/rest/files/getFile.d.ts +1 -1
  250. package/dist/routes/rest/files/getFile.d.ts.map +1 -1
  251. package/dist/routes/rest/files/getFile.js +59 -48
  252. package/dist/routes/rest/files/getFile.js.map +1 -1
  253. package/dist/routes/rest/files/getFileTypeFallback.js +16 -17
  254. package/dist/routes/rest/files/getFileTypeFallback.js.map +1 -1
  255. package/dist/routes/rest/globals/docAccess.js +16 -14
  256. package/dist/routes/rest/globals/docAccess.js.map +1 -1
  257. package/dist/routes/rest/globals/findOne.d.ts.map +1 -1
  258. package/dist/routes/rest/globals/findOne.js +26 -20
  259. package/dist/routes/rest/globals/findOne.js.map +1 -1
  260. package/dist/routes/rest/globals/findVersionByID.d.ts.map +1 -1
  261. package/dist/routes/rest/globals/findVersionByID.js +26 -19
  262. package/dist/routes/rest/globals/findVersionByID.js.map +1 -1
  263. package/dist/routes/rest/globals/findVersions.d.ts.map +1 -1
  264. package/dist/routes/rest/globals/findVersions.js +32 -21
  265. package/dist/routes/rest/globals/findVersions.js.map +1 -1
  266. package/dist/routes/rest/globals/preview.d.ts.map +1 -1
  267. package/dist/routes/rest/globals/preview.js +40 -37
  268. package/dist/routes/rest/globals/preview.js.map +1 -1
  269. package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
  270. package/dist/routes/rest/globals/restoreVersion.js +29 -22
  271. package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
  272. package/dist/routes/rest/globals/update.d.ts.map +1 -1
  273. package/dist/routes/rest/globals/update.js +42 -30
  274. package/dist/routes/rest/globals/update.js.map +1 -1
  275. package/dist/routes/rest/index.d.ts +13 -13
  276. package/dist/routes/rest/index.d.ts.map +1 -1
  277. package/dist/routes/rest/index.js +687 -527
  278. package/dist/routes/rest/index.js.map +1 -1
  279. package/dist/routes/rest/og/image.d.ts +10 -0
  280. package/dist/routes/rest/og/image.d.ts.map +1 -0
  281. package/dist/routes/rest/og/image.js +81 -0
  282. package/dist/routes/rest/og/image.js.map +1 -0
  283. package/dist/routes/rest/og/index.d.ts +11 -0
  284. package/dist/routes/rest/og/index.d.ts.map +1 -0
  285. package/dist/routes/rest/og/index.js +78 -0
  286. package/dist/routes/rest/og/index.js.map +1 -0
  287. package/dist/routes/rest/og/roboto-regular.woff +0 -0
  288. package/dist/routes/rest/routeError.d.ts +4 -9
  289. package/dist/routes/rest/routeError.d.ts.map +1 -1
  290. package/dist/routes/rest/routeError.js +117 -96
  291. package/dist/routes/rest/routeError.js.map +1 -1
  292. package/dist/routes/rest/types.d.ts +1 -1
  293. package/dist/routes/rest/types.d.ts.map +1 -1
  294. package/dist/routes/rest/types.js +1 -2
  295. package/dist/routes/rest/types.js.map +1 -1
  296. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts +1 -1
  297. package/dist/routes/rest/utilities/sanitizeCollectionID.d.ts.map +1 -1
  298. package/dist/routes/rest/utilities/sanitizeCollectionID.js +18 -11
  299. package/dist/routes/rest/utilities/sanitizeCollectionID.js.map +1 -1
  300. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts +13 -0
  301. package/dist/routes/rest/utilities/sanitizeJoinParams.d.ts.map +1 -0
  302. package/dist/routes/rest/utilities/sanitizeJoinParams.js +17 -0
  303. package/dist/routes/rest/utilities/sanitizeJoinParams.js.map +1 -0
  304. package/dist/routes/rest/utilities/sanitizeSelect.d.ts +6 -0
  305. package/dist/routes/rest/utilities/sanitizeSelect.d.ts.map +1 -0
  306. package/dist/routes/rest/utilities/sanitizeSelect.js +17 -0
  307. package/dist/routes/rest/utilities/sanitizeSelect.js.map +1 -0
  308. package/dist/scss/app.scss +167 -168
  309. package/dist/scss/colors.scss +256 -254
  310. package/dist/scss/resets.scss +9 -7
  311. package/dist/scss/toastify.scss +43 -40
  312. package/dist/scss/toasts.scss +144 -0
  313. package/dist/scss/type.scss +79 -86
  314. package/dist/scss/vars.scss +26 -47
  315. package/dist/templates/Default/NavHamburger/index.d.ts +3 -0
  316. package/dist/templates/Default/NavHamburger/index.d.ts.map +1 -0
  317. package/dist/templates/Default/NavHamburger/index.js +25 -0
  318. package/dist/templates/Default/NavHamburger/index.js.map +1 -0
  319. package/dist/templates/Default/Wrapper/index.d.ts +8 -0
  320. package/dist/templates/Default/Wrapper/index.d.ts.map +1 -0
  321. package/dist/templates/Default/Wrapper/index.js +49 -0
  322. package/dist/templates/Default/Wrapper/index.js.map +1 -0
  323. package/dist/templates/Default/Wrapper/index.scss +58 -0
  324. package/dist/templates/Default/index.d.ts +10 -0
  325. package/dist/templates/Default/index.d.ts.map +1 -0
  326. package/dist/templates/Default/index.js +80 -0
  327. package/dist/templates/Default/index.js.map +1 -0
  328. package/dist/templates/Default/index.scss +79 -0
  329. package/dist/templates/Minimal/index.d.ts +10 -0
  330. package/dist/templates/Minimal/index.d.ts.map +1 -0
  331. package/dist/templates/Minimal/index.js +21 -0
  332. package/dist/templates/Minimal/index.js.map +1 -0
  333. package/dist/templates/Minimal/index.scss +30 -0
  334. package/dist/utilities/addDataAndFileToRequest.d.ts +8 -0
  335. package/dist/utilities/addDataAndFileToRequest.d.ts.map +1 -0
  336. package/dist/utilities/addDataAndFileToRequest.js +47 -0
  337. package/dist/utilities/addDataAndFileToRequest.js.map +1 -0
  338. package/dist/utilities/addLocalesToRequest.d.ts +17 -0
  339. package/dist/utilities/addLocalesToRequest.d.ts.map +1 -0
  340. package/dist/utilities/addLocalesToRequest.js +55 -0
  341. package/dist/utilities/addLocalesToRequest.js.map +1 -0
  342. package/dist/utilities/createPayloadRequest.d.ts +1 -1
  343. package/dist/utilities/createPayloadRequest.d.ts.map +1 -1
  344. package/dist/utilities/createPayloadRequest.js +92 -83
  345. package/dist/utilities/createPayloadRequest.js.map +1 -1
  346. package/dist/utilities/getNextRequestI18n.d.ts +5 -5
  347. package/dist/utilities/getNextRequestI18n.d.ts.map +1 -1
  348. package/dist/utilities/getNextRequestI18n.js +15 -11
  349. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  350. package/dist/utilities/getPayloadHMR.d.ts +3 -3
  351. package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
  352. package/dist/utilities/getPayloadHMR.js +94 -65
  353. package/dist/utilities/getPayloadHMR.js.map +1 -1
  354. package/dist/utilities/getRequestLanguage.d.ts +2 -2
  355. package/dist/utilities/getRequestLanguage.d.ts.map +1 -1
  356. package/dist/utilities/getRequestLanguage.js +16 -14
  357. package/dist/utilities/getRequestLanguage.js.map +1 -1
  358. package/dist/utilities/getRequestLocales.js +27 -24
  359. package/dist/utilities/getRequestLocales.js.map +1 -1
  360. package/dist/utilities/getRequestTheme.d.ts +11 -0
  361. package/dist/utilities/getRequestTheme.d.ts.map +1 -0
  362. package/dist/utilities/getRequestTheme.js +22 -0
  363. package/dist/utilities/getRequestTheme.js.map +1 -0
  364. package/dist/utilities/headersWithCors.d.ts +1 -1
  365. package/dist/utilities/headersWithCors.d.ts.map +1 -1
  366. package/dist/utilities/headersWithCors.js +21 -14
  367. package/dist/utilities/headersWithCors.js.map +1 -1
  368. package/dist/utilities/initPage/handleAdminPage.d.ts +17 -0
  369. package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -0
  370. package/dist/utilities/initPage/handleAdminPage.js +40 -0
  371. package/dist/utilities/initPage/handleAdminPage.js.map +1 -0
  372. package/dist/utilities/initPage/handleAuthRedirect.d.ts +12 -0
  373. package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -0
  374. package/dist/utilities/initPage/handleAuthRedirect.js +41 -0
  375. package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -0
  376. package/dist/utilities/initPage/index.d.ts +4 -0
  377. package/dist/utilities/initPage/index.d.ts.map +1 -0
  378. package/dist/utilities/initPage/index.js +169 -0
  379. package/dist/utilities/initPage/index.js.map +1 -0
  380. package/dist/utilities/initPage/isCustomAdminView.d.ts +10 -0
  381. package/dist/utilities/initPage/isCustomAdminView.d.ts.map +1 -0
  382. package/dist/utilities/initPage/isCustomAdminView.js +31 -0
  383. package/dist/utilities/initPage/isCustomAdminView.js.map +1 -0
  384. package/dist/utilities/initPage/shared.d.ts +16 -0
  385. package/dist/utilities/initPage/shared.d.ts.map +1 -0
  386. package/dist/utilities/initPage/shared.js +36 -0
  387. package/dist/utilities/initPage/shared.js.map +1 -0
  388. package/dist/utilities/initPage/types.d.ts +25 -0
  389. package/dist/utilities/initPage/types.d.ts.map +1 -0
  390. package/dist/utilities/initPage/types.js +2 -0
  391. package/dist/utilities/initPage/types.js.map +1 -0
  392. package/dist/utilities/initReq.d.ts +11 -0
  393. package/dist/utilities/initReq.d.ts.map +1 -0
  394. package/dist/utilities/initReq.js +46 -0
  395. package/dist/utilities/initReq.js.map +1 -0
  396. package/dist/utilities/mergeHeaders.d.ts +2 -0
  397. package/dist/utilities/mergeHeaders.d.ts.map +1 -0
  398. package/dist/utilities/mergeHeaders.js +10 -0
  399. package/dist/utilities/mergeHeaders.js.map +1 -0
  400. package/dist/utilities/meta.d.ts +3 -7
  401. package/dist/utilities/meta.d.ts.map +1 -1
  402. package/dist/utilities/meta.js +70 -33
  403. package/dist/utilities/meta.js.map +1 -1
  404. package/dist/utilities/timestamp.d.ts.map +1 -1
  405. package/dist/utilities/timestamp.js +6 -5
  406. package/dist/utilities/timestamp.js.map +1 -1
  407. package/dist/views/API/LocaleSelector/index.d.ts +9 -0
  408. package/dist/views/API/LocaleSelector/index.d.ts.map +1 -0
  409. package/dist/views/API/LocaleSelector/index.js +44 -0
  410. package/dist/views/API/LocaleSelector/index.js.map +1 -0
  411. package/dist/views/API/RenderJSON/index.d.ts +1 -1
  412. package/dist/views/API/RenderJSON/index.d.ts.map +1 -1
  413. package/dist/views/API/RenderJSON/index.js +116 -72
  414. package/dist/views/API/RenderJSON/index.js.map +1 -1
  415. package/dist/views/API/RenderJSON/index.scss +68 -66
  416. package/dist/views/API/index.client.d.ts.map +1 -1
  417. package/dist/views/API/index.client.js +192 -177
  418. package/dist/views/API/index.client.js.map +1 -1
  419. package/dist/views/API/index.d.ts +2 -2
  420. package/dist/views/API/index.d.ts.map +1 -1
  421. package/dist/views/API/index.js +3 -3
  422. package/dist/views/API/index.js.map +1 -1
  423. package/dist/views/API/index.scss +98 -97
  424. package/dist/views/API/meta.d.ts.map +1 -1
  425. package/dist/views/API/meta.js +23 -8
  426. package/dist/views/API/meta.js.map +1 -1
  427. package/dist/views/Account/Settings/LanguageSelector.d.ts +6 -0
  428. package/dist/views/Account/Settings/LanguageSelector.d.ts.map +1 -0
  429. package/dist/views/Account/Settings/LanguageSelector.js +52 -0
  430. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
  431. package/dist/views/Account/Settings/index.d.ts +6 -1
  432. package/dist/views/Account/Settings/index.d.ts.map +1 -1
  433. package/dist/views/Account/Settings/index.js +24 -25
  434. package/dist/views/Account/Settings/index.js.map +1 -1
  435. package/dist/views/Account/Settings/index.scss +37 -35
  436. package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
  437. package/dist/views/Account/ToggleTheme/index.js +53 -30
  438. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  439. package/dist/views/Account/index.client.d.ts +3 -0
  440. package/dist/views/Account/index.client.d.ts.map +1 -0
  441. package/dist/views/Account/index.client.js +37 -0
  442. package/dist/views/Account/index.client.js.map +1 -0
  443. package/dist/views/Account/index.d.ts +1 -1
  444. package/dist/views/Account/index.d.ts.map +1 -1
  445. package/dist/views/Account/index.js +108 -48
  446. package/dist/views/Account/index.js.map +1 -1
  447. package/dist/views/Account/meta.d.ts.map +1 -1
  448. package/dist/views/Account/meta.js +12 -9
  449. package/dist/views/Account/meta.js.map +1 -1
  450. package/dist/views/CreateFirstUser/index.client.d.ts +4 -3
  451. package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
  452. package/dist/views/CreateFirstUser/index.client.js +115 -12
  453. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  454. package/dist/views/CreateFirstUser/index.d.ts +1 -1
  455. package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
  456. package/dist/views/CreateFirstUser/index.js +44 -75
  457. package/dist/views/CreateFirstUser/index.js.map +1 -1
  458. package/dist/views/CreateFirstUser/index.scss +18 -12
  459. package/dist/views/CreateFirstUser/meta.d.ts.map +1 -1
  460. package/dist/views/CreateFirstUser/meta.js +12 -9
  461. package/dist/views/CreateFirstUser/meta.js.map +1 -1
  462. package/dist/views/Dashboard/Default/index.d.ts +13 -4
  463. package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
  464. package/dist/views/Dashboard/Default/index.js +159 -25
  465. package/dist/views/Dashboard/Default/index.js.map +1 -1
  466. package/dist/views/Dashboard/Default/index.scss +53 -42
  467. package/dist/views/Dashboard/index.d.ts +1 -1
  468. package/dist/views/Dashboard/index.d.ts.map +1 -1
  469. package/dist/views/Dashboard/index.js +93 -19
  470. package/dist/views/Dashboard/index.js.map +1 -1
  471. package/dist/views/Dashboard/meta.d.ts.map +1 -1
  472. package/dist/views/Dashboard/meta.js +16 -9
  473. package/dist/views/Dashboard/meta.js.map +1 -1
  474. package/dist/views/Document/getCustomViewByKey.d.ts +2 -3
  475. package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
  476. package/dist/views/Document/getCustomViewByKey.js +2 -3
  477. package/dist/views/Document/getCustomViewByKey.js.map +1 -1
  478. package/dist/views/Document/getCustomViewByRoute.d.ts +6 -4
  479. package/dist/views/Document/getCustomViewByRoute.d.ts.map +1 -1
  480. package/dist/views/Document/getCustomViewByRoute.js +30 -17
  481. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  482. package/dist/views/Document/getDocumentData.d.ts +13 -0
  483. package/dist/views/Document/getDocumentData.d.ts.map +1 -0
  484. package/dist/views/Document/getDocumentData.js +49 -0
  485. package/dist/views/Document/getDocumentData.js.map +1 -0
  486. package/dist/views/Document/getDocumentPermissions.d.ts +13 -0
  487. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -0
  488. package/dist/views/Document/getDocumentPermissions.js +94 -0
  489. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  490. package/dist/views/Document/getMetaBySegment.d.ts +6 -6
  491. package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
  492. package/dist/views/Document/getMetaBySegment.js +114 -63
  493. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  494. package/dist/views/Document/getViewsFromConfig.d.ts +18 -9
  495. package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
  496. package/dist/views/Document/getViewsFromConfig.js +316 -226
  497. package/dist/views/Document/getViewsFromConfig.js.map +1 -1
  498. package/dist/views/Document/index.d.ts +1 -1
  499. package/dist/views/Document/index.d.ts.map +1 -1
  500. package/dist/views/Document/index.js +201 -143
  501. package/dist/views/Document/index.js.map +1 -1
  502. package/dist/views/Document/meta.js +1 -2
  503. package/dist/views/Document/meta.js.map +1 -1
  504. package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -1
  505. package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
  506. package/dist/views/Edit/Default/Auth/APIKey.js +110 -84
  507. package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
  508. package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
  509. package/dist/views/Edit/Default/Auth/index.js +310 -121
  510. package/dist/views/Edit/Default/Auth/index.js.map +1 -1
  511. package/dist/views/Edit/Default/Auth/index.scss +58 -41
  512. package/dist/views/Edit/Default/Auth/types.d.ts +6 -3
  513. package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
  514. package/dist/views/Edit/Default/Auth/types.js +1 -2
  515. package/dist/views/Edit/Default/Auth/types.js.map +1 -1
  516. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +1 -2
  517. package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
  518. package/dist/views/Edit/Default/SetDocumentStepNav/index.js +116 -57
  519. package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
  520. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +1 -2
  521. package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +1 -1
  522. package/dist/views/Edit/Default/SetDocumentTitle/index.js +76 -33
  523. package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +1 -1
  524. package/dist/views/Edit/Default/index.d.ts.map +1 -1
  525. package/dist/views/Edit/Default/index.js +330 -176
  526. package/dist/views/Edit/Default/index.js.map +1 -1
  527. package/dist/views/Edit/Default/index.scss +15 -13
  528. package/dist/views/Edit/Default/types.d.ts +1 -1
  529. package/dist/views/Edit/Default/types.d.ts.map +1 -1
  530. package/dist/views/Edit/Default/types.js +1 -2
  531. package/dist/views/Edit/Default/types.js.map +1 -1
  532. package/dist/views/Edit/index.client.d.ts.map +1 -1
  533. package/dist/views/Edit/index.client.js +48 -17
  534. package/dist/views/Edit/index.client.js.map +1 -1
  535. package/dist/views/Edit/index.d.ts +2 -2
  536. package/dist/views/Edit/index.d.ts.map +1 -1
  537. package/dist/views/Edit/index.js +3 -3
  538. package/dist/views/Edit/index.js.map +1 -1
  539. package/dist/views/Edit/meta.d.ts.map +1 -1
  540. package/dist/views/Edit/meta.js +43 -22
  541. package/dist/views/Edit/meta.js.map +1 -1
  542. package/dist/views/Edit/sanitizeEditViewProps.d.ts +1 -1
  543. package/dist/views/Edit/sanitizeEditViewProps.d.ts.map +1 -1
  544. package/dist/views/Edit/sanitizeEditViewProps.js +8 -9
  545. package/dist/views/Edit/sanitizeEditViewProps.js.map +1 -1
  546. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  547. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +159 -48
  548. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  549. package/dist/views/ForgotPassword/index.d.ts +1 -1
  550. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  551. package/dist/views/ForgotPassword/index.js +64 -24
  552. package/dist/views/ForgotPassword/index.js.map +1 -1
  553. package/dist/views/ForgotPassword/meta.d.ts.map +1 -1
  554. package/dist/views/ForgotPassword/meta.js +12 -9
  555. package/dist/views/ForgotPassword/meta.js.map +1 -1
  556. package/dist/views/List/Default/index.d.ts.map +1 -1
  557. package/dist/views/List/Default/index.js +375 -137
  558. package/dist/views/List/Default/index.js.map +1 -1
  559. package/dist/views/List/Default/index.scss +133 -149
  560. package/dist/views/List/Default/types.d.ts +2 -2
  561. package/dist/views/List/Default/types.d.ts.map +1 -1
  562. package/dist/views/List/Default/types.js +1 -2
  563. package/dist/views/List/Default/types.js.map +1 -1
  564. package/dist/views/List/index.d.ts +1 -1
  565. package/dist/views/List/index.d.ts.map +1 -1
  566. package/dist/views/List/index.js +159 -97
  567. package/dist/views/List/index.js.map +1 -1
  568. package/dist/views/List/meta.d.ts +3 -3
  569. package/dist/views/List/meta.d.ts.map +1 -1
  570. package/dist/views/List/meta.js +20 -15
  571. package/dist/views/List/meta.js.map +1 -1
  572. package/dist/views/LivePreview/Context/collisionDetection.js +24 -21
  573. package/dist/views/LivePreview/Context/collisionDetection.js.map +1 -1
  574. package/dist/views/LivePreview/Context/context.d.ts +6 -5
  575. package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
  576. package/dist/views/LivePreview/Context/context.js +39 -36
  577. package/dist/views/LivePreview/Context/context.js.map +1 -1
  578. package/dist/views/LivePreview/Context/index.d.ts +3 -4
  579. package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
  580. package/dist/views/LivePreview/Context/index.js +138 -141
  581. package/dist/views/LivePreview/Context/index.js.map +1 -1
  582. package/dist/views/LivePreview/Context/sizeReducer.js +18 -19
  583. package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
  584. package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
  585. package/dist/views/LivePreview/Device/index.js +84 -43
  586. package/dist/views/LivePreview/Device/index.js.map +1 -1
  587. package/dist/views/LivePreview/DeviceContainer/index.js +49 -23
  588. package/dist/views/LivePreview/DeviceContainer/index.js.map +1 -1
  589. package/dist/views/LivePreview/IFrame/index.js +22 -16
  590. package/dist/views/LivePreview/IFrame/index.js.map +1 -1
  591. package/dist/views/LivePreview/IFrame/index.scss +8 -6
  592. package/dist/views/LivePreview/Preview/index.d.ts +1 -1
  593. package/dist/views/LivePreview/Preview/index.d.ts.map +1 -1
  594. package/dist/views/LivePreview/Preview/index.js +152 -67
  595. package/dist/views/LivePreview/Preview/index.js.map +1 -1
  596. package/dist/views/LivePreview/Preview/index.scss +32 -30
  597. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts +1 -1
  598. package/dist/views/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  599. package/dist/views/LivePreview/Toolbar/Controls/index.js +128 -63
  600. package/dist/views/LivePreview/Toolbar/Controls/index.js.map +1 -1
  601. package/dist/views/LivePreview/Toolbar/Controls/index.scss +49 -47
  602. package/dist/views/LivePreview/Toolbar/SizeInput/index.d.ts.map +1 -1
  603. package/dist/views/LivePreview/Toolbar/SizeInput/index.js +90 -51
  604. package/dist/views/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  605. package/dist/views/LivePreview/Toolbar/SizeInput/index.scss +11 -9
  606. package/dist/views/LivePreview/Toolbar/index.d.ts +3 -3
  607. package/dist/views/LivePreview/Toolbar/index.d.ts.map +1 -1
  608. package/dist/views/LivePreview/Toolbar/index.js +82 -35
  609. package/dist/views/LivePreview/Toolbar/index.js.map +1 -1
  610. package/dist/views/LivePreview/Toolbar/index.scss +33 -31
  611. package/dist/views/LivePreview/ToolbarArea/index.js +33 -9
  612. package/dist/views/LivePreview/ToolbarArea/index.js.map +1 -1
  613. package/dist/views/LivePreview/ToolbarArea/index.scss +5 -3
  614. package/dist/views/LivePreview/index.client.d.ts +4 -5
  615. package/dist/views/LivePreview/index.client.d.ts.map +1 -1
  616. package/dist/views/LivePreview/index.client.js +327 -134
  617. package/dist/views/LivePreview/index.client.js.map +1 -1
  618. package/dist/views/LivePreview/index.d.ts +2 -2
  619. package/dist/views/LivePreview/index.d.ts.map +1 -1
  620. package/dist/views/LivePreview/index.js +68 -55
  621. package/dist/views/LivePreview/index.js.map +1 -1
  622. package/dist/views/LivePreview/index.scss +48 -46
  623. package/dist/views/LivePreview/meta.d.ts.map +1 -1
  624. package/dist/views/LivePreview/meta.js +15 -25
  625. package/dist/views/LivePreview/meta.js.map +1 -1
  626. package/dist/views/LivePreview/usePopupWindow.d.ts +3 -2
  627. package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
  628. package/dist/views/LivePreview/usePopupWindow.js +134 -92
  629. package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
  630. package/dist/views/Login/LoginField/index.d.ts +9 -0
  631. package/dist/views/Login/LoginField/index.d.ts.map +1 -0
  632. package/dist/views/Login/LoginField/index.js +93 -0
  633. package/dist/views/Login/LoginField/index.js.map +1 -0
  634. package/dist/views/Login/LoginForm/index.d.ts +3 -0
  635. package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
  636. package/dist/views/Login/LoginForm/index.js +154 -73
  637. package/dist/views/Login/LoginForm/index.js.map +1 -1
  638. package/dist/views/Login/LoginForm/index.scss +8 -6
  639. package/dist/views/Login/index.d.ts +1 -1
  640. package/dist/views/Login/index.d.ts.map +1 -1
  641. package/dist/views/Login/index.js +80 -20
  642. package/dist/views/Login/index.js.map +1 -1
  643. package/dist/views/Login/index.scss +8 -6
  644. package/dist/views/Login/meta.d.ts.map +1 -1
  645. package/dist/views/Login/meta.js +12 -9
  646. package/dist/views/Login/meta.js.map +1 -1
  647. package/dist/views/Logout/LogoutClient.d.ts +1 -0
  648. package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
  649. package/dist/views/Logout/LogoutClient.js +113 -27
  650. package/dist/views/Logout/LogoutClient.js.map +1 -1
  651. package/dist/views/Logout/index.d.ts +3 -3
  652. package/dist/views/Logout/index.d.ts.map +1 -1
  653. package/dist/views/Logout/index.js +30 -18
  654. package/dist/views/Logout/index.js.map +1 -1
  655. package/dist/views/Logout/index.scss +19 -14
  656. package/dist/views/Logout/meta.d.ts.map +1 -1
  657. package/dist/views/Logout/meta.js +11 -9
  658. package/dist/views/Logout/meta.js.map +1 -1
  659. package/dist/views/NotFound/index.client.d.ts.map +1 -1
  660. package/dist/views/NotFound/index.client.js +84 -34
  661. package/dist/views/NotFound/index.client.js.map +1 -1
  662. package/dist/views/NotFound/index.d.ts +8 -7
  663. package/dist/views/NotFound/index.d.ts.map +1 -1
  664. package/dist/views/NotFound/index.js +57 -31
  665. package/dist/views/NotFound/index.js.map +1 -1
  666. package/dist/views/NotFound/index.scss +41 -21
  667. package/dist/views/NotFound/meta.d.ts +3 -3
  668. package/dist/views/NotFound/meta.d.ts.map +1 -1
  669. package/dist/views/NotFound/meta.js +9 -9
  670. package/dist/views/NotFound/meta.js.map +1 -1
  671. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts +7 -0
  672. package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -0
  673. package/dist/views/ResetPassword/ResetPasswordForm/index.js +110 -0
  674. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  675. package/dist/views/ResetPassword/index.d.ts +1 -1
  676. package/dist/views/ResetPassword/index.d.ts.map +1 -1
  677. package/dist/views/ResetPassword/index.js +76 -61
  678. package/dist/views/ResetPassword/index.js.map +1 -1
  679. package/dist/views/ResetPassword/index.scss +7 -11
  680. package/dist/views/ResetPassword/meta.d.ts.map +1 -1
  681. package/dist/views/ResetPassword/meta.js +12 -9
  682. package/dist/views/ResetPassword/meta.js.map +1 -1
  683. package/dist/views/Root/generateCustomViewMetadata.d.ts +11 -0
  684. package/dist/views/Root/generateCustomViewMetadata.d.ts.map +1 -0
  685. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  686. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  687. package/dist/views/Root/getCustomViewByRoute.d.ts +7 -2
  688. package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
  689. package/dist/views/Root/getCustomViewByRoute.js +45 -16
  690. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  691. package/dist/views/Root/getViewFromConfig.d.ts +12 -7
  692. package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
  693. package/dist/views/Root/getViewFromConfig.js +160 -122
  694. package/dist/views/Root/getViewFromConfig.js.map +1 -1
  695. package/dist/views/Root/index.d.ts +11 -9
  696. package/dist/views/Root/index.d.ts.map +1 -1
  697. package/dist/views/Root/index.js +117 -42
  698. package/dist/views/Root/index.js.map +1 -1
  699. package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
  700. package/dist/views/Root/isPathMatchingRoute.js +22 -13
  701. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  702. package/dist/views/Root/meta.d.ts +6 -6
  703. package/dist/views/Root/meta.d.ts.map +1 -1
  704. package/dist/views/Root/meta.js +144 -140
  705. package/dist/views/Root/meta.js.map +1 -1
  706. package/dist/views/Unauthorized/index.d.ts +2 -2
  707. package/dist/views/Unauthorized/index.d.ts.map +1 -1
  708. package/dist/views/Unauthorized/index.js +41 -13
  709. package/dist/views/Unauthorized/index.js.map +1 -1
  710. package/dist/views/Unauthorized/index.scss +4 -31
  711. package/dist/views/Unauthorized/meta.d.ts.map +1 -1
  712. package/dist/views/Unauthorized/meta.js +12 -9
  713. package/dist/views/Unauthorized/meta.js.map +1 -1
  714. package/dist/views/Verify/index.client.d.ts +7 -0
  715. package/dist/views/Verify/index.client.d.ts.map +1 -0
  716. package/dist/views/Verify/index.client.js +46 -0
  717. package/dist/views/Verify/index.client.js.map +1 -0
  718. package/dist/views/Verify/index.d.ts +1 -1
  719. package/dist/views/Verify/index.d.ts.map +1 -1
  720. package/dist/views/Verify/index.js +65 -26
  721. package/dist/views/Verify/index.js.map +1 -1
  722. package/dist/views/Verify/index.scss +13 -11
  723. package/dist/views/Verify/meta.d.ts.map +1 -1
  724. package/dist/views/Verify/meta.js +12 -9
  725. package/dist/views/Verify/meta.js.map +1 -1
  726. package/dist/views/Version/Default/SetStepNav.d.ts +8 -10
  727. package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
  728. package/dist/views/Version/Default/SetStepNav.js +150 -94
  729. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  730. package/dist/views/Version/Default/index.d.ts.map +1 -1
  731. package/dist/views/Version/Default/index.js +204 -103
  732. package/dist/views/Version/Default/index.js.map +1 -1
  733. package/dist/views/Version/Default/index.scss +52 -50
  734. package/dist/views/Version/Default/types.d.ts +9 -11
  735. package/dist/views/Version/Default/types.d.ts.map +1 -1
  736. package/dist/views/Version/Default/types.js +1 -2
  737. package/dist/views/Version/Default/types.js.map +1 -1
  738. package/dist/views/Version/RenderFieldsToDiff/Label/index.js +7 -4
  739. package/dist/views/Version/RenderFieldsToDiff/Label/index.js.map +1 -1
  740. package/dist/views/Version/RenderFieldsToDiff/Label/index.scss +5 -3
  741. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
  742. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  743. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +60 -47
  744. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  745. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +29 -27
  746. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
  747. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
  748. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +30 -15
  749. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
  750. package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.scss +11 -9
  751. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
  752. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  753. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +113 -52
  754. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  755. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +12 -10
  756. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +18 -11
  757. package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +1 -1
  758. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -6
  759. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  760. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +43 -28
  761. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  762. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +12 -10
  763. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -6
  764. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  765. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +39 -28
  766. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  767. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +18 -11
  768. package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +1 -1
  769. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  770. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  771. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +40 -20
  772. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  773. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +12 -10
  774. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +4 -5
  775. package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +1 -1
  776. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -58
  777. package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
  778. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -22
  779. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  780. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +23 -24
  781. package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +1 -1
  782. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +16 -17
  783. package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
  784. package/dist/views/Version/RenderFieldsToDiff/fields/types.js +1 -2
  785. package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
  786. package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
  787. package/dist/views/Version/RenderFieldsToDiff/index.js +107 -91
  788. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  789. package/dist/views/Version/RenderFieldsToDiff/index.scss +12 -10
  790. package/dist/views/Version/RenderFieldsToDiff/types.d.ts +12 -13
  791. package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
  792. package/dist/views/Version/RenderFieldsToDiff/types.js +1 -2
  793. package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
  794. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  795. package/dist/views/Version/Restore/index.js +115 -64
  796. package/dist/views/Version/Restore/index.js.map +1 -1
  797. package/dist/views/Version/Restore/index.scss +68 -17
  798. package/dist/views/Version/Restore/types.d.ts +2 -1
  799. package/dist/views/Version/Restore/types.d.ts.map +1 -1
  800. package/dist/views/Version/Restore/types.js +1 -2
  801. package/dist/views/Version/Restore/types.js.map +1 -1
  802. package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
  803. package/dist/views/Version/SelectComparison/index.js +157 -117
  804. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  805. package/dist/views/Version/SelectComparison/index.scss +12 -10
  806. package/dist/views/Version/SelectComparison/types.d.ts +4 -3
  807. package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
  808. package/dist/views/Version/SelectComparison/types.js +1 -2
  809. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  810. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  811. package/dist/views/Version/SelectLocales/index.js +59 -26
  812. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  813. package/dist/views/Version/SelectLocales/index.scss +6 -4
  814. package/dist/views/Version/SelectLocales/types.d.ts +1 -1
  815. package/dist/views/Version/SelectLocales/types.d.ts.map +1 -1
  816. package/dist/views/Version/SelectLocales/types.js +1 -2
  817. package/dist/views/Version/SelectLocales/types.js.map +1 -1
  818. package/dist/views/Version/index.d.ts +2 -2
  819. package/dist/views/Version/index.d.ts.map +1 -1
  820. package/dist/views/Version/index.js +131 -95
  821. package/dist/views/Version/index.js.map +1 -1
  822. package/dist/views/Version/meta.d.ts.map +1 -1
  823. package/dist/views/Version/meta.js +51 -37
  824. package/dist/views/Version/meta.js.map +1 -1
  825. package/dist/views/Versions/buildColumns.d.ts +5 -3
  826. package/dist/views/Versions/buildColumns.d.ts.map +1 -1
  827. package/dist/views/Versions/buildColumns.js +99 -51
  828. package/dist/views/Versions/buildColumns.js.map +1 -1
  829. package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -1
  830. package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
  831. package/dist/views/Versions/cells/AutosaveCell/index.js +103 -10
  832. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  833. package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
  834. package/dist/views/Versions/cells/CreatedAt/index.js +75 -16
  835. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  836. package/dist/views/Versions/cells/ID/index.js +20 -5
  837. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  838. package/dist/views/Versions/getLatestVersion.d.ts +15 -0
  839. package/dist/views/Versions/getLatestVersion.d.ts.map +1 -0
  840. package/dist/views/Versions/getLatestVersion.js +49 -0
  841. package/dist/views/Versions/getLatestVersion.js.map +1 -0
  842. package/dist/views/Versions/index.client.d.ts +6 -6
  843. package/dist/views/Versions/index.client.d.ts.map +1 -1
  844. package/dist/views/Versions/index.client.js +81 -51
  845. package/dist/views/Versions/index.client.js.map +1 -1
  846. package/dist/views/Versions/index.d.ts +2 -2
  847. package/dist/views/Versions/index.d.ts.map +1 -1
  848. package/dist/views/Versions/index.js +175 -81
  849. package/dist/views/Versions/index.js.map +1 -1
  850. package/dist/views/Versions/index.scss +78 -76
  851. package/dist/views/Versions/meta.d.ts.map +1 -1
  852. package/dist/views/Versions/meta.js +44 -29
  853. package/dist/views/Versions/meta.js.map +1 -1
  854. package/dist/views/Versions/types.d.ts +1 -3
  855. package/dist/views/Versions/types.d.ts.map +1 -1
  856. package/dist/views/Versions/types.js +1 -2
  857. package/dist/views/Versions/types.js.map +1 -1
  858. package/dist/withPayload.d.ts +1 -1
  859. package/dist/withPayload.d.ts.map +1 -1
  860. package/dist/withPayload.js +84 -68
  861. package/dist/withPayload.js.map +1 -1
  862. package/package.json +88 -54
  863. package/dist/next-fileupload/fileFactory.d.ts.map +0 -1
  864. package/dist/next-fileupload/fileFactory.js +0 -43
  865. package/dist/next-fileupload/fileFactory.js.map +0 -1
  866. package/dist/next-fileupload/handlers.d.ts.map +0 -1
  867. package/dist/next-fileupload/handlers.js +0 -86
  868. package/dist/next-fileupload/handlers.js.map +0 -1
  869. package/dist/next-fileupload/index.d.ts +0 -135
  870. package/dist/next-fileupload/index.d.ts.map +0 -1
  871. package/dist/next-fileupload/index.js +0 -43
  872. package/dist/next-fileupload/index.js.map +0 -1
  873. package/dist/next-fileupload/isEligibleRequest.d.ts.map +0 -1
  874. package/dist/next-fileupload/isEligibleRequest.js +0 -26
  875. package/dist/next-fileupload/isEligibleRequest.js.map +0 -1
  876. package/dist/next-fileupload/processMultipart.d.ts +0 -8
  877. package/dist/next-fileupload/processMultipart.d.ts.map +0 -1
  878. package/dist/next-fileupload/processMultipart.js +0 -156
  879. package/dist/next-fileupload/processMultipart.js.map +0 -1
  880. package/dist/next-fileupload/processNested.d.ts.map +0 -1
  881. package/dist/next-fileupload/processNested.js +0 -24
  882. package/dist/next-fileupload/processNested.js.map +0 -1
  883. package/dist/next-fileupload/uploadTimer.d.ts.map +0 -1
  884. package/dist/next-fileupload/uploadTimer.js +0 -19
  885. package/dist/next-fileupload/uploadTimer.js.map +0 -1
  886. package/dist/next-fileupload/utilities.d.ts.map +0 -1
  887. package/dist/next-fileupload/utilities.js +0 -207
  888. package/dist/next-fileupload/utilities.js.map +0 -1
  889. package/dist/next-stream-file/index.d.ts.map +0 -1
  890. package/dist/next-stream-file/index.js +0 -25
  891. package/dist/next-stream-file/index.js.map +0 -1
  892. package/dist/prod/payload/favicon.svg +0 -15
  893. package/dist/prod/payload/og-image.png +0 -0
  894. package/dist/utilities/buildFieldSchemaMap/index.d.ts +0 -4
  895. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +0 -1
  896. package/dist/utilities/buildFieldSchemaMap/index.js +0 -28
  897. package/dist/utilities/buildFieldSchemaMap/index.js.map +0 -1
  898. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +0 -14
  899. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +0 -1
  900. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +0 -72
  901. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +0 -1
  902. package/dist/utilities/buildFieldSchemaMap/types.d.ts +0 -3
  903. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +0 -1
  904. package/dist/utilities/buildFieldSchemaMap/types.js +0 -3
  905. package/dist/utilities/buildFieldSchemaMap/types.js.map +0 -1
  906. package/dist/utilities/getDataAndFile.d.ts +0 -12
  907. package/dist/utilities/getDataAndFile.d.ts.map +0 -1
  908. package/dist/utilities/getDataAndFile.js +0 -48
  909. package/dist/utilities/getDataAndFile.js.map +0 -1
  910. package/dist/utilities/initPage.d.ts +0 -12
  911. package/dist/utilities/initPage.d.ts.map +0 -1
  912. package/dist/utilities/initPage.js +0 -111
  913. package/dist/utilities/initPage.js.map +0 -1
  914. package/dist/views/Dashboard/Default/index.client.d.ts +0 -10
  915. package/dist/views/Dashboard/Default/index.client.d.ts.map +0 -1
  916. package/dist/views/Dashboard/Default/index.client.js +0 -103
  917. package/dist/views/Dashboard/Default/index.client.js.map +0 -1
  918. package/dist/views/Version/shared.d.ts +0 -9
  919. package/dist/views/Version/shared.d.ts.map +0 -1
  920. package/dist/views/Version/shared.js +0 -10
  921. package/dist/views/Version/shared.js.map +0 -1
  922. package/dist/webpackEntry.d.ts +0 -5
  923. package/dist/webpackEntry.d.ts.map +0 -1
  924. package/dist/webpackEntry.js +0 -6
  925. package/dist/webpackEntry.js.map +0 -1
  926. /package/dist/{next-fileupload → fetchAPI-multipart}/isEligibleRequest.d.ts +0 -0
  927. /package/dist/{next-fileupload → fetchAPI-multipart}/processNested.d.ts +0 -0
  928. /package/dist/{next-fileupload → fetchAPI-multipart}/uploadTimer.d.ts +0 -0
@@ -0,0 +1,44 @@
1
+ import { checkAndMakeDir, debugLog, isFunc, moveFile, promiseCallback, saveBufferToFile } from './utilities.js';
2
+ /**
3
+ * Returns Local function that moves the file to a different location on the filesystem
4
+ * which takes two function arguments to make it compatible w/ Promise or Callback APIs
5
+ */
6
+ const moveFromTemp = (filePath, options, fileUploadOptions) => (resolve, reject) => {
7
+ debugLog(fileUploadOptions, `Moving temporary file ${options.tempFilePath} to ${filePath}`);
8
+ moveFile(options.tempFilePath, filePath, promiseCallback(resolve, reject));
9
+ };
10
+ /**
11
+ * Returns Local function that moves the file from buffer to a different location on the filesystem
12
+ * which takes two function arguments to make it compatible w/ Promise or Callback APIs
13
+ */
14
+ const moveFromBuffer = (filePath, options, fileUploadOptions) => (resolve, reject) => {
15
+ debugLog(fileUploadOptions, `Moving uploaded buffer to ${filePath}`);
16
+ saveBufferToFile(options.buffer, filePath, promiseCallback(resolve, reject));
17
+ };
18
+ export const fileFactory = (options, fileUploadOptions) => {
19
+ // see: https://github.com/richardgirges/express-fileupload/issues/14
20
+ // firefox uploads empty file in case of cache miss when f5ing page.
21
+ // resulting in unexpected behavior. if there is no file data, the file is invalid.
22
+ // if (!fileUploadOptions.useTempFiles && !options.buffer.length) return;
23
+ // Create and return file object.
24
+ return {
25
+ name: options.name,
26
+ data: options.buffer,
27
+ encoding: options.encoding,
28
+ md5: options.hash,
29
+ mimetype: options.mimetype,
30
+ mv: (filePath, callback) => {
31
+ // Define a proper move function.
32
+ const moveFunc = fileUploadOptions.useTempFiles ? moveFromTemp(filePath, options, fileUploadOptions) : moveFromBuffer(filePath, options, fileUploadOptions);
33
+ // Create a folder for a file.
34
+ checkAndMakeDir(fileUploadOptions, filePath);
35
+ // If callback is passed in, use the callback API, otherwise return a promise.
36
+ const defaultReject = () => undefined;
37
+ return isFunc(callback) ? moveFunc(callback, defaultReject) : new Promise(moveFunc);
38
+ },
39
+ size: options.size,
40
+ tempFilePath: options.tempFilePath,
41
+ truncated: options.truncated
42
+ };
43
+ };
44
+ //# sourceMappingURL=fileFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileFactory.js","names":["checkAndMakeDir","debugLog","isFunc","moveFile","promiseCallback","saveBufferToFile","moveFromTemp","filePath","options","fileUploadOptions","resolve","reject","tempFilePath","moveFromBuffer","buffer","fileFactory","name","data","encoding","md5","hash","mimetype","mv","callback","moveFunc","useTempFiles","defaultReject","undefined","Promise","size","truncated"],"sources":["../../src/fetchAPI-multipart/fileFactory.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\n\nimport type { FileShape } from './index.js'\n\nimport {\n checkAndMakeDir,\n debugLog,\n isFunc,\n moveFile,\n promiseCallback,\n saveBufferToFile,\n} from './utilities.js'\n\ntype MoveFile = (\n filePath: string,\n options: FileFactoryOptions,\n fileUploadOptions: FetchAPIFileUploadOptions,\n) => (resolve: () => void, reject: () => void) => void\n\n/**\n * Returns Local function that moves the file to a different location on the filesystem\n * which takes two function arguments to make it compatible w/ Promise or Callback APIs\n */\nconst moveFromTemp: MoveFile = (filePath, options, fileUploadOptions) => (resolve, reject) => {\n debugLog(fileUploadOptions, `Moving temporary file ${options.tempFilePath} to ${filePath}`)\n moveFile(options.tempFilePath, filePath, promiseCallback(resolve, reject))\n}\n\n/**\n * Returns Local function that moves the file from buffer to a different location on the filesystem\n * which takes two function arguments to make it compatible w/ Promise or Callback APIs\n */\nconst moveFromBuffer: MoveFile = (filePath, options, fileUploadOptions) => (resolve, reject) => {\n debugLog(fileUploadOptions, `Moving uploaded buffer to ${filePath}`)\n saveBufferToFile(options.buffer, filePath, promiseCallback(resolve, reject))\n}\n\ntype FileFactoryOptions = {\n buffer: Buffer\n encoding: string\n hash: Buffer | string\n mimetype: string\n name: string\n size: number\n tempFilePath: string\n truncated: boolean\n}\ntype FileFactory = (\n options: FileFactoryOptions,\n fileUploadOptions: FetchAPIFileUploadOptions,\n) => FileShape\nexport const fileFactory: FileFactory = (options, fileUploadOptions) => {\n // see: https://github.com/richardgirges/express-fileupload/issues/14\n // firefox uploads empty file in case of cache miss when f5ing page.\n // resulting in unexpected behavior. if there is no file data, the file is invalid.\n // if (!fileUploadOptions.useTempFiles && !options.buffer.length) return;\n\n // Create and return file object.\n return {\n name: options.name,\n data: options.buffer,\n encoding: options.encoding,\n md5: options.hash,\n mimetype: options.mimetype,\n mv: (filePath: string, callback) => {\n // Define a proper move function.\n const moveFunc = fileUploadOptions.useTempFiles\n ? moveFromTemp(filePath, options, fileUploadOptions)\n : moveFromBuffer(filePath, options, fileUploadOptions)\n // Create a folder for a file.\n checkAndMakeDir(fileUploadOptions, filePath)\n // If callback is passed in, use the callback API, otherwise return a promise.\n const defaultReject = () => undefined\n return isFunc(callback) ? moveFunc(callback, defaultReject) : new Promise(moveFunc)\n },\n size: options.size,\n tempFilePath: options.tempFilePath,\n truncated: options.truncated,\n }\n}\n"],"mappings":"AAIA,SACEA,eAAe,EACfC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,eAAe,EACfC,gBAAgB,QACX;AAQP;;;;AAIA,MAAMC,YAAA,GAAyBA,CAACC,QAAA,EAAUC,OAAA,EAASC,iBAAA,KAAsB,CAACC,OAAA,EAASC,MAAA;EACjFV,QAAA,CAASQ,iBAAA,EAAmB,yBAAyBD,OAAA,CAAQI,YAAY,OAAOL,QAAA,EAAU;EAC1FJ,QAAA,CAASK,OAAA,CAAQI,YAAY,EAAEL,QAAA,EAAUH,eAAA,CAAgBM,OAAA,EAASC,MAAA;AACpE;AAEA;;;;AAIA,MAAME,cAAA,GAA2BA,CAACN,QAAA,EAAUC,OAAA,EAASC,iBAAA,KAAsB,CAACC,OAAA,EAASC,MAAA;EACnFV,QAAA,CAASQ,iBAAA,EAAmB,6BAA6BF,QAAA,EAAU;EACnEF,gBAAA,CAAiBG,OAAA,CAAQM,MAAM,EAAEP,QAAA,EAAUH,eAAA,CAAgBM,OAAA,EAASC,MAAA;AACtE;AAgBA,OAAO,MAAMI,WAAA,GAA2BA,CAACP,OAAA,EAASC,iBAAA;EAChD;EACA;EACA;EACA;EAEA;EACA,OAAO;IACLO,IAAA,EAAMR,OAAA,CAAQQ,IAAI;IAClBC,IAAA,EAAMT,OAAA,CAAQM,MAAM;IACpBI,QAAA,EAAUV,OAAA,CAAQU,QAAQ;IAC1BC,GAAA,EAAKX,OAAA,CAAQY,IAAI;IACjBC,QAAA,EAAUb,OAAA,CAAQa,QAAQ;IAC1BC,EAAA,EAAIA,CAACf,QAAA,EAAkBgB,QAAA;MACrB;MACA,MAAMC,QAAA,GAAWf,iBAAA,CAAkBgB,YAAY,GAC3CnB,YAAA,CAAaC,QAAA,EAAUC,OAAA,EAASC,iBAAA,IAChCI,cAAA,CAAeN,QAAA,EAAUC,OAAA,EAASC,iBAAA;MACtC;MACAT,eAAA,CAAgBS,iBAAA,EAAmBF,QAAA;MACnC;MACA,MAAMmB,aAAA,GAAgBA,CAAA,KAAMC,SAAA;MAC5B,OAAOzB,MAAA,CAAOqB,QAAA,IAAYC,QAAA,CAASD,QAAA,EAAUG,aAAA,IAAiB,IAAIE,OAAA,CAAQJ,QAAA;IAC5E;IACAK,IAAA,EAAMrB,OAAA,CAAQqB,IAAI;IAClBjB,YAAA,EAAcJ,OAAA,CAAQI,YAAY;IAClCkB,SAAA,EAAWtB,OAAA,CAAQsB;EACrB;AACF","ignoreList":[]}
@@ -1,6 +1,5 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import type { NextFileUploadOptions } from './index.js';
3
- type Handler = (options: NextFileUploadOptions, fieldname: string, filename: string) => {
1
+ import type { FetchAPIFileUploadOptions } from 'payload';
2
+ type Handler = (options: FetchAPIFileUploadOptions, fieldname: string, filename: string) => {
4
3
  cleanup: () => void;
5
4
  complete: () => Buffer;
6
5
  dataHandler: (data: Buffer) => void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAQxD,KAAK,OAAO,GAAG,CACb,OAAO,EAAE,yBAAyB,EAClC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,KACb;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,EAAE,MAAM,MAAM,CAAA;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,WAAW,EAAE,MAAM,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,OAwD7B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,OAgCxB,CAAA"}
@@ -0,0 +1,87 @@
1
+ import crypto from 'crypto';
2
+ import fs, { WriteStream } from 'fs';
3
+ import path from 'path';
4
+ import { checkAndMakeDir, debugLog, deleteFile, getTempFilename } from './utilities.js';
5
+ export const tempFileHandler = (options, fieldname, filename) => {
6
+ const dir = path.normalize(options.tempFileDir);
7
+ const tempFilePath = path.join(process.cwd(), dir, getTempFilename());
8
+ checkAndMakeDir({
9
+ createParentPath: true
10
+ }, tempFilePath);
11
+ debugLog(options, `Temporary file path is ${tempFilePath}`);
12
+ const hash = crypto.createHash('md5');
13
+ let fileSize = 0;
14
+ let completed = false;
15
+ debugLog(options, `Opening write stream for ${fieldname}->${filename}...`);
16
+ const writeStream = fs.createWriteStream(tempFilePath);
17
+ const writePromise = new Promise((resolve, reject) => {
18
+ writeStream.on('finish', () => resolve(true));
19
+ writeStream.on('error', err => {
20
+ debugLog(options, `Error write temp file: ${err}`);
21
+ reject(err);
22
+ });
23
+ });
24
+ return {
25
+ cleanup: () => {
26
+ completed = true;
27
+ debugLog(options, `Cleaning up temporary file ${tempFilePath}...`);
28
+ writeStream.end();
29
+ deleteFile(tempFilePath, err => err ? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`) : debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`));
30
+ },
31
+ complete: () => {
32
+ completed = true;
33
+ debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`);
34
+ if (writeStream instanceof WriteStream) {
35
+ writeStream.end();
36
+ }
37
+ // Return empty buff since data was uploaded into a temp file.
38
+ return Buffer.concat([]);
39
+ },
40
+ dataHandler: data => {
41
+ if (completed === true) {
42
+ debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
43
+ return;
44
+ }
45
+ writeStream.write(data);
46
+ hash.update(data);
47
+ fileSize += data.length;
48
+ debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`);
49
+ },
50
+ getFilePath: () => tempFilePath,
51
+ getFileSize: () => fileSize,
52
+ getHash: () => hash.digest('hex'),
53
+ getWritePromise: () => writePromise
54
+ };
55
+ };
56
+ export const memHandler = (options, fieldname, filename) => {
57
+ const buffers = [];
58
+ const hash = crypto.createHash('md5');
59
+ let fileSize = 0;
60
+ let completed = false;
61
+ const getBuffer = () => Buffer.concat(buffers, fileSize);
62
+ return {
63
+ cleanup: () => {
64
+ completed = true;
65
+ },
66
+ complete: () => {
67
+ debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`);
68
+ completed = true;
69
+ return getBuffer();
70
+ },
71
+ dataHandler: data => {
72
+ if (completed === true) {
73
+ debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`);
74
+ return;
75
+ }
76
+ buffers.push(data);
77
+ hash.update(data);
78
+ fileSize += data.length;
79
+ debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`);
80
+ },
81
+ getFilePath: () => '',
82
+ getFileSize: () => fileSize,
83
+ getHash: () => hash.digest('hex'),
84
+ getWritePromise: () => Promise.resolve(true)
85
+ };
86
+ };
87
+ //# sourceMappingURL=handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlers.js","names":["crypto","fs","WriteStream","path","checkAndMakeDir","debugLog","deleteFile","getTempFilename","tempFileHandler","options","fieldname","filename","dir","normalize","tempFileDir","tempFilePath","join","process","cwd","createParentPath","hash","createHash","fileSize","completed","writeStream","createWriteStream","writePromise","Promise","resolve","reject","on","err","cleanup","end","complete","Buffer","concat","dataHandler","data","write","update","length","getFilePath","getFileSize","getHash","digest","getWritePromise","memHandler","buffers","getBuffer","push"],"sources":["../../src/fetchAPI-multipart/handlers.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\n\nimport crypto from 'crypto'\nimport fs, { WriteStream } from 'fs'\nimport path from 'path'\n\nimport { checkAndMakeDir, debugLog, deleteFile, getTempFilename } from './utilities.js'\n\ntype Handler = (\n options: FetchAPIFileUploadOptions,\n fieldname: string,\n filename: string,\n) => {\n cleanup: () => void\n complete: () => Buffer\n dataHandler: (data: Buffer) => void\n getFilePath: () => string\n getFileSize: () => number\n getHash: () => string\n getWritePromise: () => Promise<boolean>\n}\n\nexport const tempFileHandler: Handler = (options, fieldname, filename) => {\n const dir = path.normalize(options.tempFileDir)\n const tempFilePath = path.join(process.cwd(), dir, getTempFilename())\n checkAndMakeDir({ createParentPath: true }, tempFilePath)\n\n debugLog(options, `Temporary file path is ${tempFilePath}`)\n\n const hash = crypto.createHash('md5')\n let fileSize = 0\n let completed = false\n\n debugLog(options, `Opening write stream for ${fieldname}->${filename}...`)\n const writeStream = fs.createWriteStream(tempFilePath)\n const writePromise = new Promise<boolean>((resolve, reject) => {\n writeStream.on('finish', () => resolve(true))\n writeStream.on('error', (err) => {\n debugLog(options, `Error write temp file: ${err}`)\n reject(err)\n })\n })\n\n return {\n cleanup: () => {\n completed = true\n debugLog(options, `Cleaning up temporary file ${tempFilePath}...`)\n writeStream.end()\n deleteFile(tempFilePath, (err) =>\n err\n ? debugLog(options, `Cleaning up temporary file ${tempFilePath} failed: ${err}`)\n : debugLog(options, `Cleaning up temporary file ${tempFilePath} done.`),\n )\n },\n complete: () => {\n completed = true\n debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`)\n if (writeStream instanceof WriteStream) {\n writeStream.end()\n }\n // Return empty buff since data was uploaded into a temp file.\n return Buffer.concat([])\n },\n dataHandler: (data) => {\n if (completed === true) {\n debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`)\n return\n }\n writeStream.write(data)\n hash.update(data)\n fileSize += data.length\n debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`)\n },\n getFilePath: () => tempFilePath,\n getFileSize: () => fileSize,\n getHash: () => hash.digest('hex'),\n getWritePromise: () => writePromise,\n }\n}\n\nexport const memHandler: Handler = (options, fieldname, filename) => {\n const buffers: Buffer[] = []\n const hash = crypto.createHash('md5')\n let fileSize = 0\n let completed = false\n\n const getBuffer = () => Buffer.concat(buffers, fileSize)\n\n return {\n cleanup: () => {\n completed = true\n },\n complete: () => {\n debugLog(options, `Upload ${fieldname}->${filename} completed, bytes:${fileSize}.`)\n completed = true\n return getBuffer()\n },\n dataHandler: (data) => {\n if (completed === true) {\n debugLog(options, `Error: got ${fieldname}->${filename} data chunk for completed upload!`)\n return\n }\n buffers.push(data)\n hash.update(data)\n fileSize += data.length\n debugLog(options, `Uploading ${fieldname}->${filename}, bytes:${fileSize}...`)\n },\n getFilePath: () => '',\n getFileSize: () => fileSize,\n getHash: () => hash.digest('hex'),\n getWritePromise: () => Promise.resolve(true),\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ import type { FetchAPIFileUploadOptions } from 'payload';
2
+ import { APIError } from 'payload';
3
+ export type FileShape = {
4
+ data: Buffer;
5
+ encoding: string;
6
+ md5: Buffer | string;
7
+ mimetype: string;
8
+ mv: (filePath: string, callback: () => void) => Promise<void> | void;
9
+ name: string;
10
+ size: number;
11
+ tempFilePath: string;
12
+ truncated: boolean;
13
+ };
14
+ type FetchAPIFileUploadResponseFile = {
15
+ data: Buffer;
16
+ mimetype: string;
17
+ name: string;
18
+ size: number;
19
+ tempFilePath?: string;
20
+ };
21
+ export type FetchAPIFileUploadResponse = {
22
+ error?: APIError;
23
+ fields: Record<string, string>;
24
+ files: Record<string, FetchAPIFileUploadResponseFile>;
25
+ };
26
+ type FetchAPIFileUpload = (args: {
27
+ options?: FetchAPIFileUploadOptions;
28
+ request: Request;
29
+ }) => Promise<FetchAPIFileUploadResponse>;
30
+ export declare const fetchAPIFileUpload: FetchAPIFileUpload;
31
+ export {};
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAsBlC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,8BAA8B,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAA;CACtD,CAAA;AAED,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE;IAC/B,OAAO,CAAC,EAAE,yBAAyB,CAAA;IACnC,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACzC,eAAO,MAAM,kBAAkB,EAAE,kBAYhC,CAAA"}
@@ -0,0 +1,43 @@
1
+ import path from 'path';
2
+ import { APIError } from 'payload';
3
+ import { isEligibleRequest } from './isEligibleRequest.js';
4
+ import { processMultipart } from './processMultipart.js';
5
+ import { debugLog } from './utilities.js';
6
+ const DEFAULT_OPTIONS = {
7
+ abortOnLimit: false,
8
+ createParentPath: false,
9
+ debug: false,
10
+ defParamCharset: 'utf8',
11
+ limitHandler: false,
12
+ parseNested: false,
13
+ preserveExtension: false,
14
+ responseOnLimit: 'File size limit has been reached',
15
+ safeFileNames: false,
16
+ tempFileDir: path.join(process.cwd(), 'tmp'),
17
+ uploadTimeout: 60000,
18
+ uriDecodeFileNames: false,
19
+ useTempFiles: false
20
+ };
21
+ export const fetchAPIFileUpload = async ({
22
+ options,
23
+ request
24
+ }) => {
25
+ const uploadOptions = {
26
+ ...DEFAULT_OPTIONS,
27
+ ...options
28
+ };
29
+ if (!isEligibleRequest(request)) {
30
+ debugLog(uploadOptions, 'Request is not eligible for file upload!');
31
+ return {
32
+ error: new APIError('Request is not eligible for file upload', 500),
33
+ fields: undefined,
34
+ files: undefined
35
+ };
36
+ } else {
37
+ return processMultipart({
38
+ options: uploadOptions,
39
+ request
40
+ });
41
+ }
42
+ };
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["path","APIError","isEligibleRequest","processMultipart","debugLog","DEFAULT_OPTIONS","abortOnLimit","createParentPath","debug","defParamCharset","limitHandler","parseNested","preserveExtension","responseOnLimit","safeFileNames","tempFileDir","join","process","cwd","uploadTimeout","uriDecodeFileNames","useTempFiles","fetchAPIFileUpload","options","request","uploadOptions","error","fields","undefined","files"],"sources":["../../src/fetchAPI-multipart/index.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\n\nimport path from 'path'\nimport { APIError } from 'payload'\n\nimport { isEligibleRequest } from './isEligibleRequest.js'\nimport { processMultipart } from './processMultipart.js'\nimport { debugLog } from './utilities.js'\n\nconst DEFAULT_OPTIONS: FetchAPIFileUploadOptions = {\n abortOnLimit: false,\n createParentPath: false,\n debug: false,\n defParamCharset: 'utf8',\n limitHandler: false,\n parseNested: false,\n preserveExtension: false,\n responseOnLimit: 'File size limit has been reached',\n safeFileNames: false,\n tempFileDir: path.join(process.cwd(), 'tmp'),\n uploadTimeout: 60000,\n uriDecodeFileNames: false,\n useTempFiles: false,\n}\n\nexport type FileShape = {\n data: Buffer\n encoding: string\n md5: Buffer | string\n mimetype: string\n mv: (filePath: string, callback: () => void) => Promise<void> | void\n name: string\n size: number\n tempFilePath: string\n truncated: boolean\n}\n\ntype FetchAPIFileUploadResponseFile = {\n data: Buffer\n mimetype: string\n name: string\n size: number\n tempFilePath?: string\n}\n\nexport type FetchAPIFileUploadResponse = {\n error?: APIError\n fields: Record<string, string>\n files: Record<string, FetchAPIFileUploadResponseFile>\n}\n\ntype FetchAPIFileUpload = (args: {\n options?: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const fetchAPIFileUpload: FetchAPIFileUpload = async ({ options, request }) => {\n const uploadOptions: FetchAPIFileUploadOptions = { ...DEFAULT_OPTIONS, ...options }\n if (!isEligibleRequest(request)) {\n debugLog(uploadOptions, 'Request is not eligible for file upload!')\n return {\n error: new APIError('Request is not eligible for file upload', 500),\n fields: undefined,\n files: undefined,\n }\n } else {\n return processMultipart({ options: uploadOptions, request })\n }\n}\n"],"mappings":"AAEA,OAAOA,IAAA,MAAU;AACjB,SAASC,QAAQ,QAAQ;AAEzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,QAAQ,QAAQ;AAEzB,MAAMC,eAAA,GAA6C;EACjDC,YAAA,EAAc;EACdC,gBAAA,EAAkB;EAClBC,KAAA,EAAO;EACPC,eAAA,EAAiB;EACjBC,YAAA,EAAc;EACdC,WAAA,EAAa;EACbC,iBAAA,EAAmB;EACnBC,eAAA,EAAiB;EACjBC,aAAA,EAAe;EACfC,WAAA,EAAaf,IAAA,CAAKgB,IAAI,CAACC,OAAA,CAAQC,GAAG,IAAI;EACtCC,aAAA,EAAe;EACfC,kBAAA,EAAoB;EACpBC,YAAA,EAAc;AAChB;AAgCA,OAAO,MAAMC,kBAAA,GAAyC,MAAAA,CAAO;EAAEC,OAAO;EAAEC;AAAO,CAAE;EAC/E,MAAMC,aAAA,GAA2C;IAAE,GAAGpB,eAAe;IAAE,GAAGkB;EAAQ;EAClF,IAAI,CAACrB,iBAAA,CAAkBsB,OAAA,GAAU;IAC/BpB,QAAA,CAASqB,aAAA,EAAe;IACxB,OAAO;MACLC,KAAA,EAAO,IAAIzB,QAAA,CAAS,2CAA2C;MAC/D0B,MAAA,EAAQC,SAAA;MACRC,KAAA,EAAOD;IACT;EACF,OAAO;IACL,OAAOzB,gBAAA,CAAiB;MAAEoB,OAAA,EAASE,aAAA;MAAeD;IAAQ;EAC5D;AACF","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEligibleRequest.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/isEligibleRequest.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,iBAAiB,QAAS,OAAO,KAAG,OAMhD,CAAA"}
@@ -0,0 +1,18 @@
1
+ const ACCEPTABLE_CONTENT_TYPE = /multipart\/['"()+-_]+(?:; ?['"()+-_]*)+$/i;
2
+ const UNACCEPTABLE_METHODS = new Set(['GET', 'HEAD', 'DELETE', 'OPTIONS', 'CONNECT', 'TRACE']);
3
+ const hasBody = req => {
4
+ return Boolean(req.headers.get('transfer-encoding') || req.headers.get('content-length') && req.headers.get('content-length') !== '0');
5
+ };
6
+ const hasAcceptableMethod = req => !UNACCEPTABLE_METHODS.has(req.method);
7
+ const hasAcceptableContentType = req => {
8
+ const contType = req.headers.get('content-type');
9
+ return contType.includes('boundary=') && ACCEPTABLE_CONTENT_TYPE.test(contType);
10
+ };
11
+ export const isEligibleRequest = req => {
12
+ try {
13
+ return hasBody(req) && hasAcceptableMethod(req) && hasAcceptableContentType(req);
14
+ } catch (e) {
15
+ return false;
16
+ }
17
+ };
18
+ //# sourceMappingURL=isEligibleRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isEligibleRequest.js","names":["ACCEPTABLE_CONTENT_TYPE","UNACCEPTABLE_METHODS","Set","hasBody","req","Boolean","headers","get","hasAcceptableMethod","has","method","hasAcceptableContentType","contType","includes","test","isEligibleRequest","e"],"sources":["../../src/fetchAPI-multipart/isEligibleRequest.ts"],"sourcesContent":["const ACCEPTABLE_CONTENT_TYPE = /multipart\\/['\"()+-_]+(?:; ?['\"()+-_]*)+$/i\nconst UNACCEPTABLE_METHODS = new Set(['GET', 'HEAD', 'DELETE', 'OPTIONS', 'CONNECT', 'TRACE'])\n\nconst hasBody = (req: Request): boolean => {\n return Boolean(\n req.headers.get('transfer-encoding') ||\n (req.headers.get('content-length') && req.headers.get('content-length') !== '0'),\n )\n}\n\nconst hasAcceptableMethod = (req: Request): boolean => !UNACCEPTABLE_METHODS.has(req.method)\n\nconst hasAcceptableContentType = (req: Request): boolean => {\n const contType = req.headers.get('content-type')\n return contType.includes('boundary=') && ACCEPTABLE_CONTENT_TYPE.test(contType)\n}\n\nexport const isEligibleRequest = (req: Request): boolean => {\n try {\n return hasBody(req) && hasAcceptableMethod(req) && hasAcceptableContentType(req)\n } catch (e) {\n return false\n }\n}\n"],"mappings":"AAAA,MAAMA,uBAAA,GAA0B;AAChC,MAAMC,oBAAA,GAAuB,IAAIC,GAAA,CAAI,CAAC,OAAO,QAAQ,UAAU,WAAW,WAAW,QAAQ;AAE7F,MAAMC,OAAA,GAAWC,GAAA;EACf,OAAOC,OAAA,CACLD,GAAA,CAAIE,OAAO,CAACC,GAAG,CAAC,wBACbH,GAAA,CAAIE,OAAO,CAACC,GAAG,CAAC,qBAAqBH,GAAA,CAAIE,OAAO,CAACC,GAAG,CAAC,sBAAsB;AAElF;AAEA,MAAMC,mBAAA,GAAuBJ,GAAA,IAA0B,CAACH,oBAAA,CAAqBQ,GAAG,CAACL,GAAA,CAAIM,MAAM;AAE3F,MAAMC,wBAAA,GAA4BP,GAAA;EAChC,MAAMQ,QAAA,GAAWR,GAAA,CAAIE,OAAO,CAACC,GAAG,CAAC;EACjC,OAAOK,QAAA,CAASC,QAAQ,CAAC,gBAAgBb,uBAAA,CAAwBc,IAAI,CAACF,QAAA;AACxE;AAEA,OAAO,MAAMG,iBAAA,GAAqBX,GAAA;EAChC,IAAI;IACF,OAAOD,OAAA,CAAQC,GAAA,KAAQI,mBAAA,CAAoBJ,GAAA,KAAQO,wBAAA,CAAyBP,GAAA;EAC9E,EAAE,OAAOY,CAAA,EAAG;IACV,OAAO;EACT;AACF","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import type { FetchAPIFileUploadOptions } from 'payload';
2
+ import type { FetchAPIFileUploadResponse } from './index.js';
3
+ type ProcessMultipart = (args: {
4
+ options: FetchAPIFileUploadOptions;
5
+ request: Request;
6
+ }) => Promise<FetchAPIFileUploadResponse>;
7
+ export declare const processMultipart: ProcessMultipart;
8
+ export {};
9
+ //# sourceMappingURL=processMultipart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMultipart.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAOxD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAU5D,KAAK,gBAAgB,GAAG,CAAC,IAAI,EAAE;IAC7B,OAAO,EAAE,yBAAyB,CAAA;IAClC,OAAO,EAAE,OAAO,CAAA;CACjB,KAAK,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACzC,eAAO,MAAM,gBAAgB,EAAE,gBAsM9B,CAAA"}
@@ -0,0 +1,180 @@
1
+ import Busboy from 'busboy';
2
+ import httpStatus from 'http-status';
3
+ import { APIError } from 'payload';
4
+ import { fileFactory } from './fileFactory.js';
5
+ import { memHandler, tempFileHandler } from './handlers.js';
6
+ import { processNested } from './processNested.js';
7
+ import { createUploadTimer } from './uploadTimer.js';
8
+ import { buildFields, debugLog, isFunc, parseFileName } from './utilities.js';
9
+ const waitFlushProperty = Symbol('wait flush property symbol');
10
+ export const processMultipart = async ({
11
+ options,
12
+ request
13
+ }) => {
14
+ let parsingRequest = true;
15
+ let fileCount = 0;
16
+ let filesCompleted = 0;
17
+ let allFilesHaveResolved;
18
+ let failedResolvingFiles;
19
+ const allFilesComplete = new Promise((res, rej) => {
20
+ allFilesHaveResolved = res;
21
+ failedResolvingFiles = rej;
22
+ });
23
+ const result = {
24
+ fields: undefined,
25
+ files: undefined
26
+ };
27
+ const headersObject = {};
28
+ request.headers.forEach((value, name) => {
29
+ headersObject[name] = value;
30
+ });
31
+ function abortAndDestroyFile(file, err) {
32
+ file.destroy();
33
+ parsingRequest = false;
34
+ failedResolvingFiles(err);
35
+ }
36
+ const busboy = Busboy({
37
+ ...options,
38
+ headers: headersObject
39
+ });
40
+ // Build multipart req.body fields
41
+ busboy.on('field', (field, val) => {
42
+ result.fields = buildFields(result.fields, field, val);
43
+ });
44
+ // Build req.files fields
45
+ busboy.on('file', (field, file, info) => {
46
+ fileCount += 1;
47
+ // Parse file name(cutting huge names, decoding, etc..).
48
+ const {
49
+ encoding,
50
+ filename: name,
51
+ mimeType: mime
52
+ } = info;
53
+ const filename = parseFileName(options, name);
54
+ // Define methods and handlers for upload process.
55
+ const {
56
+ cleanup,
57
+ complete,
58
+ dataHandler,
59
+ getFilePath,
60
+ getFileSize,
61
+ getHash,
62
+ getWritePromise
63
+ } = options.useTempFiles ? tempFileHandler(options, field, filename) // Upload into temporary file.
64
+ : memHandler(options, field, filename) // Upload into RAM.
65
+ ;
66
+ const writePromise = options.useTempFiles ? getWritePromise().catch(err => {
67
+ busboy.end();
68
+ cleanup();
69
+ }) : getWritePromise();
70
+ const uploadTimer = createUploadTimer(options.uploadTimeout, () => {
71
+ return abortAndDestroyFile(file, new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`));
72
+ });
73
+ file.on('limit', () => {
74
+ debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`);
75
+ uploadTimer.clear();
76
+ if (isFunc(options.limitHandler)) {
77
+ options.limitHandler({
78
+ request,
79
+ size: getFileSize()
80
+ });
81
+ }
82
+ // Return error and cleanup files if abortOnLimit set.
83
+ if (options.abortOnLimit) {
84
+ debugLog(options, `Upload file size limit reached ${field}->${filename}.`);
85
+ cleanup();
86
+ abortAndDestroyFile(file, new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {
87
+ size: getFileSize()
88
+ }));
89
+ }
90
+ });
91
+ file.on('data', data => {
92
+ uploadTimer.set();
93
+ dataHandler(data);
94
+ });
95
+ file.on('end', () => {
96
+ const size = getFileSize();
97
+ debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`);
98
+ uploadTimer.clear();
99
+ if (!name && size === 0) {
100
+ fileCount -= 1;
101
+ if (options.useTempFiles) {
102
+ cleanup();
103
+ debugLog(options, `Removing the empty file ${field}->${filename}`);
104
+ }
105
+ return debugLog(options, `Don't add file instance if original name and size are empty`);
106
+ }
107
+ filesCompleted += 1;
108
+ result.files = buildFields(result.files, field, fileFactory({
109
+ name: filename,
110
+ buffer: complete(),
111
+ encoding,
112
+ hash: getHash(),
113
+ mimetype: mime,
114
+ size,
115
+ tempFilePath: getFilePath(),
116
+ truncated: Boolean('truncated' in file && file.truncated)
117
+ }, options));
118
+ if (!request[waitFlushProperty]) {
119
+ request[waitFlushProperty] = [];
120
+ }
121
+ request[waitFlushProperty].push(writePromise);
122
+ if (filesCompleted === fileCount) {
123
+ allFilesHaveResolved();
124
+ }
125
+ });
126
+ file.on('error', err => {
127
+ uploadTimer.clear();
128
+ debugLog(options, `File Error: ${err.message}`);
129
+ cleanup();
130
+ failedResolvingFiles(err);
131
+ });
132
+ // Start upload process.
133
+ debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`);
134
+ uploadTimer.set();
135
+ });
136
+ // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.
137
+ busboy.on('finish', async () => {
138
+ debugLog(options, `Busboy finished parsing request.`);
139
+ if (options.parseNested) {
140
+ result.fields = processNested(result.fields);
141
+ result.files = processNested(result.files);
142
+ }
143
+ if (request[waitFlushProperty]) {
144
+ try {
145
+ await Promise.all(request[waitFlushProperty]).then(() => {
146
+ delete request[waitFlushProperty];
147
+ });
148
+ } catch (err) {
149
+ debugLog(options, `Error waiting for file write promises: ${err}`);
150
+ }
151
+ }
152
+ return result;
153
+ });
154
+ busboy.on('error', (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {
155
+ debugLog(options, `Busboy error`);
156
+ parsingRequest = false;
157
+ throw err;
158
+ });
159
+ const reader = request.body.getReader();
160
+ // Start parsing request
161
+ while (parsingRequest) {
162
+ const {
163
+ done,
164
+ value
165
+ } = await reader.read();
166
+ if (done) {
167
+ parsingRequest = false;
168
+ }
169
+ if (value) {
170
+ busboy.write(value);
171
+ }
172
+ }
173
+ if (fileCount !== 0) {
174
+ await allFilesComplete.catch(e => {
175
+ throw e;
176
+ });
177
+ }
178
+ return result;
179
+ };
180
+ //# sourceMappingURL=processMultipart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMultipart.js","names":["Busboy","httpStatus","APIError","fileFactory","memHandler","tempFileHandler","processNested","createUploadTimer","buildFields","debugLog","isFunc","parseFileName","waitFlushProperty","Symbol","processMultipart","options","request","parsingRequest","fileCount","filesCompleted","allFilesHaveResolved","failedResolvingFiles","allFilesComplete","Promise","res","rej","result","fields","undefined","files","headersObject","headers","forEach","value","name","abortAndDestroyFile","file","err","destroy","busboy","on","field","val","info","encoding","filename","mimeType","mime","cleanup","complete","dataHandler","getFilePath","getFileSize","getHash","getWritePromise","useTempFiles","writePromise","catch","end","uploadTimer","uploadTimeout","clear","limitHandler","size","abortOnLimit","responseOnLimit","REQUEST_ENTITY_TOO_LARGE","data","set","buffer","hash","mimetype","tempFilePath","truncated","Boolean","push","message","parseNested","all","then","BAD_REQUEST","reader","body","getReader","done","read","write","e"],"sources":["../../src/fetchAPI-multipart/processMultipart.ts"],"sourcesContent":["import type { FetchAPIFileUploadOptions } from 'payload'\nimport type { Readable } from 'stream'\n\nimport Busboy from 'busboy'\nimport httpStatus from 'http-status'\nimport { APIError } from 'payload'\n\nimport type { FetchAPIFileUploadResponse } from './index.js'\n\nimport { fileFactory } from './fileFactory.js'\nimport { memHandler, tempFileHandler } from './handlers.js'\nimport { processNested } from './processNested.js'\nimport { createUploadTimer } from './uploadTimer.js'\nimport { buildFields, debugLog, isFunc, parseFileName } from './utilities.js'\n\nconst waitFlushProperty = Symbol('wait flush property symbol')\n\ntype ProcessMultipart = (args: {\n options: FetchAPIFileUploadOptions\n request: Request\n}) => Promise<FetchAPIFileUploadResponse>\nexport const processMultipart: ProcessMultipart = async ({ options, request }) => {\n let parsingRequest = true\n\n let fileCount = 0\n let filesCompleted = 0\n let allFilesHaveResolved: (value?: unknown) => void\n let failedResolvingFiles: (err: Error) => void\n\n const allFilesComplete = new Promise((res, rej) => {\n allFilesHaveResolved = res\n failedResolvingFiles = rej\n })\n\n const result: FetchAPIFileUploadResponse = {\n fields: undefined,\n files: undefined,\n }\n\n const headersObject = {}\n request.headers.forEach((value, name) => {\n headersObject[name] = value\n })\n\n function abortAndDestroyFile(file: Readable, err: APIError) {\n file.destroy()\n parsingRequest = false\n failedResolvingFiles(err)\n }\n\n const busboy = Busboy({ ...options, headers: headersObject })\n\n // Build multipart req.body fields\n busboy.on('field', (field, val) => {\n result.fields = buildFields(result.fields, field, val)\n })\n\n // Build req.files fields\n busboy.on('file', (field, file, info) => {\n fileCount += 1\n // Parse file name(cutting huge names, decoding, etc..).\n const { encoding, filename: name, mimeType: mime } = info\n const filename = parseFileName(options, name)\n\n // Define methods and handlers for upload process.\n const { cleanup, complete, dataHandler, getFilePath, getFileSize, getHash, getWritePromise } =\n options.useTempFiles\n ? tempFileHandler(options, field, filename) // Upload into temporary file.\n : memHandler(options, field, filename) // Upload into RAM.\n\n const writePromise = options.useTempFiles\n ? getWritePromise().catch((err) => {\n busboy.end()\n cleanup()\n })\n : getWritePromise()\n\n const uploadTimer = createUploadTimer(options.uploadTimeout, () => {\n return abortAndDestroyFile(\n file,\n new APIError(`Upload timeout for ${field}->${filename}, bytes:${getFileSize()}`),\n )\n })\n\n file.on('limit', () => {\n debugLog(options, `Size limit reached for ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.clear()\n\n if (isFunc(options.limitHandler)) {\n options.limitHandler({ request, size: getFileSize() })\n }\n\n // Return error and cleanup files if abortOnLimit set.\n if (options.abortOnLimit) {\n debugLog(options, `Upload file size limit reached ${field}->${filename}.`)\n cleanup()\n abortAndDestroyFile(\n file,\n new APIError(options.responseOnLimit, httpStatus.REQUEST_ENTITY_TOO_LARGE, {\n size: getFileSize(),\n }),\n )\n }\n })\n\n file.on('data', (data) => {\n uploadTimer.set()\n dataHandler(data)\n })\n\n file.on('end', () => {\n const size = getFileSize()\n debugLog(options, `Upload finished ${field}->${filename}, bytes:${size}`)\n uploadTimer.clear()\n\n if (!name && size === 0) {\n fileCount -= 1\n if (options.useTempFiles) {\n cleanup()\n debugLog(options, `Removing the empty file ${field}->${filename}`)\n }\n return debugLog(options, `Don't add file instance if original name and size are empty`)\n }\n\n filesCompleted += 1\n\n result.files = buildFields(\n result.files,\n field,\n fileFactory(\n {\n name: filename,\n buffer: complete(),\n encoding,\n hash: getHash(),\n mimetype: mime,\n size,\n tempFilePath: getFilePath(),\n truncated: Boolean('truncated' in file && file.truncated),\n },\n options,\n ),\n )\n\n if (!request[waitFlushProperty]) {\n request[waitFlushProperty] = []\n }\n request[waitFlushProperty].push(writePromise)\n\n if (filesCompleted === fileCount) {\n allFilesHaveResolved()\n }\n })\n\n file.on('error', (err) => {\n uploadTimer.clear()\n debugLog(options, `File Error: ${err.message}`)\n cleanup()\n failedResolvingFiles(err)\n })\n\n // Start upload process.\n debugLog(options, `New upload started ${field}->${filename}, bytes:${getFileSize()}`)\n uploadTimer.set()\n })\n\n // TODO: Valid eslint error - this will likely be a floating promise. Evaluate if we need to handle this differently.\n\n busboy.on('finish', async () => {\n debugLog(options, `Busboy finished parsing request.`)\n if (options.parseNested) {\n result.fields = processNested(result.fields)\n result.files = processNested(result.files)\n }\n\n if (request[waitFlushProperty]) {\n try {\n await Promise.all(request[waitFlushProperty]).then(() => {\n delete request[waitFlushProperty]\n })\n } catch (err) {\n debugLog(options, `Error waiting for file write promises: ${err}`)\n }\n }\n\n return result\n })\n\n busboy.on(\n 'error',\n (err = new APIError('Busboy error parsing multipart request', httpStatus.BAD_REQUEST)) => {\n debugLog(options, `Busboy error`)\n parsingRequest = false\n throw err\n },\n )\n\n const reader = request.body.getReader()\n\n // Start parsing request\n while (parsingRequest) {\n const { done, value } = await reader.read()\n\n if (done) {\n parsingRequest = false\n }\n\n if (value) {\n busboy.write(value)\n }\n }\n\n if (fileCount !== 0) {\n await allFilesComplete.catch((e) => {\n throw e\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNested.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/processNested.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,oBAiCzB,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { isSafeFromPollution } from './utilities.js';
2
+ export const processNested = function (data) {
3
+ if (!data || data.length < 1) {
4
+ return Object.create(null);
5
+ }
6
+ const d = Object.create(null),
7
+ keys = Object.keys(data);
8
+ for (let i = 0; i < keys.length; i++) {
9
+ const key = keys[i],
10
+ keyParts = key.replace(new RegExp(/\[/g), '.').replace(new RegExp(/\]/g), '').split('.'),
11
+ value = data[key];
12
+ let current = d;
13
+ for (let index = 0; index < keyParts.length; index++) {
14
+ const k = keyParts[index];
15
+ // Ensure we don't allow prototype pollution
16
+ if (!isSafeFromPollution(current, k)) {
17
+ continue;
18
+ }
19
+ if (index >= keyParts.length - 1) {
20
+ current[k] = value;
21
+ } else {
22
+ if (!current[k]) {
23
+ current[k] = !keyParts[index + 1] ? [] : Object.create(null);
24
+ }
25
+ current = current[k];
26
+ }
27
+ }
28
+ }
29
+ return d;
30
+ };
31
+ //# sourceMappingURL=processNested.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processNested.js","names":["isSafeFromPollution","processNested","data","length","Object","create","d","keys","i","key","keyParts","replace","RegExp","split","value","current","index","k"],"sources":["../../src/fetchAPI-multipart/processNested.ts"],"sourcesContent":["import { isSafeFromPollution } from './utilities.js'\n\nexport const processNested = function (data) {\n if (!data || data.length < 1) {\n return Object.create(null)\n }\n\n const d = Object.create(null),\n keys = Object.keys(data)\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i],\n keyParts = key.replace(new RegExp(/\\[/g), '.').replace(new RegExp(/\\]/g), '').split('.'),\n value = data[key]\n let current = d\n\n for (let index = 0; index < keyParts.length; index++) {\n const k = keyParts[index]\n\n // Ensure we don't allow prototype pollution\n if (!isSafeFromPollution(current, k)) {\n continue\n }\n\n if (index >= keyParts.length - 1) {\n current[k] = value\n } else {\n if (!current[k]) {\n current[k] = !keyParts[index + 1] ? [] : Object.create(null)\n }\n current = current[k]\n }\n }\n }\n return d\n}\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,aAAA,GAAgB,SAAAA,CAAUC,IAAI;EACzC,IAAI,CAACA,IAAA,IAAQA,IAAA,CAAKC,MAAM,GAAG,GAAG;IAC5B,OAAOC,MAAA,CAAOC,MAAM,CAAC;EACvB;EAEA,MAAMC,CAAA,GAAIF,MAAA,CAAOC,MAAM,CAAC;IACtBE,IAAA,GAAOH,MAAA,CAAOG,IAAI,CAACL,IAAA;EAErB,KAAK,IAAIM,CAAA,GAAI,GAAGA,CAAA,GAAID,IAAA,CAAKJ,MAAM,EAAEK,CAAA,IAAK;IACpC,MAAMC,GAAA,GAAMF,IAAI,CAACC,CAAA,CAAE;MACjBE,QAAA,GAAWD,GAAA,CAAIE,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,KAAKD,OAAO,CAAC,IAAIC,MAAA,CAAO,QAAQ,IAAIC,KAAK,CAAC;MACpFC,KAAA,GAAQZ,IAAI,CAACO,GAAA,CAAI;IACnB,IAAIM,OAAA,GAAUT,CAAA;IAEd,KAAK,IAAIU,KAAA,GAAQ,GAAGA,KAAA,GAAQN,QAAA,CAASP,MAAM,EAAEa,KAAA,IAAS;MACpD,MAAMC,CAAA,GAAIP,QAAQ,CAACM,KAAA,CAAM;MAEzB;MACA,IAAI,CAAChB,mBAAA,CAAoBe,OAAA,EAASE,CAAA,GAAI;QACpC;MACF;MAEA,IAAID,KAAA,IAASN,QAAA,CAASP,MAAM,GAAG,GAAG;QAChCY,OAAO,CAACE,CAAA,CAAE,GAAGH,KAAA;MACf,OAAO;QACL,IAAI,CAACC,OAAO,CAACE,CAAA,CAAE,EAAE;UACfF,OAAO,CAACE,CAAA,CAAE,GAAG,CAACP,QAAQ,CAACM,KAAA,GAAQ,EAAE,GAAG,EAAE,GAAGZ,MAAA,CAAOC,MAAM,CAAC;QACzD;QACAU,OAAA,GAAUA,OAAO,CAACE,CAAA,CAAE;MACtB;IACF;EACF;EACA,OAAOX,CAAA;AACT","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadTimer.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/uploadTimer.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,CACvB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,KAClB;IACH,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,GAAG,EAAE,MAAM,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,iBAkB/B,CAAA"}
@@ -0,0 +1,20 @@
1
+ export const createUploadTimer = (timeout = 0, callback = () => {}) => {
2
+ let timer = null;
3
+ const clear = () => {
4
+ clearTimeout(timer);
5
+ };
6
+ const set = () => {
7
+ // Do not start a timer if zero timeout or it hasn't been set.
8
+ if (!timeout) {
9
+ return false;
10
+ }
11
+ clear();
12
+ timer = setTimeout(callback, timeout);
13
+ return true;
14
+ };
15
+ return {
16
+ clear,
17
+ set
18
+ };
19
+ };
20
+ //# sourceMappingURL=uploadTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadTimer.js","names":["createUploadTimer","timeout","callback","timer","clear","clearTimeout","set","setTimeout"],"sources":["../../src/fetchAPI-multipart/uploadTimer.ts"],"sourcesContent":["type CreateUploadTimer = (\n timeout?: number,\n callback?: () => void,\n) => {\n clear: () => void\n set: () => boolean\n}\n\nexport const createUploadTimer: CreateUploadTimer = (timeout = 0, callback = () => {}) => {\n let timer = null\n\n const clear = () => {\n clearTimeout(timer)\n }\n\n const set = () => {\n // Do not start a timer if zero timeout or it hasn't been set.\n if (!timeout) {\n return false\n }\n clear()\n timer = setTimeout(callback, timeout)\n return true\n }\n\n return { clear, set }\n}\n"],"mappings":"AAQA,OAAO,MAAMA,iBAAA,GAAuCA,CAACC,OAAA,GAAU,CAAC,EAAEC,QAAA,GAAWA,CAAA,MAAO,CAAC;EACnF,IAAIC,KAAA,GAAQ;EAEZ,MAAMC,KAAA,GAAQA,CAAA;IACZC,YAAA,CAAaF,KAAA;EACf;EAEA,MAAMG,GAAA,GAAMA,CAAA;IACV;IACA,IAAI,CAACL,OAAA,EAAS;MACZ,OAAO;IACT;IACAG,KAAA;IACAD,KAAA,GAAQI,UAAA,CAAWL,QAAA,EAAUD,OAAA;IAC7B,OAAO;EACT;EAEA,OAAO;IAAEG,KAAA;IAAOE;EAAI;AACtB","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import type { NextFileUploadOptions } from './index.js';
1
+ import type { FetchAPIFileUploadOptions } from 'payload';
2
2
  /**
3
3
  * Logs message to console if options.debug option set to true.
4
4
  */
5
- export declare const debugLog: (options: NextFileUploadOptions, msg: string) => boolean;
5
+ export declare const debugLog: (options: FetchAPIFileUploadOptions, msg: string) => boolean;
6
6
  /**
7
7
  * Generates unique temporary file name. e.g. tmp-5000-156788789789.
8
8
  */
@@ -29,7 +29,7 @@ export declare const buildFields: BuildFields;
29
29
  * Creates a folder if it does not exist
30
30
  * for file specified in the path variable
31
31
  */
32
- type CheckAndMakeDir = (fileUploadOptions: NextFileUploadOptions, filePath: string) => boolean;
32
+ type CheckAndMakeDir = (fileUploadOptions: FetchAPIFileUploadOptions, filePath: string) => boolean;
33
33
  export declare const checkAndMakeDir: CheckAndMakeDir;
34
34
  /**
35
35
  * Delete a file.
@@ -59,7 +59,7 @@ export declare const parseFileNameExtension: ParseFileNameExtension;
59
59
  /**
60
60
  * Parse file name and extension.
61
61
  */
62
- type ParseFileName = (opts: NextFileUploadOptions, fileName: string) => string;
62
+ type ParseFileName = (opts: FetchAPIFileUploadOptions, fileName: string) => string;
63
63
  export declare const parseFileName: ParseFileName;
64
64
  export {};
65
65
  //# sourceMappingURL=utilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../src/fetchAPI-multipart/utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAexD;;GAEG;AACH,eAAO,MAAM,QAAQ,YAAa,yBAAyB,OAAO,MAAM,YAOvE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,YAAY,MAAM,WAG7C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AACvC,eAAO,MAAM,MAAM,UAAW,GAAG,KAAG,KAAK,IAAI,QAE5C,CAAA;AAQD;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;AAClG,eAAO,MAAM,eAAe,EAAE,eAU7B,CAAA;AAOD;;GAEG;AACH,KAAK,mBAAmB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;AAC9D,eAAO,MAAM,mBAAmB,EAAE,mBAQjC,CAAA;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AACpE,eAAO,MAAM,WAAW,EAAE,WAsBzB,CAAA;AAED;;;GAGG;AACH,KAAK,eAAe,GAAG,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAA;AAClG,eAAO,MAAM,eAAe,EAAE,eAY7B,CAAA;AAED;;GAEG;AACH,KAAK,UAAU,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,KAAK,IAAI,CAAA;AAC3E,eAAO,MAAM,UAAU,EAAE,UACM,CAAA;AA8B/B;;;GAGG;AACH,KAAK,QAAQ,GAAG,CACd,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,KAC9C,IAAI,CAAA;AACT,eAAO,MAAM,QAAQ,EAAE,QASnB,CAAA;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,oDAwB5B,CAAA;AA+BD;;GAEG;AACH,KAAK,sBAAsB,GAAG,CAC5B,iBAAiB,EAAE,OAAO,GAAG,MAAM,EACnC,QAAQ,EAAE,MAAM,KACb;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AACD,eAAO,MAAM,sBAAsB,EAAE,sBA4BpC,CAAA;AAED;;GAEG;AACH,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;AAClF,eAAO,MAAM,aAAa,EAAE,aAyB3B,CAAA"}