@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,52 @@
1
+ import { getTranslation } from '@ruya.sa/translations';
2
+ import { generateMetadata } from '../../utilities/meta.js';
3
+ /**
4
+ * @todo Remove the type assertion. This is currently required because of how the `Metadata` type from `next` consumes the `URL` type.
5
+ */
6
+ export const generateEditViewMetadata = async ({
7
+ collectionConfig,
8
+ config,
9
+ globalConfig,
10
+ i18n,
11
+ isEditing,
12
+ isReadOnly = false,
13
+ view = 'default'
14
+ }) => {
15
+ const {
16
+ t
17
+ } = i18n;
18
+ const entityLabel = collectionConfig ? getTranslation(collectionConfig.labels.singular, i18n) : globalConfig ? getTranslation(globalConfig.label, i18n) : '';
19
+ const verb = isReadOnly ? t('general:viewing') : isEditing ? t('general:editing') : t('general:creating');
20
+ const metaToUse = {
21
+ ...(config.admin.meta || {}),
22
+ description: `${verb} - ${entityLabel}`,
23
+ keywords: `${entityLabel}, Payload, CMS`,
24
+ title: `${verb} - ${entityLabel}`
25
+ };
26
+ const ogToUse = {
27
+ title: `${isEditing ? t('general:edit') : t('general:edit')} - ${entityLabel}`,
28
+ ...(config.admin.meta.openGraph || {}),
29
+ ...(collectionConfig ? {
30
+ ...(collectionConfig?.admin.meta?.openGraph || {}),
31
+ ...(collectionConfig?.admin?.components?.views?.edit?.[view]?.meta?.openGraph || {})
32
+ } : {}),
33
+ ...(globalConfig ? {
34
+ ...(globalConfig?.admin.meta?.openGraph || {}),
35
+ ...(globalConfig?.admin?.components?.views?.edit?.[view]?.meta?.openGraph || {})
36
+ } : {})
37
+ };
38
+ return generateMetadata({
39
+ ...metaToUse,
40
+ openGraph: ogToUse,
41
+ ...(collectionConfig ? {
42
+ ...(collectionConfig?.admin.meta || {}),
43
+ ...(collectionConfig?.admin?.components?.views?.edit?.[view]?.meta || {})
44
+ } : {}),
45
+ ...(globalConfig ? {
46
+ ...(globalConfig?.admin.meta || {}),
47
+ ...(globalConfig?.admin?.components?.views?.edit?.[view]?.meta || {})
48
+ } : {}),
49
+ serverURL: config.serverURL
50
+ });
51
+ };
52
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","names":["getTranslation","generateMetadata","generateEditViewMetadata","collectionConfig","config","globalConfig","i18n","isEditing","isReadOnly","view","t","entityLabel","labels","singular","label","verb","metaToUse","admin","meta","description","keywords","title","ogToUse","openGraph","components","views","edit","serverURL"],"sources":["../../../src/views/Edit/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { MetaConfig } from '@ruya.sa/payload'\n\nimport { getTranslation } from '@ruya.sa/translations'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\n/**\n * @todo Remove the type assertion. This is currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateEditViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n isEditing,\n isReadOnly = false,\n view = 'default',\n}): Promise<Metadata> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n const verb = isReadOnly\n ? t('general:viewing')\n : isEditing\n ? t('general:editing')\n : t('general:creating')\n\n const metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n description: `${verb} - ${entityLabel}`,\n keywords: `${entityLabel}, Payload, CMS`,\n title: `${verb} - ${entityLabel}`,\n }\n\n const ogToUse: MetaConfig['openGraph'] = {\n title: `${isEditing ? t('general:edit') : t('general:edit')} - ${entityLabel}`,\n ...(config.admin.meta.openGraph || {}),\n ...((collectionConfig\n ? {\n ...(collectionConfig?.admin.meta?.openGraph || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.[view]?.meta?.openGraph || {}),\n }\n : {}) as MetaConfig['openGraph']),\n ...((globalConfig\n ? {\n ...(globalConfig?.admin.meta?.openGraph || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.[view]?.meta?.openGraph || {}),\n }\n : {}) as MetaConfig['openGraph']),\n }\n\n return generateMetadata({\n ...metaToUse,\n openGraph: ogToUse,\n ...((collectionConfig\n ? {\n ...(collectionConfig?.admin.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.[view]?.meta || {}),\n }\n : {}) as MetaConfig),\n ...((globalConfig\n ? {\n ...(globalConfig?.admin.meta || {}),\n ...(globalConfig?.admin?.components?.views?.edit?.[view]?.meta || {}),\n }\n : {}) as MetaConfig),\n serverURL: config.serverURL,\n })\n}\n"],"mappings":"AAGA,SAASA,cAAc,QAAQ;AAI/B,SAASC,gBAAgB,QAAQ;AAEjC;;;AAGA,OAAO,MAAMC,wBAAA,GAAqD,MAAAA,CAAO;EACvEC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC,IAAI;EACJC,SAAS;EACTC,UAAA,GAAa,KAAK;EAClBC,IAAA,GAAO;AAAS,CACjB;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGJ,IAAA;EAEd,MAAMK,WAAA,GAAcR,gBAAA,GAChBH,cAAA,CAAeG,gBAAA,CAAiBS,MAAM,CAACC,QAAQ,EAAEP,IAAA,IACjDD,YAAA,GACEL,cAAA,CAAeK,YAAA,CAAaS,KAAK,EAAER,IAAA,IACnC;EAEN,MAAMS,IAAA,GAAOP,UAAA,GACTE,CAAA,CAAE,qBACFH,SAAA,GACEG,CAAA,CAAE,qBACFA,CAAA,CAAE;EAER,MAAMM,SAAA,GAAwB;IAC5B,IAAIZ,MAAA,CAAOa,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;IAC3BC,WAAA,EAAa,GAAGJ,IAAA,MAAUJ,WAAA,EAAa;IACvCS,QAAA,EAAU,GAAGT,WAAA,gBAA2B;IACxCU,KAAA,EAAO,GAAGN,IAAA,MAAUJ,WAAA;EACtB;EAEA,MAAMW,OAAA,GAAmC;IACvCD,KAAA,EAAO,GAAGd,SAAA,GAAYG,CAAA,CAAE,kBAAkBA,CAAA,CAAE,qBAAqBC,WAAA,EAAa;IAC9E,IAAIP,MAAA,CAAOa,KAAK,CAACC,IAAI,CAACK,SAAS,IAAI,CAAC,CAAC;IACrC,IAAKpB,gBAAA,GACD;MACE,IAAIA,gBAAA,EAAkBc,KAAA,CAAMC,IAAA,EAAMK,SAAA,IAAa,CAAC,CAAC;MACjD,IAAIpB,gBAAA,EAAkBc,KAAA,EAAOO,UAAA,EAAYC,KAAA,EAAOC,IAAA,GAAOjB,IAAA,CAAK,EAAES,IAAA,EAAMK,SAAA,IAAa,CAAC,CAAC;IACrF,IACA,CAAC,CAAC;IACN,IAAKlB,YAAA,GACD;MACE,IAAIA,YAAA,EAAcY,KAAA,CAAMC,IAAA,EAAMK,SAAA,IAAa,CAAC,CAAC;MAC7C,IAAIlB,YAAA,EAAcY,KAAA,EAAOO,UAAA,EAAYC,KAAA,EAAOC,IAAA,GAAOjB,IAAA,CAAK,EAAES,IAAA,EAAMK,SAAA,IAAa,CAAC,CAAC;IACjF,IACA,CAAC,CAAC;EACR;EAEA,OAAOtB,gBAAA,CAAiB;IACtB,GAAGe,SAAS;IACZO,SAAA,EAAWD,OAAA;IACX,IAAKnB,gBAAA,GACD;MACE,IAAIA,gBAAA,EAAkBc,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MACtC,IAAIf,gBAAA,EAAkBc,KAAA,EAAOO,UAAA,EAAYC,KAAA,EAAOC,IAAA,GAAOjB,IAAA,CAAK,EAAES,IAAA,IAAQ,CAAC,CAAC;IAC1E,IACA,CAAC,CAAC;IACN,IAAKb,YAAA,GACD;MACE,IAAIA,YAAA,EAAcY,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MAClC,IAAIb,YAAA,EAAcY,KAAA,EAAOO,UAAA,EAAYC,KAAA,EAAOC,IAAA,GAAOjB,IAAA,CAAK,EAAES,IAAA,IAAQ,CAAC,CAAC;IACtE,IACA,CAAC,CAAC;IACNS,SAAA,EAAWvB,MAAA,CAAOuB;EACpB;AACF","ignoreList":[]}
@@ -0,0 +1,179 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@ruya.sa/ui';
6
+ import { email, text } from '@ruya.sa/payload/shared';
7
+ import React, { useState } from 'react';
8
+ import { FormHeader } from '../../../elements/FormHeader/index.js';
9
+ export const ForgotPasswordForm = () => {
10
+ const $ = _c(17);
11
+ const {
12
+ config,
13
+ getEntityConfig
14
+ } = useConfig();
15
+ const {
16
+ admin: t0,
17
+ routes: t1
18
+ } = config;
19
+ const {
20
+ user: userSlug
21
+ } = t0;
22
+ const {
23
+ api
24
+ } = t1;
25
+ const {
26
+ t
27
+ } = useTranslation();
28
+ const [hasSubmitted, setHasSubmitted] = useState(false);
29
+ let t2;
30
+ if ($[0] !== getEntityConfig || $[1] !== userSlug) {
31
+ t2 = getEntityConfig({
32
+ collectionSlug: userSlug
33
+ });
34
+ $[0] = getEntityConfig;
35
+ $[1] = userSlug;
36
+ $[2] = t2;
37
+ } else {
38
+ t2 = $[2];
39
+ }
40
+ const collectionConfig = t2;
41
+ const loginWithUsername = collectionConfig?.auth?.loginWithUsername;
42
+ let t3;
43
+ if ($[3] !== loginWithUsername || $[4] !== t) {
44
+ t3 = (res, successToast, errorToast) => {
45
+ res.json().then(() => {
46
+ setHasSubmitted(true);
47
+ successToast(t("general:submissionSuccessful"));
48
+ }).catch(() => {
49
+ errorToast(loginWithUsername ? t("authentication:usernameNotValid") : t("authentication:emailNotValid"));
50
+ });
51
+ };
52
+ $[3] = loginWithUsername;
53
+ $[4] = t;
54
+ $[5] = t3;
55
+ } else {
56
+ t3 = $[5];
57
+ }
58
+ const handleResponse = t3;
59
+ let t4;
60
+ let t5;
61
+ if ($[6] !== api || $[7] !== config || $[8] !== handleResponse || $[9] !== hasSubmitted || $[10] !== loginWithUsername || $[11] !== t || $[12] !== userSlug) {
62
+ t5 = Symbol.for("react.early_return_sentinel");
63
+ bb0: {
64
+ const initialState = loginWithUsername ? {
65
+ username: {
66
+ initialValue: "",
67
+ valid: true,
68
+ value: undefined
69
+ }
70
+ } : {
71
+ email: {
72
+ initialValue: "",
73
+ valid: true,
74
+ value: undefined
75
+ }
76
+ };
77
+ if (hasSubmitted) {
78
+ let t6;
79
+ if ($[15] !== t) {
80
+ t6 = _jsx(FormHeader, {
81
+ description: t("authentication:checkYourEmailForPasswordReset"),
82
+ heading: t("authentication:emailSent")
83
+ });
84
+ $[15] = t;
85
+ $[16] = t6;
86
+ } else {
87
+ t6 = $[16];
88
+ }
89
+ t5 = t6;
90
+ break bb0;
91
+ }
92
+ t4 = _jsxs(Form, {
93
+ action: `${api}/${userSlug}/forgot-password`,
94
+ handleResponse,
95
+ initialState,
96
+ method: "POST",
97
+ children: [_jsx(FormHeader, {
98
+ description: loginWithUsername ? t("authentication:forgotPasswordUsernameInstructions") : t("authentication:forgotPasswordEmailInstructions"),
99
+ heading: t("authentication:forgotPassword")
100
+ }), loginWithUsername ? _jsx(TextField, {
101
+ field: {
102
+ name: "username",
103
+ label: t("authentication:username"),
104
+ required: true
105
+ },
106
+ path: "username",
107
+ validate: value => text(value, {
108
+ name: "username",
109
+ type: "text",
110
+ blockData: {},
111
+ data: {},
112
+ event: "onChange",
113
+ path: ["username"],
114
+ preferences: {
115
+ fields: {}
116
+ },
117
+ req: {
118
+ payload: {
119
+ config
120
+ },
121
+ t
122
+ },
123
+ required: true,
124
+ siblingData: {}
125
+ })
126
+ }) : _jsx(EmailField, {
127
+ field: {
128
+ name: "email",
129
+ admin: {
130
+ autoComplete: "email"
131
+ },
132
+ label: t("general:email"),
133
+ required: true
134
+ },
135
+ path: "email",
136
+ validate: value_0 => email(value_0, {
137
+ name: "email",
138
+ type: "email",
139
+ blockData: {},
140
+ data: {},
141
+ event: "onChange",
142
+ path: ["email"],
143
+ preferences: {
144
+ fields: {}
145
+ },
146
+ req: {
147
+ payload: {
148
+ config
149
+ },
150
+ t
151
+ },
152
+ required: true,
153
+ siblingData: {}
154
+ })
155
+ }), _jsx(FormSubmit, {
156
+ size: "large",
157
+ children: t("general:submit")
158
+ })]
159
+ });
160
+ }
161
+ $[6] = api;
162
+ $[7] = config;
163
+ $[8] = handleResponse;
164
+ $[9] = hasSubmitted;
165
+ $[10] = loginWithUsername;
166
+ $[11] = t;
167
+ $[12] = userSlug;
168
+ $[13] = t4;
169
+ $[14] = t5;
170
+ } else {
171
+ t4 = $[13];
172
+ t5 = $[14];
173
+ }
174
+ if (t5 !== Symbol.for("react.early_return_sentinel")) {
175
+ return t5;
176
+ }
177
+ return t4;
178
+ };
179
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","EmailField","Form","FormSubmit","TextField","useConfig","useTranslation","email","text","React","useState","FormHeader","ForgotPasswordForm","$","config","getEntityConfig","admin","t0","routes","t1","user","userSlug","api","t","hasSubmitted","setHasSubmitted","t2","collectionSlug","collectionConfig","loginWithUsername","auth","t3","res","successToast","errorToast","json","then","catch","handleResponse","t4","t5","Symbol","for","initialState","username","initialValue","valid","value","undefined","t6","_jsx","description","heading","_jsxs","action","method","children","field","name","label","required","path","validate","type","blockData","data","event","preferences","fields","req","payload","siblingData","autoComplete","value_0","size"],"sources":["../../../../src/views/ForgotPassword/ForgotPasswordForm/index.tsx"],"sourcesContent":["'use client'\n\nimport type { FormProps } from '@ruya.sa/ui'\nimport type { FormState, PayloadRequest } from '@ruya.sa/payload'\n\nimport { EmailField, Form, FormSubmit, TextField, useConfig, useTranslation } from '@ruya.sa/ui'\nimport { email, text } from '@ruya.sa/payload/shared'\nimport React, { useState } from 'react'\n\nimport { FormHeader } from '../../../elements/FormHeader/index.js'\n\nexport const ForgotPasswordForm: React.FC = () => {\n const { config, getEntityConfig } = useConfig()\n\n const {\n admin: { user: userSlug },\n routes: { api },\n } = config\n\n const { t } = useTranslation()\n const [hasSubmitted, setHasSubmitted] = useState(false)\n const collectionConfig = getEntityConfig({ collectionSlug: userSlug })\n const loginWithUsername = collectionConfig?.auth?.loginWithUsername\n\n const handleResponse: FormProps['handleResponse'] = (res, successToast, errorToast) => {\n res\n .json()\n .then(() => {\n setHasSubmitted(true)\n successToast(t('general:submissionSuccessful'))\n })\n .catch(() => {\n errorToast(\n loginWithUsername\n ? t('authentication:usernameNotValid')\n : t('authentication:emailNotValid'),\n )\n })\n }\n\n const initialState: FormState = loginWithUsername\n ? {\n username: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n : {\n email: {\n initialValue: '',\n valid: true,\n value: undefined,\n },\n }\n\n if (hasSubmitted) {\n return (\n <FormHeader\n description={t('authentication:checkYourEmailForPasswordReset')}\n heading={t('authentication:emailSent')}\n />\n )\n }\n\n return (\n <Form\n action={`${api}/${userSlug}/forgot-password`}\n handleResponse={handleResponse}\n initialState={initialState}\n method=\"POST\"\n >\n <FormHeader\n description={\n loginWithUsername\n ? t('authentication:forgotPasswordUsernameInstructions')\n : t('authentication:forgotPasswordEmailInstructions')\n }\n heading={t('authentication:forgotPassword')}\n />\n\n {loginWithUsername ? (\n <TextField\n field={{\n name: 'username',\n label: t('authentication:username'),\n required: true,\n }}\n path=\"username\"\n validate={(value) =>\n text(value, {\n name: 'username',\n type: 'text',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['username'],\n preferences: { fields: {} },\n req: {\n payload: {\n config,\n },\n t,\n } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n ) : (\n <EmailField\n field={{\n name: 'email',\n admin: {\n autoComplete: 'email',\n },\n label: t('general:email'),\n required: true,\n }}\n path=\"email\"\n validate={(value) =>\n email(value, {\n name: 'email',\n type: 'email',\n blockData: {},\n data: {},\n event: 'onChange',\n path: ['email'],\n preferences: { fields: {} },\n req: { payload: { config }, t } as unknown as PayloadRequest,\n required: true,\n siblingData: {},\n })\n }\n />\n )}\n <FormSubmit size=\"large\">{t('general:submit')}</FormSubmit>\n </Form>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Link } from '@ruya.sa/ui';
3
+ import { Translation } from '@ruya.sa/ui/shared';
4
+ import { formatAdminURL } from '@ruya.sa/payload/shared';
5
+ import React, { Fragment } from 'react';
6
+ import { FormHeader } from '../../elements/FormHeader/index.js';
7
+ import { ForgotPasswordForm } from './ForgotPasswordForm/index.js';
8
+ export const forgotPasswordBaseClass = 'forgot-password';
9
+ export function ForgotPasswordView({
10
+ initPageResult
11
+ }) {
12
+ const {
13
+ req: {
14
+ i18n,
15
+ payload: {
16
+ config
17
+ },
18
+ user
19
+ }
20
+ } = initPageResult;
21
+ const {
22
+ admin: {
23
+ routes: {
24
+ account: accountRoute,
25
+ login: loginRoute
26
+ }
27
+ },
28
+ routes: {
29
+ admin: adminRoute
30
+ }
31
+ } = config;
32
+ if (user) {
33
+ return /*#__PURE__*/_jsxs(Fragment, {
34
+ children: [/*#__PURE__*/_jsx(FormHeader, {
35
+ description: /*#__PURE__*/_jsx(Translation, {
36
+ elements: {
37
+ '0': ({
38
+ children
39
+ }) => /*#__PURE__*/_jsx(Link, {
40
+ href: formatAdminURL({
41
+ adminRoute,
42
+ path: accountRoute
43
+ }),
44
+ prefetch: false,
45
+ children: children
46
+ })
47
+ },
48
+ i18nKey: "authentication:loggedInChangePassword",
49
+ t: i18n.t
50
+ }),
51
+ heading: i18n.t('authentication:alreadyLoggedIn')
52
+ }), /*#__PURE__*/_jsx(Button, {
53
+ buttonStyle: "secondary",
54
+ el: "link",
55
+ size: "large",
56
+ to: adminRoute,
57
+ children: i18n.t('general:backToDashboard')
58
+ })]
59
+ });
60
+ }
61
+ return /*#__PURE__*/_jsxs(Fragment, {
62
+ children: [/*#__PURE__*/_jsx(ForgotPasswordForm, {}), /*#__PURE__*/_jsx(Link, {
63
+ href: formatAdminURL({
64
+ adminRoute,
65
+ path: loginRoute
66
+ }),
67
+ prefetch: false,
68
+ children: i18n.t('authentication:backToLogin')
69
+ })]
70
+ });
71
+ }
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Button","Link","Translation","formatAdminURL","React","Fragment","FormHeader","ForgotPasswordForm","forgotPasswordBaseClass","ForgotPasswordView","initPageResult","req","i18n","payload","config","user","admin","routes","account","accountRoute","login","loginRoute","adminRoute","_jsxs","_jsx","description","elements","0","children","href","path","prefetch","i18nKey","t","heading","buttonStyle","el","size","to"],"sources":["../../../src/views/ForgotPassword/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from '@ruya.sa/payload'\n\nimport { Button, Link } from '@ruya.sa/ui'\nimport { Translation } from '@ruya.sa/ui/shared'\nimport { formatAdminURL } from '@ruya.sa/payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport { ForgotPasswordForm } from './ForgotPasswordForm/index.js'\n\nexport const forgotPasswordBaseClass = 'forgot-password'\n\nexport function ForgotPasswordView({ initPageResult }: AdminViewServerProps) {\n const {\n req: {\n i18n,\n payload: { config },\n user,\n },\n } = initPageResult\n\n const {\n admin: {\n routes: { account: accountRoute, login: loginRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n if (user) {\n return (\n <Fragment>\n <FormHeader\n description={\n <Translation\n elements={{\n '0': ({ children }) => (\n <Link\n href={formatAdminURL({\n adminRoute,\n path: accountRoute,\n })}\n prefetch={false}\n >\n {children}\n </Link>\n ),\n }}\n i18nKey=\"authentication:loggedInChangePassword\"\n t={i18n.t}\n />\n }\n heading={i18n.t('authentication:alreadyLoggedIn')}\n />\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" to={adminRoute}>\n {i18n.t('general:backToDashboard')}\n </Button>\n </Fragment>\n )\n }\n\n return (\n <Fragment>\n <ForgotPasswordForm />\n <Link\n href={formatAdminURL({\n adminRoute,\n path: loginRoute,\n })}\n prefetch={false}\n >\n {i18n.t('authentication:backToLogin')}\n </Link>\n </Fragment>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,IAAI,QAAQ;AAC7B,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,UAAU,QAAQ;AAC3B,SAASC,kBAAkB,QAAQ;AAEnC,OAAO,MAAMC,uBAAA,GAA0B;AAEvC,OAAO,SAASC,mBAAmB;EAAEC;AAAc,CAAwB;EACzE,MAAM;IACJC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBC;IAAI;EACL,CACF,GAAGL,cAAA;EAEJ,MAAM;IACJM,KAAA,EAAO;MACLC,MAAA,EAAQ;QAAEC,OAAA,EAASC,YAAY;QAAEC,KAAA,EAAOC;MAAU;IAAE,CACrD;IACDJ,MAAA,EAAQ;MAAED,KAAA,EAAOM;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,IAAIC,IAAA,EAAM;IACR,oBACEQ,KAAA,CAAClB,QAAA;8BACCmB,IAAA,CAAClB,UAAA;QACCmB,WAAA,eACED,IAAA,CAACtB,WAAA;UACCwB,QAAA,EAAU;YACR,KAAKC,CAAC;cAAEC;YAAQ,CAAE,kBAChBJ,IAAA,CAACvB,IAAA;cACC4B,IAAA,EAAM1B,cAAA,CAAe;gBACnBmB,UAAA;gBACAQ,IAAA,EAAMX;cACR;cACAY,QAAA,EAAU;wBAETH;;UAGP;UACAI,OAAA,EAAQ;UACRC,CAAA,EAAGrB,IAAA,CAAKqB;;QAGZC,OAAA,EAAStB,IAAA,CAAKqB,CAAC,CAAC;uBAElBT,IAAA,CAACxB,MAAA;QAAOmC,WAAA,EAAY;QAAYC,EAAA,EAAG;QAAOC,IAAA,EAAK;QAAQC,EAAA,EAAIhB,UAAA;kBACxDV,IAAA,CAAKqB,CAAC,CAAC;;;EAIhB;EAEA,oBACEV,KAAA,CAAClB,QAAA;4BACCmB,IAAA,CAACjB,kBAAA,O,aACDiB,IAAA,CAACvB,IAAA;MACC4B,IAAA,EAAM1B,cAAA,CAAe;QACnBmB,UAAA;QACAQ,IAAA,EAAMT;MACR;MACAU,QAAA,EAAU;gBAETnB,IAAA,CAAKqB,CAAC,CAAC;;;AAIhB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { generateMetadata } from '../../utilities/meta.js';
2
+ export const generateForgotPasswordViewMetadata = async ({
3
+ config,
4
+ i18n: {
5
+ t
6
+ }
7
+ }) => generateMetadata({
8
+ description: t('authentication:forgotPassword'),
9
+ keywords: t('authentication:forgotPassword'),
10
+ title: t('authentication:forgotPassword'),
11
+ ...(config.admin.meta || {}),
12
+ serverURL: config.serverURL
13
+ });
14
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","names":["generateMetadata","generateForgotPasswordViewMetadata","config","i18n","t","description","keywords","title","admin","meta","serverURL"],"sources":["../../../src/views/ForgotPassword/metadata.ts"],"sourcesContent":["import type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\nexport const generateForgotPasswordViewMetadata: GenerateViewMetadata = async ({\n config,\n i18n: { t },\n}) =>\n generateMetadata({\n description: t('authentication:forgotPassword'),\n keywords: t('authentication:forgotPassword'),\n title: t('authentication:forgotPassword'),\n ...(config.admin.meta || {}),\n serverURL: config.serverURL,\n })\n"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ;AAEjC,OAAO,MAAMC,kCAAA,GAA2D,MAAAA,CAAO;EAC7EC,MAAM;EACNC,IAAA,EAAM;IAAEC;EAAC;AAAE,CACZ,KACCJ,gBAAA,CAAiB;EACfK,WAAA,EAAaD,CAAA,CAAE;EACfE,QAAA,EAAUF,CAAA,CAAE;EACZG,KAAA,EAAOH,CAAA,CAAE;EACT,IAAIF,MAAA,CAAOM,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;EAC3BC,SAAA,EAAWR,MAAA,CAAOQ;AACpB","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ // Helper function to create serializable value for client components
2
+ export const createSerializableValue = value => {
3
+ if (value === null || value === undefined) {
4
+ return 'null';
5
+ }
6
+ if (typeof value === 'object' && value?.relationTo && value?.value) {
7
+ return `${value.relationTo}:${value.value}`;
8
+ }
9
+ if (typeof value === 'object' && value?.id) {
10
+ return String(value.id);
11
+ }
12
+ return String(value);
13
+ };
14
+ //# sourceMappingURL=createSerializableValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSerializableValue.js","names":["createSerializableValue","value","undefined","relationTo","id","String"],"sources":["../../../src/views/List/createSerializableValue.ts"],"sourcesContent":["// Helper function to create serializable value for client components\nexport const createSerializableValue = (value: any): string => {\n if (value === null || value === undefined) {\n return 'null'\n }\n if (typeof value === 'object' && value?.relationTo && value?.value) {\n return `${value.relationTo}:${value.value}`\n }\n if (typeof value === 'object' && value?.id) {\n return String(value.id)\n }\n return String(value)\n}\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,uBAAA,GAA2BC,KAAA;EACtC,IAAIA,KAAA,KAAU,QAAQA,KAAA,KAAUC,SAAA,EAAW;IACzC,OAAO;EACT;EACA,IAAI,OAAOD,KAAA,KAAU,YAAYA,KAAA,EAAOE,UAAA,IAAcF,KAAA,EAAOA,KAAA,EAAO;IAClE,OAAO,GAAGA,KAAA,CAAME,UAAU,IAAIF,KAAA,CAAMA,KAAK,EAAE;EAC7C;EACA,IAAI,OAAOA,KAAA,KAAU,YAAYA,KAAA,EAAOG,EAAA,EAAI;IAC1C,OAAOC,MAAA,CAAOJ,KAAA,CAAMG,EAAE;EACxB;EACA,OAAOC,MAAA,CAAOJ,KAAA;AAChB","ignoreList":[]}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Enriches list view documents with correct draft status display.
3
+ * When draft=true is used in the query, Payload returns the latest draft version if it exists.
4
+ * This function checks if draft documents also have a published version to determine "changed" status.
5
+ *
6
+ * Performance: Uses a single query to find all documents with "changed" status instead of N queries.
7
+ */export async function enrichDocsWithVersionStatus({
8
+ collectionConfig,
9
+ data,
10
+ req
11
+ }) {
12
+ const draftsEnabled = collectionConfig?.versions?.drafts;
13
+ if (!draftsEnabled || !data?.docs?.length) {
14
+ return data;
15
+ }
16
+ // Find all draft documents
17
+ // When querying with draft:true, we get the latest draft if it exists
18
+ // We need to check if these drafts have a published version
19
+ const draftDocs = data.docs.filter(doc => doc._status === 'draft');
20
+ if (draftDocs.length === 0) {
21
+ return data;
22
+ }
23
+ const draftDocIds = draftDocs.map(doc => doc.id).filter(Boolean);
24
+ if (draftDocIds.length === 0) {
25
+ return data;
26
+ }
27
+ // OPTIMIZATION: Single query to find all document IDs that have BOTH:
28
+ // 1. A draft version (latest=true, _status='draft')
29
+ // 2. A published version (_status='published')
30
+ // These are the documents with "changed" status
31
+ try {
32
+ // TODO: This could be more efficient with a findDistinctVersions() API:
33
+ // const { values } = await req.payload.findDistinctVersions({
34
+ // collection: collectionConfig.slug,
35
+ // field: 'parent',
36
+ // where: {
37
+ // and: [
38
+ // { parent: { in: draftDocIds } },
39
+ // { 'version._status': { equals: 'published' } },
40
+ // ],
41
+ // },
42
+ // })
43
+ // const hasPublishedVersionSet = new Set(values)
44
+ //
45
+ // For now, we query all published versions but only select the 'parent' field
46
+ // to minimize data transfer, then deduplicate with a Set
47
+ const publishedVersions = await req.payload.findVersions({
48
+ collection: collectionConfig.slug,
49
+ depth: 0,
50
+ limit: 0,
51
+ pagination: false,
52
+ select: {
53
+ parent: true
54
+ },
55
+ where: {
56
+ and: [{
57
+ parent: {
58
+ in: draftDocIds
59
+ }
60
+ }, {
61
+ 'version._status': {
62
+ equals: 'published'
63
+ }
64
+ }]
65
+ }
66
+ });
67
+ // Create a Set of document IDs that have published versions
68
+ const hasPublishedVersionSet = new Set(publishedVersions.docs.map(version => version.parent).filter(Boolean));
69
+ // Enrich documents with display status
70
+ const enrichedDocs = data.docs.map(doc => {
71
+ // If it's a draft and has a published version, show "changed"
72
+ if (doc._status === 'draft' && hasPublishedVersionSet.has(doc.id)) {
73
+ return {
74
+ ...doc,
75
+ _displayStatus: 'changed'
76
+ };
77
+ }
78
+ return {
79
+ ...doc,
80
+ _displayStatus: doc._status
81
+ };
82
+ });
83
+ return {
84
+ ...data,
85
+ docs: enrichedDocs
86
+ };
87
+ } catch (error) {
88
+ // If there's an error querying versions, just return the original data
89
+ req.payload.logger.error({
90
+ err: error,
91
+ msg: `Error checking version status for collection ${collectionConfig.slug}`
92
+ });
93
+ return data;
94
+ }
95
+ }
96
+ //# sourceMappingURL=enrichDocsWithVersionStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrichDocsWithVersionStatus.js","names":["enrichDocsWithVersionStatus","collectionConfig","data","req","draftsEnabled","versions","drafts","docs","length","draftDocs","filter","doc","_status","draftDocIds","map","id","Boolean","publishedVersions","payload","findVersions","collection","slug","depth","limit","pagination","select","parent","where","and","in","equals","hasPublishedVersionSet","Set","version","enrichedDocs","has","_displayStatus","error","logger","err","msg"],"sources":["../../../src/views/List/enrichDocsWithVersionStatus.ts"],"sourcesContent":["import type { PaginatedDocs, PayloadRequest, SanitizedCollectionConfig } from '@ruya.sa/payload'\n\n/**\n * Enriches list view documents with correct draft status display.\n * When draft=true is used in the query, Payload returns the latest draft version if it exists.\n * This function checks if draft documents also have a published version to determine \"changed\" status.\n *\n * Performance: Uses a single query to find all documents with \"changed\" status instead of N queries.\n */\nexport async function enrichDocsWithVersionStatus({\n collectionConfig,\n data,\n req,\n}: {\n collectionConfig: SanitizedCollectionConfig\n data: PaginatedDocs\n req: PayloadRequest\n}): Promise<PaginatedDocs> {\n const draftsEnabled = collectionConfig?.versions?.drafts\n\n if (!draftsEnabled || !data?.docs?.length) {\n return data\n }\n\n // Find all draft documents\n // When querying with draft:true, we get the latest draft if it exists\n // We need to check if these drafts have a published version\n const draftDocs = data.docs.filter((doc) => doc._status === 'draft')\n\n if (draftDocs.length === 0) {\n return data\n }\n\n const draftDocIds = draftDocs.map((doc) => doc.id).filter(Boolean)\n\n if (draftDocIds.length === 0) {\n return data\n }\n\n // OPTIMIZATION: Single query to find all document IDs that have BOTH:\n // 1. A draft version (latest=true, _status='draft')\n // 2. A published version (_status='published')\n // These are the documents with \"changed\" status\n try {\n // TODO: This could be more efficient with a findDistinctVersions() API:\n // const { values } = await req.payload.findDistinctVersions({\n // collection: collectionConfig.slug,\n // field: 'parent',\n // where: {\n // and: [\n // { parent: { in: draftDocIds } },\n // { 'version._status': { equals: 'published' } },\n // ],\n // },\n // })\n // const hasPublishedVersionSet = new Set(values)\n //\n // For now, we query all published versions but only select the 'parent' field\n // to minimize data transfer, then deduplicate with a Set\n const publishedVersions = await req.payload.findVersions({\n collection: collectionConfig.slug,\n depth: 0,\n limit: 0,\n pagination: false,\n select: {\n parent: true,\n },\n where: {\n and: [\n {\n parent: {\n in: draftDocIds,\n },\n },\n {\n 'version._status': {\n equals: 'published',\n },\n },\n ],\n },\n })\n\n // Create a Set of document IDs that have published versions\n const hasPublishedVersionSet = new Set(\n publishedVersions.docs.map((version) => version.parent).filter(Boolean),\n )\n\n // Enrich documents with display status\n const enrichedDocs = data.docs.map((doc) => {\n // If it's a draft and has a published version, show \"changed\"\n if (doc._status === 'draft' && hasPublishedVersionSet.has(doc.id)) {\n return {\n ...doc,\n _displayStatus: 'changed' as const,\n }\n }\n\n return {\n ...doc,\n _displayStatus: doc._status as 'draft' | 'published',\n }\n })\n\n return {\n ...data,\n docs: enrichedDocs,\n }\n } catch (error) {\n // If there's an error querying versions, just return the original data\n req.payload.logger.error({\n err: error,\n msg: `Error checking version status for collection ${collectionConfig.slug}`,\n })\n return data\n }\n}\n"],"mappings":"AAEA;;;;;;GAOA,OAAO,eAAeA,4BAA4B;EAChDC,gBAAgB;EAChBC,IAAI;EACJC;AAAG,CAKJ;EACC,MAAMC,aAAA,GAAgBH,gBAAA,EAAkBI,QAAA,EAAUC,MAAA;EAElD,IAAI,CAACF,aAAA,IAAiB,CAACF,IAAA,EAAMK,IAAA,EAAMC,MAAA,EAAQ;IACzC,OAAON,IAAA;EACT;EAEA;EACA;EACA;EACA,MAAMO,SAAA,GAAYP,IAAA,CAAKK,IAAI,CAACG,MAAM,CAAEC,GAAA,IAAQA,GAAA,CAAIC,OAAO,KAAK;EAE5D,IAAIH,SAAA,CAAUD,MAAM,KAAK,GAAG;IAC1B,OAAON,IAAA;EACT;EAEA,MAAMW,WAAA,GAAcJ,SAAA,CAAUK,GAAG,CAAEH,GAAA,IAAQA,GAAA,CAAII,EAAE,EAAEL,MAAM,CAACM,OAAA;EAE1D,IAAIH,WAAA,CAAYL,MAAM,KAAK,GAAG;IAC5B,OAAON,IAAA;EACT;EAEA;EACA;EACA;EACA;EACA,IAAI;IACF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMe,iBAAA,GAAoB,MAAMd,GAAA,CAAIe,OAAO,CAACC,YAAY,CAAC;MACvDC,UAAA,EAAYnB,gBAAA,CAAiBoB,IAAI;MACjCC,KAAA,EAAO;MACPC,KAAA,EAAO;MACPC,UAAA,EAAY;MACZC,MAAA,EAAQ;QACNC,MAAA,EAAQ;MACV;MACAC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEF,MAAA,EAAQ;YACNG,EAAA,EAAIhB;UACN;QACF,GACA;UACE,mBAAmB;YACjBiB,MAAA,EAAQ;UACV;QACF;MAEJ;IACF;IAEA;IACA,MAAMC,sBAAA,GAAyB,IAAIC,GAAA,CACjCf,iBAAA,CAAkBV,IAAI,CAACO,GAAG,CAAEmB,OAAA,IAAYA,OAAA,CAAQP,MAAM,EAAEhB,MAAM,CAACM,OAAA;IAGjE;IACA,MAAMkB,YAAA,GAAehC,IAAA,CAAKK,IAAI,CAACO,GAAG,CAAEH,GAAA;MAClC;MACA,IAAIA,GAAA,CAAIC,OAAO,KAAK,WAAWmB,sBAAA,CAAuBI,GAAG,CAACxB,GAAA,CAAII,EAAE,GAAG;QACjE,OAAO;UACL,GAAGJ,GAAG;UACNyB,cAAA,EAAgB;QAClB;MACF;MAEA,OAAO;QACL,GAAGzB,GAAG;QACNyB,cAAA,EAAgBzB,GAAA,CAAIC;MACtB;IACF;IAEA,OAAO;MACL,GAAGV,IAAI;MACPK,IAAA,EAAM2B;IACR;EACF,EAAE,OAAOG,KAAA,EAAO;IACd;IACAlC,GAAA,CAAIe,OAAO,CAACoB,MAAM,CAACD,KAAK,CAAC;MACvBE,GAAA,EAAKF,KAAA;MACLG,GAAA,EAAK,gDAAgDvC,gBAAA,CAAiBoB,IAAI;IAC5E;IACA,OAAOnB,IAAA;EACT;AACF","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ // Helper function to extract display value from relationship
2
+ export const extractRelationshipDisplayValue = (relationship, clientConfig, relationshipConfig) => {
3
+ if (!relationship) {
4
+ return '';
5
+ }
6
+ // Handle polymorphic relationships
7
+ if (typeof relationship === 'object' && relationship?.relationTo && relationship?.value) {
8
+ const config = clientConfig.collections.find(c => c.slug === relationship.relationTo);
9
+ return relationship.value?.[config?.admin?.useAsTitle || 'id'] || '';
10
+ }
11
+ // Handle regular relationships
12
+ if (typeof relationship === 'object' && relationship?.id) {
13
+ return relationship[relationshipConfig?.admin?.useAsTitle || 'id'] || '';
14
+ }
15
+ return String(relationship);
16
+ };
17
+ //# sourceMappingURL=extractRelationshipDisplayValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractRelationshipDisplayValue.js","names":["extractRelationshipDisplayValue","relationship","clientConfig","relationshipConfig","relationTo","value","config","collections","find","c","slug","admin","useAsTitle","id","String"],"sources":["../../../src/views/List/extractRelationshipDisplayValue.ts"],"sourcesContent":["import type { ClientCollectionConfig, ClientConfig } from '@ruya.sa/payload'\n\n// Helper function to extract display value from relationship\nexport const extractRelationshipDisplayValue = (\n relationship: any,\n clientConfig: ClientConfig,\n relationshipConfig?: ClientCollectionConfig,\n): string => {\n if (!relationship) {\n return ''\n }\n\n // Handle polymorphic relationships\n if (typeof relationship === 'object' && relationship?.relationTo && relationship?.value) {\n const config = clientConfig.collections.find((c) => c.slug === relationship.relationTo)\n return relationship.value?.[config?.admin?.useAsTitle || 'id'] || ''\n }\n\n // Handle regular relationships\n if (typeof relationship === 'object' && relationship?.id) {\n return relationship[relationshipConfig?.admin?.useAsTitle || 'id'] || ''\n }\n\n return String(relationship)\n}\n"],"mappings":"AAEA;AACA,OAAO,MAAMA,+BAAA,GAAkCA,CAC7CC,YAAA,EACAC,YAAA,EACAC,kBAAA;EAEA,IAAI,CAACF,YAAA,EAAc;IACjB,OAAO;EACT;EAEA;EACA,IAAI,OAAOA,YAAA,KAAiB,YAAYA,YAAA,EAAcG,UAAA,IAAcH,YAAA,EAAcI,KAAA,EAAO;IACvF,MAAMC,MAAA,GAASJ,YAAA,CAAaK,WAAW,CAACC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAEC,IAAI,KAAKT,YAAA,CAAaG,UAAU;IACtF,OAAOH,YAAA,CAAaI,KAAK,GAAGC,MAAA,EAAQK,KAAA,EAAOC,UAAA,IAAc,KAAK,IAAI;EACpE;EAEA;EACA,IAAI,OAAOX,YAAA,KAAiB,YAAYA,YAAA,EAAcY,EAAA,EAAI;IACxD,OAAOZ,YAAY,CAACE,kBAAA,EAAoBQ,KAAA,EAAOC,UAAA,IAAc,KAAK,IAAI;EACxE;EAEA,OAAOE,MAAA,CAAOb,YAAA;AAChB","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ // Helper function to extract value or relationship ID for database queries
2
+ export const extractValueOrRelationshipID = relationship => {
3
+ if (!relationship || typeof relationship !== 'object') {
4
+ return relationship;
5
+ }
6
+ // For polymorphic relationships, preserve structure but ensure IDs are strings
7
+ if (relationship?.relationTo && relationship?.value) {
8
+ return {
9
+ relationTo: relationship.relationTo,
10
+ value: String(relationship.value?.id || relationship.value)
11
+ };
12
+ }
13
+ // For regular relationships, extract ID
14
+ if (relationship?.id) {
15
+ return String(relationship.id);
16
+ }
17
+ return relationship;
18
+ };
19
+ //# sourceMappingURL=extractValueOrRelationshipID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractValueOrRelationshipID.js","names":["extractValueOrRelationshipID","relationship","relationTo","value","String","id"],"sources":["../../../src/views/List/extractValueOrRelationshipID.ts"],"sourcesContent":["// Helper function to extract value or relationship ID for database queries\nexport const extractValueOrRelationshipID = (relationship: any): any => {\n if (!relationship || typeof relationship !== 'object') {\n return relationship\n }\n\n // For polymorphic relationships, preserve structure but ensure IDs are strings\n if (relationship?.relationTo && relationship?.value) {\n return {\n relationTo: relationship.relationTo,\n value: String(relationship.value?.id || relationship.value),\n }\n }\n\n // For regular relationships, extract ID\n if (relationship?.id) {\n return String(relationship.id)\n }\n\n return relationship\n}\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,4BAAA,GAAgCC,YAAA;EAC3C,IAAI,CAACA,YAAA,IAAgB,OAAOA,YAAA,KAAiB,UAAU;IACrD,OAAOA,YAAA;EACT;EAEA;EACA,IAAIA,YAAA,EAAcC,UAAA,IAAcD,YAAA,EAAcE,KAAA,EAAO;IACnD,OAAO;MACLD,UAAA,EAAYD,YAAA,CAAaC,UAAU;MACnCC,KAAA,EAAOC,MAAA,CAAOH,YAAA,CAAaE,KAAK,EAAEE,EAAA,IAAMJ,YAAA,CAAaE,KAAK;IAC5D;EACF;EAEA;EACA,IAAIF,YAAA,EAAcI,EAAA,EAAI;IACpB,OAAOD,MAAA,CAAOH,YAAA,CAAaI,EAAE;EAC/B;EAEA,OAAOJ,YAAA;AACT","ignoreList":[]}