@ruya.sa/next 3.71.3

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 (406) hide show
  1. package/LICENSE.md +22 -0
  2. package/dist/auth/login.js +67 -0
  3. package/dist/auth/login.js.map +1 -0
  4. package/dist/auth/logout.js +52 -0
  5. package/dist/auth/logout.js.map +1 -0
  6. package/dist/auth/refresh.js +56 -0
  7. package/dist/auth/refresh.js.map +1 -0
  8. package/dist/config.js +2 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/dummy.css +0 -0
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +19 -0
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -0
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +81 -0
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -0
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +66 -0
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -0
  17. package/dist/elements/DocumentHeader/Tabs/index.js +78 -0
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +29 -0
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -0
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +72 -0
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -0
  23. package/dist/elements/DocumentHeader/index.js +36 -0
  24. package/dist/elements/DocumentHeader/index.js.map +1 -0
  25. package/dist/elements/FormHeader/index.js +20 -0
  26. package/dist/elements/FormHeader/index.js.map +1 -0
  27. package/dist/elements/Logo/index.js +39 -0
  28. package/dist/elements/Logo/index.js.map +1 -0
  29. package/dist/elements/Nav/NavHamburger/index.js +51 -0
  30. package/dist/elements/Nav/NavHamburger/index.js.map +1 -0
  31. package/dist/elements/Nav/NavWrapper/index.js +61 -0
  32. package/dist/elements/Nav/NavWrapper/index.js.map +1 -0
  33. package/dist/elements/Nav/SettingsMenuButton/index.js +45 -0
  34. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -0
  35. package/dist/elements/Nav/getNavPrefs.js +26 -0
  36. package/dist/elements/Nav/getNavPrefs.js.map +1 -0
  37. package/dist/elements/Nav/index.client.js +133 -0
  38. package/dist/elements/Nav/index.client.js.map +1 -0
  39. package/dist/elements/Nav/index.js +145 -0
  40. package/dist/elements/Nav/index.js.map +1 -0
  41. package/dist/esbuildEntry.js +5 -0
  42. package/dist/esbuildEntry.js.map +1 -0
  43. package/dist/exports/auth.js +4 -0
  44. package/dist/exports/auth.js.map +1 -0
  45. package/dist/exports/client.js +6 -0
  46. package/dist/exports/client.js.map +1 -0
  47. package/dist/exports/layouts.js +3 -0
  48. package/dist/exports/layouts.js.map +1 -0
  49. package/dist/exports/routes.js +3 -0
  50. package/dist/exports/routes.js.map +1 -0
  51. package/dist/exports/rsc.js +4 -0
  52. package/dist/exports/rsc.js.map +1 -0
  53. package/dist/exports/templates.js +3 -0
  54. package/dist/exports/templates.js.map +1 -0
  55. package/dist/exports/utilities.js +53 -0
  56. package/dist/exports/utilities.js.map +1 -0
  57. package/dist/exports/views.js +10 -0
  58. package/dist/exports/views.js.map +1 -0
  59. package/dist/index.js +2 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/layouts/Root/NestProviders.js +24 -0
  62. package/dist/layouts/Root/NestProviders.js.map +1 -0
  63. package/dist/layouts/Root/checkDependencies.js +49 -0
  64. package/dist/layouts/Root/checkDependencies.js.map +1 -0
  65. package/dist/layouts/Root/index.js +120 -0
  66. package/dist/layouts/Root/index.js.map +1 -0
  67. package/dist/routes/graphql/handler.js +137 -0
  68. package/dist/routes/graphql/handler.js.map +1 -0
  69. package/dist/routes/graphql/index.js +3 -0
  70. package/dist/routes/graphql/index.js.map +1 -0
  71. package/dist/routes/graphql/playground.js +31 -0
  72. package/dist/routes/graphql/playground.js.map +1 -0
  73. package/dist/routes/index.js +3 -0
  74. package/dist/routes/index.js.map +1 -0
  75. package/dist/routes/rest/index.js +33 -0
  76. package/dist/routes/rest/index.js.map +1 -0
  77. package/dist/routes/rest/og/image.js +86 -0
  78. package/dist/routes/rest/og/image.js.map +1 -0
  79. package/dist/routes/rest/og/index.js +70 -0
  80. package/dist/routes/rest/og/index.js.map +1 -0
  81. package/dist/routes/rest/og/roboto-regular.woff +0 -0
  82. package/dist/templates/Default/NavHamburger/index.js +25 -0
  83. package/dist/templates/Default/NavHamburger/index.js.map +1 -0
  84. package/dist/templates/Default/Wrapper/index.js +49 -0
  85. package/dist/templates/Default/Wrapper/index.js.map +1 -0
  86. package/dist/templates/Default/index.js +129 -0
  87. package/dist/templates/Default/index.js.map +1 -0
  88. package/dist/templates/Minimal/index.js +21 -0
  89. package/dist/templates/Minimal/index.js.map +1 -0
  90. package/dist/utilities/getExistingAuthToken.js +6 -0
  91. package/dist/utilities/getExistingAuthToken.js.map +1 -0
  92. package/dist/utilities/getNextRequestI18n.js +22 -0
  93. package/dist/utilities/getNextRequestI18n.js.map +1 -0
  94. package/dist/utilities/getPayloadHMR.js +15 -0
  95. package/dist/utilities/getPayloadHMR.js.map +1 -0
  96. package/dist/utilities/getPreferences.js +26 -0
  97. package/dist/utilities/getPreferences.js.map +1 -0
  98. package/dist/utilities/getRequestLocale.js +20 -0
  99. package/dist/utilities/getRequestLocale.js.map +1 -0
  100. package/dist/utilities/getRequestTheme.js +22 -0
  101. package/dist/utilities/getRequestTheme.js.map +1 -0
  102. package/dist/utilities/getRouteWithoutAdmin.js +7 -0
  103. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -0
  104. package/dist/utilities/handleAuthRedirect.js +41 -0
  105. package/dist/utilities/handleAuthRedirect.js.map +1 -0
  106. package/dist/utilities/handleServerFunctions.js +57 -0
  107. package/dist/utilities/handleServerFunctions.js.map +1 -0
  108. package/dist/utilities/initReq.js +110 -0
  109. package/dist/utilities/initReq.js.map +1 -0
  110. package/dist/utilities/isCustomAdminView.js +31 -0
  111. package/dist/utilities/isCustomAdminView.js.map +1 -0
  112. package/dist/utilities/isPublicAdminRoute.js +25 -0
  113. package/dist/utilities/isPublicAdminRoute.js.map +1 -0
  114. package/dist/utilities/meta.js +69 -0
  115. package/dist/utilities/meta.js.map +1 -0
  116. package/dist/utilities/selectiveCache.js +38 -0
  117. package/dist/utilities/selectiveCache.js.map +1 -0
  118. package/dist/utilities/setPayloadAuthCookie.js +27 -0
  119. package/dist/utilities/setPayloadAuthCookie.js.map +1 -0
  120. package/dist/utilities/slugify.js +47 -0
  121. package/dist/utilities/slugify.js.map +1 -0
  122. package/dist/utilities/timestamp.js +8 -0
  123. package/dist/utilities/timestamp.js.map +1 -0
  124. package/dist/views/API/LocaleSelector/index.js +44 -0
  125. package/dist/views/API/LocaleSelector/index.js.map +1 -0
  126. package/dist/views/API/RenderJSON/index.js +135 -0
  127. package/dist/views/API/RenderJSON/index.js.map +1 -0
  128. package/dist/views/API/index.client.js +209 -0
  129. package/dist/views/API/index.client.js.map +1 -0
  130. package/dist/views/API/index.js +7 -0
  131. package/dist/views/API/index.js.map +1 -0
  132. package/dist/views/API/metadata.js +29 -0
  133. package/dist/views/API/metadata.js.map +1 -0
  134. package/dist/views/Account/ResetPreferences/index.js +112 -0
  135. package/dist/views/Account/ResetPreferences/index.js.map +1 -0
  136. package/dist/views/Account/Settings/LanguageSelector.js +52 -0
  137. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -0
  138. package/dist/views/Account/Settings/index.js +33 -0
  139. package/dist/views/Account/Settings/index.js.map +1 -0
  140. package/dist/views/Account/ToggleTheme/index.js +60 -0
  141. package/dist/views/Account/ToggleTheme/index.js.map +1 -0
  142. package/dist/views/Account/index.client.js +37 -0
  143. package/dist/views/Account/index.client.js.map +1 -0
  144. package/dist/views/Account/index.js +178 -0
  145. package/dist/views/Account/index.js.map +1 -0
  146. package/dist/views/Account/metadata.js +14 -0
  147. package/dist/views/Account/metadata.js.map +1 -0
  148. package/dist/views/BrowseByFolder/buildView.js +169 -0
  149. package/dist/views/BrowseByFolder/buildView.js.map +1 -0
  150. package/dist/views/BrowseByFolder/index.js +20 -0
  151. package/dist/views/BrowseByFolder/index.js.map +1 -0
  152. package/dist/views/BrowseByFolder/metadata.js +18 -0
  153. package/dist/views/BrowseByFolder/metadata.js.map +1 -0
  154. package/dist/views/CollectionFolders/buildView.js +156 -0
  155. package/dist/views/CollectionFolders/buildView.js.map +1 -0
  156. package/dist/views/CollectionFolders/index.js +20 -0
  157. package/dist/views/CollectionFolders/index.js.map +1 -0
  158. package/dist/views/CollectionFolders/metadata.js +25 -0
  159. package/dist/views/CollectionFolders/metadata.js.map +1 -0
  160. package/dist/views/CollectionFolders/renderFolderViewSlots.js +64 -0
  161. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -0
  162. package/dist/views/CollectionTrash/index.js +21 -0
  163. package/dist/views/CollectionTrash/index.js.map +1 -0
  164. package/dist/views/CollectionTrash/metadata.js +25 -0
  165. package/dist/views/CollectionTrash/metadata.js.map +1 -0
  166. package/dist/views/CreateFirstUser/index.client.js +112 -0
  167. package/dist/views/CreateFirstUser/index.client.js.map +1 -0
  168. package/dist/views/CreateFirstUser/index.js +88 -0
  169. package/dist/views/CreateFirstUser/index.js.map +1 -0
  170. package/dist/views/CreateFirstUser/metadata.js +14 -0
  171. package/dist/views/CreateFirstUser/metadata.js.map +1 -0
  172. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -0
  173. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -0
  174. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +431 -0
  175. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -0
  176. package/dist/views/Dashboard/Default/ModularDashboard/index.js +87 -0
  177. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -0
  178. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +99 -0
  179. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -0
  180. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +58 -0
  181. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -0
  182. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +72 -0
  183. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -0
  184. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +158 -0
  185. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -0
  186. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +38 -0
  187. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -0
  188. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +264 -0
  189. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -0
  190. package/dist/views/Dashboard/Default/index.js +52 -0
  191. package/dist/views/Dashboard/Default/index.js.map +1 -0
  192. package/dist/views/Dashboard/index.js +50 -0
  193. package/dist/views/Dashboard/index.js.map +1 -0
  194. package/dist/views/Dashboard/metadata.js +16 -0
  195. package/dist/views/Dashboard/metadata.js.map +1 -0
  196. package/dist/views/Document/getCustomDocumentViewByKey.js +4 -0
  197. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -0
  198. package/dist/views/Document/getCustomViewByRoute.js +35 -0
  199. package/dist/views/Document/getCustomViewByRoute.js.map +1 -0
  200. package/dist/views/Document/getDocPreferences.js +45 -0
  201. package/dist/views/Document/getDocPreferences.js.map +1 -0
  202. package/dist/views/Document/getDocumentData.js +60 -0
  203. package/dist/views/Document/getDocumentData.js.map +1 -0
  204. package/dist/views/Document/getDocumentPermissions.js +87 -0
  205. package/dist/views/Document/getDocumentPermissions.js.map +1 -0
  206. package/dist/views/Document/getDocumentView.js +310 -0
  207. package/dist/views/Document/getDocumentView.js.map +1 -0
  208. package/dist/views/Document/getIsLocked.js +79 -0
  209. package/dist/views/Document/getIsLocked.js.map +1 -0
  210. package/dist/views/Document/getMetaBySegment.js +150 -0
  211. package/dist/views/Document/getMetaBySegment.js.map +1 -0
  212. package/dist/views/Document/getVersions.js +210 -0
  213. package/dist/views/Document/getVersions.js.map +1 -0
  214. package/dist/views/Document/handleServerFunction.js +135 -0
  215. package/dist/views/Document/handleServerFunction.js.map +1 -0
  216. package/dist/views/Document/index.js +390 -0
  217. package/dist/views/Document/index.js.map +1 -0
  218. package/dist/views/Document/metadata.js +3 -0
  219. package/dist/views/Document/metadata.js.map +1 -0
  220. package/dist/views/Document/renderDocumentSlots.js +154 -0
  221. package/dist/views/Document/renderDocumentSlots.js.map +1 -0
  222. package/dist/views/Edit/index.js +11 -0
  223. package/dist/views/Edit/index.js.map +1 -0
  224. package/dist/views/Edit/metadata.js +52 -0
  225. package/dist/views/Edit/metadata.js.map +1 -0
  226. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +179 -0
  227. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -0
  228. package/dist/views/ForgotPassword/index.js +72 -0
  229. package/dist/views/ForgotPassword/index.js.map +1 -0
  230. package/dist/views/ForgotPassword/metadata.js +14 -0
  231. package/dist/views/ForgotPassword/metadata.js.map +1 -0
  232. package/dist/views/List/createSerializableValue.js +14 -0
  233. package/dist/views/List/createSerializableValue.js.map +1 -0
  234. package/dist/views/List/enrichDocsWithVersionStatus.js +96 -0
  235. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -0
  236. package/dist/views/List/extractRelationshipDisplayValue.js +17 -0
  237. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -0
  238. package/dist/views/List/extractValueOrRelationshipID.js +19 -0
  239. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -0
  240. package/dist/views/List/handleGroupBy.js +160 -0
  241. package/dist/views/List/handleGroupBy.js.map +1 -0
  242. package/dist/views/List/handleServerFunction.js +130 -0
  243. package/dist/views/List/handleServerFunction.js.map +1 -0
  244. package/dist/views/List/index.js +356 -0
  245. package/dist/views/List/index.js.map +1 -0
  246. package/dist/views/List/metadata.js +24 -0
  247. package/dist/views/List/metadata.js.map +1 -0
  248. package/dist/views/List/renderListViewSlots.js +80 -0
  249. package/dist/views/List/renderListViewSlots.js.map +1 -0
  250. package/dist/views/List/resolveAllFilterOptions.js +49 -0
  251. package/dist/views/List/resolveAllFilterOptions.js.map +1 -0
  252. package/dist/views/List/transformColumnsToSelect.js +11 -0
  253. package/dist/views/List/transformColumnsToSelect.js.map +1 -0
  254. package/dist/views/Login/LoginField/index.js +98 -0
  255. package/dist/views/Login/LoginField/index.js.map +1 -0
  256. package/dist/views/Login/LoginForm/index.js +177 -0
  257. package/dist/views/Login/LoginForm/index.js.map +1 -0
  258. package/dist/views/Login/index.js +95 -0
  259. package/dist/views/Login/index.js.map +1 -0
  260. package/dist/views/Login/metadata.js +14 -0
  261. package/dist/views/Login/metadata.js.map +1 -0
  262. package/dist/views/Logout/LogoutClient.js +140 -0
  263. package/dist/views/Logout/LogoutClient.js.map +1 -0
  264. package/dist/views/Logout/index.js +36 -0
  265. package/dist/views/Logout/index.js.map +1 -0
  266. package/dist/views/Logout/metadata.js +13 -0
  267. package/dist/views/Logout/metadata.js.map +1 -0
  268. package/dist/views/NotFound/index.client.js +88 -0
  269. package/dist/views/NotFound/index.client.js.map +1 -0
  270. package/dist/views/NotFound/index.js +87 -0
  271. package/dist/views/NotFound/index.js.map +1 -0
  272. package/dist/views/NotFound/metadata.js +11 -0
  273. package/dist/views/NotFound/metadata.js.map +1 -0
  274. package/dist/views/ResetPassword/ResetPasswordForm/index.js +117 -0
  275. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -0
  276. package/dist/views/ResetPassword/index.js +83 -0
  277. package/dist/views/ResetPassword/index.js.map +1 -0
  278. package/dist/views/ResetPassword/metadata.js +14 -0
  279. package/dist/views/ResetPassword/metadata.js.map +1 -0
  280. package/dist/views/Root/attachViewActions.js +27 -0
  281. package/dist/views/Root/attachViewActions.js.map +1 -0
  282. package/dist/views/Root/generateCustomViewMetadata.js +25 -0
  283. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -0
  284. package/dist/views/Root/getCustomViewByKey.js +16 -0
  285. package/dist/views/Root/getCustomViewByKey.js.map +1 -0
  286. package/dist/views/Root/getCustomViewByRoute.js +48 -0
  287. package/dist/views/Root/getCustomViewByRoute.js.map +1 -0
  288. package/dist/views/Root/getDocumentViewInfo.js +28 -0
  289. package/dist/views/Root/getDocumentViewInfo.js.map +1 -0
  290. package/dist/views/Root/getRouteData.js +359 -0
  291. package/dist/views/Root/getRouteData.js.map +1 -0
  292. package/dist/views/Root/index.js +300 -0
  293. package/dist/views/Root/index.js.map +1 -0
  294. package/dist/views/Root/isPathMatchingRoute.js +29 -0
  295. package/dist/views/Root/isPathMatchingRoute.js.map +1 -0
  296. package/dist/views/Root/metadata.js +209 -0
  297. package/dist/views/Root/metadata.js.map +1 -0
  298. package/dist/views/Unauthorized/index.js +54 -0
  299. package/dist/views/Unauthorized/index.js.map +1 -0
  300. package/dist/views/Unauthorized/metadata.js +14 -0
  301. package/dist/views/Unauthorized/metadata.js.map +1 -0
  302. package/dist/views/Verify/index.client.js +50 -0
  303. package/dist/views/Verify/index.client.js.map +1 -0
  304. package/dist/views/Verify/index.js +71 -0
  305. package/dist/views/Verify/index.js.map +1 -0
  306. package/dist/views/Verify/metadata.js +14 -0
  307. package/dist/views/Verify/metadata.js.map +1 -0
  308. package/dist/views/Version/Default/SelectedLocalesContext.js +8 -0
  309. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -0
  310. package/dist/views/Version/Default/SetStepNav.js +135 -0
  311. package/dist/views/Version/Default/SetStepNav.js.map +1 -0
  312. package/dist/views/Version/Default/index.js +253 -0
  313. package/dist/views/Version/Default/index.js.map +1 -0
  314. package/dist/views/Version/Default/types.js +2 -0
  315. package/dist/views/Version/Default/types.js.map +1 -0
  316. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +130 -0
  317. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -0
  318. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +80 -0
  319. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -0
  320. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +439 -0
  321. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -0
  322. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +61 -0
  323. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -0
  324. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +75 -0
  325. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
  326. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +66 -0
  327. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -0
  328. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +129 -0
  329. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -0
  330. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +45 -0
  331. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
  332. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +188 -0
  333. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -0
  334. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -0
  335. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -0
  336. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +87 -0
  337. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -0
  338. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +155 -0
  339. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -0
  340. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +100 -0
  341. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -0
  342. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +222 -0
  343. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
  344. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +35 -0
  345. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -0
  346. package/dist/views/Version/RenderFieldsToDiff/index.js +13 -0
  347. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -0
  348. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +242 -0
  349. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -0
  350. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +861 -0
  351. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -0
  352. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +4 -0
  353. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -0
  354. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +47 -0
  355. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -0
  356. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +45 -0
  357. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -0
  358. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +135 -0
  359. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -0
  360. package/dist/views/Version/Restore/index.js +106 -0
  361. package/dist/views/Version/Restore/index.js.map +1 -0
  362. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +56 -0
  363. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
  364. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +240 -0
  365. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
  366. package/dist/views/Version/SelectComparison/index.js +57 -0
  367. package/dist/views/Version/SelectComparison/index.js.map +1 -0
  368. package/dist/views/Version/SelectComparison/types.js +2 -0
  369. package/dist/views/Version/SelectComparison/types.js.map +1 -0
  370. package/dist/views/Version/SelectLocales/index.js +39 -0
  371. package/dist/views/Version/SelectLocales/index.js.map +1 -0
  372. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +110 -0
  373. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -0
  374. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +34 -0
  375. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -0
  376. package/dist/views/Version/fetchVersions.js +151 -0
  377. package/dist/views/Version/fetchVersions.js.map +1 -0
  378. package/dist/views/Version/index.js +349 -0
  379. package/dist/views/Version/index.js.map +1 -0
  380. package/dist/views/Version/metadata.js +58 -0
  381. package/dist/views/Version/metadata.js.map +1 -0
  382. package/dist/views/Versions/buildColumns.js +88 -0
  383. package/dist/views/Versions/buildColumns.js.map +1 -0
  384. package/dist/views/Versions/cells/AutosaveCell/index.js +45 -0
  385. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -0
  386. package/dist/views/Versions/cells/CreatedAt/index.js +60 -0
  387. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -0
  388. package/dist/views/Versions/cells/ID/index.js +12 -0
  389. package/dist/views/Versions/cells/ID/index.js.map +1 -0
  390. package/dist/views/Versions/index.client.js +89 -0
  391. package/dist/views/Versions/index.client.js.map +1 -0
  392. package/dist/views/Versions/index.js +157 -0
  393. package/dist/views/Versions/index.js.map +1 -0
  394. package/dist/views/Versions/metadata.js +51 -0
  395. package/dist/views/Versions/metadata.js.map +1 -0
  396. package/dist/views/Versions/types.js +2 -0
  397. package/dist/views/Versions/types.js.map +1 -0
  398. package/dist/withPayload/withPayload.js +162 -0
  399. package/dist/withPayload/withPayload.js.map +1 -0
  400. package/dist/withPayload/withPayload.spec.js +40 -0
  401. package/dist/withPayload/withPayload.spec.js.map +1 -0
  402. package/dist/withPayload/withPayload.utils.js +133 -0
  403. package/dist/withPayload/withPayload.utils.js.map +1 -0
  404. package/dist/withPayload/withPayloadLegacy.js +47 -0
  405. package/dist/withPayload/withPayloadLegacy.js.map +1 -0
  406. package/package.json +153 -0
