payload-ai 1.0.0 → 1.0.2
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.
- package/dist/aiTranslate.d.ts +1 -1
- package/dist/aiTranslate.js +81 -21
- package/dist/aiTranslate.js.map +1 -1
- package/dist/components/Translator/Translator.scss +130 -0
- package/dist/components/Translator/index.d.ts +12 -1
- package/dist/components/Translator/index.js +249 -67
- package/dist/components/Translator/index.js.map +1 -1
- package/dist/handleTranslate.js +74 -1
- package/dist/handleTranslate.js.map +1 -1
- package/dist/plugin.js +50 -31
- package/dist/plugin.js.map +1 -1
- package/dist/translateTextAndObjects.js +35 -2
- package/dist/translateTextAndObjects.js.map +1 -1
- package/package.json +1 -1
- package/src/aiTranslate.ts +64 -5
- package/src/components/Translator/Translator.scss +130 -0
- package/src/components/Translator/index.tsx +330 -87
- package/src/handleTranslate.ts +66 -0
- package/src/plugin.ts +64 -45
- package/src/translateTextAndObjects.ts +66 -7
package/dist/aiTranslate.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ declare const aiTranslateHook: ({ collectionOptions, collection, pluginOptions,
|
|
|
5
5
|
pluginOptions: any;
|
|
6
6
|
}, fallback?: string) => CollectionAfterChangeHook;
|
|
7
7
|
export default aiTranslateHook;
|
|
8
|
-
export declare function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, settings, sourceLanguage, }: any): Promise<void>;
|
|
8
|
+
export declare function translateCollection({ req, doc, collection, previousDoc, context, collectionOptions, onlyMissing, codes, settings, sourceLanguage, onProgress, }: any): Promise<void>;
|
package/dist/aiTranslate.js
CHANGED
|
@@ -89,12 +89,12 @@ var aiTranslateHook = function (_a, fallback) {
|
|
|
89
89
|
exports.default = aiTranslateHook;
|
|
90
90
|
function translateCollection(_a) {
|
|
91
91
|
var _b, _c;
|
|
92
|
-
var req = _a.req, doc = _a.doc, collection = _a.collection, previousDoc = _a.previousDoc, context = _a.context, collectionOptions = _a.collectionOptions, onlyMissing = _a.onlyMissing, codes = _a.codes, settings = _a.settings, sourceLanguage = _a.sourceLanguage;
|
|
92
|
+
var req = _a.req, doc = _a.doc, collection = _a.collection, previousDoc = _a.previousDoc, context = _a.context, collectionOptions = _a.collectionOptions, onlyMissing = _a.onlyMissing, codes = _a.codes, settings = _a.settings, sourceLanguage = _a.sourceLanguage, onProgress = _a.onProgress;
|
|
93
93
|
return __awaiter(this, void 0, void 0, function () {
|
|
94
|
-
var localization, previousDocument, locales, localCodes, sourceLanguageI, translationPromises, translationResults,
|
|
94
|
+
var localization, previousDocument, locales, localCodes, sourceLanguageI, targetLanguages, _i, targetLanguages_1, targetLanguage, targetDoc, targetDocWithTranslation, id, _status, updatedAt, createdAt, publishedDate, dataNew, error_1, translationPromises, translationResults, _d, translationResults_1, translatedContent, updatedLanguage;
|
|
95
95
|
var _this = this;
|
|
96
|
-
return __generator(this, function (
|
|
97
|
-
switch (
|
|
96
|
+
return __generator(this, function (_e) {
|
|
97
|
+
switch (_e.label) {
|
|
98
98
|
case 0:
|
|
99
99
|
localization = (_c = (_b = req === null || req === void 0 ? void 0 : req.payload) === null || _b === void 0 ? void 0 : _b.config) === null || _c === void 0 ? void 0 : _c.localization;
|
|
100
100
|
previousDocument = previousDoc || {};
|
|
@@ -115,10 +115,70 @@ function translateCollection(_a) {
|
|
|
115
115
|
return [2 /*return*/];
|
|
116
116
|
if (!Array.isArray(localCodes) || localCodes.length < 2 || !sourceLanguageI)
|
|
117
117
|
return [2 /*return*/];
|
|
118
|
-
|
|
119
|
-
.filter(function (targetLanguage) {
|
|
118
|
+
targetLanguages = localCodes.filter(function (targetLanguage) {
|
|
120
119
|
return targetLanguage !== sourceLanguageI && (!codes || codes.includes(targetLanguage));
|
|
121
|
-
})
|
|
120
|
+
});
|
|
121
|
+
if (!targetLanguages.length)
|
|
122
|
+
return [2 /*return*/];
|
|
123
|
+
if (!(typeof onProgress === 'function')) return [3 /*break*/, 12];
|
|
124
|
+
_i = 0, targetLanguages_1 = targetLanguages;
|
|
125
|
+
_e.label = 1;
|
|
126
|
+
case 1:
|
|
127
|
+
if (!(_i < targetLanguages_1.length)) return [3 /*break*/, 11];
|
|
128
|
+
targetLanguage = targetLanguages_1[_i];
|
|
129
|
+
return [4 /*yield*/, onProgress({ language: targetLanguage, status: 'processing' })];
|
|
130
|
+
case 2:
|
|
131
|
+
_e.sent();
|
|
132
|
+
_e.label = 3;
|
|
133
|
+
case 3:
|
|
134
|
+
_e.trys.push([3, 8, , 10]);
|
|
135
|
+
return [4 /*yield*/, req.payload.findByID({
|
|
136
|
+
collection: collection.slug,
|
|
137
|
+
id: doc.id,
|
|
138
|
+
locale: targetLanguage,
|
|
139
|
+
fallbackLocale: false,
|
|
140
|
+
limit: 0,
|
|
141
|
+
depth: 0,
|
|
142
|
+
})];
|
|
143
|
+
case 4:
|
|
144
|
+
targetDoc = _e.sent();
|
|
145
|
+
return [4 /*yield*/, (0, deepCompareAndMerge_1.deepCompareTranslateAndMerge)(doc, previousDocument, targetDoc, collectionOptions.fields, targetLanguage, previousDocument.id ? 'update' : 'create', onlyMissing, sourceLanguageI, __assign(__assign({}, settings), { namespace: doc === null || doc === void 0 ? void 0 : doc.namespace, localization: localization }))];
|
|
146
|
+
case 5:
|
|
147
|
+
targetDocWithTranslation = _e.sent();
|
|
148
|
+
id = targetDocWithTranslation.id, _status = targetDocWithTranslation._status, updatedAt = targetDocWithTranslation.updatedAt, createdAt = targetDocWithTranslation.createdAt, publishedDate = targetDocWithTranslation.publishedDate, dataNew = __rest(targetDocWithTranslation, ["id", "_status", "updatedAt", "createdAt", "publishedDate"]);
|
|
149
|
+
return [4 /*yield*/, req.payload.update({
|
|
150
|
+
collection: collection.slug,
|
|
151
|
+
id: doc.id,
|
|
152
|
+
data: dataNew,
|
|
153
|
+
locale: targetLanguage,
|
|
154
|
+
limit: 1,
|
|
155
|
+
depth: 0,
|
|
156
|
+
context: {
|
|
157
|
+
triggerAfterChange: false,
|
|
158
|
+
},
|
|
159
|
+
})];
|
|
160
|
+
case 6:
|
|
161
|
+
_e.sent();
|
|
162
|
+
return [4 /*yield*/, onProgress({ language: targetLanguage, status: 'completed' })];
|
|
163
|
+
case 7:
|
|
164
|
+
_e.sent();
|
|
165
|
+
return [3 /*break*/, 10];
|
|
166
|
+
case 8:
|
|
167
|
+
error_1 = _e.sent();
|
|
168
|
+
return [4 /*yield*/, onProgress({
|
|
169
|
+
language: targetLanguage,
|
|
170
|
+
status: 'failed',
|
|
171
|
+
error: (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) || 'Translation failed',
|
|
172
|
+
})];
|
|
173
|
+
case 9:
|
|
174
|
+
_e.sent();
|
|
175
|
+
throw error_1;
|
|
176
|
+
case 10:
|
|
177
|
+
_i++;
|
|
178
|
+
return [3 /*break*/, 1];
|
|
179
|
+
case 11: return [2 /*return*/];
|
|
180
|
+
case 12:
|
|
181
|
+
translationPromises = targetLanguages
|
|
122
182
|
.map(function (tL) { return __awaiter(_this, void 0, void 0, function () {
|
|
123
183
|
var targetDoc, targetDocWithTranslation, id, _status, updatedAt, createdAt, publishedDate, dataNew;
|
|
124
184
|
return __generator(this, function (_a) {
|
|
@@ -142,13 +202,13 @@ function translateCollection(_a) {
|
|
|
142
202
|
});
|
|
143
203
|
}); });
|
|
144
204
|
return [4 /*yield*/, Promise.all(translationPromises)];
|
|
145
|
-
case
|
|
146
|
-
translationResults =
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
case
|
|
150
|
-
if (!(
|
|
151
|
-
translatedContent = translationResults_1[
|
|
205
|
+
case 13:
|
|
206
|
+
translationResults = _e.sent();
|
|
207
|
+
_d = 0, translationResults_1 = translationResults;
|
|
208
|
+
_e.label = 14;
|
|
209
|
+
case 14:
|
|
210
|
+
if (!(_d < translationResults_1.length)) return [3 /*break*/, 17];
|
|
211
|
+
translatedContent = translationResults_1[_d];
|
|
152
212
|
return [4 /*yield*/, req.payload.update({
|
|
153
213
|
//req,
|
|
154
214
|
collection: collection.slug,
|
|
@@ -161,13 +221,13 @@ function translateCollection(_a) {
|
|
|
161
221
|
triggerAfterChange: false,
|
|
162
222
|
},
|
|
163
223
|
})];
|
|
164
|
-
case
|
|
165
|
-
updatedLanguage =
|
|
166
|
-
|
|
167
|
-
case
|
|
168
|
-
|
|
169
|
-
return [3 /*break*/,
|
|
170
|
-
case
|
|
224
|
+
case 15:
|
|
225
|
+
updatedLanguage = _e.sent();
|
|
226
|
+
_e.label = 16;
|
|
227
|
+
case 16:
|
|
228
|
+
_d++;
|
|
229
|
+
return [3 /*break*/, 14];
|
|
230
|
+
case 17: return [2 /*return*/];
|
|
171
231
|
}
|
|
172
232
|
});
|
|
173
233
|
});
|
package/dist/aiTranslate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6DAAoE;AAEpE,IAAM,eAAe,GACnB,UACE,EAIqE,EACrE,QAAiB;QAJf,iBAAiB,uBAAA,EACjB,UAAU,gBAAA,EACV,aAAa,mBAAA;IAIjB,OAAA,UAAO,EAA8C;YAA5C,GAAG,SAAA,EAAE,GAAG,SAAA,EAAE,WAAW,iBAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA;;;;;;;wBAC3C,QAAQ,GAAG,MAAA,MAAA,aAAa,CAAC,WAAW,0CAAG,UAAU,CAAC,IAAI,CAAC,0CAAE,QAAQ,CAAA;wBAEhE,qBAAM,mBAAmB,CAAC;gCAC/B,GAAG,KAAA;gCACH,GAAG,KAAA;gCACH,WAAW,aAAA;gCACX,OAAO,SAAA;gCACP,UAAU,YAAA;gCACV,iBAAiB,mBAAA;gCACjB,QAAQ,UAAA;6BACT,CAAC,EAAA;4BARF,sBAAO,SAQL,EAAA;;;;KACH;AAZD,CAYC,CAAA;AAEH,kBAAe,eAAe,CAAA;AAE9B,SAAsB,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"aiTranslate.js","sourceRoot":"","sources":["../src/aiTranslate.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,104 @@
|
|
|
41
41
|
color: var(--theme-elevation-700);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
&__status-message {
|
|
45
|
+
margin: 0;
|
|
46
|
+
font-size: 0.875rem;
|
|
47
|
+
color: var(--theme-elevation-800);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&__status-panel {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
gap: calc(var(--base) * 0.5);
|
|
54
|
+
padding: calc(var(--base) * 0.75);
|
|
55
|
+
border: 1px solid var(--theme-elevation-100);
|
|
56
|
+
border-radius: var(--style-radius-s);
|
|
57
|
+
background: var(--theme-elevation-50);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&__status-list {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
gap: calc(var(--base) * 0.5);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&__status-item {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: flex-start;
|
|
69
|
+
justify-content: space-between;
|
|
70
|
+
gap: calc(var(--base) * 0.75);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&__status-language,
|
|
74
|
+
&__status-error {
|
|
75
|
+
margin: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&__status-language {
|
|
79
|
+
font-size: 0.95rem;
|
|
80
|
+
font-weight: 600;
|
|
81
|
+
color: var(--theme-elevation-900);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&__status-error {
|
|
85
|
+
margin-top: calc(var(--base) * 0.15);
|
|
86
|
+
font-size: 0.825rem;
|
|
87
|
+
color: var(--theme-error-500);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
&__status-pill {
|
|
91
|
+
display: inline-flex;
|
|
92
|
+
align-items: center;
|
|
93
|
+
gap: calc(var(--base) * 0.25);
|
|
94
|
+
padding: calc(var(--base) * 0.2) calc(var(--base) * 0.45);
|
|
95
|
+
border-radius: 999px;
|
|
96
|
+
font-size: 0.8rem;
|
|
97
|
+
font-weight: 600;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&__status-pill--queued {
|
|
102
|
+
color: var(--theme-elevation-800);
|
|
103
|
+
background: var(--theme-elevation-100);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&__status-pill--processing {
|
|
107
|
+
color: var(--theme-warning-200);
|
|
108
|
+
background: color-mix(in srgb, var(--theme-warning-500) 35%, white);
|
|
109
|
+
|
|
110
|
+
.ai-translator__status-dot {
|
|
111
|
+
animation: ai-translator-pulse 1.1s ease-in-out infinite;
|
|
112
|
+
background: var(--theme-warning-500);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&__status-pill--completed {
|
|
117
|
+
color: var(--theme-success-200);
|
|
118
|
+
background: color-mix(in srgb, var(--theme-success-500) 35%, white);
|
|
119
|
+
|
|
120
|
+
.ai-translator__status-dot {
|
|
121
|
+
background: var(--theme-success-500);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&__status-pill--failed {
|
|
126
|
+
color: var(--theme-error-200);
|
|
127
|
+
background: color-mix(in srgb, var(--theme-error-500) 35%, white);
|
|
128
|
+
|
|
129
|
+
.ai-translator__status-dot {
|
|
130
|
+
background: var(--theme-error-500);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
&__status-dot {
|
|
135
|
+
width: 0.5rem;
|
|
136
|
+
height: 0.5rem;
|
|
137
|
+
border-radius: 50%;
|
|
138
|
+
background: currentColor;
|
|
139
|
+
flex-shrink: 0;
|
|
140
|
+
}
|
|
141
|
+
|
|
44
142
|
&__field {
|
|
45
143
|
display: flex;
|
|
46
144
|
flex-direction: column;
|
|
@@ -53,6 +151,25 @@
|
|
|
53
151
|
font-weight: 600;
|
|
54
152
|
}
|
|
55
153
|
|
|
154
|
+
&__radio-group {
|
|
155
|
+
display: grid;
|
|
156
|
+
gap: calc(var(--base) * 0.25);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
&__radio-option {
|
|
160
|
+
display: flex;
|
|
161
|
+
align-items: center;
|
|
162
|
+
gap: calc(var(--base) * 0.35);
|
|
163
|
+
font-size: 0.9rem;
|
|
164
|
+
color: var(--theme-elevation-900);
|
|
165
|
+
cursor: pointer;
|
|
166
|
+
|
|
167
|
+
input[type='radio'] {
|
|
168
|
+
margin: 0;
|
|
169
|
+
accent-color: var(--theme-success-500);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
56
173
|
&__translation-buttons {
|
|
57
174
|
display: flex;
|
|
58
175
|
flex-wrap: wrap;
|
|
@@ -63,4 +180,17 @@
|
|
|
63
180
|
&__loading {
|
|
64
181
|
width: fit-content;
|
|
65
182
|
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
@keyframes ai-translator-pulse {
|
|
186
|
+
0%,
|
|
187
|
+
100% {
|
|
188
|
+
transform: scale(1);
|
|
189
|
+
opacity: 1;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
50% {
|
|
193
|
+
transform: scale(0.8);
|
|
194
|
+
opacity: 0.45;
|
|
195
|
+
}
|
|
66
196
|
}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './Translator.scss';
|
|
3
|
-
|
|
3
|
+
type LocaleShape = {
|
|
4
|
+
code: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
};
|
|
7
|
+
type TranslatorProps = {
|
|
8
|
+
localization?: {
|
|
9
|
+
defaultLocale?: string;
|
|
10
|
+
locales?: Array<string | LocaleShape>;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare const Translator: React.FC<TranslatorProps>;
|
|
14
|
+
export {};
|