@justanarthur/payload-plugin-translator 1.3.20 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +132 -215
  2. package/dist/client.css +41 -0
  3. package/dist/client.d.ts +6 -0
  4. package/dist/client.js +320 -0
  5. package/dist/index.d.ts +63 -11
  6. package/dist/index.js +275 -82
  7. package/dist/jobs.d.ts +50 -0
  8. package/dist/jobs.js +28 -0
  9. package/dist/resolvers/copy.d.ts +19 -3
  10. package/dist/resolvers/copy.js +9 -13
  11. package/dist/resolvers/google.d.ts +23 -11
  12. package/dist/resolvers/google.js +10 -46
  13. package/dist/resolvers/libreTranslate.d.ts +23 -15
  14. package/dist/resolvers/libreTranslate.js +10 -47
  15. package/dist/resolvers/openAI.d.ts +29 -21
  16. package/dist/resolvers/openAI.js +9 -134
  17. package/dist/resolvers/types.d.ts +14 -16
  18. package/dist/resolvers/types.js +0 -3
  19. package/dist/shared/chunk-97ktc51q.js +15 -0
  20. package/dist/shared/chunk-ecnph6hw.js +205 -0
  21. package/dist/shared/chunk-frnemj69.js +6 -0
  22. package/dist/shared/chunk-fsveh29m.js +55 -0
  23. package/dist/shared/chunk-q51q8rd2.js +855 -0
  24. package/dist/shared/chunk-zhrw0jnz.js +57 -0
  25. package/dist/types.d.ts +32 -22
  26. package/dist/types.js +0 -3
  27. package/package.json +89 -63
  28. package/dist/client/api/index.d.ts +0 -8
  29. package/dist/client/api/index.d.ts.map +0 -1
  30. package/dist/client/api/index.js +0 -28
  31. package/dist/client/api/index.js.map +0 -1
  32. package/dist/client/components/CustomButton/CustomButtonWithTranslator.d.ts +0 -5
  33. package/dist/client/components/CustomButton/CustomButtonWithTranslator.d.ts.map +0 -1
  34. package/dist/client/components/CustomButton/CustomButtonWithTranslator.js +0 -28
  35. package/dist/client/components/CustomButton/CustomButtonWithTranslator.js.map +0 -1
  36. package/dist/client/components/CustomButton/index.d.ts +0 -3
  37. package/dist/client/components/CustomButton/index.d.ts.map +0 -1
  38. package/dist/client/components/CustomButton/index.js +0 -10
  39. package/dist/client/components/CustomButton/index.js.map +0 -1
  40. package/dist/client/components/CustomButton/styles.scss +0 -5
  41. package/dist/client/components/LocaleLabel/LocaleLabel.d.ts +0 -5
  42. package/dist/client/components/LocaleLabel/LocaleLabel.d.ts.map +0 -1
  43. package/dist/client/components/LocaleLabel/LocaleLabel.js +0 -28
  44. package/dist/client/components/LocaleLabel/LocaleLabel.js.map +0 -1
  45. package/dist/client/components/LocaleLabel/index.d.ts +0 -2
  46. package/dist/client/components/LocaleLabel/index.d.ts.map +0 -1
  47. package/dist/client/components/LocaleLabel/index.js +0 -3
  48. package/dist/client/components/LocaleLabel/index.js.map +0 -1
  49. package/dist/client/components/ResolverButton/ResolverButton.d.ts +0 -5
  50. package/dist/client/components/ResolverButton/ResolverButton.d.ts.map +0 -1
  51. package/dist/client/components/ResolverButton/ResolverButton.js +0 -16
  52. package/dist/client/components/ResolverButton/ResolverButton.js.map +0 -1
  53. package/dist/client/components/ResolverButton/index.d.ts +0 -2
  54. package/dist/client/components/ResolverButton/index.d.ts.map +0 -1
  55. package/dist/client/components/ResolverButton/index.js +0 -3
  56. package/dist/client/components/ResolverButton/index.js.map +0 -1
  57. package/dist/client/components/TranslatorModal/Content.d.ts +0 -2
  58. package/dist/client/components/TranslatorModal/Content.d.ts.map +0 -1
  59. package/dist/client/components/TranslatorModal/Content.js +0 -60
  60. package/dist/client/components/TranslatorModal/Content.js.map +0 -1
  61. package/dist/client/components/TranslatorModal/TranslatorModal.d.ts +0 -3
  62. package/dist/client/components/TranslatorModal/TranslatorModal.d.ts.map +0 -1
  63. package/dist/client/components/TranslatorModal/TranslatorModal.js +0 -26
  64. package/dist/client/components/TranslatorModal/TranslatorModal.js.map +0 -1
  65. package/dist/client/components/TranslatorModal/index.d.ts +0 -2
  66. package/dist/client/components/TranslatorModal/index.d.ts.map +0 -1
  67. package/dist/client/components/TranslatorModal/index.js +0 -3
  68. package/dist/client/components/TranslatorModal/index.js.map +0 -1
  69. package/dist/client/components/TranslatorModal/styles.scss +0 -76
  70. package/dist/client/providers/Translator/TranslatorProvider.d.ts +0 -5
  71. package/dist/client/providers/Translator/TranslatorProvider.d.ts.map +0 -1
  72. package/dist/client/providers/Translator/TranslatorProvider.js +0 -109
  73. package/dist/client/providers/Translator/TranslatorProvider.js.map +0 -1
  74. package/dist/client/providers/Translator/context.d.ts +0 -21
  75. package/dist/client/providers/Translator/context.d.ts.map +0 -1
  76. package/dist/client/providers/Translator/context.js +0 -9
  77. package/dist/client/providers/Translator/context.js.map +0 -1
  78. package/dist/exports/client.d.ts +0 -2
  79. package/dist/exports/client.d.ts.map +0 -1
  80. package/dist/exports/client.js +0 -3
  81. package/dist/exports/client.js.map +0 -1
  82. package/dist/i18n-translations.d.ts +0 -87
  83. package/dist/i18n-translations.d.ts.map +0 -1
  84. package/dist/i18n-translations.js +0 -88
  85. package/dist/i18n-translations.js.map +0 -1
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js.map +0 -1
  88. package/dist/resolvers/copy.d.ts.map +0 -1
  89. package/dist/resolvers/copy.js.map +0 -1
  90. package/dist/resolvers/google.d.ts.map +0 -1
  91. package/dist/resolvers/google.js.map +0 -1
  92. package/dist/resolvers/libreTranslate.d.ts.map +0 -1
  93. package/dist/resolvers/libreTranslate.js.map +0 -1
  94. package/dist/resolvers/openAI.d.ts.map +0 -1
  95. package/dist/resolvers/openAI.js.map +0 -1
  96. package/dist/resolvers/types.d.ts.map +0 -1
  97. package/dist/resolvers/types.js.map +0 -1
  98. package/dist/translate/endpoint.d.ts +0 -3
  99. package/dist/translate/endpoint.d.ts.map +0 -1
  100. package/dist/translate/endpoint.js +0 -23
  101. package/dist/translate/endpoint.js.map +0 -1
  102. package/dist/translate/findEntityWithConfig.d.ts +0 -16
  103. package/dist/translate/findEntityWithConfig.d.ts.map +0 -1
  104. package/dist/translate/findEntityWithConfig.js +0 -34
  105. package/dist/translate/findEntityWithConfig.js.map +0 -1
  106. package/dist/translate/operation.d.ts +0 -9
  107. package/dist/translate/operation.d.ts.map +0 -1
  108. package/dist/translate/operation.js +0 -78
  109. package/dist/translate/operation.js.map +0 -1
  110. package/dist/translate/traverseFields.d.ts +0 -17
  111. package/dist/translate/traverseFields.d.ts.map +0 -1
  112. package/dist/translate/traverseFields.js +0 -233
  113. package/dist/translate/traverseFields.js.map +0 -1
  114. package/dist/translate/traverseRichText.d.ts +0 -10
  115. package/dist/translate/traverseRichText.d.ts.map +0 -1
  116. package/dist/translate/traverseRichText.js +0 -24
  117. package/dist/translate/traverseRichText.js.map +0 -1
  118. package/dist/translate/types.d.ts +0 -27
  119. package/dist/translate/types.d.ts.map +0 -1
  120. package/dist/translate/types.js +0 -3
  121. package/dist/translate/types.js.map +0 -1
  122. package/dist/translate/updateEntity.d.ts +0 -14
  123. package/dist/translate/updateEntity.d.ts.map +0 -1
  124. package/dist/translate/updateEntity.js +0 -26
  125. package/dist/translate/updateEntity.js.map +0 -1
  126. package/dist/types.d.ts.map +0 -1
  127. package/dist/types.js.map +0 -1
  128. package/dist/utils/chunkArray.d.ts +0 -2
  129. package/dist/utils/chunkArray.d.ts.map +0 -1
  130. package/dist/utils/chunkArray.js +0 -7
  131. package/dist/utils/chunkArray.js.map +0 -1
  132. package/dist/utils/isEmpty.d.ts +0 -2
  133. package/dist/utils/isEmpty.d.ts.map +0 -1
  134. package/dist/utils/isEmpty.js +0 -8
  135. package/dist/utils/isEmpty.js.map +0 -1