@@ -0,0 +1,359 @@
1
+ import { parseDocumentID } from '@ruya.sa/payload';
2
+ import { formatAdminURL, isNumber } from '@ruya.sa/payload/shared';
3
+ import { AccountView } from '../Account/index.js';
4
+ import { BrowseByFolder } from '../BrowseByFolder/index.js';
5
+ import { CollectionFolderView } from '../CollectionFolders/index.js';
6
+ import { TrashView } from '../CollectionTrash/index.js';
7
+ import { CreateFirstUserView } from '../CreateFirstUser/index.js';
8
+ import { DashboardView } from '../Dashboard/index.js';
9
+ import { DocumentView } from '../Document/index.js';
10
+ import { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js';
11
+ import { ListView } from '../List/index.js';
12
+ import { loginBaseClass, LoginView } from '../Login/index.js';
13
+ import { LogoutInactivity, LogoutView } from '../Logout/index.js';
14
+ import { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js';
15
+ import { UnauthorizedView } from '../Unauthorized/index.js';
16
+ import { Verify, verifyBaseClass } from '../Verify/index.js';
17
+ import { getSubViewActions, getViewActions } from './attachViewActions.js';
18
+ import { getCustomViewByKey } from './getCustomViewByKey.js';
19
+ import { getCustomViewByRoute } from './getCustomViewByRoute.js';
20
+ import { getDocumentViewInfo } from './getDocumentViewInfo.js';
21
+ import { isPathMatchingRoute } from './isPathMatchingRoute.js';
22
+ const baseClasses = {
23
+ account: 'account',
24
+ folders: 'folders',
25
+ forgot: forgotPasswordBaseClass,
26
+ login: loginBaseClass,
27
+ reset: resetPasswordBaseClass,
28
+ verify: verifyBaseClass
29
+ };
30
+ const oneSegmentViews = {
31
+ account: AccountView,
32
+ browseByFolder: BrowseByFolder,
33
+ createFirstUser: CreateFirstUserView,
34
+ forgot: ForgotPasswordView,
35
+ inactivity: LogoutInactivity,
36
+ login: LoginView,
37
+ logout: LogoutView,
38
+ unauthorized: UnauthorizedView
39
+ };
40
+ export const getRouteData = ({
41
+ adminRoute,
42
+ collectionConfig,
43
+ collectionPreferences = undefined,
44
+ currentRoute,
45
+ globalConfig,
46
+ payload,
47
+ segments
48
+ }) => {
49
+ const {
50
+ config
51
+ } = payload;
52
+ let ViewToRender = null;
53
+ let templateClassName;
54
+ let templateType;
55
+ let documentSubViewType;
56
+ let viewType;
57
+ const routeParams = {};
58
+ const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments;
59
+ const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder;
60
+ const browseByFolderSlugs = isBrowseByFolderEnabled && config.collections.reduce((acc, {
61
+ slug,
62
+ folders
63
+ }) => {
64
+ if (folders && folders.browseByFolder) {
65
+ return [...acc, slug];
66
+ }
67
+ return acc;
68
+ }, []) || [];
69
+ const viewActions = [...(config?.admin?.components?.actions || [])];
70
+ switch (segments.length) {
71
+ case 0:
72
+ {
73
+ if (currentRoute === adminRoute) {
74
+ ViewToRender = {
75
+ Component: DashboardView
76
+ };
77
+ templateClassName = 'dashboard';
78
+ templateType = 'default';
79
+ viewType = 'dashboard';
80
+ }
81
+ break;
82
+ }
83
+ case 1:
84
+ {
85
+ // users can override the default routes via `admin.routes` config
86
+ // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}
87
+ let viewKey;
88
+ if (config.admin.routes) {
89
+ const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {
90
+ return isPathMatchingRoute({
91
+ currentRoute,
92
+ exact: true,
93
+ path: formatAdminURL({
94
+ adminRoute,
95
+ path: route
96
+ })
97
+ });
98
+ });
99
+ if (matchedRoute) {
100
+ viewKey = matchedRoute[0];
101
+ }
102
+ }
103
+ // Check if a custom view is configured for this viewKey
104
+ // First try to get custom view by the known viewKey, then fallback to route matching
105
+ const customView = viewKey && getCustomViewByKey({
106
+ config,
107
+ viewKey
108
+ }) || getCustomViewByRoute({
109
+ config,
110
+ currentRoute
111
+ });
112
+ if (customView?.view?.payloadComponent || customView?.view?.Component) {
113
+ // User has configured a custom view (either overriding a built-in or a new custom view)
114
+ ViewToRender = customView.view;
115
+ // If this custom view is overriding a built-in view (viewKey matches a built-in),
116
+ // use the built-in's template settings and viewType
117
+ if (viewKey && oneSegmentViews[viewKey]) {
118
+ viewType = viewKey;
119
+ templateClassName = baseClasses[viewKey] || viewKey;
120
+ templateType = 'minimal';
121
+ if (viewKey === 'account') {
122
+ templateType = 'default';
123
+ }
124
+ if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {
125
+ templateType = 'default';
126
+ viewType = 'folders';
127
+ }
128
+ }
129
+ } else if (oneSegmentViews[viewKey]) {
130
+ // --> /account
131
+ // --> /create-first-user
132
+ // --> /browse-by-folder
133
+ // --> /forgot
134
+ // --> /login
135
+ // --> /logout
136
+ // --> /logout-inactivity
137
+ // --> /unauthorized
138
+ ViewToRender = {
139
+ Component: oneSegmentViews[viewKey]
140
+ };
141
+ viewType = viewKey;
142
+ templateClassName = baseClasses[viewKey];
143
+ templateType = 'minimal';
144
+ if (viewKey === 'account') {
145
+ templateType = 'default';
146
+ }
147
+ if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {
148
+ templateType = 'default';
149
+ viewType = 'folders';
150
+ }
151
+ }
152
+ break;
153
+ }
154
+ case 2:
155
+ {
156
+ if (`/${segmentOne}` === config.admin.routes.reset) {
157
+ // --> /reset/:token
158
+ ViewToRender = {
159
+ Component: ResetPassword
160
+ };
161
+ templateClassName = baseClasses[segmentTwo];
162
+ templateType = 'minimal';
163
+ viewType = 'reset';
164
+ } else if (isBrowseByFolderEnabled && `/${segmentOne}` === config.admin.routes.browseByFolder) {
165
+ // --> /browse-by-folder/:folderID
166
+ routeParams.folderID = segmentTwo;
167
+ ViewToRender = {
168
+ Component: oneSegmentViews.browseByFolder
169
+ };
170
+ templateClassName = baseClasses.folders;
171
+ templateType = 'default';
172
+ viewType = 'folders';
173
+ } else if (collectionConfig) {
174
+ // --> /collections/:collectionSlug'
175
+ routeParams.collection = collectionConfig.slug;
176
+ if (collectionPreferences?.listViewType && collectionPreferences.listViewType === 'folders') {
177
+ // Render folder view by default if set in preferences
178
+ ViewToRender = {
179
+ Component: CollectionFolderView
180
+ };
181
+ templateClassName = `collection-folders`;
182
+ templateType = 'default';
183
+ viewType = 'collection-folders';
184
+ } else {
185
+ ViewToRender = {
186
+ Component: ListView
187
+ };
188
+ templateClassName = `${segmentTwo}-list`;
189
+ templateType = 'default';
190
+ viewType = 'list';
191
+ }
192
+ viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []));
193
+ } else if (globalConfig) {
194
+ // --> /globals/:globalSlug
195
+ routeParams.global = globalConfig.slug;
196
+ ViewToRender = {
197
+ Component: DocumentView
198
+ };
199
+ templateClassName = 'global-edit';
200
+ templateType = 'default';
201
+ viewType = 'document';
202
+ // add default view actions
203
+ viewActions.push(...getViewActions({
204
+ editConfig: globalConfig.admin?.components?.views?.edit,
205
+ viewKey: 'default'
206
+ }));
207
+ }
208
+ break;
209
+ }
210
+ default:
211
+ if (segmentTwo === 'verify') {
212
+ // --> /:collectionSlug/verify/:token
213
+ routeParams.collection = segmentOne;
214
+ routeParams.token = segmentThree;
215
+ ViewToRender = {
216
+ Component: Verify
217
+ };
218
+ templateClassName = 'verify';
219
+ templateType = 'minimal';
220
+ viewType = 'verify';
221
+ } else if (collectionConfig) {
222
+ routeParams.collection = collectionConfig.slug;
223
+ if (segmentThree === 'trash' && typeof segmentFour === 'string') {
224
+ // --> /collections/:collectionSlug/trash/:id (read-only)
225
+ // --> /collections/:collectionSlug/trash/:id/api
226
+ // --> /collections/:collectionSlug/trash/:id/preview
227
+ // --> /collections/:collectionSlug/trash/:id/versions
228
+ // --> /collections/:collectionSlug/trash/:id/versions/:versionID
229
+ routeParams.id = segmentFour;
230
+ routeParams.versionID = segmentSix;
231
+ ViewToRender = {
232
+ Component: DocumentView
233
+ };
234
+ templateClassName = `collection-default-edit`;
235
+ templateType = 'default';
236
+ const viewInfo = getDocumentViewInfo([segmentFive, segmentSix]);
237
+ viewType = viewInfo.viewType;
238
+ documentSubViewType = viewInfo.documentSubViewType;
239
+ viewActions.push(...getSubViewActions({
240
+ collectionOrGlobal: collectionConfig,
241
+ viewKeyArg: documentSubViewType
242
+ }));
243
+ } else if (segmentThree === 'trash') {
244
+ // --> /collections/:collectionSlug/trash
245
+ ViewToRender = {
246
+ Component: TrashView
247
+ };
248
+ templateClassName = `${segmentTwo}-trash`;
249
+ templateType = 'default';
250
+ viewType = 'trash';
251
+ viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []));
252
+ } else {
253
+ if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {
254
+ // Collection Folder Views
255
+ // --> /collections/:collectionSlug/:folderCollectionSlug
256
+ // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID
257
+ routeParams.folderCollection = segmentThree;
258
+ routeParams.folderID = segmentFour;
259
+ ViewToRender = {
260
+ Component: CollectionFolderView
261
+ };
262
+ templateClassName = `collection-folders`;
263
+ templateType = 'default';
264
+ viewType = 'collection-folders';
265
+ viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []));
266
+ } else {
267
+ // Collection Edit Views
268
+ // --> /collections/:collectionSlug/create
269
+ // --> /collections/:collectionSlug/:id
270
+ // --> /collections/:collectionSlug/:id/api
271
+ // --> /collections/:collectionSlug/:id/versions
272
+ // --> /collections/:collectionSlug/:id/versions/:versionID
273
+ routeParams.id = segmentThree === 'create' ? undefined : segmentThree;
274
+ routeParams.versionID = segmentFive;
275
+ ViewToRender = {
276
+ Component: DocumentView
277
+ };
278
+ templateClassName = `collection-default-edit`;
279
+ templateType = 'default';
280
+ const viewInfo = getDocumentViewInfo([segmentFour, segmentFive]);
281
+ viewType = viewInfo.viewType;
282
+ documentSubViewType = viewInfo.documentSubViewType;
283
+ viewActions.push(...getSubViewActions({
284
+ collectionOrGlobal: collectionConfig,
285
+ viewKeyArg: documentSubViewType
286
+ }));
287
+ }
288
+ }
289
+ } else if (globalConfig) {
290
+ // Global Edit Views
291
+ // --> /globals/:globalSlug/versions
292
+ // --> /globals/:globalSlug/versions/:versionID
293
+ // --> /globals/:globalSlug/api
294
+ routeParams.global = globalConfig.slug;
295
+ routeParams.versionID = segmentFour;
296
+ ViewToRender = {
297
+ Component: DocumentView
298
+ };
299
+ templateClassName = `global-edit`;
300
+ templateType = 'default';
301
+ const viewInfo = getDocumentViewInfo([segmentThree, segmentFour]);
302
+ viewType = viewInfo.viewType;
303
+ documentSubViewType = viewInfo.documentSubViewType;
304
+ viewActions.push(...getSubViewActions({
305
+ collectionOrGlobal: globalConfig,
306
+ viewKeyArg: documentSubViewType
307
+ }));
308
+ }
309
+ break;
310
+ }
311
+ if (!ViewToRender) {
312
+ ViewToRender = getCustomViewByRoute({
313
+ config,
314
+ currentRoute
315
+ })?.view;
316
+ }
317
+ if (collectionConfig) {
318
+ if (routeParams.id) {
319
+ routeParams.id = parseDocumentID({
320
+ id: routeParams.id,
321
+ collectionSlug: collectionConfig.slug,
322
+ payload
323
+ });
324
+ }
325
+ if (routeParams.versionID) {
326
+ routeParams.versionID = parseDocumentID({
327
+ id: routeParams.versionID,
328
+ collectionSlug: collectionConfig.slug,
329
+ payload
330
+ });
331
+ }
332
+ }
333
+ if (config.folders && routeParams.folderID) {
334
+ routeParams.folderID = parseDocumentID({
335
+ id: routeParams.folderID,
336
+ collectionSlug: config.folders.slug,
337
+ payload
338
+ });
339
+ }
340
+ if (globalConfig && routeParams.versionID) {
341
+ routeParams.versionID = payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID) ? Number(routeParams.versionID) : routeParams.versionID;
342
+ }
343
+ if (viewActions.length) {
344
+ viewActions.reverse();
345
+ }
346
+ return {
347
+ browseByFolderSlugs,
348
+ collectionConfig,
349
+ DefaultView: ViewToRender,
350
+ documentSubViewType,
351
+ globalConfig,
352
+ routeParams,
353
+ templateClassName,
354
+ templateType,
355
+ viewActions: viewActions.length ? viewActions : undefined,
356
+ viewType
357
+ };
358
+ };
359
+ //# sourceMappingURL=getRouteData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","AccountView","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","DashboardView","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getSubViewActions","getViewActions","getCustomViewByKey","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","viewActions","admin","components","actions","length","Component","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","customView","view","payloadComponent","folderID","collection","listViewType","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n CollectionSlug,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from '@ruya.sa/payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from '@ruya.sa/payload'\nimport { formatAdminURL, isNumber } from '@ruya.sa/payload/shared'\n\nimport { AccountView } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { DashboardView } from '../Dashboard/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: AccountView,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n folderCollection?: string\n folderID?: number | string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: DashboardView,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({\n adminRoute,\n path: route,\n }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n // Check if a custom view is configured for this viewKey\n // First try to get custom view by the known viewKey, then fallback to route matching\n const customView =\n (viewKey && getCustomViewByKey({ config, viewKey })) ||\n getCustomViewByRoute({ config, currentRoute })\n\n if (customView?.view?.payloadComponent || customView?.view?.Component) {\n // User has configured a custom view (either overriding a built-in or a new custom view)\n ViewToRender = customView.view\n\n // If this custom view is overriding a built-in view (viewKey matches a built-in),\n // use the built-in's template settings and viewType\n if (viewKey && oneSegmentViews[viewKey]) {\n viewType = viewKey as ViewTypes\n templateClassName = baseClasses[viewKey] || viewKey\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n } else if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n routeParams.folderID = segmentTwo\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (\n collectionPreferences?.listViewType &&\n collectionPreferences.listViewType === 'folders'\n ) {\n // Render folder view by default if set in preferences\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n } else {\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n routeParams.folderCollection = segmentThree\n routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (config.folders && routeParams.folderID) {\n routeParams.folderID = parseDocumentID({\n id: routeParams.folderID,\n collectionSlug: config.folders.slug,\n payload,\n })\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n browseByFolderSlugs,\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}