@payloadcms/ui 3.23.0 → 3.24.0-canary.05013b2

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 (281) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +2 -4
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/Banner/index.d.ts.map +1 -1
  5. package/dist/elements/Banner/index.js +1 -2
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/EditForm/index.js +6 -2
  9. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  10. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +22 -20
  12. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  13. package/dist/elements/Button/index.d.ts.map +1 -1
  14. package/dist/elements/Button/index.js +11 -12
  15. package/dist/elements/Button/index.js.map +1 -1
  16. package/dist/elements/Button/types.d.ts +5 -0
  17. package/dist/elements/Button/types.d.ts.map +1 -1
  18. package/dist/elements/Button/types.js.map +1 -1
  19. package/dist/elements/Card/index.d.ts +7 -3
  20. package/dist/elements/Card/index.d.ts.map +1 -1
  21. package/dist/elements/Card/index.js +0 -2
  22. package/dist/elements/Card/index.js.map +1 -1
  23. package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
  24. package/dist/elements/CopyLocaleData/index.js +220 -99
  25. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  26. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  27. package/dist/elements/DeleteDocument/index.js +7 -3
  28. package/dist/elements/DeleteDocument/index.js.map +1 -1
  29. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  30. package/dist/elements/DeleteMany/index.js +2 -2
  31. package/dist/elements/DeleteMany/index.js.map +1 -1
  32. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  33. package/dist/elements/DocumentControls/index.js.map +1 -1
  34. package/dist/elements/DocumentLocked/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentLocked/index.js +67 -39
  36. package/dist/elements/DocumentLocked/index.js.map +1 -1
  37. package/dist/elements/DocumentTakeOver/index.d.ts.map +1 -1
  38. package/dist/elements/DocumentTakeOver/index.js +28 -12
  39. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  40. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  41. package/dist/elements/DuplicateDocument/index.js +8 -4
  42. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  43. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  44. package/dist/elements/EditMany/DrawerContent.js +3 -2
  45. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  46. package/dist/elements/EditUpload/index.js +1 -1
  47. package/dist/elements/EditUpload/index.js.map +1 -1
  48. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts +1 -0
  49. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  50. package/dist/elements/FileDetails/DraggableFileDetails/index.js +19 -17
  51. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  52. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts +1 -0
  53. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  54. package/dist/elements/FileDetails/StaticFileDetails/index.js +2 -1
  55. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  56. package/dist/elements/FileDetails/index.d.ts +1 -0
  57. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  58. package/dist/elements/FileDetails/index.js.map +1 -1
  59. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  60. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  61. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +6 -2
  62. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  63. package/dist/elements/Link/formatUrl.d.ts +4 -0
  64. package/dist/elements/Link/formatUrl.d.ts.map +1 -0
  65. package/dist/elements/Link/formatUrl.js +87 -0
  66. package/dist/elements/Link/formatUrl.js.map +1 -0
  67. package/dist/elements/Link/index.d.ts +6 -0
  68. package/dist/elements/Link/index.d.ts.map +1 -0
  69. package/dist/elements/Link/index.js +58 -0
  70. package/dist/elements/Link/index.js.map +1 -0
  71. package/dist/elements/ListControls/index.d.ts +2 -1
  72. package/dist/elements/ListControls/index.d.ts.map +1 -1
  73. package/dist/elements/ListControls/index.js +5 -3
  74. package/dist/elements/ListControls/index.js.map +1 -1
  75. package/dist/elements/Logout/index.d.ts +5 -0
  76. package/dist/elements/Logout/index.d.ts.map +1 -1
  77. package/dist/elements/Logout/index.js +10 -13
  78. package/dist/elements/Logout/index.js.map +1 -1
  79. package/dist/elements/Nav/context.d.ts.map +1 -1
  80. package/dist/elements/Nav/context.js +3 -1
  81. package/dist/elements/Nav/context.js.map +1 -1
  82. package/dist/elements/Pill/index.d.ts.map +1 -1
  83. package/dist/elements/Pill/index.js +1 -2
  84. package/dist/elements/Pill/index.js.map +1 -1
  85. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/PopupButtonList/index.js +1 -2
  87. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  88. package/dist/elements/PreviewButton/index.d.ts +2 -1
  89. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  90. package/dist/elements/PreviewButton/index.js +2 -2
  91. package/dist/elements/PreviewButton/index.js.map +1 -1
  92. package/dist/elements/PreviewSizes/index.js +1 -1
  93. package/dist/elements/PreviewSizes/index.js.map +1 -1
  94. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
  95. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  97. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  98. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  99. package/dist/elements/PublishButton/index.d.ts +2 -3
  100. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  101. package/dist/elements/PublishButton/index.js +2 -2
  102. package/dist/elements/PublishButton/index.js.map +1 -1
  103. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  104. package/dist/elements/RelationshipTable/index.js.map +1 -1
  105. package/dist/elements/SaveButton/index.d.ts +2 -3
  106. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  107. package/dist/elements/SaveButton/index.js +3 -3
  108. package/dist/elements/SaveButton/index.js.map +1 -1
  109. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  110. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  111. package/dist/elements/SaveDraftButton/index.js +2 -2
  112. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  113. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  114. package/dist/elements/StayLoggedIn/index.js +32 -27
  115. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  116. package/dist/elements/StepNav/index.d.ts +5 -0
  117. package/dist/elements/StepNav/index.d.ts.map +1 -1
  118. package/dist/elements/StepNav/index.js +18 -25
  119. package/dist/elements/StepNav/index.js.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +12 -4
  122. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +1 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/index.d.ts +1 -9
  127. package/dist/elements/Table/index.d.ts.map +1 -1
  128. package/dist/elements/Table/index.js.map +1 -1
  129. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  130. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  131. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  132. package/dist/elements/TableColumns/index.d.ts +1 -2
  133. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  134. package/dist/elements/TableColumns/index.js.map +1 -1
  135. package/dist/elements/Thumbnail/index.js +2 -2
  136. package/dist/elements/Thumbnail/index.js.map +1 -1
  137. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  138. package/dist/elements/UnpublishMany/index.js.map +1 -1
  139. package/dist/elements/Upload/index.d.ts.map +1 -1
  140. package/dist/elements/Upload/index.js +5 -1
  141. package/dist/elements/Upload/index.js.map +1 -1
  142. package/dist/elements/ViewDescription/index.d.ts +2 -5
  143. package/dist/elements/ViewDescription/index.d.ts.map +1 -1
  144. package/dist/elements/ViewDescription/index.js +2 -2
  145. package/dist/elements/ViewDescription/index.js.map +1 -1
  146. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts +2 -1
  147. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.d.ts.map +1 -1
  148. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +2 -0
  149. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  150. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  151. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -0
  152. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  153. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +2 -1
  154. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  155. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  156. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
  157. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  158. package/dist/elements/WhereBuilder/Condition/index.js +2 -0
  159. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  160. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  161. package/dist/elements/WhereBuilder/index.js +3 -1
  162. package/dist/elements/WhereBuilder/index.js.map +1 -1
  163. package/dist/elements/WhereBuilder/types.d.ts +2 -1
  164. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  165. package/dist/elements/WhereBuilder/types.js.map +1 -1
  166. package/dist/exports/client/{CodeEditor-BMYVMDNZ.js → CodeEditor-L6GW2VQ6.js} +2 -2
  167. package/dist/exports/client/chunk-ZZDNSFEW.js +26 -0
  168. package/dist/exports/client/{chunk-CQQHQHCB.js.map → chunk-ZZDNSFEW.js.map} +4 -4
  169. package/dist/exports/client/index.d.ts +47 -4
  170. package/dist/exports/client/index.d.ts.map +1 -1
  171. package/dist/exports/client/index.js +23 -23
  172. package/dist/exports/client/index.js.map +4 -4
  173. package/dist/exports/rsc/index.d.ts +1 -0
  174. package/dist/exports/rsc/index.d.ts.map +1 -1
  175. package/dist/exports/rsc/index.js +1 -0
  176. package/dist/exports/rsc/index.js.map +1 -1
  177. package/dist/fields/Array/index.d.ts.map +1 -1
  178. package/dist/fields/Array/index.js +1 -2
  179. package/dist/fields/Array/index.js.map +1 -1
  180. package/dist/fields/Blocks/BlockRow.d.ts +1 -1
  181. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  182. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  183. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  184. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  185. package/dist/fields/Blocks/BlocksDrawer/index.js +31 -23
  186. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  187. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  188. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  189. package/dist/fields/Blocks/RowActions.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts.map +1 -1
  191. package/dist/fields/Blocks/index.js +6 -4
  192. package/dist/fields/Blocks/index.js.map +1 -1
  193. package/dist/fields/JSON/index.d.ts.map +1 -1
  194. package/dist/fields/JSON/index.js +5 -6
  195. package/dist/fields/JSON/index.js.map +1 -1
  196. package/dist/fields/Join/index.d.ts.map +1 -1
  197. package/dist/fields/Join/index.js +20 -4
  198. package/dist/fields/Join/index.js.map +1 -1
  199. package/dist/fields/Relationship/optionsReducer.d.ts.map +1 -1
  200. package/dist/fields/Relationship/optionsReducer.js +1 -0
  201. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  202. package/dist/fields/Upload/Input.d.ts +1 -0
  203. package/dist/fields/Upload/Input.d.ts.map +1 -1
  204. package/dist/fields/Upload/Input.js.map +1 -1
  205. package/dist/fields/Upload/RelationshipContent/index.js +1 -1
  206. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  207. package/dist/forms/Form/index.d.ts.map +1 -1
  208. package/dist/forms/Form/index.js +5 -1
  209. package/dist/forms/Form/index.js.map +1 -1
  210. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  211. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +4 -3
  212. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  213. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  214. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +1 -1
  215. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  216. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  217. package/dist/forms/fieldSchemasToFormState/renderField.js +2 -1
  218. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  219. package/dist/providers/Auth/index.d.ts.map +1 -1
  220. package/dist/providers/Auth/index.js +9 -13
  221. package/dist/providers/Auth/index.js.map +1 -1
  222. package/dist/providers/Config/index.d.ts +2 -2
  223. package/dist/providers/Config/index.d.ts.map +1 -1
  224. package/dist/providers/Config/index.js +17 -2
  225. package/dist/providers/Config/index.js.map +1 -1
  226. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  227. package/dist/providers/ListQuery/index.js +2 -1
  228. package/dist/providers/ListQuery/index.js.map +1 -1
  229. package/dist/providers/Root/index.d.ts.map +1 -1
  230. package/dist/providers/Root/index.js +44 -41
  231. package/dist/providers/Root/index.js.map +1 -1
  232. package/dist/providers/RouteTransition/ProgressBar/index.d.ts +17 -0
  233. package/dist/providers/RouteTransition/ProgressBar/index.d.ts.map +1 -0
  234. package/dist/providers/RouteTransition/ProgressBar/index.js +104 -0
  235. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -0
  236. package/dist/providers/RouteTransition/ProgressBar/index.scss +21 -0
  237. package/dist/providers/RouteTransition/index.d.ts +51 -0
  238. package/dist/providers/RouteTransition/index.d.ts.map +1 -0
  239. package/dist/providers/RouteTransition/index.js +133 -0
  240. package/dist/providers/RouteTransition/index.js.map +1 -0
  241. package/dist/styles.css +1 -1
  242. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.d.ts.map +1 -1
  243. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +3 -1
  244. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  245. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  246. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +4 -1
  247. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  248. package/dist/utilities/buildTableState.d.ts +1 -2
  249. package/dist/utilities/buildTableState.d.ts.map +1 -1
  250. package/dist/utilities/buildTableState.js +1 -0
  251. package/dist/utilities/buildTableState.js.map +1 -1
  252. package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
  253. package/dist/utilities/copyDataFromLocale.js +22 -18
  254. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  255. package/dist/utilities/getClientConfig.js.map +1 -1
  256. package/dist/utilities/renderTable.d.ts.map +1 -1
  257. package/dist/utilities/renderTable.js.map +1 -1
  258. package/dist/utilities/resolveFilterOptions.d.ts +5 -0
  259. package/dist/utilities/resolveFilterOptions.d.ts.map +1 -0
  260. package/dist/{forms/fieldSchemasToFormState/getFilterOptionsQuery.js → utilities/resolveFilterOptions.js} +2 -2
  261. package/dist/utilities/resolveFilterOptions.js.map +1 -0
  262. package/dist/views/Edit/index.d.ts +2 -2
  263. package/dist/views/Edit/index.d.ts.map +1 -1
  264. package/dist/views/Edit/index.js +8 -4
  265. package/dist/views/Edit/index.js.map +1 -1
  266. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  267. package/dist/views/List/ListHeader/index.js +1 -4
  268. package/dist/views/List/ListHeader/index.js.map +1 -1
  269. package/dist/views/List/index.d.ts +2 -24
  270. package/dist/views/List/index.d.ts.map +1 -1
  271. package/dist/views/List/index.js +7 -7
  272. package/dist/views/List/index.js.map +1 -1
  273. package/dist/views/List/types.d.ts +1 -18
  274. package/dist/views/List/types.d.ts.map +1 -1
  275. package/dist/views/List/types.js.map +1 -1
  276. package/package.json +6 -6
  277. package/dist/exports/client/chunk-CQQHQHCB.js +0 -26
  278. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts +0 -7
  279. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.d.ts.map +0 -1
  280. package/dist/forms/fieldSchemasToFormState/getFilterOptionsQuery.js.map +0 -1
  281. /package/dist/exports/client/{CodeEditor-BMYVMDNZ.js.map → CodeEditor-L6GW2VQ6.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAc1C,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAoLlC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/CopyLocaleData/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAgB1C,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EA0LlC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
 
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
5
  import { useModal } from '@faceless-ui/modal';
5
6
  import { getTranslation } from '@payloadcms/translations';
@@ -12,25 +13,29 @@ import { useFormModified } from '../../forms/Form/context.js';
12
13
  import { useConfig } from '../../providers/Config/index.js';
13
14
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
14
15
  import { useLocale } from '../../providers/Locale/index.js';
16
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
15
17
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
16
18
  import { useTranslation } from '../../providers/Translation/index.js';
17
19
  import { DrawerHeader } from '../BulkUpload/Header/index.js';
18
20
  import { Button } from '../Button/index.js';
19
21
  import { Drawer } from '../Drawer/index.js';
20
- import './index.scss';
21
22
  import { PopupList } from '../Popup/index.js';
23
+ import './index.scss';
22
24
  const baseClass = 'copy-locale-data';
23
25
  const drawerSlug = 'copy-locale';
24
26
  export const CopyLocaleData = () => {
27
+ const $ = _c(38);
25
28
  const {
26
- config: {
27
- localization,
28
- routes: {
29
- admin
30
- },
31
- serverURL
32
- }
29
+ config: t0
33
30
  } = useConfig();
31
+ const {
32
+ localization,
33
+ routes: t1,
34
+ serverURL
35
+ } = t0;
36
+ const {
37
+ admin
38
+ } = t1;
34
39
  const {
35
40
  code
36
41
  } = useLocale();
@@ -51,133 +56,249 @@ export const CopyLocaleData = () => {
51
56
  copyDataFromLocale
52
57
  } = useServerFunctions();
53
58
  const router = useRouter();
54
- const localeOptions = localization && localization.locales.map(locale => ({
55
- label: locale.label,
56
- value: locale.code
57
- })) || [];
58
- const localeOptionsWithoutCurrent = localeOptions.filter(locale_0 => locale_0.value !== code);
59
- const getLocaleLabel = code_0 => {
60
- const locale_1 = localization && localization.locales.find(l => l.code === code_0);
61
- return locale_1 && locale_1.label ? getTranslation(locale_1.label, i18n) : code_0;
62
- };
59
+ const {
60
+ startRouteTransition
61
+ } = useRouteTransition();
62
+ let t2;
63
+ if ($[0] !== localization) {
64
+ t2 = localization && localization.locales.map(_temp) || [];
65
+ $[0] = localization;
66
+ $[1] = t2;
67
+ } else {
68
+ t2 = $[1];
69
+ }
70
+ const localeOptions = t2;
71
+ let t3;
72
+ if ($[2] !== code) {
73
+ t3 = locale_0 => locale_0.value !== code;
74
+ $[2] = code;
75
+ $[3] = t3;
76
+ } else {
77
+ t3 = $[3];
78
+ }
79
+ const localeOptionsWithoutCurrent = localeOptions.filter(t3);
80
+ let t4;
81
+ if ($[4] !== i18n || $[5] !== localization) {
82
+ t4 = code_0 => {
83
+ const locale_1 = localization && localization.locales.find(l => l.code === code_0);
84
+ return locale_1 && locale_1.label ? getTranslation(locale_1.label, i18n) : code_0;
85
+ };
86
+ $[4] = i18n;
87
+ $[5] = localization;
88
+ $[6] = t4;
89
+ } else {
90
+ t4 = $[6];
91
+ }
92
+ const getLocaleLabel = t4;
63
93
  const [copying, setCopying] = React.useState(false);
64
94
  const [toLocale, setToLocale] = React.useState(null);
65
95
  const [fromLocale, setFromLocale] = React.useState(code);
66
96
  const [overwriteExisting, setOverwriteExisting] = React.useState(false);
67
- React.useEffect(() => {
68
- if (fromLocale !== code) {
69
- setFromLocale(code);
70
- }
71
- }, [code, fromLocale]);
72
- const copyLocaleData = useCallback(async ({
73
- from,
74
- to
75
- }) => {
76
- setCopying(true);
77
- try {
78
- await copyDataFromLocale({
79
- collectionSlug,
80
- docID: id,
81
- fromLocale: from,
82
- globalSlug,
83
- overrideData: overwriteExisting,
84
- toLocale: to
85
- });
86
- setCopying(false);
87
- router.push(`${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`);
88
- toggleModal(drawerSlug);
89
- } catch (error) {
90
- toast.error(error.message);
91
- }
92
- }, [copyDataFromLocale, collectionSlug, id, globalSlug, overwriteExisting, toggleModal, router, serverURL, admin]);
97
+ let t5;
98
+ let t6;
99
+ if ($[7] !== code || $[8] !== fromLocale) {
100
+ t5 = () => {
101
+ if (fromLocale !== code) {
102
+ setFromLocale(code);
103
+ }
104
+ };
105
+ t6 = [code, fromLocale];
106
+ $[7] = code;
107
+ $[8] = fromLocale;
108
+ $[9] = t5;
109
+ $[10] = t6;
110
+ } else {
111
+ t5 = $[9];
112
+ t6 = $[10];
113
+ }
114
+ React.useEffect(t5, t6);
115
+ let t7;
116
+ if ($[11] !== admin || $[12] !== collectionSlug || $[13] !== copyDataFromLocale || $[14] !== globalSlug || $[15] !== id || $[16] !== overwriteExisting || $[17] !== router || $[18] !== serverURL || $[19] !== startRouteTransition || $[20] !== toggleModal) {
117
+ t7 = async t8 => {
118
+ const {
119
+ from,
120
+ to
121
+ } = t8;
122
+ setCopying(true);
123
+ ;
124
+ try {
125
+ await copyDataFromLocale({
126
+ collectionSlug,
127
+ docID: id,
128
+ fromLocale: from,
129
+ globalSlug,
130
+ overrideData: overwriteExisting,
131
+ toLocale: to
132
+ });
133
+ setCopying(false);
134
+ startRouteTransition(() => router.push(`${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`));
135
+ toggleModal(drawerSlug);
136
+ } catch (t9) {
137
+ const error = t9;
138
+ toast.error(error.message);
139
+ }
140
+ };
141
+ $[11] = admin;
142
+ $[12] = collectionSlug;
143
+ $[13] = copyDataFromLocale;
144
+ $[14] = globalSlug;
145
+ $[15] = id;
146
+ $[16] = overwriteExisting;
147
+ $[17] = router;
148
+ $[18] = serverURL;
149
+ $[19] = startRouteTransition;
150
+ $[20] = toggleModal;
151
+ $[21] = t7;
152
+ } else {
153
+ t7 = $[21];
154
+ }
155
+ const copyLocaleData = t7;
93
156
  if (!id && !globalSlug) {
94
157
  return null;
95
158
  }
96
- return /*#__PURE__*/_jsxs(React.Fragment, {
97
- children: [/*#__PURE__*/_jsx(PopupList.Button, {
159
+ let t8;
160
+ if ($[22] !== modified || $[23] !== t || $[24] !== toggleModal) {
161
+ t8 = () => {
162
+ if (modified) {
163
+ toast.info(t("general:unsavedChanges"));
164
+ } else {
165
+ toggleModal(drawerSlug);
166
+ }
167
+ };
168
+ $[22] = modified;
169
+ $[23] = t;
170
+ $[24] = toggleModal;
171
+ $[25] = t8;
172
+ } else {
173
+ t8 = $[25];
174
+ }
175
+ let t9;
176
+ if ($[26] !== toggleModal) {
177
+ t9 = () => {
178
+ toggleModal(drawerSlug);
179
+ };
180
+ $[26] = toggleModal;
181
+ $[27] = t9;
182
+ } else {
183
+ t9 = $[27];
184
+ }
185
+ let t10;
186
+ if ($[28] !== copyLocaleData || $[29] !== copying || $[30] !== fromLocale || $[31] !== t || $[32] !== toLocale) {
187
+ t10 = async () => {
188
+ if (fromLocale === toLocale) {
189
+ toast.error(t("localization:cannotCopySameLocale"));
190
+ return;
191
+ }
192
+ if (!copying) {
193
+ await copyLocaleData({
194
+ from: fromLocale,
195
+ to: toLocale
196
+ });
197
+ }
198
+ };
199
+ $[28] = copyLocaleData;
200
+ $[29] = copying;
201
+ $[30] = fromLocale;
202
+ $[31] = t;
203
+ $[32] = toLocale;
204
+ $[33] = t10;
205
+ } else {
206
+ t10 = $[33];
207
+ }
208
+ let t11;
209
+ if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
210
+ t11 = selectedOption => {
211
+ if (selectedOption?.value) {
212
+ setFromLocale(selectedOption.value);
213
+ }
214
+ };
215
+ $[34] = t11;
216
+ } else {
217
+ t11 = $[34];
218
+ }
219
+ let t12;
220
+ if ($[35] === Symbol.for("react.memo_cache_sentinel")) {
221
+ t12 = selectedOption_0 => {
222
+ if (selectedOption_0?.value) {
223
+ setToLocale(selectedOption_0.value);
224
+ }
225
+ };
226
+ $[35] = t12;
227
+ } else {
228
+ t12 = $[35];
229
+ }
230
+ let t13;
231
+ if ($[36] !== overwriteExisting) {
232
+ t13 = () => setOverwriteExisting(!overwriteExisting);
233
+ $[36] = overwriteExisting;
234
+ $[37] = t13;
235
+ } else {
236
+ t13 = $[37];
237
+ }
238
+ return _jsxs(React.Fragment, {
239
+ children: [_jsx(PopupList.Button, {
98
240
  id: `${baseClass}__button`,
99
- onClick: () => {
100
- if (modified) {
101
- toast.info(t('general:unsavedChanges'));
102
- } else {
103
- toggleModal(drawerSlug);
104
- }
105
- },
106
- children: t('localization:copyToLocale')
107
- }), /*#__PURE__*/_jsxs(Drawer, {
241
+ onClick: t8,
242
+ children: t("localization:copyToLocale")
243
+ }), _jsxs(Drawer, {
108
244
  className: baseClass,
109
245
  gutter: false,
110
- Header: /*#__PURE__*/_jsx(DrawerHeader, {
111
- onClose: () => {
112
- toggleModal(drawerSlug);
113
- },
114
- title: t('localization:copyToLocale')
246
+ Header: _jsx(DrawerHeader, {
247
+ onClose: t9,
248
+ title: t("localization:copyToLocale")
115
249
  }),
116
250
  slug: drawerSlug,
117
- children: [/*#__PURE__*/_jsxs("div", {
251
+ children: [_jsxs("div", {
118
252
  className: `${baseClass}__sub-header`,
119
- children: [/*#__PURE__*/_jsx("span", {
120
- children: fromLocale && toLocale ? /*#__PURE__*/_jsx("div", {
121
- children: t('localization:copyFromTo', {
253
+ children: [_jsx("span", {
254
+ children: fromLocale && toLocale ? _jsx("div", {
255
+ children: t("localization:copyFromTo", {
122
256
  from: getLocaleLabel(fromLocale),
123
257
  to: getLocaleLabel(toLocale)
124
258
  })
125
- }) : t('localization:selectLocaleToCopy')
126
- }), /*#__PURE__*/_jsx(Button, {
259
+ }) : t("localization:selectLocaleToCopy")
260
+ }), _jsx(Button, {
127
261
  buttonStyle: "primary",
128
262
  disabled: !fromLocale || !toLocale,
129
263
  iconPosition: "left",
130
- onClick: async () => {
131
- if (fromLocale === toLocale) {
132
- toast.error(t('localization:cannotCopySameLocale'));
133
- return;
134
- }
135
- if (!copying) {
136
- await copyLocaleData({
137
- from: fromLocale,
138
- to: toLocale
139
- });
140
- }
141
- },
264
+ onClick: t10,
142
265
  size: "medium",
143
- children: copying ? t('general:copying') + '...' : t('general:copy')
266
+ children: copying ? t("general:copying") + "..." : t("general:copy")
144
267
  })]
145
- }), /*#__PURE__*/_jsxs("div", {
268
+ }), _jsxs("div", {
146
269
  className: `${baseClass}__content`,
147
- children: [/*#__PURE__*/_jsx(SelectInput, {
148
- label: t('localization:copyFrom'),
149
- name: 'fromLocale',
150
- onChange: selectedOption => {
151
- if (selectedOption?.value) {
152
- setFromLocale(selectedOption.value);
153
- }
154
- },
270
+ children: [_jsx(SelectInput, {
271
+ label: t("localization:copyFrom"),
272
+ name: "fromLocale",
273
+ onChange: t11,
155
274
  options: localeOptions,
156
275
  path: "fromLocale",
157
276
  readOnly: true,
158
277
  value: fromLocale
159
- }), /*#__PURE__*/_jsx(SelectInput, {
160
- label: t('localization:copyTo'),
278
+ }), _jsx(SelectInput, {
279
+ label: t("localization:copyTo"),
161
280
  name: "toLocale",
162
- onChange: selectedOption_0 => {
163
- if (selectedOption_0?.value) {
164
- setToLocale(selectedOption_0.value);
165
- }
166
- },
281
+ onChange: t12,
167
282
  options: localeOptionsWithoutCurrent,
168
283
  path: "toLocale",
169
284
  value: toLocale
170
- }), /*#__PURE__*/_jsx(CheckboxField, {
285
+ }), _jsx(CheckboxField, {
171
286
  checked: overwriteExisting,
172
287
  field: {
173
- name: 'overwriteExisting',
174
- label: t('general:overwriteExistingData')
288
+ name: "overwriteExisting",
289
+ label: t("general:overwriteExistingData")
175
290
  },
176
- onChange: () => setOverwriteExisting(!overwriteExisting),
177
- path: 'overwriteExisting'
291
+ onChange: t13,
292
+ path: "overwriteExisting"
178
293
  })]
179
294
  })]
180
295
  })]
181
296
  });
182
297
  };
298
+ function _temp(locale) {
299
+ return {
300
+ label: locale.label,
301
+ value: locale.code
302
+ };
303
+ }
183
304
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useModal","getTranslation","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","config","localization","routes","admin","serverURL","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","localeOptions","locales","map","locale","label","value","localeOptionsWithoutCurrent","filter","getLocaleLabel","find","l","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","useEffect","copyLocaleData","from","to","docID","overrideData","push","error","message","_jsxs","Fragment","_jsx","onClick","info","className","gutter","Header","onClose","title","slug","buttonStyle","disabled","iconPosition","size","name","onChange","selectedOption","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport './index.scss'\nimport { PopupList } from '../Popup/index.js'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n )\n toggleModal(drawerSlug)\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useModal","getTranslation","useRouter","React","useCallback","toast","CheckboxField","SelectInput","useFormModified","useConfig","useDocumentInfo","useLocale","useRouteTransition","useServerFunctions","useTranslation","DrawerHeader","Button","Drawer","PopupList","baseClass","drawerSlug","CopyLocaleData","$","config","t0","localization","routes","t1","serverURL","admin","code","id","collectionSlug","globalSlug","i18n","t","modified","toggleModal","copyDataFromLocale","router","startRouteTransition","t2","locales","map","_temp","localeOptions","t3","locale_0","locale","value","localeOptionsWithoutCurrent","filter","t4","code_0","locale_1","find","l","label","getLocaleLabel","copying","setCopying","useState","toLocale","setToLocale","fromLocale","setFromLocale","overwriteExisting","setOverwriteExisting","t5","t6","useEffect","t7","t8","from","to","docID","overrideData","push","t9","error","message","copyLocaleData","info","t10","t11","Symbol","for","selectedOption","t12","selectedOption_0","t13","_jsxs","Fragment","children","_jsx","onClick","className","gutter","Header","onClose","title","buttonStyle","disabled","iconPosition","size","name","onChange","options","path","readOnly","checked","field"],"sources":["../../../src/elements/CopyLocaleData/index.tsx"],"sourcesContent":["'use client'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { CheckboxField } from '../../fields/Checkbox/index.js'\nimport { SelectInput } from '../../fields/Select/index.js'\nimport { useFormModified } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DrawerHeader } from '../BulkUpload/Header/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'copy-locale-data'\n\nconst drawerSlug = 'copy-locale'\nexport const CopyLocaleData: React.FC = () => {\n const {\n config: {\n localization,\n routes: { admin },\n serverURL,\n },\n } = useConfig()\n const { code } = useLocale()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const modified = useFormModified()\n const { toggleModal } = useModal()\n const { copyDataFromLocale } = useServerFunctions()\n const router = useRouter()\n const { startRouteTransition } = useRouteTransition()\n\n const localeOptions =\n (localization &&\n localization.locales.map((locale) => ({ label: locale.label, value: locale.code }))) ||\n []\n\n const localeOptionsWithoutCurrent = localeOptions.filter((locale) => locale.value !== code)\n\n const getLocaleLabel = (code: string) => {\n const locale = localization && localization.locales.find((l) => l.code === code)\n return locale && locale.label ? getTranslation(locale.label, i18n) : code\n }\n\n const [copying, setCopying] = React.useState(false)\n const [toLocale, setToLocale] = React.useState<null | string>(null)\n const [fromLocale, setFromLocale] = React.useState<null | string>(code)\n const [overwriteExisting, setOverwriteExisting] = React.useState(false)\n\n React.useEffect(() => {\n if (fromLocale !== code) {\n setFromLocale(code)\n }\n }, [code, fromLocale])\n\n const copyLocaleData = useCallback(\n async ({ from, to }) => {\n setCopying(true)\n\n try {\n await copyDataFromLocale({\n collectionSlug,\n docID: id,\n fromLocale: from,\n globalSlug,\n overrideData: overwriteExisting,\n toLocale: to,\n })\n\n setCopying(false)\n\n startRouteTransition(() =>\n router.push(\n `${serverURL}${admin}/${collectionSlug ? `collections/${collectionSlug}/${id}` : `globals/${globalSlug}`}?locale=${to}`,\n ),\n )\n\n toggleModal(drawerSlug)\n } catch (error) {\n toast.error(error.message)\n }\n },\n [\n copyDataFromLocale,\n collectionSlug,\n id,\n globalSlug,\n overwriteExisting,\n toggleModal,\n router,\n serverURL,\n admin,\n startRouteTransition,\n ],\n )\n\n if (!id && !globalSlug) {\n return null\n }\n\n return (\n <React.Fragment>\n <PopupList.Button\n id={`${baseClass}__button`}\n onClick={() => {\n if (modified) {\n toast.info(t('general:unsavedChanges'))\n } else {\n toggleModal(drawerSlug)\n }\n }}\n >\n {t('localization:copyToLocale')}\n </PopupList.Button>\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <DrawerHeader\n onClose={() => {\n toggleModal(drawerSlug)\n }}\n title={t('localization:copyToLocale')}\n />\n }\n slug={drawerSlug}\n >\n <div className={`${baseClass}__sub-header`}>\n <span>\n {fromLocale && toLocale ? (\n <div>\n {t('localization:copyFromTo', {\n from: getLocaleLabel(fromLocale),\n to: getLocaleLabel(toLocale),\n })}\n </div>\n ) : (\n t('localization:selectLocaleToCopy')\n )}\n </span>\n <Button\n buttonStyle=\"primary\"\n disabled={!fromLocale || !toLocale}\n iconPosition=\"left\"\n onClick={async () => {\n if (fromLocale === toLocale) {\n toast.error(t('localization:cannotCopySameLocale'))\n return\n }\n if (!copying) {\n await copyLocaleData({\n from: fromLocale,\n to: toLocale,\n })\n }\n }}\n size=\"medium\"\n >\n {copying ? t('general:copying') + '...' : t('general:copy')}\n </Button>\n </div>\n\n <div className={`${baseClass}__content`}>\n <SelectInput\n label={t('localization:copyFrom')}\n name={'fromLocale'}\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setFromLocale(selectedOption.value)\n }\n }}\n options={localeOptions}\n path=\"fromLocale\"\n readOnly\n value={fromLocale}\n />\n <SelectInput\n label={t('localization:copyTo')}\n name=\"toLocale\"\n onChange={(selectedOption: { value: string }) => {\n if (selectedOption?.value) {\n setToLocale(selectedOption.value)\n }\n }}\n options={localeOptionsWithoutCurrent}\n path=\"toLocale\"\n value={toLocale}\n />\n <CheckboxField\n checked={overwriteExisting}\n field={{\n name: 'overwriteExisting',\n label: t('general:overwriteExistingData'),\n }}\n onChange={() => setOverwriteExisting(!overwriteExisting)}\n path={'overwriteExisting'}\n />\n </div>\n </Drawer>\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA0B,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKhF,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAa9E,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA2L1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAKxD,OAAO,KAA2C,MAAM,OAAO,CAAA;AAG/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAc9E,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACvE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CACtE,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+L1C,CAAA"}
@@ -10,6 +10,7 @@ import { useForm } from '../../forms/Form/context.js';
10
10
  import { useConfig } from '../../providers/Config/index.js';
11
11
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
12
12
  import { useEditDepth } from '../../providers/EditDepth/index.js';
13
+ import { useRouteTransition } from '../../providers/RouteTransition/index.js';
13
14
  import { useTranslation } from '../../providers/Translation/index.js';
14
15
  import { requests } from '../../utilities/api.js';
15
16
  import { formatAdminURL } from '../../utilities/formatAdminURL.js';
@@ -59,6 +60,9 @@ export const DeleteDocument = props => {
59
60
  title
60
61
  } = useDocumentInfo();
61
62
  const editDepth = useEditDepth();
63
+ const {
64
+ startRouteTransition
65
+ } = useRouteTransition();
62
66
  const titleToRender = titleFromProps || title || id;
63
67
  const modalSlug = `delete-${id}`;
64
68
  const addDefaultError = useCallback(() => {
@@ -92,10 +96,10 @@ export const DeleteDocument = props => {
92
96
  title
93
97
  }) || json.message);
94
98
  if (redirectAfterDelete) {
95
- return router.push(formatAdminURL({
99
+ return startRouteTransition(() => router.push(formatAdminURL({
96
100
  adminRoute,
97
101
  path: `/collections/${collectionSlug}`
98
- }));
102
+ })));
99
103
  }
100
104
  if (typeof onDelete === 'function') {
101
105
  await onDelete({
@@ -120,7 +124,7 @@ export const DeleteDocument = props => {
120
124
  } catch (e) {
121
125
  addDefaultError();
122
126
  }
123
- }, [setModified, serverURL, api, collectionSlug, id, toggleModal, modalSlug, t, singularLabel, i18n, title, router, adminRoute, addDefaultError, redirectAfterDelete, onDelete, collectionConfig]);
127
+ }, [setModified, serverURL, api, collectionSlug, id, toggleModal, modalSlug, t, singularLabel, i18n, title, router, adminRoute, addDefaultError, redirectAfterDelete, onDelete, collectionConfig, startRouteTransition]);
124
128
  if (id) {
125
129
  return /*#__PURE__*/_jsxs(React.Fragment, {
126
130
  children: [/*#__PURE__*/_jsx(PopupList.Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useTranslation","requests","formatAdminURL","Button","drawerZBase","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","deleting","setDeleting","closeModal","toggleModal","router","i18n","t","editDepth","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","e","_jsxs","Fragment","_jsx","onClick","className","slug","style","zIndex","elements","1","children","i18nKey","variables","buttonStyle","undefined","size","type"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { closeModal, toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const editDepth = useEditDepth()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n useEffect(() => {\n return () => {\n closeModal(modalSlug)\n }\n }, [closeModal, modalSlug])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n\n toast.success(\n t('general:titleDeleted', { label: getTranslation(singularLabel, i18n), title }) ||\n json.message,\n )\n\n if (redirectAfterDelete) {\n return router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n toggleModal(modalSlug)\n\n return\n }\n\n toggleModal(modalSlug)\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n } catch (e) {\n addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n toggleModal,\n modalSlug,\n t,\n singularLabel,\n i18n,\n title,\n router,\n adminRoute,\n addDefaultError,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n setDeleting(false)\n toggleModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <Modal\n className={baseClass}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:confirmDeletion')}</h1>\n <p>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={deleting ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-delete\"\n onClick={() => {\n if (!deleting) {\n void handleDelete()\n }\n }}\n size=\"large\"\n >\n {deleting ? t('general:deleting') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useEffect","useState","toast","useForm","useConfig","useDocumentInfo","useEditDepth","useRouteTransition","useTranslation","requests","formatAdminURL","Button","drawerZBase","PopupList","Translation","baseClass","DeleteDocument","props","id","buttonId","collectionSlug","onDelete","redirectAfterDelete","singularLabel","title","titleFromProps","config","routes","admin","adminRoute","api","serverURL","getEntityConfig","collectionConfig","setModified","deleting","setDeleting","closeModal","toggleModal","router","i18n","t","editDepth","startRouteTransition","titleToRender","modalSlug","addDefaultError","error","handleDelete","delete","headers","language","then","res","json","status","success","label","message","push","path","errors","forEach","e","_jsxs","Fragment","_jsx","onClick","className","slug","style","zIndex","elements","1","children","i18nKey","variables","buttonStyle","undefined","size","type"],"sources":["../../../src/elements/DeleteDocument/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useEffect, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport { Button } from '../Button/index.js'\nimport { drawerZBase } from '../Drawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'delete-document'\n\nexport type Props = {\n readonly buttonId?: string\n readonly collectionSlug: SanitizedCollectionConfig['slug']\n readonly id?: string\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly redirectAfterDelete?: boolean\n readonly singularLabel: SanitizedCollectionConfig['labels']['singular']\n readonly title?: string\n readonly useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\n\nexport const DeleteDocument: React.FC<Props> = (props) => {\n const {\n id,\n buttonId,\n collectionSlug,\n onDelete,\n redirectAfterDelete = true,\n singularLabel,\n title: titleFromProps,\n } = props\n\n const {\n config: {\n routes: { admin: adminRoute, api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { setModified } = useForm()\n const [deleting, setDeleting] = useState(false)\n const { closeModal, toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const { title } = useDocumentInfo()\n const editDepth = useEditDepth()\n const { startRouteTransition } = useRouteTransition()\n\n const titleToRender = titleFromProps || title || id\n\n const modalSlug = `delete-${id}`\n\n const addDefaultError = useCallback(() => {\n setDeleting(false)\n toast.error(t('error:deletingTitle', { title }))\n }, [t, title])\n\n useEffect(() => {\n return () => {\n closeModal(modalSlug)\n }\n }, [closeModal, modalSlug])\n\n const handleDelete = useCallback(async () => {\n setDeleting(true)\n setModified(false)\n\n try {\n await requests\n .delete(`${serverURL}${api}/${collectionSlug}/${id}`, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n setDeleting(false)\n toggleModal(modalSlug)\n\n toast.success(\n t('general:titleDeleted', { label: getTranslation(singularLabel, i18n), title }) ||\n json.message,\n )\n\n if (redirectAfterDelete) {\n return startRouteTransition(() =>\n router.push(\n formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n }),\n ),\n )\n }\n\n if (typeof onDelete === 'function') {\n await onDelete({ id, collectionConfig })\n }\n\n toggleModal(modalSlug)\n\n return\n }\n\n toggleModal(modalSlug)\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n } catch (e) {\n addDefaultError()\n }\n }, [\n setModified,\n serverURL,\n api,\n collectionSlug,\n id,\n toggleModal,\n modalSlug,\n t,\n singularLabel,\n i18n,\n title,\n router,\n adminRoute,\n addDefaultError,\n redirectAfterDelete,\n onDelete,\n collectionConfig,\n startRouteTransition,\n ])\n\n if (id) {\n return (\n <React.Fragment>\n <PopupList.Button\n id={buttonId}\n onClick={() => {\n setDeleting(false)\n toggleModal(modalSlug)\n }}\n >\n {t('general:delete')}\n </PopupList.Button>\n <Modal\n className={baseClass}\n slug={modalSlug}\n style={{\n zIndex: drawerZBase + editDepth,\n }}\n >\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('general:confirmDeletion')}</h1>\n <p>\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(singularLabel, i18n),\n title: titleToRender,\n }}\n />\n </p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={deleting ? undefined : () => toggleModal(modalSlug)}\n size=\"large\"\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button\n id=\"confirm-delete\"\n onClick={() => {\n if (!deleting) {\n void handleDelete()\n }\n }}\n size=\"large\"\n >\n {deleting ? t('general:deleting') : t('general:confirm')}\n </Button>\n </div>\n </div>\n </Modal>\n </React.Fragment>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,OAAO,cAAc,CAAA;AAKrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyJtC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/DeleteMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,sBAAsB,CAAA;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8JtC,CAAA"}
@@ -15,8 +15,8 @@ import { useTranslation } from '../../providers/Translation/index.js';
15
15
  import { requests } from '../../utilities/api.js';
16
16
  import { mergeListSearchAndWhere } from '../../utilities/mergeListSearchAndWhere.js';
17
17
  import { Button } from '../Button/index.js';
18
- import './index.scss';
19
18
  import { Pill } from '../Pill/index.js';
19
+ import './index.scss';
20
20
  const baseClass = 'delete-documents';
21
21
  export const DeleteMany = props => {
22
22
  const {
@@ -138,7 +138,7 @@ export const DeleteMany = props => {
138
138
  }), /*#__PURE__*/_jsx("p", {
139
139
  children: t('general:aboutToDeleteCount', {
140
140
  count,
141
- label: getTranslation(plural, i18n)
141
+ label: getTranslation(count > 1 ? plural : singular, i18n)
142
142
  })
143
143
  })]
144
144
  }), /*#__PURE__*/_jsxs("div", {