@payloadcms/next 3.78.0-internal-debug.f663370 → 3.78.0-internal.ab11ffa

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 (487) hide show
  1. package/dist/auth/login.js +58 -52
  2. package/dist/auth/login.js.map +1 -1
  3. package/dist/auth/logout.js +44 -39
  4. package/dist/auth/logout.js.map +1 -1
  5. package/dist/auth/refresh.js +47 -45
  6. package/dist/auth/refresh.js.map +1 -1
  7. package/dist/cjs/withPayload.cjs +24 -65
  8. package/dist/cjs/withPayload.cjs.map +2 -2
  9. package/dist/config.js +0 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
  12. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
  13. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
  14. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  15. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
  16. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  17. package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
  18. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  19. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
  20. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  21. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
  22. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  23. package/dist/elements/DocumentHeader/index.js +28 -48
  24. package/dist/elements/DocumentHeader/index.js.map +1 -1
  25. package/dist/elements/FormHeader/index.js +16 -30
  26. package/dist/elements/FormHeader/index.js.map +1 -1
  27. package/dist/elements/Logo/index.js +34 -19
  28. package/dist/elements/Logo/index.js.map +1 -1
  29. package/dist/elements/Nav/NavHamburger/index.js +44 -23
  30. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  31. package/dist/elements/Nav/NavWrapper/index.js +54 -28
  32. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  33. package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
  34. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  35. package/dist/elements/Nav/getNavPrefs.js +22 -27
  36. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  37. package/dist/elements/Nav/index.client.js +118 -97
  38. package/dist/elements/Nav/index.client.js.map +1 -1
  39. package/dist/elements/Nav/index.js +170 -191
  40. package/dist/elements/Nav/index.js.map +1 -1
  41. package/dist/exports/auth.js +0 -1
  42. package/dist/exports/auth.js.map +1 -1
  43. package/dist/exports/client.js +1 -1
  44. package/dist/exports/client.js.map +1 -1
  45. package/dist/exports/layouts.js +0 -1
  46. package/dist/exports/layouts.js.map +1 -1
  47. package/dist/exports/routes.js +0 -1
  48. package/dist/exports/routes.js.map +1 -1
  49. package/dist/exports/rsc.js +0 -1
  50. package/dist/exports/rsc.js.map +1 -1
  51. package/dist/exports/templates.js +0 -1
  52. package/dist/exports/templates.js.map +1 -1
  53. package/dist/exports/utilities.js +12 -7
  54. package/dist/exports/utilities.js.map +1 -1
  55. package/dist/exports/views.js +0 -1
  56. package/dist/exports/views.js.map +1 -1
  57. package/dist/index.js +0 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/layouts/Root/NestProviders.js +20 -21
  60. package/dist/layouts/Root/NestProviders.js.map +1 -1
  61. package/dist/layouts/Root/checkDependencies.js +41 -49
  62. package/dist/layouts/Root/checkDependencies.js.map +1 -1
  63. package/dist/layouts/Root/index.js +103 -128
  64. package/dist/layouts/Root/index.js.map +1 -1
  65. package/dist/prod/styles.css +1 -5
  66. package/dist/routes/graphql/handler.js +122 -114
  67. package/dist/routes/graphql/handler.js.map +1 -1
  68. package/dist/routes/graphql/index.js +0 -1
  69. package/dist/routes/graphql/index.js.map +1 -1
  70. package/dist/routes/graphql/playground.js +27 -28
  71. package/dist/routes/graphql/playground.js.map +1 -1
  72. package/dist/routes/index.js +0 -1
  73. package/dist/routes/index.js.map +1 -1
  74. package/dist/routes/rest/index.js +22 -23
  75. package/dist/routes/rest/index.js.map +1 -1
  76. package/dist/routes/rest/og/image.js +79 -103
  77. package/dist/routes/rest/og/image.js.map +1 -1
  78. package/dist/routes/rest/og/index.js +54 -59
  79. package/dist/routes/rest/og/index.js.map +1 -1
  80. package/dist/templates/Default/NavHamburger/index.js +20 -12
  81. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  82. package/dist/templates/Default/Wrapper/index.js +44 -20
  83. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  84. package/dist/templates/Default/index.js +116 -147
  85. package/dist/templates/Default/index.js.map +1 -1
  86. package/dist/templates/Minimal/index.js +17 -26
  87. package/dist/templates/Minimal/index.js.map +1 -1
  88. package/dist/utilities/getExistingAuthToken.js +2 -3
  89. package/dist/utilities/getExistingAuthToken.js.map +1 -1
  90. package/dist/utilities/getNextRequestI18n.js +13 -12
  91. package/dist/utilities/getNextRequestI18n.js.map +1 -1
  92. package/dist/utilities/getPayloadHMR.js +5 -5
  93. package/dist/utilities/getPayloadHMR.js.map +1 -1
  94. package/dist/utilities/getPreferences.js +22 -27
  95. package/dist/utilities/getPreferences.js.map +1 -1
  96. package/dist/utilities/getRequestLocale.js +14 -13
  97. package/dist/utilities/getRequestLocale.js.map +1 -1
  98. package/dist/utilities/getRequestTheme.js +19 -19
  99. package/dist/utilities/getRequestTheme.js.map +1 -1
  100. package/dist/utilities/getRouteWithoutAdmin.js +5 -3
  101. package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
  102. package/dist/utilities/handleAuthRedirect.js +36 -22
  103. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  104. package/dist/utilities/handleServerFunctions.js +43 -33
  105. package/dist/utilities/handleServerFunctions.js.map +1 -1
  106. package/dist/utilities/initReq.js +96 -78
  107. package/dist/utilities/initReq.js.map +1 -1
  108. package/dist/utilities/isCustomAdminView.js +26 -22
  109. package/dist/utilities/isCustomAdminView.js.map +1 -1
  110. package/dist/utilities/isPublicAdminRoute.js +20 -26
  111. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  112. package/dist/utilities/meta.js +63 -68
  113. package/dist/utilities/meta.js.map +1 -1
  114. package/dist/utilities/selectiveCache.js +26 -25
  115. package/dist/utilities/selectiveCache.js.map +1 -1
  116. package/dist/utilities/setPayloadAuthCookie.js +22 -19
  117. package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
  118. package/dist/utilities/slugify.js +33 -24
  119. package/dist/utilities/slugify.js.map +1 -1
  120. package/dist/utilities/timestamp.js +6 -7
  121. package/dist/utilities/timestamp.js.map +1 -1
  122. package/dist/views/API/LocaleSelector/index.js +39 -17
  123. package/dist/views/API/LocaleSelector/index.js.map +1 -1
  124. package/dist/views/API/RenderJSON/index.js +126 -171
  125. package/dist/views/API/RenderJSON/index.js.map +1 -1
  126. package/dist/views/API/index.client.js +199 -291
  127. package/dist/views/API/index.client.js.map +1 -1
  128. package/dist/views/API/index.js +2 -7
  129. package/dist/views/API/index.js.map +1 -1
  130. package/dist/views/API/metadata.js +23 -18
  131. package/dist/views/API/metadata.js.map +1 -1
  132. package/dist/views/Account/ResetPreferences/index.js +102 -78
  133. package/dist/views/Account/ResetPreferences/index.js.map +1 -1
  134. package/dist/views/Account/Settings/LanguageSelector.js +47 -18
  135. package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
  136. package/dist/views/Account/Settings/index.js +25 -60
  137. package/dist/views/Account/Settings/index.js.map +1 -1
  138. package/dist/views/Account/ToggleTheme/index.js +55 -38
  139. package/dist/views/Account/ToggleTheme/index.js.map +1 -1
  140. package/dist/views/Account/index.client.js +32 -16
  141. package/dist/views/Account/index.client.js.map +1 -1
  142. package/dist/views/Account/index.d.ts.map +1 -1
  143. package/dist/views/Account/index.js +162 -147
  144. package/dist/views/Account/index.js.map +1 -1
  145. package/dist/views/Account/metadata.js +12 -8
  146. package/dist/views/Account/metadata.js.map +1 -1
  147. package/dist/views/BrowseByFolder/buildView.js +157 -138
  148. package/dist/views/BrowseByFolder/buildView.js.map +1 -1
  149. package/dist/views/BrowseByFolder/index.js +16 -16
  150. package/dist/views/BrowseByFolder/index.js.map +1 -1
  151. package/dist/views/BrowseByFolder/metadata.js +15 -13
  152. package/dist/views/BrowseByFolder/metadata.js.map +1 -1
  153. package/dist/views/CollectionFolders/buildView.js +142 -122
  154. package/dist/views/CollectionFolders/buildView.js.map +1 -1
  155. package/dist/views/CollectionFolders/index.js +16 -16
  156. package/dist/views/CollectionFolders/index.js.map +1 -1
  157. package/dist/views/CollectionFolders/metadata.js +21 -18
  158. package/dist/views/CollectionFolders/metadata.js.map +1 -1
  159. package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
  160. package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
  161. package/dist/views/CollectionTrash/index.js +17 -17
  162. package/dist/views/CollectionTrash/index.js.map +1 -1
  163. package/dist/views/CollectionTrash/metadata.js +21 -18
  164. package/dist/views/CollectionTrash/metadata.js.map +1 -1
  165. package/dist/views/CreateFirstUser/index.client.js +103 -117
  166. package/dist/views/CreateFirstUser/index.client.js.map +1 -1
  167. package/dist/views/CreateFirstUser/index.js +81 -87
  168. package/dist/views/CreateFirstUser/index.js.map +1 -1
  169. package/dist/views/CreateFirstUser/metadata.js +12 -8
  170. package/dist/views/CreateFirstUser/metadata.js.map +1 -1
  171. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +174 -151
  172. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  173. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts +11 -0
  174. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.d.ts.map +1 -0
  175. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js +128 -0
  176. package/dist/views/Dashboard/Default/ModularDashboard/WidgetConfigDrawer.js.map +1 -0
  177. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts +8 -0
  178. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -0
  179. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +78 -0
  180. package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -0
  181. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts +1 -0
  182. package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
  183. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +415 -423
  184. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  185. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  186. package/dist/views/Dashboard/Default/ModularDashboard/index.js +66 -82
  187. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  188. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts +1 -0
  189. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.d.ts.map +1 -1
  190. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +95 -61
  191. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  192. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  193. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +54 -43
  194. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  195. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts +1 -0
  196. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  197. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +73 -67
  198. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  199. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts +1 -0
  200. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.d.ts.map +1 -1
  201. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +173 -173
  202. package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
  203. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
  204. package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
  205. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts +4 -0
  206. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.d.ts.map +1 -0
  207. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js +21 -0
  208. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromConfig.js.map +1 -0
  209. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts +4 -0
  210. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.d.ts.map +1 -0
  211. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js +10 -0
  212. package/dist/views/Dashboard/Default/ModularDashboard/utils/getItemsFromPreferences.js.map +1 -0
  213. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts +23 -0
  214. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.d.ts.map +1 -0
  215. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js +103 -0
  216. package/dist/views/Dashboard/Default/ModularDashboard/utils/localeUtils.js.map +1 -0
  217. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +229 -223
  218. package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
  219. package/dist/views/Dashboard/Default/index.js +45 -59
  220. package/dist/views/Dashboard/Default/index.js.map +1 -1
  221. package/dist/views/Dashboard/index.js +42 -46
  222. package/dist/views/Dashboard/index.js.map +1 -1
  223. package/dist/views/Dashboard/metadata.js +14 -10
  224. package/dist/views/Dashboard/metadata.js.map +1 -1
  225. package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
  226. package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
  227. package/dist/views/Document/getCustomViewByRoute.js +30 -27
  228. package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
  229. package/dist/views/Document/getDocPreferences.js +41 -40
  230. package/dist/views/Document/getDocPreferences.js.map +1 -1
  231. package/dist/views/Document/getDocumentData.js +55 -44
  232. package/dist/views/Document/getDocumentData.js.map +1 -1
  233. package/dist/views/Document/getDocumentPermissions.d.ts +2 -0
  234. package/dist/views/Document/getDocumentPermissions.d.ts.map +1 -1
  235. package/dist/views/Document/getDocumentPermissions.js +117 -77
  236. package/dist/views/Document/getDocumentPermissions.js.map +1 -1
  237. package/dist/views/Document/getDocumentView.js +283 -313
  238. package/dist/views/Document/getDocumentView.js.map +1 -1
  239. package/dist/views/Document/getIsLocked.js +73 -73
  240. package/dist/views/Document/getIsLocked.js.map +1 -1
  241. package/dist/views/Document/getMetaBySegment.js +136 -130
  242. package/dist/views/Document/getMetaBySegment.js.map +1 -1
  243. package/dist/views/Document/getVersions.js +213 -220
  244. package/dist/views/Document/getVersions.js.map +1 -1
  245. package/dist/views/Document/handleServerFunction.js +127 -100
  246. package/dist/views/Document/handleServerFunction.js.map +1 -1
  247. package/dist/views/Document/index.d.ts.map +1 -1
  248. package/dist/views/Document/index.js +359 -317
  249. package/dist/views/Document/index.js.map +1 -1
  250. package/dist/views/Document/metadata.js +1 -2
  251. package/dist/views/Document/metadata.js.map +1 -1
  252. package/dist/views/Document/renderDocumentSlots.js +155 -141
  253. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  254. package/dist/views/Edit/index.js +6 -10
  255. package/dist/views/Edit/index.js.map +1 -1
  256. package/dist/views/Edit/metadata.js +46 -36
  257. package/dist/views/Edit/metadata.js.map +1 -1
  258. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
  259. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  260. package/dist/views/ForgotPassword/index.js +62 -79
  261. package/dist/views/ForgotPassword/index.js.map +1 -1
  262. package/dist/views/ForgotPassword/metadata.js +12 -8
  263. package/dist/views/ForgotPassword/metadata.js.map +1 -1
  264. package/dist/views/List/createSerializableValue.js +11 -12
  265. package/dist/views/List/createSerializableValue.js.map +1 -1
  266. package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
  267. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  268. package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
  269. package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
  270. package/dist/views/List/extractValueOrRelationshipID.js +15 -16
  271. package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
  272. package/dist/views/List/handleGroupBy.js +150 -133
  273. package/dist/views/List/handleGroupBy.js.map +1 -1
  274. package/dist/views/List/handleServerFunction.js +122 -96
  275. package/dist/views/List/handleServerFunction.js.map +1 -1
  276. package/dist/views/List/index.d.ts.map +1 -1
  277. package/dist/views/List/index.js +328 -302
  278. package/dist/views/List/index.js.map +1 -1
  279. package/dist/views/List/metadata.js +20 -17
  280. package/dist/views/List/metadata.js.map +1 -1
  281. package/dist/views/List/renderListViewSlots.js +75 -82
  282. package/dist/views/List/renderListViewSlots.js.map +1 -1
  283. package/dist/views/List/resolveAllFilterOptions.js +45 -43
  284. package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
  285. package/dist/views/List/transformColumnsToSelect.js +8 -9
  286. package/dist/views/List/transformColumnsToSelect.js.map +1 -1
  287. package/dist/views/Login/LoginField/index.js +89 -57
  288. package/dist/views/Login/LoginField/index.js.map +1 -1
  289. package/dist/views/Login/LoginForm/index.js +160 -107
  290. package/dist/views/Login/LoginForm/index.js.map +1 -1
  291. package/dist/views/Login/index.js +85 -82
  292. package/dist/views/Login/index.js.map +1 -1
  293. package/dist/views/Login/metadata.js +12 -8
  294. package/dist/views/Login/metadata.js.map +1 -1
  295. package/dist/views/Logout/LogoutClient.js +120 -84
  296. package/dist/views/Logout/LogoutClient.js.map +1 -1
  297. package/dist/views/Logout/index.js +29 -29
  298. package/dist/views/Logout/index.js.map +1 -1
  299. package/dist/views/Logout/metadata.js +11 -7
  300. package/dist/views/Logout/metadata.js.map +1 -1
  301. package/dist/views/NotFound/index.client.js +82 -71
  302. package/dist/views/NotFound/index.client.js.map +1 -1
  303. package/dist/views/NotFound/index.js +73 -72
  304. package/dist/views/NotFound/index.js.map +1 -1
  305. package/dist/views/NotFound/metadata.js +9 -7
  306. package/dist/views/NotFound/metadata.js.map +1 -1
  307. package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
  308. package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
  309. package/dist/views/ResetPassword/index.js +73 -93
  310. package/dist/views/ResetPassword/index.js.map +1 -1
  311. package/dist/views/ResetPassword/metadata.js +12 -8
  312. package/dist/views/ResetPassword/metadata.js.map +1 -1
  313. package/dist/views/Root/attachViewActions.js +23 -18
  314. package/dist/views/Root/attachViewActions.js.map +1 -1
  315. package/dist/views/Root/generateCustomViewMetadata.js +21 -19
  316. package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
  317. package/dist/views/Root/getCustomViewByKey.js +14 -12
  318. package/dist/views/Root/getCustomViewByKey.js.map +1 -1
  319. package/dist/views/Root/getCustomViewByRoute.js +42 -31
  320. package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
  321. package/dist/views/Root/getDocumentViewInfo.js +23 -24
  322. package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
  323. package/dist/views/Root/getRouteData.js +325 -333
  324. package/dist/views/Root/getRouteData.js.map +1 -1
  325. package/dist/views/Root/index.js +270 -248
  326. package/dist/views/Root/index.js.map +1 -1
  327. package/dist/views/Root/isPathMatchingRoute.js +26 -21
  328. package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
  329. package/dist/views/Root/metadata.js +181 -176
  330. package/dist/views/Root/metadata.js.map +1 -1
  331. package/dist/views/Unauthorized/index.js +46 -54
  332. package/dist/views/Unauthorized/index.js.map +1 -1
  333. package/dist/views/Unauthorized/metadata.js +12 -8
  334. package/dist/views/Unauthorized/metadata.js.map +1 -1
  335. package/dist/views/Verify/index.client.js +43 -25
  336. package/dist/views/Verify/index.client.js.map +1 -1
  337. package/dist/views/Verify/index.js +64 -69
  338. package/dist/views/Verify/index.js.map +1 -1
  339. package/dist/views/Verify/metadata.js +12 -8
  340. package/dist/views/Verify/metadata.js.map +1 -1
  341. package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
  342. package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
  343. package/dist/views/Version/Default/SetStepNav.js +127 -86
  344. package/dist/views/Version/Default/SetStepNav.js.map +1 -1
  345. package/dist/views/Version/Default/index.js +236 -380
  346. package/dist/views/Version/Default/index.js.map +1 -1
  347. package/dist/views/Version/Default/types.js +1 -2
  348. package/dist/views/Version/Default/types.js.map +1 -1
  349. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
  350. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  351. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
  352. package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
  353. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
  354. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  355. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
  356. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  357. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  358. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +71 -36
  359. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  360. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
  361. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  362. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
  363. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  364. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +61 -56
  365. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  366. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +206 -224
  367. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  368. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
  369. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  370. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  371. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +75 -49
  372. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  373. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +146 -135
  374. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  375. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  376. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +83 -57
  377. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  378. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
  379. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  380. package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
  381. package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
  382. package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
  383. package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
  384. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
  385. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  386. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
  387. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
  388. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
  389. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
  390. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
  391. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
  392. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
  393. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  394. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
  395. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
  396. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  397. package/dist/views/Version/Restore/index.js +92 -117
  398. package/dist/views/Version/Restore/index.js.map +1 -1
  399. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
  400. package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
  401. package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
  402. package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
  403. package/dist/views/Version/SelectComparison/index.js +50 -73
  404. package/dist/views/Version/SelectComparison/index.js.map +1 -1
  405. package/dist/views/Version/SelectComparison/types.js +1 -2
  406. package/dist/views/Version/SelectComparison/types.js.map +1 -1
  407. package/dist/views/Version/SelectLocales/index.js +32 -34
  408. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  409. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +100 -106
  410. package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
  411. package/dist/views/Version/VersionPillLabel/getVersionLabel.js +35 -30
  412. package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
  413. package/dist/views/Version/fetchVersions.js +138 -113
  414. package/dist/views/Version/fetchVersions.js.map +1 -1
  415. package/dist/views/Version/index.js +326 -328
  416. package/dist/views/Version/index.js.map +1 -1
  417. package/dist/views/Version/metadata.js +50 -43
  418. package/dist/views/Version/metadata.js.map +1 -1
  419. package/dist/views/Versions/buildColumns.js +79 -95
  420. package/dist/views/Versions/buildColumns.js.map +1 -1
  421. package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
  422. package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
  423. package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
  424. package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
  425. package/dist/views/Versions/cells/ID/index.js +8 -10
  426. package/dist/views/Versions/cells/ID/index.js.map +1 -1
  427. package/dist/views/Versions/index.client.js +83 -106
  428. package/dist/views/Versions/index.client.js.map +1 -1
  429. package/dist/views/Versions/index.js +164 -164
  430. package/dist/views/Versions/index.js.map +1 -1
  431. package/dist/views/Versions/metadata.js +44 -37
  432. package/dist/views/Versions/metadata.js.map +1 -1
  433. package/dist/views/Versions/types.js +1 -2
  434. package/dist/views/Versions/types.js.map +1 -1
  435. package/dist/withPayload/withPayload.js +177 -236
  436. package/dist/withPayload/withPayload.js.map +1 -1
  437. package/dist/withPayload/withPayload.spec.js +35 -36
  438. package/dist/withPayload/withPayload.spec.js.map +1 -1
  439. package/dist/withPayload/withPayload.utils.js +73 -65
  440. package/dist/withPayload/withPayload.utils.js.map +1 -1
  441. package/dist/withPayload/withPayloadLegacy.js +40 -41
  442. package/dist/withPayload/withPayloadLegacy.js.map +1 -1
  443. package/package.json +8 -8
  444. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
  445. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
  446. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -10
  447. package/dist/elements/DocumentHeader/index.scss +0 -64
  448. package/dist/elements/FormHeader/index.scss +0 -8
  449. package/dist/elements/Nav/NavWrapper/index.scss +0 -27
  450. package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
  451. package/dist/elements/Nav/index.scss +0 -173
  452. package/dist/esbuildEntry.d.ts +0 -5
  453. package/dist/esbuildEntry.d.ts.map +0 -1
  454. package/dist/esbuildEntry.js +0 -6
  455. package/dist/esbuildEntry.js.map +0 -1
  456. package/dist/templates/Default/Wrapper/index.scss +0 -58
  457. package/dist/templates/Default/index.scss +0 -79
  458. package/dist/templates/Minimal/index.scss +0 -30
  459. package/dist/views/API/RenderJSON/index.scss +0 -129
  460. package/dist/views/API/index.scss +0 -119
  461. package/dist/views/Account/Settings/index.scss +0 -48
  462. package/dist/views/CreateFirstUser/index.scss +0 -21
  463. package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -316
  464. package/dist/views/Login/LoginForm/index.scss +0 -10
  465. package/dist/views/Login/index.scss +0 -10
  466. package/dist/views/Logout/index.scss +0 -25
  467. package/dist/views/NotFound/index.scss +0 -57
  468. package/dist/views/ResetPassword/index.scss +0 -11
  469. package/dist/views/Unauthorized/index.scss +0 -14
  470. package/dist/views/Verify/index.scss +0 -16
  471. package/dist/views/Version/Default/index.scss +0 -170
  472. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
  473. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
  474. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
  475. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
  476. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
  477. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
  478. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
  479. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
  480. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
  481. package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
  482. package/dist/views/Version/Restore/index.scss +0 -84
  483. package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
  484. package/dist/views/Version/SelectComparison/index.scss +0 -9
  485. package/dist/views/Version/VersionPillLabel/index.scss +0 -26
  486. package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
  487. package/dist/views/Versions/index.scss +0 -110