@@ -0,0 +1,57 @@
1
+ import {
2
+ chunkArray
3
+ } from "./chunk-frnemj69.js";
4
+
5
+ // src/resolvers/libreTranslate.ts
6
+ var localeToCountryCodeMapper = {
7
+ ua: "uk"
8
+ };
9
+ var mapLocale = (incoming) => (incoming in localeToCountryCodeMapper) ? localeToCountryCodeMapper[incoming] : incoming;
10
+ var libreResolver = ({
11
+ apiKey,
12
+ chunkLength = 100,
13
+ url = "https://libretranslate.com/translate"
14
+ }) => {
15
+ return {
16
+ key: "libre",
17
+ resolve: async (args) => {
18
+ const { localeFrom, localeTo, req, texts } = args;
19
+ const apiUrl = url;
20
+ const responses = await Promise.all(chunkArray(texts, chunkLength).map((q) => fetch(apiUrl, {
21
+ body: JSON.stringify({
22
+ api_key: apiKey,
23
+ q,
24
+ source: mapLocale(localeFrom),
25
+ target: mapLocale(localeTo)
26
+ }),
27
+ headers: {
28
+ "Content-Type": "application/json"
29
+ },
30
+ method: "POST"
31
+ }).then(async (res) => {
32
+ const data = await res.json();
33
+ if (!res.ok)
34
+ req.payload.logger.info({
35
+ libreResponse: data,
36
+ message: "An error occurred when trying to translate the data using LibreTranslate API"
37
+ });
38
+ return {
39
+ data,
40
+ success: res.ok
41
+ };
42
+ })));
43
+ if (responses.some((res) => !res.success)) {
44
+ return {
45
+ success: false
46
+ };
47
+ }
48
+ const translatedTexts = responses.flatMap((chunk) => chunk.data.translatedText);
49
+ return {
50
+ success: true,
51
+ translatedTexts
52
+ };
53
+ }
54
+ };
55
+ };
56
+
57
+ export { libreResolver };
package/dist/types.d.ts CHANGED
@@ -1,23 +1,33 @@
1
- import type { CollectionSlug, GlobalSlug } from 'payload';
2
- import type { TranslateResolver } from './resolvers/types';
3
- import { traverseFields } from "./translate/traverseFields";
4
- export type TranslatorConfig = {
5
- /**
6
- * Collections with the enabled translator in the admin UI
7
- */
8
- collections: CollectionSlug[];
9
- /**
10
- * Disable the plugin
11
- */
12
- disabled?: boolean;
13
- /**
14
- * Globals with the enabled translator in the admin UI
15
- */
16
- globals: GlobalSlug[];
17
- /**
18
- * Add resolvers that you want to include, examples on how to write your own in ./plugin/src/resolvers
19
- */
20
- resolvers: TranslateResolver[];
21
- _options?: Parameters<typeof traverseFields>[0]['_options'];
1
+ import { CollectionSlug, GlobalSlug } from "payload";
2
+ import { PayloadRequest } from "payload";
3
+ type TranslateResolverArgs = {
4
+ localeFrom: string;
5
+ localeTo: string;
6
+ req: PayloadRequest;
7
+ texts: string[];
22
8
  };
23
- //# sourceMappingURL=types.d.ts.map
9
+ type TranslateResolverResponse = {
10
+ success: false;
11
+ } | {
12
+ success: true;
13
+ translatedTexts: string[];
14
+ };
15
+ type TranslateResolver = {
16
+ key: string;
17
+ resolve: (args: TranslateResolverArgs) => Promise<TranslateResolverResponse> | TranslateResolverResponse;
18
+ };
19
+ type TranslatorConfig = {
20
+ collections: CollectionSlug[];
21
+ disabled?: boolean;
22
+ globals: GlobalSlug[];
23
+ resolvers: TranslateResolver[];
24
+ autoTranslate?: boolean;
25
+ _options?: {
26
+ additionalTraverseRichText?: (args: {
27
+ onText: (siblingData: Record<string, unknown>, attribute?: string) => void;
28
+ root: Record<string, unknown>;
29
+ siblingData?: Record<string, unknown>;
30
+ }) => void;
31
+ };
32
+ };
33
+ export { TranslatorConfig };
package/dist/types.js CHANGED
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,90 +1,116 @@
1
1
  {
2
2
  "name": "@justanarthur/payload-plugin-translator",
3
- "version": "1.3.20",
4
- "private": false,
5
- "bugs": "https://github.com/r1tsuu/payload-enchants/issues",
6
- "license": "MIT",
7
- "author": "r1tsuu",
3
+ "description": "Translator plugin for Payload CMS — automatic localization via Google, OpenAI, LibreTranslate, or custom resolvers.",
4
+ "version": "3.0.3",
8
5
  "type": "module",
6
+ "private": false,
7
+ "files": [
8
+ "dist",
9
+ "README.md"
10
+ ],
11
+ "module": "./dist/index.js",
12
+ "types": "./dist/index.d.ts",
9
13
  "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "require": "./dist/index.js",
13
- "types": "./dist/index.d.ts"
14
+ "./jobs": {
15
+ "import": {
16
+ "types": "./dist/jobs.d.ts",
17
+ "default": "./dist/jobs.js"
18
+ }
14
19
  },
15
- "./types": {
16
- "import": "./dist/types.js",
17
- "require": "./dist/types.js",
18
- "types": "./dist/types.d.ts"
20
+ "./resolvers/copy": {
21
+ "import": {
22
+ "types": "./dist/resolvers/copy.d.ts",
23
+ "default": "./dist/resolvers/copy.js"
24
+ }
19
25
  },
20
- "./resolvers/types": {
21
- "import": "./dist/resolvers/types.js",
22
- "require": "./dist/resolvers/types.js",
23
- "types": "./dist/resolvers/types.d.ts"
26
+ "./types": {
27
+ "import": {
28
+ "types": "./dist/types.d.ts",
29
+ "default": "./dist/types.js"
30
+ }
24
31
  },
25
- "./resolvers/google": {
26
- "import": "./dist/resolvers/google.js",
27
- "require": "./dist/resolvers/google.js",
28
- "types": "./dist/resolvers/google.d.ts"
32
+ "./client": {
33
+ "import": {
34
+ "types": "./dist/client.d.ts",
35
+ "default": "./dist/client.js"
36
+ }
29
37
  },
30
- "./resolvers/copy": {
31
- "import": "./dist/resolvers/copy.js",
32
- "require": "./dist/resolvers/copy.js",
33
- "types": "./dist/resolvers/copy.d.ts"
38
+ ".": {
39
+ "import": {
40
+ "types": "./dist/index.d.ts",
41
+ "default": "./dist/index.js"
42
+ }
34
43
  },
35
44
  "./resolvers/openAI": {
36
- "import": "./dist/resolvers/openAI.js",
37
- "require": "./dist/resolvers/openAI.js",
38
- "types": "./dist/resolvers/openAI.d.ts"
45
+ "import": {
46
+ "types": "./dist/resolvers/openAI.d.ts",
47
+ "default": "./dist/resolvers/openAI.js"
48
+ }
39
49
  },
40
- "./client": {
41
- "import": "./dist/exports/client.js",
42
- "require": "./dist/exports/client.js",
43
- "types": "./dist/exports/client.d.ts"
44
- }
50
+ "./resolvers/libreTranslate": {
51
+ "import": {
52
+ "types": "./dist/resolvers/libreTranslate.d.ts",
53
+ "default": "./dist/resolvers/libreTranslate.js"
54
+ }
55
+ },
56
+ "./resolvers/types": {
57
+ "import": {
58
+ "types": "./dist/resolvers/types.d.ts",
59
+ "default": "./dist/resolvers/types.js"
60
+ }
61
+ },
62
+ "./resolvers/google": {
63
+ "import": {
64
+ "types": "./dist/resolvers/google.d.ts",
65
+ "default": "./dist/resolvers/google.js"
66
+ }
67
+ },
68
+ "./client.css": "./dist/client.css",
69
+ "./package.json": "./package.json"
45
70
  },
46
- "files": [
47
- "dist"
71
+ "license": "MIT",
72
+ "sideEffects": [
73
+ "**/*.css"
48
74
  ],
75
+ "engines": {
76
+ "node": ">=20"
77
+ },
78
+ "scripts": {
79
+ "build": "NODE_ENV=production bunup",
80
+ "clean": "rm -rf dist .tsbuildinfo",
81
+ "prepublishOnly": "bun run clean && bun run build"
82
+ },
49
83
  "dependencies": {
50
84
  "bson-objectid": "^2.0.4",
51
85
  "he": "^1.2.0"
52
86
  },
53
87
  "devDependencies": {
54
- "@swc/cli": "^0.1.65",
55
- "@swc/core": "^1.6.3",
88
+ "@payloadcms/translations": "3.85.0",
89
+ "@payloadcms/ui": "3.85.0",
56
90
  "@types/he": "^1.2.3",
57
- "@types/react": "^19.1.0",
58
- "@types/react-dom": "^19.1.2",
59
- "copyfiles": "^2.4.1",
60
- "eslint": "^9.31.0",
61
- "react": "^19.1.0",
62
- "react-dom": "^19.1.0",
63
- "rimraf": "^6.0.1",
64
- "typescript": "^5.7.3"
91
+ "@types/react": "19.2.14",
92
+ "@types/react-dom": "19.2.3",
93
+ "bunup": "^0.16.32",
94
+ "payload": "3.85.0",
95
+ "react": "19.2.6",
96
+ "react-dom": "19.2.6",
97
+ "typescript": "5.7.3"
65
98
  },
66
99
  "peerDependencies": {
67
- "@payloadcms/translations": "3.47.0",
68
- "@payloadcms/ui": "3.47.0",
69
- "payload": "3.47.0"
70
- },
71
- "publishConfig": {
72
- "registry": "https://registry.npmjs.org/",
73
- "access": "public"
100
+ "@payloadcms/translations": "^3.85.0",
101
+ "@payloadcms/ui": "^3.85.0",
102
+ "payload": "^3.85.0",
103
+ "react": "^19.2.6",
104
+ "react-dom": "^19.2.6"
74
105
  },
106
+ "bugs": "https://github.com/r1tsuu/payload-enchants/issues",
107
+ "author": "r1tsuu",
75
108
  "repository": {
76
109
  "type": "git",
77
110
  "url": "git+https://github.com/justAnArthur/payload-starter_translator.git"
78
111
  },
79
- "scripts": {
80
- "build": "pnpm copyfiles && pnpm build:swc && pnpm build:types",
81
- "build:swc": "swc ./src -d ./dist --config-file .swcrc",
82
- "build:types": "tsc --emitDeclarationOnly --outDir dist",
83
- "clean": "rimraf dist && rimraf tsconfig.tsbuildinfo",
84
- "copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json}\" dist/",
85
- "lint": "eslint src",
86
- "lint:fix": "eslint --fix --ext .ts,.tsx src"
87
- },
88
- "main": "./dist/index.js",
89
- "types": "./dist/index.d.ts"
112
+ "properties": {
113
+ "gitCommitScopeRelatedNames": "translate,translator,translation",
114
+ "priority": 0
115
+ }
90
116
  }
@@ -1,8 +0,0 @@
1
- import type { TranslateEndpointArgs, TranslateResult } from '../../translate/types';
2
- export declare const createClient: ({ api, serverURL }: {
3
- api: string;
4
- serverURL: string;
5
- }) => {
6
- translate: (args: TranslateEndpointArgs) => Promise<TranslateResult>;
7
- };
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEnF,eAAO,MAAM,YAAY,GAAI,oBAAoB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;sBAClD,qBAAqB,KAAG,OAAO,CAAC,eAAe,CAAC;CAwBhF,CAAA"}
@@ -1,28 +0,0 @@
1
- export const createClient = ({ api, serverURL })=>{
2
- const translate = async (args)=>{
3
- try {
4
- const response = await fetch(`${serverURL}${api}/translator/translate`, {
5
- body: JSON.stringify(args),
6
- credentials: 'include',
7
- headers: {
8
- 'Content-Type': 'application/json'
9
- },
10
- method: 'POST'
11
- });
12
- if (!response.ok) return {
13
- success: false
14
- };
15
- return response.json();
16
- } catch (e) {
17
- if (e instanceof Error) console.error(e.message);
18
- return {
19
- success: false
20
- };
21
- }
22
- };
23
- return {
24
- translate
25
- };
26
- };
27
-
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/client/api/index.ts"],"sourcesContent":["import type { TranslateEndpointArgs, TranslateResult } from '../../translate/types'\r\n\r\nexport const createClient = ({ api, serverURL }: { api: string; serverURL: string }) => {\r\n const translate = async (args: TranslateEndpointArgs): Promise<TranslateResult> => {\r\n try {\r\n const response = await fetch(`${serverURL}${api}/translator/translate`, {\r\n body: JSON.stringify(args),\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n method: 'POST',\r\n })\r\n\r\n if (!response.ok) return { success: false }\r\n\r\n return response.json()\r\n } catch (e) {\r\n if (e instanceof Error) console.error(e.message)\r\n\r\n return { success: false }\r\n }\r\n }\r\n\r\n return {\r\n translate,\r\n }\r\n}\r\n"],"names":["createClient","api","serverURL","translate","args","response","fetch","body","JSON","stringify","credentials","headers","method","ok","success","json","e","Error","console","error","message"],"mappings":"AAEA,OAAO,MAAMA,eAAe,CAAC,EAAEC,GAAG,EAAEC,SAAS,EAAsC;IACjF,MAAMC,YAAY,OAAOC;QACvB,IAAI;YACF,MAAMC,WAAW,MAAMC,MAAM,GAAGJ,YAAYD,IAAI,qBAAqB,CAAC,EAAE;gBACtEM,MAAMC,KAAKC,SAAS,CAACL;gBACrBM,aAAa;gBACbC,SAAS;oBACP,gBAAgB;gBAClB;gBACAC,QAAQ;YACV;YAEA,IAAI,CAACP,SAASQ,EAAE,EAAE,OAAO;gBAAEC,SAAS;YAAM;YAE1C,OAAOT,SAASU,IAAI;QACtB,EAAE,OAAOC,GAAG;YACV,IAAIA,aAAaC,OAAOC,QAAQC,KAAK,CAACH,EAAEI,OAAO;YAE/C,OAAO;gBAAEN,SAAS;YAAM;QAC1B;IACF;IAEA,OAAO;QACLX;IACF;AACF,EAAC"}
@@ -1,5 +0,0 @@
1
- import './styles.scss';
2
- export declare const CustomButtonWithTranslator: ({ type }: {
3
- type: "publish" | "save";
4
- }) => import("react").JSX.Element;
5
- //# sourceMappingURL=CustomButtonWithTranslator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomButtonWithTranslator.d.ts","sourceRoot":"","sources":["../../../../src/client/components/CustomButton/CustomButtonWithTranslator.tsx"],"names":[],"mappings":"AAEA,OAAO,eAAe,CAAA;AAStB,eAAO,MAAM,0BAA0B,GAAI,UAAU;IAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,gCAsBhF,CAAA"}
@@ -1,28 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import './styles.scss';
4
- import { PublishButton, SaveButton, useConfig, useDocumentInfo } from '@payloadcms/ui';
5
- import { TranslatorProvider } from '../../providers/Translator/TranslatorProvider';
6
- import { ResolverButton } from '../ResolverButton';
7
- import { TranslatorModal } from '../TranslatorModal';
8
- export const CustomButtonWithTranslator = ({ type })=>{
9
- const { config } = useConfig();
10
- const DefaultButton = type === 'publish' ? PublishButton : SaveButton;
11
- const { globalSlug, id } = useDocumentInfo();
12
- const resolvers = config.admin?.custom?.translator?.resolvers ?? [];
13
- if (!id && !globalSlug) return /*#__PURE__*/ _jsx(DefaultButton, {});
14
- return /*#__PURE__*/ _jsx(TranslatorProvider, {
15
- children: /*#__PURE__*/ _jsxs("div", {
16
- className: 'translator__custom-save-button',
17
- children: [
18
- /*#__PURE__*/ _jsx(TranslatorModal, {}),
19
- resolvers.map((resolver)=>/*#__PURE__*/ _jsx(ResolverButton, {
20
- resolver: resolver
21
- }, resolver.key)),
22
- /*#__PURE__*/ _jsx(DefaultButton, {})
23
- ]
24
- })
25
- });
26
- };
27
-
28
- //# sourceMappingURL=CustomButtonWithTranslator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/CustomButton/CustomButtonWithTranslator.tsx"],"sourcesContent":["'use client'\r\n\r\nimport './styles.scss'\r\n\r\nimport { PublishButton, SaveButton, useConfig, useDocumentInfo } from '@payloadcms/ui'\r\n\r\nimport type { TranslateResolver } from '../../../resolvers/types'\r\nimport { TranslatorProvider } from '../../providers/Translator/TranslatorProvider'\r\nimport { ResolverButton } from '../ResolverButton'\r\nimport { TranslatorModal } from '../TranslatorModal'\r\n\r\nexport const CustomButtonWithTranslator = ({ type }: { type: 'publish' | 'save' }) => {\r\n const { config } = useConfig()\r\n\r\n const DefaultButton = type === 'publish' ? PublishButton : SaveButton\r\n\r\n const { globalSlug, id } = useDocumentInfo()\r\n\r\n const resolvers = (config.admin?.custom?.translator?.resolvers as TranslateResolver[]) ?? []\r\n\r\n if (!id && !globalSlug) return <DefaultButton />\r\n\r\n return (\r\n <TranslatorProvider>\r\n <div className={'translator__custom-save-button'}>\r\n <TranslatorModal />\r\n {resolvers.map((resolver) => (\r\n <ResolverButton key={resolver.key} resolver={resolver} />\r\n ))}\r\n {<DefaultButton />}\r\n </div>\r\n </TranslatorProvider>\r\n )\r\n}\r\n"],"names":["PublishButton","SaveButton","useConfig","useDocumentInfo","TranslatorProvider","ResolverButton","TranslatorModal","CustomButtonWithTranslator","type","config","DefaultButton","globalSlug","id","resolvers","admin","custom","translator","div","className","map","resolver","key"],"mappings":"AAAA;;AAEA,OAAO,gBAAe;AAEtB,SAASA,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,eAAe,QAAQ,iBAAgB;AAGtF,SAASC,kBAAkB,QAAQ,gDAA+C;AAClF,SAASC,cAAc,QAAQ,oBAAmB;AAClD,SAASC,eAAe,QAAQ,qBAAoB;AAEpD,OAAO,MAAMC,6BAA6B,CAAC,EAAEC,IAAI,EAAgC;IAC/E,MAAM,EAAEC,MAAM,EAAE,GAAGP;IAEnB,MAAMQ,gBAAgBF,SAAS,YAAYR,gBAAgBC;IAE3D,MAAM,EAAEU,UAAU,EAAEC,EAAE,EAAE,GAAGT;IAE3B,MAAMU,YAAY,AAACJ,OAAOK,KAAK,EAAEC,QAAQC,YAAYH,aAAqC,EAAE;IAE5F,IAAI,CAACD,MAAM,CAACD,YAAY,qBAAO,KAACD;IAEhC,qBACE,KAACN;kBACC,cAAA,MAACa;YAAIC,WAAW;;8BACd,KAACZ;gBACAO,UAAUM,GAAG,CAAC,CAACC,yBACd,KAACf;wBAAkCe,UAAUA;uBAAxBA,SAASC,GAAG;8BAElC,KAACX;;;;AAIV,EAAC"}
@@ -1,3 +0,0 @@
1
- import type { CustomPublishButton, CustomSaveButton } from 'payload';
2
- export declare const CustomButton: (type: "publish" | "save") => CustomPublishButton | CustomSaveButton;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/CustomButton/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEpE,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,GAAG,MAAM,KAAG,mBAAmB,GAAG,gBAO7E,CAAA"}
@@ -1,10 +0,0 @@
1
- export const CustomButton = (type)=>{
2
- return {
3
- clientProps: {
4
- type
5
- },
6
- path: '@justanarthur/payload-plugin-translator/client#CustomButtonWithTranslator'
7
- };
8
- };
9
-
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/CustomButton/index.tsx"],"sourcesContent":["import type { CustomPublishButton, CustomSaveButton } from 'payload'\r\n\r\nexport const CustomButton = (type: 'publish' | 'save'): CustomPublishButton | CustomSaveButton => {\r\n return {\r\n clientProps: {\r\n type,\r\n },\r\n path: '@justanarthur/payload-plugin-translator/client#CustomButtonWithTranslator',\r\n }\r\n}\r\n"],"names":["CustomButton","type","clientProps","path"],"mappings":"AAEA,OAAO,MAAMA,eAAe,CAACC;IAC3B,OAAO;QACLC,aAAa;YACXD;QACF;QACAE,MAAM;IACR;AACF,EAAC"}
@@ -1,5 +0,0 @@
1
- .translator__custom-save-button {
2
- display: flex;
3
- align-items: center;
4
- gap: 10px;
5
- }
@@ -1,5 +0,0 @@
1
- import type { Locale } from 'payload';
2
- export declare const LocaleLabel: ({ locale }: {
3
- locale: Locale;
4
- }) => import("react").JSX.Element;
5
- //# sourceMappingURL=LocaleLabel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocaleLabel.d.ts","sourceRoot":"","sources":["../../../../src/client/components/LocaleLabel/LocaleLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAIrC,eAAO,MAAM,WAAW,GAAI,YAAY;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,gCAczD,CAAA"}
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getTranslation } from '@payloadcms/translations';
3
- import { ChevronIcon, useTranslation } from '@payloadcms/ui';
4
- const baseClass = 'localizer-button';
5
- export const LocaleLabel = ({ locale })=>{
6
- const { i18n, t } = useTranslation();
7
- return /*#__PURE__*/ _jsxs("div", {
8
- "aria-label": t('general:locale'),
9
- className: baseClass,
10
- children: [
11
- /*#__PURE__*/ _jsx("div", {
12
- className: `${baseClass}__label`,
13
- children: `${t('general:locale')}:`
14
- }),
15
- "  ",
16
- /*#__PURE__*/ _jsx("span", {
17
- className: `${baseClass}__current-label`,
18
- children: `${getTranslation(locale.label, i18n)}`
19
- }),
20
- " ",
21
- /*#__PURE__*/ _jsx(ChevronIcon, {
22
- className: `${baseClass}__chevron`
23
- })
24
- ]
25
- });
26
- };
27
-
28
- //# sourceMappingURL=LocaleLabel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/LocaleLabel/LocaleLabel.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\r\nimport { ChevronIcon, useTranslation } from '@payloadcms/ui'\r\nimport type { Locale } from 'payload'\r\n\r\nconst baseClass = 'localizer-button'\r\n\r\nexport const LocaleLabel = ({ locale }: { locale: Locale }) => {\r\n const { i18n, t } = useTranslation()\r\n\r\n return (\r\n <div aria-label={t('general:locale')} className={baseClass}>\r\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\r\n &nbsp;&nbsp;\r\n <span className={`${baseClass}__current-label`}>\r\n {`${getTranslation(locale.label, i18n)}`}\r\n </span>\r\n &nbsp;\r\n <ChevronIcon className={`${baseClass}__chevron`} />\r\n </div>\r\n )\r\n}\r\n"],"names":["getTranslation","ChevronIcon","useTranslation","baseClass","LocaleLabel","locale","i18n","t","div","aria-label","className","span","label"],"mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,WAAW,EAAEC,cAAc,QAAQ,iBAAgB;AAG5D,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAAc,CAAC,EAAEC,MAAM,EAAsB;IACxD,MAAM,EAAEC,IAAI,EAAEC,CAAC,EAAE,GAAGL;IAEpB,qBACE,MAACM;QAAIC,cAAYF,EAAE;QAAmBG,WAAWP;;0BAC/C,KAACK;gBAAIE,WAAW,GAAGP,UAAU,OAAO,CAAC;0BAAG,GAAGI,EAAE,kBAAkB,CAAC,CAAC;;YAAO;0BAExE,KAACI;gBAAKD,WAAW,GAAGP,UAAU,eAAe,CAAC;0BAC3C,GAAGH,eAAeK,OAAOO,KAAK,EAAEN,OAAO;;YACnC;0BAEP,KAACL;gBAAYS,WAAW,GAAGP,UAAU,SAAS,CAAC;;;;AAGrD,EAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LocaleLabel';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/LocaleLabel/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './LocaleLabel';
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/LocaleLabel/index.ts"],"sourcesContent":["export * from './LocaleLabel'\r\n"],"names":[],"mappings":"AAAA,cAAc,gBAAe"}
@@ -1,5 +0,0 @@
1
- import type { TranslateResolver } from '../../../resolvers/types';
2
- export declare const ResolverButton: ({ resolver: { key: resolverKey }, }: {
3
- resolver: TranslateResolver;
4
- }) => import("react").JSX.Element;
5
- //# sourceMappingURL=ResolverButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResolverButton.d.ts","sourceRoot":"","sources":["../../../../src/client/components/ResolverButton/ResolverButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGjE,eAAO,MAAM,cAAc,GAAI,qCAE5B;IACD,QAAQ,EAAE,iBAAiB,CAAA;CAC5B,gCAYA,CAAA"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Button, useTranslation } from '@payloadcms/ui';
3
- import { useTranslator } from '../../providers/Translator/context';
4
- export const ResolverButton = ({ resolver: { key: resolverKey } })=>{
5
- const { openTranslator } = useTranslator();
6
- const { t } = useTranslation();
7
- const handleClick = ()=>openTranslator({
8
- resolverKey
9
- });
10
- return /*#__PURE__*/ _jsx(Button, {
11
- onClick: handleClick,
12
- children: t(`plugin-translator:resolver_${resolverKey}_buttonLabel`)
13
- });
14
- };
15
-
16
- //# sourceMappingURL=ResolverButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/ResolverButton/ResolverButton.tsx"],"sourcesContent":["import { Button, useTranslation } from '@payloadcms/ui'\r\n\r\nimport type { TranslateResolver } from '../../../resolvers/types'\r\nimport { useTranslator } from '../../providers/Translator/context'\r\n\r\nexport const ResolverButton = ({\r\n resolver: { key: resolverKey },\r\n}: {\r\n resolver: TranslateResolver\r\n}) => {\r\n const { openTranslator } = useTranslator()\r\n\r\n const { t } = useTranslation()\r\n\r\n const handleClick = () => openTranslator({ resolverKey })\r\n\r\n return (\r\n <Button onClick={handleClick}>\r\n {t(`plugin-translator:resolver_${resolverKey}_buttonLabel` as Parameters<typeof t>[0])}\r\n </Button>\r\n )\r\n}\r\n"],"names":["Button","useTranslation","useTranslator","ResolverButton","resolver","key","resolverKey","openTranslator","t","handleClick","onClick"],"mappings":";AAAA,SAASA,MAAM,EAAEC,cAAc,QAAQ,iBAAgB;AAGvD,SAASC,aAAa,QAAQ,qCAAoC;AAElE,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,UAAU,EAAEC,KAAKC,WAAW,EAAE,EAG/B;IACC,MAAM,EAAEC,cAAc,EAAE,GAAGL;IAE3B,MAAM,EAAEM,CAAC,EAAE,GAAGP;IAEd,MAAMQ,cAAc,IAAMF,eAAe;YAAED;QAAY;IAEvD,qBACE,KAACN;QAAOU,SAASD;kBACdD,EAAE,CAAC,2BAA2B,EAAEF,YAAY,YAAY,CAAC;;AAGhE,EAAC"}
@@ -1,2 +0,0 @@
1
- export * from './ResolverButton';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/components/ResolverButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -1,3 +0,0 @@
1
- export * from './ResolverButton';
2
-
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/ResolverButton/index.ts"],"sourcesContent":["export * from './ResolverButton'\r\n"],"names":[],"mappings":"AAAA,cAAc,mBAAkB"}
@@ -1,2 +0,0 @@
1
- export declare const Content: () => import("react").JSX.Element;
2
- //# sourceMappingURL=Content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Content.d.ts","sourceRoot":"","sources":["../../../../src/client/components/TranslatorModal/Content.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,OAAO,mCAwDnB,CAAA"}
@@ -1,60 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getTranslation } from '@payloadcms/translations';
3
- import { Button, Popup, PopupList, useTranslation } from '@payloadcms/ui';
4
- import { useTranslator } from '../../providers/Translator/context';
5
- import { LocaleLabel } from '../LocaleLabel';
6
- export const Content = ()=>{
7
- const { localeToTranslateFrom: localeCodeToTranslateFrom, localesOptions, resolverT, setLocaleToTranslateFrom, submit } = useTranslator();
8
- const { i18n } = useTranslation();
9
- const localeToTranslateFrom = localesOptions.find((each)=>each.code === localeCodeToTranslateFrom);
10
- return /*#__PURE__*/ _jsxs("div", {
11
- className: 'translator__content',
12
- children: [
13
- /*#__PURE__*/ _jsx("h2", {
14
- children: resolverT('modalTitle')
15
- }),
16
- localeToTranslateFrom && /*#__PURE__*/ _jsx(Popup, {
17
- button: /*#__PURE__*/ _jsx(LocaleLabel, {
18
- locale: localeToTranslateFrom
19
- }),
20
- horizontalAlign: "center",
21
- render: ({ close })=>/*#__PURE__*/ _jsx(PopupList.ButtonGroup, {
22
- children: localesOptions.map((option)=>{
23
- const label = getTranslation(option.label, i18n);
24
- return /*#__PURE__*/ _jsxs(PopupList.Button, {
25
- active: option.code === localeCodeToTranslateFrom,
26
- onClick: ()=>{
27
- setLocaleToTranslateFrom(option.code);
28
- close();
29
- },
30
- children: [
31
- label,
32
- label !== option.code && ` (${option.code})`
33
- ]
34
- }, option.code);
35
- })
36
- }),
37
- verticalAlign: "bottom"
38
- }),
39
- /*#__PURE__*/ _jsxs("div", {
40
- className: 'translator__buttons',
41
- children: [
42
- /*#__PURE__*/ _jsx(Button, {
43
- onClick: ()=>submit({
44
- emptyOnly: false
45
- }),
46
- children: resolverT('submitButtonLabelFull')
47
- }),
48
- /*#__PURE__*/ _jsx(Button, {
49
- onClick: ()=>submit({
50
- emptyOnly: true
51
- }),
52
- children: resolverT('submitButtonLabelEmpty')
53
- })
54
- ]
55
- })
56
- ]
57
- });
58
- };
59
-
60
- //# sourceMappingURL=Content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/components/TranslatorModal/Content.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\r\nimport { Button, Popup, PopupList, useTranslation } from '@payloadcms/ui'\r\n\r\nimport { useTranslator } from '../../providers/Translator/context'\r\nimport { LocaleLabel } from '../LocaleLabel'\r\n\r\nexport const Content = () => {\r\n const {\r\n localeToTranslateFrom: localeCodeToTranslateFrom,\r\n localesOptions,\r\n resolverT,\r\n setLocaleToTranslateFrom,\r\n submit,\r\n } = useTranslator()\r\n\r\n const { i18n } = useTranslation()\r\n\r\n const localeToTranslateFrom = localesOptions.find(\r\n (each) => each.code === localeCodeToTranslateFrom,\r\n )\r\n\r\n return (\r\n <div className={'translator__content'}>\r\n <h2>{resolverT('modalTitle')}</h2>\r\n {localeToTranslateFrom && (\r\n <Popup\r\n button={<LocaleLabel locale={localeToTranslateFrom} />}\r\n horizontalAlign=\"center\"\r\n render={({ close }) => (\r\n <PopupList.ButtonGroup>\r\n {localesOptions.map((option) => {\r\n const label = getTranslation(option.label, i18n)\r\n\r\n return (\r\n <PopupList.Button\r\n active={option.code === localeCodeToTranslateFrom}\r\n key={option.code}\r\n onClick={() => {\r\n setLocaleToTranslateFrom(option.code)\r\n close()\r\n }}\r\n >\r\n {label}\r\n {label !== option.code && ` (${option.code})`}\r\n </PopupList.Button>\r\n )\r\n })}\r\n </PopupList.ButtonGroup>\r\n )}\r\n verticalAlign=\"bottom\"\r\n />\r\n )}\r\n <div className={'translator__buttons'}>\r\n <Button onClick={() => submit({ emptyOnly: false })}>\r\n {resolverT('submitButtonLabelFull')}\r\n </Button>\r\n <Button onClick={() => submit({ emptyOnly: true })}>\r\n {resolverT('submitButtonLabelEmpty')}\r\n </Button>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"names":["getTranslation","Button","Popup","PopupList","useTranslation","useTranslator","LocaleLabel","Content","localeToTranslateFrom","localeCodeToTranslateFrom","localesOptions","resolverT","setLocaleToTranslateFrom","submit","i18n","find","each","code","div","className","h2","button","locale","horizontalAlign","render","close","ButtonGroup","map","option","label","active","onClick","verticalAlign","emptyOnly"],"mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AAEzE,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,WAAW,QAAQ,iBAAgB;AAE5C,OAAO,MAAMC,UAAU;IACrB,MAAM,EACJC,uBAAuBC,yBAAyB,EAChDC,cAAc,EACdC,SAAS,EACTC,wBAAwB,EACxBC,MAAM,EACP,GAAGR;IAEJ,MAAM,EAAES,IAAI,EAAE,GAAGV;IAEjB,MAAMI,wBAAwBE,eAAeK,IAAI,CAC/C,CAACC,OAASA,KAAKC,IAAI,KAAKR;IAG1B,qBACE,MAACS;QAAIC,WAAW;;0BACd,KAACC;0BAAIT,UAAU;;YACdH,uCACC,KAACN;gBACCmB,sBAAQ,KAACf;oBAAYgB,QAAQd;;gBAC7Be,iBAAgB;gBAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,KAACtB,UAAUuB,WAAW;kCACnBhB,eAAeiB,GAAG,CAAC,CAACC;4BACnB,MAAMC,QAAQ7B,eAAe4B,OAAOC,KAAK,EAAEf;4BAE3C,qBACE,MAACX,UAAUF,MAAM;gCACf6B,QAAQF,OAAOX,IAAI,KAAKR;gCAExBsB,SAAS;oCACPnB,yBAAyBgB,OAAOX,IAAI;oCACpCQ;gCACF;;oCAECI;oCACAA,UAAUD,OAAOX,IAAI,IAAI,CAAC,EAAE,EAAEW,OAAOX,IAAI,CAAC,CAAC,CAAC;;+BAPxCW,OAAOX,IAAI;wBAUtB;;gBAGJe,eAAc;;0BAGlB,MAACd;gBAAIC,WAAW;;kCACd,KAAClB;wBAAO8B,SAAS,IAAMlB,OAAO;gCAAEoB,WAAW;4BAAM;kCAC9CtB,UAAU;;kCAEb,KAACV;wBAAO8B,SAAS,IAAMlB,OAAO;gCAAEoB,WAAW;4BAAK;kCAC7CtB,UAAU;;;;;;AAKrB,EAAC"}
@@ -1,3 +0,0 @@
1
- import './styles.scss';
2
- export declare const TranslatorModal: () => import("react").JSX.Element | undefined;
3
- //# sourceMappingURL=TranslatorModal.d.ts.map