@@ -0,0 +1,103 @@
1
+ import { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared';
2
+ function isLocalized(field) {
3
+ return 'localized' in field && Boolean(field.localized);
4
+ }
5
+ function getObjectValue(value) {
6
+ return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : {};
7
+ }
8
+ /**
9
+ * Extracts locale-specific data from widget data stored in preferences.
10
+ *
11
+ * Localized fields are stored as `{ fieldName: { en: "Hello", de: "Hallo" } }` in preferences.
12
+ * This function flattens them to `{ fieldName: "Hello" }` for the given locale,
13
+ * which is the format the form state builder expects.
14
+ *
15
+ * Recursively handles nested field types (group, row, collapsible, tabs).
16
+ */
17
+ export function extractLocaleData(widgetData, locale, fields) {
18
+ const result = {};
19
+ for (const field of fields) {
20
+ if (field.type === 'tabs') {
21
+ for (const tab of field.tabs) {
22
+ const tabFields = tab.fields;
23
+ if (tabHasName(tab)) {
24
+ result[tab.name] = extractLocaleData(getObjectValue(widgetData[tab.name]), locale, tabFields);
25
+ } else {
26
+ Object.assign(result, extractLocaleData(widgetData, locale, tabFields));
27
+ }
28
+ }
29
+ continue;
30
+ }
31
+ if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
32
+ Object.assign(result, extractLocaleData(widgetData, locale, field.fields));
33
+ continue;
34
+ }
35
+ if (!fieldAffectsData(field)) {
36
+ continue;
37
+ }
38
+ const {
39
+ name
40
+ } = field;
41
+ const value = widgetData[name];
42
+ if (fieldHasSubFields(field)) {
43
+ result[name] = extractLocaleData(getObjectValue(value), locale, field.fields);
44
+ continue;
45
+ }
46
+ if (isLocalized(field) && value !== undefined && typeof value === 'object' && value !== null && !Array.isArray(value)) {
47
+ result[name] = value[locale];
48
+ } else {
49
+ result[name] = value;
50
+ }
51
+ }
52
+ return result;
53
+ }
54
+ /**
55
+ * Merges locale-specific form data back into the full widget data structure.
56
+ *
57
+ * Non-localized fields are stored directly. Localized fields are stored as
58
+ * `{ fieldName: { en: "Hello", de: "Hallo" } }` so each locale's value is preserved independently.
59
+ *
60
+ * Recursively handles nested field types (group, row, collapsible, tabs).
61
+ */
62
+ export function mergeLocaleData(existingData, formData, locale, fields) {
63
+ const result = {
64
+ ...existingData
65
+ };
66
+ for (const field of fields) {
67
+ if (field.type === 'tabs') {
68
+ for (const tab of field.tabs) {
69
+ const tabFields = tab.fields;
70
+ if (tabHasName(tab)) {
71
+ result[tab.name] = mergeLocaleData(getObjectValue(result[tab.name]), getObjectValue(formData[tab.name]), locale, tabFields);
72
+ } else {
73
+ Object.assign(result, mergeLocaleData(result, formData, locale, tabFields));
74
+ }
75
+ }
76
+ continue;
77
+ }
78
+ if (fieldHasSubFields(field) && !fieldAffectsData(field)) {
79
+ Object.assign(result, mergeLocaleData(result, formData, locale, field.fields));
80
+ continue;
81
+ }
82
+ if (!fieldAffectsData(field)) {
83
+ continue;
84
+ }
85
+ const {
86
+ name
87
+ } = field;
88
+ if (fieldHasSubFields(field)) {
89
+ result[name] = mergeLocaleData(getObjectValue(result[name]), getObjectValue(formData[name]), locale, field.fields);
90
+ continue;
91
+ }
92
+ if (isLocalized(field)) {
93
+ result[name] = {
94
+ ...getObjectValue(result[name]),
95
+ [locale]: formData[name]
96
+ };
97
+ } else {
98
+ result[name] = formData[name];
99
+ }
100
+ }
101
+ return result;
102
+ }
103
+ //# sourceMappingURL=localeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localeUtils.js","names":["fieldAffectsData","fieldHasSubFields","tabHasName","isLocalized","field","Boolean","localized","getObjectValue","value","Array","isArray","extractLocaleData","widgetData","locale","fields","result","type","tab","tabs","tabFields","name","Object","assign","undefined","mergeLocaleData","existingData","formData"],"sources":["../../../../../../src/views/Dashboard/Default/ModularDashboard/utils/localeUtils.ts"],"sourcesContent":["import type { ClientField, Field } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, tabHasName } from 'payload/shared'\n\ntype AnyField = ClientField | Field\n\nfunction isLocalized(field: AnyField): boolean {\n return 'localized' in field && Boolean(field.localized)\n}\n\nfunction getObjectValue(value: unknown): Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : {}\n}\n\n/**\n * Extracts locale-specific data from widget data stored in preferences.\n *\n * Localized fields are stored as `{ fieldName: { en: \"Hello\", de: \"Hallo\" } }` in preferences.\n * This function flattens them to `{ fieldName: \"Hello\" }` for the given locale,\n * which is the format the form state builder expects.\n *\n * Recursively handles nested field types (group, row, collapsible, tabs).\n */\nexport function extractLocaleData(\n widgetData: Record<string, unknown>,\n locale: string,\n fields: readonly AnyField[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = {}\n\n for (const field of fields) {\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n const tabFields = tab.fields as AnyField[]\n if (tabHasName(tab)) {\n result[tab.name] = extractLocaleData(\n getObjectValue(widgetData[tab.name]),\n locale,\n tabFields,\n )\n } else {\n Object.assign(result, extractLocaleData(widgetData, locale, tabFields))\n }\n }\n continue\n }\n\n if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n Object.assign(result, extractLocaleData(widgetData, locale, field.fields as AnyField[]))\n continue\n }\n\n if (!fieldAffectsData(field)) {\n continue\n }\n\n const { name } = field\n const value = widgetData[name]\n\n if (fieldHasSubFields(field)) {\n result[name] = extractLocaleData(getObjectValue(value), locale, field.fields as AnyField[])\n continue\n }\n\n if (\n isLocalized(field) &&\n value !== undefined &&\n typeof value === 'object' &&\n value !== null &&\n !Array.isArray(value)\n ) {\n result[name] = (value as Record<string, unknown>)[locale]\n } else {\n result[name] = value\n }\n }\n\n return result\n}\n\n/**\n * Merges locale-specific form data back into the full widget data structure.\n *\n * Non-localized fields are stored directly. Localized fields are stored as\n * `{ fieldName: { en: \"Hello\", de: \"Hallo\" } }` so each locale's value is preserved independently.\n *\n * Recursively handles nested field types (group, row, collapsible, tabs).\n */\nexport function mergeLocaleData(\n existingData: Record<string, unknown>,\n formData: Record<string, unknown>,\n locale: string,\n fields: readonly AnyField[],\n): Record<string, unknown> {\n const result: Record<string, unknown> = { ...existingData }\n\n for (const field of fields) {\n if (field.type === 'tabs') {\n for (const tab of field.tabs) {\n const tabFields = tab.fields as AnyField[]\n if (tabHasName(tab)) {\n result[tab.name] = mergeLocaleData(\n getObjectValue(result[tab.name]),\n getObjectValue(formData[tab.name]),\n locale,\n tabFields,\n )\n } else {\n Object.assign(result, mergeLocaleData(result, formData, locale, tabFields))\n }\n }\n continue\n }\n\n if (fieldHasSubFields(field) && !fieldAffectsData(field)) {\n Object.assign(result, mergeLocaleData(result, formData, locale, field.fields as AnyField[]))\n continue\n }\n\n if (!fieldAffectsData(field)) {\n continue\n }\n\n const { name } = field\n\n if (fieldHasSubFields(field)) {\n result[name] = mergeLocaleData(\n getObjectValue(result[name]),\n getObjectValue(formData[name]),\n locale,\n field.fields as AnyField[],\n )\n continue\n }\n\n if (isLocalized(field)) {\n result[name] = { ...getObjectValue(result[name]), [locale]: formData[name] }\n } else {\n result[name] = formData[name]\n }\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,257 +2,263 @@ import { KeyboardCode, KeyboardSensor, PointerSensor, useSensor, useSensors } fr
2
2
  /**
3
3
  * Get all droppable widget positions, filtering out overlapping "before" droppables
4
4
  * and assigning row numbers based on Y position.
5
- */ function getDroppablePositions() {
6
- const positionTolerance = 5;
7
- const rowTolerance = 10;
8
- const result = [];
9
- let currentRow = 0;
10
- let currentY = null;
11
- const allDroppables = Array.from(document.querySelectorAll('.droppable-widget'));
12
- for(let i = 0; i < allDroppables.length; i++){
13
- const element = allDroppables[i];
14
- const rect = element.getBoundingClientRect();
15
- // Skip hidden elements
16
- if (rect.width === 0 || rect.height === 0) {
17
- continue;
18
- }
19
- const centerX = rect.left + rect.width / 2;
20
- const centerY = rect.top + rect.height / 2;
21
- const testId = element.getAttribute('data-testid') || '';
22
- const isBeforeDroppable = testId.endsWith('-before');
23
- // Skip "before" droppables that overlap with another droppable
24
- if (isBeforeDroppable) {
25
- const hasOverlapping = allDroppables.some((other, otherIndex)=>{
26
- if (otherIndex === i) {
27
- return false;
28
- }
29
- const otherRect = other.getBoundingClientRect();
30
- const otherCenterX = otherRect.left + otherRect.width / 2;
31
- const otherCenterY = otherRect.top + otherRect.height / 2;
32
- return Math.abs(otherCenterX - centerX) < positionTolerance && Math.abs(otherCenterY - centerY) < positionTolerance;
33
- });
34
- if (hasOverlapping) {
35
- continue;
36
- }
37
- }
38
- // Assign row number based on Y position change
39
- if (currentY === null) {
40
- currentY = centerY;
41
- } else if (Math.abs(centerY - currentY) >= rowTolerance) {
42
- currentRow++;
43
- currentY = centerY;
5
+ */
6
+ function getDroppablePositions() {
7
+ const positionTolerance = 5;
8
+ const rowTolerance = 10;
9
+ const result = [];
10
+ let currentRow = 0;
11
+ let currentY = null;
12
+ const allDroppables = Array.from(document.querySelectorAll('.droppable-widget'));
13
+ for (let i = 0; i < allDroppables.length; i++) {
14
+ const element = allDroppables[i];
15
+ const rect = element.getBoundingClientRect();
16
+ // Skip hidden elements
17
+ if (rect.width === 0 || rect.height === 0) {
18
+ continue;
19
+ }
20
+ const centerX = rect.left + rect.width / 2;
21
+ const centerY = rect.top + rect.height / 2;
22
+ const testId = element.getAttribute('data-testid') || '';
23
+ const isBeforeDroppable = testId.endsWith('-before');
24
+ // Skip "before" droppables that overlap with another droppable
25
+ if (isBeforeDroppable) {
26
+ const hasOverlapping = allDroppables.some((other, otherIndex) => {
27
+ if (otherIndex === i) {
28
+ return false;
44
29
  }
45
- result.push({
46
- centerX,
47
- centerY,
48
- element,
49
- isBeforeDroppable,
50
- rect,
51
- row: currentRow
52
- });
30
+ const otherRect = other.getBoundingClientRect();
31
+ const otherCenterX = otherRect.left + otherRect.width / 2;
32
+ const otherCenterY = otherRect.top + otherRect.height / 2;
33
+ return Math.abs(otherCenterX - centerX) < positionTolerance && Math.abs(otherCenterY - centerY) < positionTolerance;
34
+ });
35
+ if (hasOverlapping) {
36
+ continue;
37
+ }
53
38
  }
54
- return result;
39
+ // Assign row number based on Y position change
40
+ if (currentY === null) {
41
+ currentY = centerY;
42
+ } else if (Math.abs(centerY - currentY) >= rowTolerance) {
43
+ currentRow++;
44
+ currentY = centerY;
45
+ }
46
+ result.push({
47
+ centerX,
48
+ centerY,
49
+ element,
50
+ isBeforeDroppable,
51
+ rect,
52
+ row: currentRow
53
+ });
54
+ }
55
+ return result;
55
56
  }
56
57
  /**
57
58
  * Find the row with the closest Y position to the given posY.
58
59
  * Returns the row index, or null if no droppables exist.
59
- */ function findClosestRow(droppables, posY) {
60
- if (droppables.length === 0) {
61
- return null;
62
- }
63
- let closestRow = droppables[0].row;
64
- let minYDistance = Infinity;
65
- for (const droppable of droppables){
66
- const yDistance = Math.abs(droppable.centerY - posY);
67
- if (yDistance < minYDistance) {
68
- minYDistance = yDistance;
69
- closestRow = droppable.row;
70
- }
60
+ */
61
+ function findClosestRow(droppables, posY) {
62
+ if (droppables.length === 0) {
63
+ return null;
64
+ }
65
+ let closestRow = droppables[0].row;
66
+ let minYDistance = Infinity;
67
+ for (const droppable of droppables) {
68
+ const yDistance = Math.abs(droppable.centerY - posY);
69
+ if (yDistance < minYDistance) {
70
+ minYDistance = yDistance;
71
+ closestRow = droppable.row;
71
72
  }
72
- return closestRow;
73
+ }
74
+ return closestRow;
73
75
  }
74
76
  /**
75
77
  * Find the closest droppable within a specific row by X position.
76
78
  * Returns the droppable and its index, or null if no droppables in that row.
77
- */ function findClosestDroppableInRow(droppables, rowIndex, posX) {
78
- let closestIndex = -1;
79
- let minXDistance = Infinity;
80
- for(let i = 0; i < droppables.length; i++){
81
- const droppable = droppables[i];
82
- if (droppable.row === rowIndex) {
83
- const xDistance = Math.abs(droppable.centerX - posX);
84
- if (xDistance < minXDistance) {
85
- minXDistance = xDistance;
86
- closestIndex = i;
87
- }
88
- }
79
+ */
80
+ function findClosestDroppableInRow(droppables, rowIndex, posX) {
81
+ let closestIndex = -1;
82
+ let minXDistance = Infinity;
83
+ for (let i = 0; i < droppables.length; i++) {
84
+ const droppable = droppables[i];
85
+ if (droppable.row === rowIndex) {
86
+ const xDistance = Math.abs(droppable.centerX - posX);
87
+ if (xDistance < minXDistance) {
88
+ minXDistance = xDistance;
89
+ closestIndex = i;
90
+ }
89
91
  }
90
- if (closestIndex === -1) {
91
- return null;
92
- }
93
- return {
94
- droppable: droppables[closestIndex],
95
- index: closestIndex
96
- };
92
+ }
93
+ if (closestIndex === -1) {
94
+ return null;
95
+ }
96
+ return {
97
+ droppable: droppables[closestIndex],
98
+ index: closestIndex
99
+ };
97
100
  }
98
101
  /**
99
102
  * Find the target droppable based on direction
100
103
  * - ArrowRight/Left: Next/previous in DOM order (now that overlapping droppables are filtered)
101
104
  * - ArrowUp/Down: Closest in adjacent row (row +1 or -1) by X position
102
- */ function findTargetDroppable(droppables, currentCenterX, currentCenterY, direction) {
103
- // Find the closest row, then the closest droppable in that row
104
- const currentRow = findClosestRow(droppables, currentCenterY);
105
- if (currentRow === null) {
106
- return null;
107
- }
108
- const currentDroppable = findClosestDroppableInRow(droppables, currentRow, currentCenterX);
109
- if (!currentDroppable) {
110
- return null;
111
- }
112
- const { index: currentIndex } = currentDroppable;
113
- switch(direction){
114
- case 'ArrowDown':
115
- {
116
- const targetRow = currentRow + 1;
117
- return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
118
- }
119
- case 'ArrowLeft':
120
- // Previous in DOM order
121
- return droppables[currentIndex - 1] || null;
122
- case 'ArrowRight':
123
- // Next in DOM order
124
- return droppables[currentIndex + 1] || null;
125
- case 'ArrowUp':
126
- {
127
- const targetRow = currentRow - 1;
128
- return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
129
- }
130
- default:
131
- return null;
132
- }
105
+ */
106
+ function findTargetDroppable(droppables, currentCenterX, currentCenterY, direction) {
107
+ // Find the closest row, then the closest droppable in that row
108
+ const currentRow = findClosestRow(droppables, currentCenterY);
109
+ if (currentRow === null) {
110
+ return null;
111
+ }
112
+ const currentDroppable = findClosestDroppableInRow(droppables, currentRow, currentCenterX);
113
+ if (!currentDroppable) {
114
+ return null;
115
+ }
116
+ const {
117
+ index: currentIndex
118
+ } = currentDroppable;
119
+ switch (direction) {
120
+ case 'ArrowDown':
121
+ {
122
+ const targetRow = currentRow + 1;
123
+ return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
124
+ }
125
+ case 'ArrowLeft':
126
+ // Previous in DOM order
127
+ return droppables[currentIndex - 1] || null;
128
+ case 'ArrowRight':
129
+ // Next in DOM order
130
+ return droppables[currentIndex + 1] || null;
131
+ case 'ArrowUp':
132
+ {
133
+ const targetRow = currentRow - 1;
134
+ return findClosestDroppableInRow(droppables, targetRow, currentCenterX)?.droppable || null;
135
+ }
136
+ default:
137
+ return null;
138
+ }
133
139
  }
134
140
  /**
135
141
  * Custom coordinate getter that jumps directly to droppable positions
136
142
  * instead of moving in pixel increments. This works better with scrolling
137
143
  * and provides more predictable navigation.
138
- */ const droppableJumpKeyboardCoordinateGetter = (event, { context, currentCoordinates })=>{
139
- const { collisionRect } = context;
140
- const { code } = event;
141
- if (!collisionRect) {
142
- return currentCoordinates;
143
- }
144
- // Only handle arrow keys
145
- if (![
146
- 'ArrowDown',
147
- 'ArrowLeft',
148
- 'ArrowRight',
149
- 'ArrowUp'
150
- ].includes(code)) {
151
- return currentCoordinates;
152
- }
153
- // Prevent default browser scroll behavior for arrow keys
154
- event.preventDefault();
155
- // Clear scrollableAncestors to prevent dnd-kit from scrolling instead of moving
156
- // This must be done on every keydown because context is updated by dnd-kit
157
- if (context.scrollableAncestors) {
158
- context.scrollableAncestors.length = 0;
159
- }
160
- // Get all droppable widgets and their positions
161
- const droppables = getDroppablePositions();
162
- if (droppables.length === 0) {
163
- return currentCoordinates;
164
- }
165
- // Current position center (viewport coordinates from collisionRect)
166
- const currentCenterX = collisionRect.left + collisionRect.width / 2;
167
- const currentCenterY = collisionRect.top + collisionRect.height / 2;
168
- // Find the target droppable based on direction
169
- const targetDroppable = findTargetDroppable(droppables, currentCenterX, currentCenterY, code);
170
- // If we found a target, scroll if needed and calculate the delta
171
- if (targetDroppable) {
172
- const viewportHeight = window.innerHeight;
173
- const targetRect = targetDroppable.rect;
174
- const scrollPadding = 20;
175
- // Extra padding to ensure element is fully visible
176
- // Check if target droppable is fully visible in viewport
177
- const isAboveViewport = targetRect.top < scrollPadding;
178
- const isBelowViewport = targetRect.bottom > viewportHeight - scrollPadding;
179
- // Scroll to make target visible (using instant scroll for synchronous behavior)
180
- if (isAboveViewport) {
181
- const scrollAmount = targetRect.top - scrollPadding;
182
- // don't use smooth scroll here, because it will mess up the delta calculation
183
- window.scrollBy({
184
- behavior: 'instant',
185
- top: scrollAmount
186
- });
187
- } else if (isBelowViewport) {
188
- const scrollAmount = targetRect.bottom - viewportHeight + scrollPadding;
189
- window.scrollBy({
190
- behavior: 'instant',
191
- top: scrollAmount
192
- });
193
- }
194
- // After scroll, recalculate target position (it may have changed due to scroll)
195
- const newTargetRect = targetDroppable.element.getBoundingClientRect();
196
- const newTargetCenterX = newTargetRect.left + newTargetRect.width / 2;
197
- const newTargetCenterY = newTargetRect.top + newTargetRect.height / 2;
198
- // Calculate delta using current overlay position (which didn't change) and new target position
199
- const deltaX = newTargetCenterX - currentCenterX;
200
- const deltaY = newTargetCenterY - currentCenterY;
201
- // Add delta to currentCoordinates to position overlay's center at target's center
202
- return {
203
- x: currentCoordinates.x + deltaX,
204
- y: currentCoordinates.y + deltaY
205
- };
206
- }
207
- // No valid target found, stay in place
144
+ */
145
+ const droppableJumpKeyboardCoordinateGetter = (event, {
146
+ context,
147
+ currentCoordinates
148
+ }) => {
149
+ const {
150
+ collisionRect
151
+ } = context;
152
+ const {
153
+ code
154
+ } = event;
155
+ if (!collisionRect) {
208
156
  return currentCoordinates;
157
+ }
158
+ // Only handle arrow keys
159
+ if (!['ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowUp'].includes(code)) {
160
+ return currentCoordinates;
161
+ }
162
+ // Prevent default browser scroll behavior for arrow keys
163
+ event.preventDefault();
164
+ // Clear scrollableAncestors to prevent dnd-kit from scrolling instead of moving
165
+ // This must be done on every keydown because context is updated by dnd-kit
166
+ if (context.scrollableAncestors) {
167
+ context.scrollableAncestors.length = 0;
168
+ }
169
+ // Get all droppable widgets and their positions
170
+ const droppables = getDroppablePositions();
171
+ if (droppables.length === 0) {
172
+ return currentCoordinates;
173
+ }
174
+ // Current position center (viewport coordinates from collisionRect)
175
+ const currentCenterX = collisionRect.left + collisionRect.width / 2;
176
+ const currentCenterY = collisionRect.top + collisionRect.height / 2;
177
+ // Find the target droppable based on direction
178
+ const targetDroppable = findTargetDroppable(droppables, currentCenterX, currentCenterY, code);
179
+ // If we found a target, scroll if needed and calculate the delta
180
+ if (targetDroppable) {
181
+ const viewportHeight = window.innerHeight;
182
+ const targetRect = targetDroppable.rect;
183
+ const scrollPadding = 20 // Extra padding to ensure element is fully visible
184
+ ;
185
+ // Check if target droppable is fully visible in viewport
186
+ const isAboveViewport = targetRect.top < scrollPadding;
187
+ const isBelowViewport = targetRect.bottom > viewportHeight - scrollPadding;
188
+ // Scroll to make target visible (using instant scroll for synchronous behavior)
189
+ if (isAboveViewport) {
190
+ const scrollAmount = targetRect.top - scrollPadding;
191
+ // don't use smooth scroll here, because it will mess up the delta calculation
192
+ window.scrollBy({
193
+ behavior: 'instant',
194
+ top: scrollAmount
195
+ });
196
+ } else if (isBelowViewport) {
197
+ const scrollAmount = targetRect.bottom - viewportHeight + scrollPadding;
198
+ window.scrollBy({
199
+ behavior: 'instant',
200
+ top: scrollAmount
201
+ });
202
+ }
203
+ // After scroll, recalculate target position (it may have changed due to scroll)
204
+ const newTargetRect = targetDroppable.element.getBoundingClientRect();
205
+ const newTargetCenterX = newTargetRect.left + newTargetRect.width / 2;
206
+ const newTargetCenterY = newTargetRect.top + newTargetRect.height / 2;
207
+ // Calculate delta using current overlay position (which didn't change) and new target position
208
+ const deltaX = newTargetCenterX - currentCenterX;
209
+ const deltaY = newTargetCenterY - currentCenterY;
210
+ // Add delta to currentCoordinates to position overlay's center at target's center
211
+ return {
212
+ x: currentCoordinates.x + deltaX,
213
+ y: currentCoordinates.y + deltaY
214
+ };
215
+ }
216
+ // No valid target found, stay in place
217
+ return currentCoordinates;
209
218
  };
210
219
  /**
211
220
  * Custom KeyboardSensor that only activates when focus is directly on the
212
221
  * draggable element, not on any of its descendants. This allows interactive
213
222
  * elements inside draggables (like buttons) to work normally with the keyboard.
214
- */ let DirectFocusKeyboardSensor = class DirectFocusKeyboardSensor extends KeyboardSensor {
215
- static activators = [
216
- {
217
- eventName: 'onKeyDown',
218
- handler: (event, { keyboardCodes = {
219
- cancel: [
220
- KeyboardCode.Esc
221
- ],
222
- end: [
223
- KeyboardCode.Space,
224
- KeyboardCode.Enter
225
- ],
226
- start: [
227
- KeyboardCode.Space,
228
- KeyboardCode.Enter
229
- ]
230
- }, onActivation }, { active })=>{
231
- const { code } = event.nativeEvent;
232
- // Only activate if focus is directly on the draggable node, not descendants
233
- if (event.target !== active.node.current) {
234
- return false;
235
- }
236
- if (keyboardCodes.start.includes(code)) {
237
- event.preventDefault();
238
- onActivation?.({
239
- event: event.nativeEvent
240
- });
241
- return true;
242
- }
243
- return false;
244
- }
245
- }
246
- ];
247
- };
223
+ */
224
+ class DirectFocusKeyboardSensor extends KeyboardSensor {
225
+ static activators = [{
226
+ eventName: 'onKeyDown',
227
+ handler: (event, {
228
+ keyboardCodes = {
229
+ cancel: [KeyboardCode.Esc],
230
+ end: [KeyboardCode.Space, KeyboardCode.Enter],
231
+ start: [KeyboardCode.Space, KeyboardCode.Enter]
232
+ },
233
+ onActivation
234
+ }, {
235
+ active
236
+ }) => {
237
+ const {
238
+ code
239
+ } = event.nativeEvent;
240
+ // Only activate if focus is directly on the draggable node, not descendants
241
+ if (event.target !== active.node.current) {
242
+ return false;
243
+ }
244
+ if (keyboardCodes.start.includes(code)) {
245
+ event.preventDefault();
246
+ onActivation?.({
247
+ event: event.nativeEvent
248
+ });
249
+ return true;
250
+ }
251
+ return false;
252
+ }
253
+ }];
254
+ }
248
255
  export function useDashboardSensors() {
249
- return useSensors(useSensor(PointerSensor, {
250
- activationConstraint: {
251
- distance: 5
252
- }
253
- }), useSensor(DirectFocusKeyboardSensor, {
254
- coordinateGetter: droppableJumpKeyboardCoordinateGetter
255
- }));
256
+ return useSensors(useSensor(PointerSensor, {
257
+ activationConstraint: {
258
+ distance: 5
259
+ }
260
+ }), useSensor(DirectFocusKeyboardSensor, {
261
+ coordinateGetter: droppableJumpKeyboardCoordinateGetter
262
+ }));
256
263
  }
257
-
258
264
  //# sourceMappingURL=sensors.js.map