@intlayer/design-system 5.3.4 → 5.3.5
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/.vite/manifest.json +20 -20
- package/dist/components/DictionaryEditor/DictionaryEditor.cjs +1 -1
- package/dist/components/DictionaryEditor/DictionaryEditor.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/InsertionWrapper.cjs +4 -18
- package/dist/components/DictionaryEditor/NodeWrapper/InsertionWrapper.cjs.map +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +4 -18
- package/dist/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/index.cjs +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
- package/dist/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +116 -77
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +119 -80
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +108 -0
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +231 -0
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +108 -0
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
- package/dist/{index-Au2tP3vA.js → index-CEoL1j7H.js} +23 -2
- package/dist/index-CEoL1j7H.js.map +1 -0
- package/dist/{index-DbyCRREy.cjs → index-s_Ar0FDw.cjs} +23 -2
- package/dist/index-s_Ar0FDw.cjs.map +1 -0
- package/package.json +17 -17
- package/dist/index-Au2tP3vA.js.map +0 -1
- package/dist/index-DbyCRREy.cjs.map +0 -1
|
@@ -273,6 +273,237 @@ export declare const saveDictionaryContent: {
|
|
|
273
273
|
};
|
|
274
274
|
}>;
|
|
275
275
|
};
|
|
276
|
+
confirmation: {
|
|
277
|
+
title: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
278
|
+
en: string;
|
|
279
|
+
'en-GB': string;
|
|
280
|
+
fr: string;
|
|
281
|
+
es: string;
|
|
282
|
+
de: string;
|
|
283
|
+
ja: string;
|
|
284
|
+
ko: string;
|
|
285
|
+
zh: string;
|
|
286
|
+
it: string;
|
|
287
|
+
pt: string;
|
|
288
|
+
hi: string;
|
|
289
|
+
ar: string;
|
|
290
|
+
ru: string;
|
|
291
|
+
}, {
|
|
292
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
293
|
+
} & {
|
|
294
|
+
translation: {
|
|
295
|
+
en: string;
|
|
296
|
+
'en-GB': string;
|
|
297
|
+
fr: string;
|
|
298
|
+
es: string;
|
|
299
|
+
de: string;
|
|
300
|
+
ja: string;
|
|
301
|
+
ko: string;
|
|
302
|
+
zh: string;
|
|
303
|
+
it: string;
|
|
304
|
+
pt: string;
|
|
305
|
+
hi: string;
|
|
306
|
+
ar: string;
|
|
307
|
+
ru: string;
|
|
308
|
+
};
|
|
309
|
+
}>;
|
|
310
|
+
message: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
311
|
+
en: string;
|
|
312
|
+
'en-GB': string;
|
|
313
|
+
fr: string;
|
|
314
|
+
es: string;
|
|
315
|
+
de: string;
|
|
316
|
+
ja: string;
|
|
317
|
+
ko: string;
|
|
318
|
+
zh: string;
|
|
319
|
+
it: string;
|
|
320
|
+
pt: string;
|
|
321
|
+
hi: string;
|
|
322
|
+
ar: string;
|
|
323
|
+
ru: string;
|
|
324
|
+
}, {
|
|
325
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
326
|
+
} & {
|
|
327
|
+
translation: {
|
|
328
|
+
en: string;
|
|
329
|
+
'en-GB': string;
|
|
330
|
+
fr: string;
|
|
331
|
+
es: string;
|
|
332
|
+
de: string;
|
|
333
|
+
ja: string;
|
|
334
|
+
ko: string;
|
|
335
|
+
zh: string;
|
|
336
|
+
it: string;
|
|
337
|
+
pt: string;
|
|
338
|
+
hi: string;
|
|
339
|
+
ar: string;
|
|
340
|
+
ru: string;
|
|
341
|
+
};
|
|
342
|
+
}>;
|
|
343
|
+
differentFormatMessage: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
344
|
+
en: string;
|
|
345
|
+
'en-GB': string;
|
|
346
|
+
fr: string;
|
|
347
|
+
es: string;
|
|
348
|
+
de: string;
|
|
349
|
+
ja: string;
|
|
350
|
+
ko: string;
|
|
351
|
+
zh: string;
|
|
352
|
+
it: string;
|
|
353
|
+
pt: string;
|
|
354
|
+
}, {
|
|
355
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
356
|
+
} & {
|
|
357
|
+
translation: {
|
|
358
|
+
en: string;
|
|
359
|
+
'en-GB': string;
|
|
360
|
+
fr: string;
|
|
361
|
+
es: string;
|
|
362
|
+
de: string;
|
|
363
|
+
ja: string;
|
|
364
|
+
ko: string;
|
|
365
|
+
zh: string;
|
|
366
|
+
it: string;
|
|
367
|
+
pt: string;
|
|
368
|
+
};
|
|
369
|
+
}>;
|
|
370
|
+
confirmButton: {
|
|
371
|
+
text: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
372
|
+
en: string;
|
|
373
|
+
'en-GB': string;
|
|
374
|
+
fr: string;
|
|
375
|
+
es: string;
|
|
376
|
+
de: string;
|
|
377
|
+
ja: string;
|
|
378
|
+
ko: string;
|
|
379
|
+
zh: string;
|
|
380
|
+
it: string;
|
|
381
|
+
pt: string;
|
|
382
|
+
hi: string;
|
|
383
|
+
ar: string;
|
|
384
|
+
ru: string;
|
|
385
|
+
}, {
|
|
386
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
387
|
+
} & {
|
|
388
|
+
translation: {
|
|
389
|
+
en: string;
|
|
390
|
+
'en-GB': string;
|
|
391
|
+
fr: string;
|
|
392
|
+
es: string;
|
|
393
|
+
de: string;
|
|
394
|
+
ja: string;
|
|
395
|
+
ko: string;
|
|
396
|
+
zh: string;
|
|
397
|
+
it: string;
|
|
398
|
+
pt: string;
|
|
399
|
+
hi: string;
|
|
400
|
+
ar: string;
|
|
401
|
+
ru: string;
|
|
402
|
+
};
|
|
403
|
+
}>;
|
|
404
|
+
label: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
405
|
+
en: string;
|
|
406
|
+
'en-GB': string;
|
|
407
|
+
fr: string;
|
|
408
|
+
es: string;
|
|
409
|
+
de: string;
|
|
410
|
+
ja: string;
|
|
411
|
+
ko: string;
|
|
412
|
+
zh: string;
|
|
413
|
+
it: string;
|
|
414
|
+
pt: string;
|
|
415
|
+
hi: string;
|
|
416
|
+
ar: string;
|
|
417
|
+
ru: string;
|
|
418
|
+
}, {
|
|
419
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
420
|
+
} & {
|
|
421
|
+
translation: {
|
|
422
|
+
en: string;
|
|
423
|
+
'en-GB': string;
|
|
424
|
+
fr: string;
|
|
425
|
+
es: string;
|
|
426
|
+
de: string;
|
|
427
|
+
ja: string;
|
|
428
|
+
ko: string;
|
|
429
|
+
zh: string;
|
|
430
|
+
it: string;
|
|
431
|
+
pt: string;
|
|
432
|
+
hi: string;
|
|
433
|
+
ar: string;
|
|
434
|
+
ru: string;
|
|
435
|
+
};
|
|
436
|
+
}>;
|
|
437
|
+
};
|
|
438
|
+
cancelButton: {
|
|
439
|
+
text: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
440
|
+
en: string;
|
|
441
|
+
'en-GB': string;
|
|
442
|
+
fr: string;
|
|
443
|
+
es: string;
|
|
444
|
+
de: string;
|
|
445
|
+
ja: string;
|
|
446
|
+
ko: string;
|
|
447
|
+
zh: string;
|
|
448
|
+
it: string;
|
|
449
|
+
pt: string;
|
|
450
|
+
hi: string;
|
|
451
|
+
ar: string;
|
|
452
|
+
ru: string;
|
|
453
|
+
}, {
|
|
454
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
455
|
+
} & {
|
|
456
|
+
translation: {
|
|
457
|
+
en: string;
|
|
458
|
+
'en-GB': string;
|
|
459
|
+
fr: string;
|
|
460
|
+
es: string;
|
|
461
|
+
de: string;
|
|
462
|
+
ja: string;
|
|
463
|
+
ko: string;
|
|
464
|
+
zh: string;
|
|
465
|
+
it: string;
|
|
466
|
+
pt: string;
|
|
467
|
+
hi: string;
|
|
468
|
+
ar: string;
|
|
469
|
+
ru: string;
|
|
470
|
+
};
|
|
471
|
+
}>;
|
|
472
|
+
label: import('@intlayer/core').TypedNodeModel<import("@intlayer/core").NodeType.Translation, {
|
|
473
|
+
en: string;
|
|
474
|
+
'en-GB': string;
|
|
475
|
+
fr: string;
|
|
476
|
+
es: string;
|
|
477
|
+
de: string;
|
|
478
|
+
ja: string;
|
|
479
|
+
ko: string;
|
|
480
|
+
zh: string;
|
|
481
|
+
it: string;
|
|
482
|
+
pt: string;
|
|
483
|
+
hi: string;
|
|
484
|
+
ar: string;
|
|
485
|
+
ru: string;
|
|
486
|
+
}, {
|
|
487
|
+
nodeType: import("@intlayer/core").NodeType.Translation | "translation";
|
|
488
|
+
} & {
|
|
489
|
+
translation: {
|
|
490
|
+
en: string;
|
|
491
|
+
'en-GB': string;
|
|
492
|
+
fr: string;
|
|
493
|
+
es: string;
|
|
494
|
+
de: string;
|
|
495
|
+
ja: string;
|
|
496
|
+
ko: string;
|
|
497
|
+
zh: string;
|
|
498
|
+
it: string;
|
|
499
|
+
pt: string;
|
|
500
|
+
hi: string;
|
|
501
|
+
ar: string;
|
|
502
|
+
ru: string;
|
|
503
|
+
};
|
|
504
|
+
}>;
|
|
505
|
+
};
|
|
506
|
+
};
|
|
276
507
|
};
|
|
277
508
|
};
|
|
278
509
|
//# sourceMappingURL=saveForm.content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveForm.content.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/SaveForm/saveForm.content.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"saveForm.content.d.ts","sourceRoot":"","sources":["../../../../src/components/DictionaryFieldEditor/SaveForm/saveForm.content.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmPZ,CAAC"}
|
|
@@ -129,6 +129,114 @@ const saveDictionaryContent = {
|
|
|
129
129
|
ar: "انقر لتنزيل",
|
|
130
130
|
ru: "Нажмите, чтобы скачать"
|
|
131
131
|
})
|
|
132
|
+
},
|
|
133
|
+
confirmation: {
|
|
134
|
+
title: t({
|
|
135
|
+
en: "Confirmation",
|
|
136
|
+
"en-GB": "Confirmation",
|
|
137
|
+
fr: "Confirmation",
|
|
138
|
+
es: "Confirmation",
|
|
139
|
+
de: "Confirmation",
|
|
140
|
+
ja: "確認",
|
|
141
|
+
ko: "확인",
|
|
142
|
+
zh: "确认",
|
|
143
|
+
it: "Conferma",
|
|
144
|
+
pt: "Confirmação",
|
|
145
|
+
hi: "पुष्टि करें",
|
|
146
|
+
ar: "تأكيد",
|
|
147
|
+
ru: "Подтверждение"
|
|
148
|
+
}),
|
|
149
|
+
message: t({
|
|
150
|
+
en: "This will overwrite the existing dictionary. Are you sure you want to continue?",
|
|
151
|
+
"en-GB": "This will overwrite the existing dictionary. Are you sure you want to continue?",
|
|
152
|
+
fr: "Cela remplacera le dictionnaire existant. Êtes-vous sûr de vouloir continuer?",
|
|
153
|
+
es: "Esto sobrescribirá el diccionario existente. ¿Estás seguro de que quieres continuar?",
|
|
154
|
+
de: "Dies wird das existierende Wörterbuch überschreiben. Sind Sie sicher, dass Sie fortfahren möchten?",
|
|
155
|
+
ja: "既存の辞書を上書きします。続行しますか?",
|
|
156
|
+
ko: "이는 기존 사전을 덮어 쓸 것입니다. 계속하시겠습니까?",
|
|
157
|
+
zh: "这将覆盖现有的字典。你确定要继续吗?",
|
|
158
|
+
it: "Questo sovrascriverà il dizionario esistente. Sei sicuro di voler continuare?",
|
|
159
|
+
pt: "Isso sobrescreverá o dicionário existente. Você tem certeza de que deseja continuar?",
|
|
160
|
+
hi: "यह मौजूदा शब्दकोश को ओवरराइट करने जारी है। आप क्या आप जारी रखना चाहते हैं?",
|
|
161
|
+
ar: "سيتم الكتابة على القاموس الحالي. هل أنت متأكد من أنك تريد المتابعة؟",
|
|
162
|
+
ru: "Это перезапишет существующий словарь. Вы уверены, что хотите продолжить?"
|
|
163
|
+
}),
|
|
164
|
+
differentFormatMessage: t({
|
|
165
|
+
en: "The dictionary is in a different format, it will be transformed into a JSON file. Are you sure you want to continue? This will overwrite the existing dictionary.",
|
|
166
|
+
"en-GB": "The dictionary is in a different format, it will be transformed into a JSON file. Are you sure you want to continue? This will overwrite the existing dictionary.",
|
|
167
|
+
fr: "Le dictionnaire est dans un format différent, il sera transformé en un fichier JSON. Êtes-vous sûr de vouloir continuer ? Cela remplacera le dictionnaire existant.",
|
|
168
|
+
es: "El diccionario está en un formato diferente, se transformará en un archivo JSON. ¿Estás seguro de que quieres continuar? Esto sobrescribirá el diccionario existente.",
|
|
169
|
+
de: "Das Wörterbuch ist in einem anderen Format, es wird in eine JSON-Datei umgewandelt. Sind Sie sicher, dass Sie fortfahren möchten? Dies wird das existierende Wörterbuch überschreiben.",
|
|
170
|
+
ja: "辞書は異なる形式です。JSONファイルに変換されます。続行しますか?既存の辞書を上書きします。",
|
|
171
|
+
ko: "사전은 다른 형식입니다. JSON 파일로 변환됩니다. 계속하시겠습니까? 이는 기존 사전을 덮어 쓸 것입니다.",
|
|
172
|
+
zh: "字典是在不同格式中,它将转换为JSON文件。你确定要继续吗?这将覆盖现有的字典。",
|
|
173
|
+
it: "Il dizionario è in un formato diverso, verrà trasformato in un file JSON. Sei sicuro di voler continuare? Questo sovrascriverà il dizionario esistente.",
|
|
174
|
+
pt: "O dicionário está em um formato diferente, ele será transformado em um arquivo JSON. Você tem certeza de que deseja continuar? Isso sobrescreverá o dicionário existente."
|
|
175
|
+
}),
|
|
176
|
+
confirmButton: {
|
|
177
|
+
text: t({
|
|
178
|
+
en: "Confirm",
|
|
179
|
+
"en-GB": "Confirm",
|
|
180
|
+
fr: "Confirmer",
|
|
181
|
+
es: "Confirmar",
|
|
182
|
+
de: "Bestätigen",
|
|
183
|
+
ja: "確認",
|
|
184
|
+
ko: "확인",
|
|
185
|
+
zh: "确认",
|
|
186
|
+
it: "Conferma",
|
|
187
|
+
pt: "Confirmar",
|
|
188
|
+
hi: "पुष्टि करें",
|
|
189
|
+
ar: "تأكيد",
|
|
190
|
+
ru: "Подтвердить"
|
|
191
|
+
}),
|
|
192
|
+
label: t({
|
|
193
|
+
en: "Click to confirm",
|
|
194
|
+
"en-GB": "Click to confirm",
|
|
195
|
+
fr: "Cliquez pour confirmer",
|
|
196
|
+
es: "Haga clic para confirmar",
|
|
197
|
+
de: "Klicken Sie, um zu bestätigen",
|
|
198
|
+
ja: "確認するにはクリックしてください",
|
|
199
|
+
ko: "확인을 클릭하세요",
|
|
200
|
+
zh: "单击确认",
|
|
201
|
+
it: "Fai clic per confermare",
|
|
202
|
+
pt: "Clique para confirmar",
|
|
203
|
+
hi: "पुष्टि करने के लिए क्लिक करें",
|
|
204
|
+
ar: "انقر لتأكيد",
|
|
205
|
+
ru: "Нажмите, чтобы подтвердить"
|
|
206
|
+
})
|
|
207
|
+
},
|
|
208
|
+
cancelButton: {
|
|
209
|
+
text: t({
|
|
210
|
+
en: "Cancel",
|
|
211
|
+
"en-GB": "Cancel",
|
|
212
|
+
fr: "Annuler",
|
|
213
|
+
es: "Cancelar",
|
|
214
|
+
de: "Abbrechen",
|
|
215
|
+
ja: "キャンセル",
|
|
216
|
+
ko: "취소",
|
|
217
|
+
zh: "取消",
|
|
218
|
+
it: "Annulla",
|
|
219
|
+
pt: "Cancelar",
|
|
220
|
+
hi: "रद्द करें",
|
|
221
|
+
ar: "إلغاء",
|
|
222
|
+
ru: "Отмена"
|
|
223
|
+
}),
|
|
224
|
+
label: t({
|
|
225
|
+
en: "Click to cancel",
|
|
226
|
+
"en-GB": "Click to cancel",
|
|
227
|
+
fr: "Cliquez pour annuler",
|
|
228
|
+
es: "Haga clic para cancelar",
|
|
229
|
+
de: "Klicken Sie, um abzubrechen",
|
|
230
|
+
ja: "キャンセルするにはクリックしてください",
|
|
231
|
+
ko: "취소를 클릭하세요",
|
|
232
|
+
zh: "单击取消",
|
|
233
|
+
it: "Fai clic per annullare",
|
|
234
|
+
pt: "Clique para cancelar",
|
|
235
|
+
hi: "रद्द करने के लिए क्लिक करें",
|
|
236
|
+
ar: "انقر لإلغاء",
|
|
237
|
+
ru: "Нажмите, чтобы отменить"
|
|
238
|
+
})
|
|
239
|
+
}
|
|
132
240
|
}
|
|
133
241
|
}
|
|
134
242
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"saveForm.content.mjs","sources":["../../../../src/components/DictionaryFieldEditor/SaveForm/saveForm.content.tsx"],"sourcesContent":["import { t, type Dictionary } from 'intlayer';\n\nexport const saveDictionaryContent = {\n key: 'save-dictionary-details',\n content: {\n resetButton: {\n text: t({\n en: 'Reset all changes',\n 'en-GB': 'Reset all changes',\n fr: 'Réinitialiser toutes les modifications',\n es: 'Restablecer todas las modificaciones',\n de: 'Alle Änderungen zurücksetzen',\n ja: 'すべての変更をリセット',\n ko: '모든 변경 사항 초기화',\n zh: '重置所有更改',\n it: 'Reimposta tutte le modifiche',\n pt: 'Redefinir todas as alterações',\n hi: 'सभी परिवर्तनों को रीसेट करें',\n ar: 'إعادة تعيين جميع التغييرات',\n ru: 'Сбросить все изменения',\n }),\n label: t({\n en: 'Click to reset all the changes',\n 'en-GB': 'Click to reset all the changes',\n fr: 'Cliquez pour réinitialiser toutes les modifications',\n es: 'Haga clic para restablecer todas las modificaciones',\n de: 'Klicken Sie, um alle Änderungen zurückzusetzen',\n ja: 'すべての変更をリセットするにはクリックしてください',\n ko: '모든 변경 사항을 초기화하려면 클릭하세요',\n zh: '单击以重置所有更改',\n it: 'Fai clic per ripristinare tutte le modifiche',\n pt: 'Clique para redefinir todas as alterações',\n hi: 'सभी परिवर्तनों को रीसेट करने के लिए क्लिक करें',\n ar: 'انقر لإعادة تعيين جميع التغييرات',\n ru: 'Нажмите, чтобы сбросить все изменения',\n }),\n },\n saveButton: {\n text: t({\n en: 'Save changes',\n 'en-GB': 'Save changes',\n fr: 'Enregistrer les modifications',\n es: 'Guardar cambios',\n de: 'Änderungen speichern',\n ja: '変更を保存',\n ko: '변경 사항 저장',\n zh: '保存更改',\n it: 'Salva le modifiche',\n pt: 'Salvar alterações',\n hi: 'परिवर्तनों को सहेजें',\n ar: 'احفظ التغييرات',\n ru: 'Сохранить изменения',\n }),\n label: t({\n en: 'Click to save changes',\n 'en-GB': 'Click to save changes',\n fr: 'Cliquez pour enregistrer les modifications',\n es: 'Haga clic para guardar cambios',\n de: 'Klicken Sie, um Änderungen zu speichern',\n ja: '変更を保存するにはクリックしてください',\n ko: '변경 사항을 저장하려면 클릭하세요',\n zh: '单击保存更改',\n it: 'Fai clic per salvare le modifiche',\n pt: 'Clique para salvar alterações',\n hi: 'परिवर्तनों को सहेजने के लिए क्लिक करें',\n ar: 'انقر لحفظ التغييرات',\n ru: 'Нажмите, чтобы сохранить изменения',\n }),\n },\n publishButton: {\n text: t({\n en: 'Publish dictionary',\n 'en-GB': 'Publish dictionary',\n fr: 'Publier dictionnaire',\n es: 'Publicar diccionario',\n de: 'Wörterbuch veröffentlichen',\n ja: '辞書を公開',\n ko: '사전을 게시합니다',\n zh: '发布字典',\n it: 'Pubblica dizionario',\n pt: 'Publicar dicionário',\n hi: 'शब्दकोश प्रकाशित करें',\n ar: 'نشر القاموس',\n ru: 'Опубликовать словарь',\n }),\n label: t({\n en: 'Click to publish dictionary',\n 'en-GB': 'Click to publish dictionary',\n fr: 'Cliquez pour publier dictionnaire',\n es: 'Haga clic para publicar diccionario',\n de: 'Klicken Sie, um das Wörterbuch zu veröffentlichen',\n ja: '辞書を公開するにはクリックしてください',\n ko: '사전을 게시하려면 클릭하세요',\n zh: '单击以发布字典',\n it: 'Fai clic per pubblicare il dizionario',\n pt: 'Clique para publicar dicionário',\n hi: 'शब्दकोश प्रकाशित करने के लिए क्लिक करें',\n ar: 'انقر لنشر القاموس',\n ru: 'Нажмите, чтобы опубликовать словарь',\n }),\n },\n downloadButton: {\n text: t({\n en: 'Download',\n 'en-GB': 'Download',\n fr: 'Télécharger',\n es: 'Descargar',\n de: 'Herunterladen',\n ja: 'ダウンロード',\n ko: '다운로드',\n zh: '下载',\n it: 'Scarica',\n pt: 'Baixar',\n hi: 'डाउनलोड',\n ar: 'تنزيل',\n ru: 'Скачать',\n }),\n label: t({\n en: 'Click to download',\n 'en-GB': 'Click to download',\n fr: 'Cliquez pour télécharger',\n es: 'Haga clic para descargar',\n de: 'Klicken Sie, um herunterzuladen',\n ja: 'ダウンロードするにはクリックしてください',\n ko: '다운로드를 클릭하세요',\n zh: '单击下载',\n it: 'Fai clic per scaricare',\n pt: 'Clique para baixar',\n hi: 'डाउनलोड करने के लिए क्लिक करें',\n ar: 'انقر لتنزيل',\n ru: 'Нажмите, чтобы скачать',\n }),\n },\n },\n} satisfies Dictionary;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"saveForm.content.mjs","sources":["../../../../src/components/DictionaryFieldEditor/SaveForm/saveForm.content.tsx"],"sourcesContent":["import { t, type Dictionary } from 'intlayer';\n\nexport const saveDictionaryContent = {\n key: 'save-dictionary-details',\n content: {\n resetButton: {\n text: t({\n en: 'Reset all changes',\n 'en-GB': 'Reset all changes',\n fr: 'Réinitialiser toutes les modifications',\n es: 'Restablecer todas las modificaciones',\n de: 'Alle Änderungen zurücksetzen',\n ja: 'すべての変更をリセット',\n ko: '모든 변경 사항 초기화',\n zh: '重置所有更改',\n it: 'Reimposta tutte le modifiche',\n pt: 'Redefinir todas as alterações',\n hi: 'सभी परिवर्तनों को रीसेट करें',\n ar: 'إعادة تعيين جميع التغييرات',\n ru: 'Сбросить все изменения',\n }),\n label: t({\n en: 'Click to reset all the changes',\n 'en-GB': 'Click to reset all the changes',\n fr: 'Cliquez pour réinitialiser toutes les modifications',\n es: 'Haga clic para restablecer todas las modificaciones',\n de: 'Klicken Sie, um alle Änderungen zurückzusetzen',\n ja: 'すべての変更をリセットするにはクリックしてください',\n ko: '모든 변경 사항을 초기화하려면 클릭하세요',\n zh: '单击以重置所有更改',\n it: 'Fai clic per ripristinare tutte le modifiche',\n pt: 'Clique para redefinir todas as alterações',\n hi: 'सभी परिवर्तनों को रीसेट करने के लिए क्लिक करें',\n ar: 'انقر لإعادة تعيين جميع التغييرات',\n ru: 'Нажмите, чтобы сбросить все изменения',\n }),\n },\n saveButton: {\n text: t({\n en: 'Save changes',\n 'en-GB': 'Save changes',\n fr: 'Enregistrer les modifications',\n es: 'Guardar cambios',\n de: 'Änderungen speichern',\n ja: '変更を保存',\n ko: '변경 사항 저장',\n zh: '保存更改',\n it: 'Salva le modifiche',\n pt: 'Salvar alterações',\n hi: 'परिवर्तनों को सहेजें',\n ar: 'احفظ التغييرات',\n ru: 'Сохранить изменения',\n }),\n label: t({\n en: 'Click to save changes',\n 'en-GB': 'Click to save changes',\n fr: 'Cliquez pour enregistrer les modifications',\n es: 'Haga clic para guardar cambios',\n de: 'Klicken Sie, um Änderungen zu speichern',\n ja: '変更を保存するにはクリックしてください',\n ko: '변경 사항을 저장하려면 클릭하세요',\n zh: '单击保存更改',\n it: 'Fai clic per salvare le modifiche',\n pt: 'Clique para salvar alterações',\n hi: 'परिवर्तनों को सहेजने के लिए क्लिक करें',\n ar: 'انقر لحفظ التغييرات',\n ru: 'Нажмите, чтобы сохранить изменения',\n }),\n },\n publishButton: {\n text: t({\n en: 'Publish dictionary',\n 'en-GB': 'Publish dictionary',\n fr: 'Publier dictionnaire',\n es: 'Publicar diccionario',\n de: 'Wörterbuch veröffentlichen',\n ja: '辞書を公開',\n ko: '사전을 게시합니다',\n zh: '发布字典',\n it: 'Pubblica dizionario',\n pt: 'Publicar dicionário',\n hi: 'शब्दकोश प्रकाशित करें',\n ar: 'نشر القاموس',\n ru: 'Опубликовать словарь',\n }),\n label: t({\n en: 'Click to publish dictionary',\n 'en-GB': 'Click to publish dictionary',\n fr: 'Cliquez pour publier dictionnaire',\n es: 'Haga clic para publicar diccionario',\n de: 'Klicken Sie, um das Wörterbuch zu veröffentlichen',\n ja: '辞書を公開するにはクリックしてください',\n ko: '사전을 게시하려면 클릭하세요',\n zh: '单击以发布字典',\n it: 'Fai clic per pubblicare il dizionario',\n pt: 'Clique para publicar dicionário',\n hi: 'शब्दकोश प्रकाशित करने के लिए क्लिक करें',\n ar: 'انقر لنشر القاموس',\n ru: 'Нажмите, чтобы опубликовать словарь',\n }),\n },\n downloadButton: {\n text: t({\n en: 'Download',\n 'en-GB': 'Download',\n fr: 'Télécharger',\n es: 'Descargar',\n de: 'Herunterladen',\n ja: 'ダウンロード',\n ko: '다운로드',\n zh: '下载',\n it: 'Scarica',\n pt: 'Baixar',\n hi: 'डाउनलोड',\n ar: 'تنزيل',\n ru: 'Скачать',\n }),\n label: t({\n en: 'Click to download',\n 'en-GB': 'Click to download',\n fr: 'Cliquez pour télécharger',\n es: 'Haga clic para descargar',\n de: 'Klicken Sie, um herunterzuladen',\n ja: 'ダウンロードするにはクリックしてください',\n ko: '다운로드를 클릭하세요',\n zh: '单击下载',\n it: 'Fai clic per scaricare',\n pt: 'Clique para baixar',\n hi: 'डाउनलोड करने के लिए क्लिक करें',\n ar: 'انقر لتنزيل',\n ru: 'Нажмите, чтобы скачать',\n }),\n },\n\n confirmation: {\n title: t({\n en: 'Confirmation',\n 'en-GB': 'Confirmation',\n fr: 'Confirmation',\n es: 'Confirmation',\n de: 'Confirmation',\n ja: '確認',\n ko: '확인',\n zh: '确认',\n it: 'Conferma',\n pt: 'Confirmação',\n hi: 'पुष्टि करें',\n ar: 'تأكيد',\n ru: 'Подтверждение',\n }),\n message: t({\n en: 'This will overwrite the existing dictionary. Are you sure you want to continue?',\n 'en-GB':\n 'This will overwrite the existing dictionary. Are you sure you want to continue?',\n fr: 'Cela remplacera le dictionnaire existant. Êtes-vous sûr de vouloir continuer?',\n es: 'Esto sobrescribirá el diccionario existente. ¿Estás seguro de que quieres continuar?',\n de: 'Dies wird das existierende Wörterbuch überschreiben. Sind Sie sicher, dass Sie fortfahren möchten?',\n ja: '既存の辞書を上書きします。続行しますか?',\n ko: '이는 기존 사전을 덮어 쓸 것입니다. 계속하시겠습니까?',\n zh: '这将覆盖现有的字典。你确定要继续吗?',\n it: 'Questo sovrascriverà il dizionario esistente. Sei sicuro di voler continuare?',\n pt: 'Isso sobrescreverá o dicionário existente. Você tem certeza de que deseja continuar?',\n hi: 'यह मौजूदा शब्दकोश को ओवरराइट करने जारी है। आप क्या आप जारी रखना चाहते हैं?',\n ar: 'سيتم الكتابة على القاموس الحالي. هل أنت متأكد من أنك تريد المتابعة؟',\n ru: 'Это перезапишет существующий словарь. Вы уверены, что хотите продолжить?',\n }),\n differentFormatMessage: t({\n en: 'The dictionary is in a different format, it will be transformed into a JSON file. Are you sure you want to continue? This will overwrite the existing dictionary.',\n 'en-GB':\n 'The dictionary is in a different format, it will be transformed into a JSON file. Are you sure you want to continue? This will overwrite the existing dictionary.',\n fr: 'Le dictionnaire est dans un format différent, il sera transformé en un fichier JSON. Êtes-vous sûr de vouloir continuer ? Cela remplacera le dictionnaire existant.',\n es: 'El diccionario está en un formato diferente, se transformará en un archivo JSON. ¿Estás seguro de que quieres continuar? Esto sobrescribirá el diccionario existente.',\n de: 'Das Wörterbuch ist in einem anderen Format, es wird in eine JSON-Datei umgewandelt. Sind Sie sicher, dass Sie fortfahren möchten? Dies wird das existierende Wörterbuch überschreiben.',\n ja: '辞書は異なる形式です。JSONファイルに変換されます。続行しますか?既存の辞書を上書きします。',\n ko: '사전은 다른 형식입니다. JSON 파일로 변환됩니다. 계속하시겠습니까? 이는 기존 사전을 덮어 쓸 것입니다.',\n zh: '字典是在不同格式中,它将转换为JSON文件。你确定要继续吗?这将覆盖现有的字典。',\n it: 'Il dizionario è in un formato diverso, verrà trasformato in un file JSON. Sei sicuro di voler continuare? Questo sovrascriverà il dizionario esistente.',\n pt: 'O dicionário está em um formato diferente, ele será transformado em um arquivo JSON. Você tem certeza de que deseja continuar? Isso sobrescreverá o dicionário existente.',\n }),\n confirmButton: {\n text: t({\n en: 'Confirm',\n 'en-GB': 'Confirm',\n fr: 'Confirmer',\n es: 'Confirmar',\n de: 'Bestätigen',\n ja: '確認',\n ko: '확인',\n zh: '确认',\n it: 'Conferma',\n pt: 'Confirmar',\n hi: 'पुष्टि करें',\n ar: 'تأكيد',\n ru: 'Подтвердить',\n }),\n label: t({\n en: 'Click to confirm',\n 'en-GB': 'Click to confirm',\n fr: 'Cliquez pour confirmer',\n es: 'Haga clic para confirmar',\n de: 'Klicken Sie, um zu bestätigen',\n ja: '確認するにはクリックしてください',\n ko: '확인을 클릭하세요',\n zh: '单击确认',\n it: 'Fai clic per confermare',\n pt: 'Clique para confirmar',\n hi: 'पुष्टि करने के लिए क्लिक करें',\n ar: 'انقر لتأكيد',\n ru: 'Нажмите, чтобы подтвердить',\n }),\n },\n cancelButton: {\n text: t({\n en: 'Cancel',\n 'en-GB': 'Cancel',\n fr: 'Annuler',\n es: 'Cancelar',\n de: 'Abbrechen',\n ja: 'キャンセル',\n ko: '취소',\n zh: '取消',\n it: 'Annulla',\n pt: 'Cancelar',\n hi: 'रद्द करें',\n ar: 'إلغاء',\n ru: 'Отмена',\n }),\n label: t({\n en: 'Click to cancel',\n 'en-GB': 'Click to cancel',\n fr: 'Cliquez pour annuler',\n es: 'Haga clic para cancelar',\n de: 'Klicken Sie, um abzubrechen',\n ja: 'キャンセルするにはクリックしてください',\n ko: '취소를 클릭하세요',\n zh: '单击取消',\n it: 'Fai clic per annullare',\n pt: 'Clique para cancelar',\n hi: 'रद्द करने के लिए क्लिक करें',\n ar: 'انقر لإلغاء',\n ru: 'Нажмите, чтобы отменить',\n }),\n },\n },\n },\n} satisfies Dictionary;\n"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,20 @@ const TranslationWrapper = (props) => {
|
|
|
119
119
|
const subSection = section.translation[locale];
|
|
120
120
|
return /* @__PURE__ */ jsx(NodeWrapper, { ...props, keyPath: newKeyPath, section: subSection });
|
|
121
121
|
};
|
|
122
|
+
const InsertionWrapper = (props) => {
|
|
123
|
+
const { keyPath, section } = props;
|
|
124
|
+
const newKeyPath = [
|
|
125
|
+
...keyPath,
|
|
126
|
+
{
|
|
127
|
+
type: NodeType.Insertion
|
|
128
|
+
}
|
|
129
|
+
];
|
|
130
|
+
const subSection = section[NodeType.Insertion];
|
|
131
|
+
return /* @__PURE__ */ jsxs("div", { className: "ml-2 grid grid-cols-[auto,1fr] gap-2", children: [
|
|
132
|
+
/* @__PURE__ */ jsx(NodeWrapper, { ...props, keyPath: newKeyPath, section: subSection }),
|
|
133
|
+
";"
|
|
134
|
+
] });
|
|
135
|
+
};
|
|
122
136
|
const traceKeys = ["filePath", "id", "nodeType"];
|
|
123
137
|
const NodeWrapper = (props) => {
|
|
124
138
|
const { section } = props;
|
|
@@ -167,7 +181,13 @@ const NodeWrapper = (props) => {
|
|
|
167
181
|
);
|
|
168
182
|
}
|
|
169
183
|
if (nodeType === NodeType.Insertion) {
|
|
170
|
-
return /* @__PURE__ */ jsx(
|
|
184
|
+
return /* @__PURE__ */ jsx(
|
|
185
|
+
InsertionWrapper,
|
|
186
|
+
{
|
|
187
|
+
...props,
|
|
188
|
+
section
|
|
189
|
+
}
|
|
190
|
+
);
|
|
171
191
|
}
|
|
172
192
|
if (nodeType === NodeType.Array) {
|
|
173
193
|
return /* @__PURE__ */ jsx(
|
|
@@ -197,10 +217,11 @@ export {
|
|
|
197
217
|
ArrayWrapper as A,
|
|
198
218
|
ConditionWrapper as C,
|
|
199
219
|
EnumerationWrapper as E,
|
|
220
|
+
InsertionWrapper as I,
|
|
200
221
|
MarkdownWrapper as M,
|
|
201
222
|
NodeWrapper as N,
|
|
202
223
|
TranslationWrapper as T,
|
|
203
224
|
NestedObjectWrapper as a,
|
|
204
225
|
traceKeys as t
|
|
205
226
|
};
|
|
206
|
-
//# sourceMappingURL=index-
|
|
227
|
+
//# sourceMappingURL=index-CEoL1j7H.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CEoL1j7H.js","sources":["../src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/index.tsx"],"sourcesContent":["import {\n isSameKeyPath,\n NodeType,\n type ContentNode,\n type KeyPath,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { ItemLayout } from '../ItemLayout';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype ArrayWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: ContentNode[];\n};\n\nexport const ArrayWrapper: FC<ArrayWrapperProps> = (props) => {\n const { keyPath, section, onFocusKeyPath, focusedKeyPath = [] } = props;\n\n return section.map((subSection, key) => {\n const newKeyPathEl: KeyPath = {\n key,\n type: NodeType.Array,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n return (\n <ItemLayout\n level={keyPath.length}\n key={JSON.stringify(subSection)}\n title={`${key}`}\n description=\"\"\n isSelected={isSameKeyPath(newKeyPath, focusedKeyPath)}\n onClick={(e) => {\n e.stopPropagation();\n onFocusKeyPath(newKeyPath);\n }}\n >\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </ItemLayout>\n );\n });\n};\n","import {\n type KeyPath,\n NodeType,\n type ConditionContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype ConditionWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: ConditionContent<ContentNode>;\n};\n\nexport const ConditionWrapper: FC<ConditionWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n {Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = {\n type: NodeType.Condition,\n key,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section[NodeType.Condition][\n key as keyof (typeof section)[NodeType.Condition]\n ]!;\n\n return (\n <>\n <span className=\"flex items-center font-bold\">{key}</span>\n <NodeWrapper\n {...props}\n key={key}\n keyPath={newKeyPath}\n section={subSection}\n />\n </>\n );\n })}\n </div>\n );\n};\n","import {\n type KeyPath,\n NodeType,\n type EnumerationContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype EnumerationWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: EnumerationContent<ContentNode>;\n};\n\nexport const EnumerationWrapper: FC<EnumerationWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n {Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = {\n type: NodeType.Enumeration,\n key,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section[NodeType.Enumeration][\n key as keyof (typeof section)[NodeType.Enumeration]\n ]!;\n\n return (\n <>\n <span className=\"flex items-center font-bold\">{key}</span>\n <NodeWrapper\n {...props}\n key={key}\n keyPath={newKeyPath}\n section={subSection}\n />\n </>\n );\n })}\n </div>\n );\n};\n","import {\n type KeyPath,\n NodeType,\n type MarkdownContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype MarkdownWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: MarkdownContent<ContentNode>;\n};\n\nexport const MarkdownWrapper: FC<MarkdownWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Markdown,\n },\n ];\n\n const subSection = section[NodeType.Markdown] as ContentNode;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </div>\n );\n};\n","import {\n type KeyPath,\n isSameKeyPath,\n type ContentNode,\n NodeType,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { ItemLayout } from '../ItemLayout';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype NestedObjectWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: Record<string, ContentNode>;\n};\n\nexport const NestedObjectWrapper: FC<NestedObjectWrapperProps> = (props) => {\n const { keyPath, section, focusedKeyPath = [], onFocusKeyPath } = props;\n\n return Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = { key, type: NodeType.Object };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n return (\n <ItemLayout\n level={keyPath.length}\n key={key}\n title={key}\n description=\"\"\n isSelected={isSameKeyPath(newKeyPath, focusedKeyPath)}\n onClick={(e) => {\n e.stopPropagation();\n\n onFocusKeyPath(newKeyPath);\n }}\n >\n <NodeWrapper {...props} keyPath={newKeyPath} section={section[key]} />\n </ItemLayout>\n );\n });\n};\n","import {\n type KeyPath,\n NodeType,\n type TranslationContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype TranslationWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: TranslationContent<ContentNode>;\n};\n\nexport const TranslationWrapper: FC<TranslationWrapperProps> = (props) => {\n const { keyPath, section, locale } = props;\n\n const newKeyPathEl: KeyPath = {\n type: NodeType.Translation,\n key: locale,\n };\n\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section.translation[\n locale as unknown as keyof (typeof section)['translation']\n ]!;\n\n return <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />;\n};\n","import {\n type KeyPath,\n NodeType,\n type InsertionContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype InsertionWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: InsertionContent<ContentNode>;\n};\n\nexport const InsertionWrapper: FC<InsertionWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Insertion,\n },\n ];\n\n const subSection = section[NodeType.Insertion];\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />;\n </div>\n );\n};\n","'use client';\n\nimport type { Locales } from '@intlayer/config/client';\nimport {\n getNodeType,\n NodeType,\n type ConditionContent,\n type MarkdownContent,\n type EnumerationContent,\n type InsertionContent,\n type TranslationContent,\n type KeyPath,\n type ContentNode,\n type FileContent,\n type Dictionary,\n} from '@intlayer/core';\nimport { ReactNode, type FC } from 'react';\nimport { ArrayWrapper } from './ArrayWrapper';\nimport { ConditionWrapper } from './ConditionWrapper';\nimport { EnumerationWrapper } from './EnumerationWrapper';\nimport { MarkdownWrapper } from './MarkdownWrapper';\nimport { NestedObjectWrapper } from './NestedObjectWrapper';\nimport { StringWrapper } from './StringWrapper';\nimport { TranslationWrapper } from './TranslationWrapper';\nimport { FileWrapper } from './FileWrapper';\nimport { InsertionWrapper } from './InsertionWrapper';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\nexport type NodeWrapperProps = {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n section: ContentNode;\n onContentChange: (content: { keyPath: KeyPath[]; newValue: string }) => void;\n locale: Locales;\n editedContent: ContentNode;\n focusedKeyPath: KeyPath[] | undefined;\n onFocusKeyPath: (keyPath: KeyPath[]) => void;\n onClickEdit?: (keyPath: KeyPath[]) => void;\n renderSection?: (content: string) => ReactNode;\n};\n\nexport const NodeWrapper: FC<NodeWrapperProps> = (props) => {\n const { section } = props;\n const nodeType = getNodeType(section);\n\n if (typeof section === 'object') {\n if (nodeType === NodeType.ReactNode) {\n return (\n <span className=\"text-neutral text-xs\">React node not editable</span>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n [Nested] Dictionary\n </div>\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownWrapper\n {...props}\n section={section as MarkdownContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationWrapper\n {...props}\n section={section as TranslationContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationWrapper\n {...props}\n section={section as EnumerationContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionWrapper\n {...props}\n section={section as ConditionContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionWrapper\n {...props}\n section={section as InsertionContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayWrapper\n {...props}\n section={section as unknown as ContentNode[]}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return <FileWrapper {...props} section={section as FileContent} />;\n }\n\n return (\n <NestedObjectWrapper\n {...props}\n section={section as Record<string, ContentNode>}\n />\n );\n }\n\n if (typeof section === 'string') {\n return <StringWrapper {...props} section={section} />;\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,20 @@ const TranslationWrapper = (props) => {
|
|
|
120
120
|
const subSection = section.translation[locale];
|
|
121
121
|
return /* @__PURE__ */ jsxRuntime.jsx(NodeWrapper, { ...props, keyPath: newKeyPath, section: subSection });
|
|
122
122
|
};
|
|
123
|
+
const InsertionWrapper = (props) => {
|
|
124
|
+
const { keyPath, section } = props;
|
|
125
|
+
const newKeyPath = [
|
|
126
|
+
...keyPath,
|
|
127
|
+
{
|
|
128
|
+
type: core.NodeType.Insertion
|
|
129
|
+
}
|
|
130
|
+
];
|
|
131
|
+
const subSection = section[core.NodeType.Insertion];
|
|
132
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-2 grid grid-cols-[auto,1fr] gap-2", children: [
|
|
133
|
+
/* @__PURE__ */ jsxRuntime.jsx(NodeWrapper, { ...props, keyPath: newKeyPath, section: subSection }),
|
|
134
|
+
";"
|
|
135
|
+
] });
|
|
136
|
+
};
|
|
123
137
|
const traceKeys = ["filePath", "id", "nodeType"];
|
|
124
138
|
const NodeWrapper = (props) => {
|
|
125
139
|
const { section } = props;
|
|
@@ -168,7 +182,13 @@ const NodeWrapper = (props) => {
|
|
|
168
182
|
);
|
|
169
183
|
}
|
|
170
184
|
if (nodeType === core.NodeType.Insertion) {
|
|
171
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
185
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
186
|
+
InsertionWrapper,
|
|
187
|
+
{
|
|
188
|
+
...props,
|
|
189
|
+
section
|
|
190
|
+
}
|
|
191
|
+
);
|
|
172
192
|
}
|
|
173
193
|
if (nodeType === core.NodeType.Array) {
|
|
174
194
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -197,9 +217,10 @@ const NodeWrapper = (props) => {
|
|
|
197
217
|
exports.ArrayWrapper = ArrayWrapper;
|
|
198
218
|
exports.ConditionWrapper = ConditionWrapper;
|
|
199
219
|
exports.EnumerationWrapper = EnumerationWrapper;
|
|
220
|
+
exports.InsertionWrapper = InsertionWrapper;
|
|
200
221
|
exports.MarkdownWrapper = MarkdownWrapper;
|
|
201
222
|
exports.NestedObjectWrapper = NestedObjectWrapper;
|
|
202
223
|
exports.NodeWrapper = NodeWrapper;
|
|
203
224
|
exports.TranslationWrapper = TranslationWrapper;
|
|
204
225
|
exports.traceKeys = traceKeys;
|
|
205
|
-
//# sourceMappingURL=index-
|
|
226
|
+
//# sourceMappingURL=index-s_Ar0FDw.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-s_Ar0FDw.cjs","sources":["../src/components/DictionaryEditor/NodeWrapper/ArrayWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/ConditionWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/TranslationWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/InsertionWrapper.tsx","../src/components/DictionaryEditor/NodeWrapper/index.tsx"],"sourcesContent":["import {\n isSameKeyPath,\n NodeType,\n type ContentNode,\n type KeyPath,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { ItemLayout } from '../ItemLayout';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype ArrayWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: ContentNode[];\n};\n\nexport const ArrayWrapper: FC<ArrayWrapperProps> = (props) => {\n const { keyPath, section, onFocusKeyPath, focusedKeyPath = [] } = props;\n\n return section.map((subSection, key) => {\n const newKeyPathEl: KeyPath = {\n key,\n type: NodeType.Array,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n return (\n <ItemLayout\n level={keyPath.length}\n key={JSON.stringify(subSection)}\n title={`${key}`}\n description=\"\"\n isSelected={isSameKeyPath(newKeyPath, focusedKeyPath)}\n onClick={(e) => {\n e.stopPropagation();\n onFocusKeyPath(newKeyPath);\n }}\n >\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </ItemLayout>\n );\n });\n};\n","import {\n type KeyPath,\n NodeType,\n type ConditionContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype ConditionWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: ConditionContent<ContentNode>;\n};\n\nexport const ConditionWrapper: FC<ConditionWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n {Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = {\n type: NodeType.Condition,\n key,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section[NodeType.Condition][\n key as keyof (typeof section)[NodeType.Condition]\n ]!;\n\n return (\n <>\n <span className=\"flex items-center font-bold\">{key}</span>\n <NodeWrapper\n {...props}\n key={key}\n keyPath={newKeyPath}\n section={subSection}\n />\n </>\n );\n })}\n </div>\n );\n};\n","import {\n type KeyPath,\n NodeType,\n type EnumerationContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype EnumerationWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: EnumerationContent<ContentNode>;\n};\n\nexport const EnumerationWrapper: FC<EnumerationWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n {Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = {\n type: NodeType.Enumeration,\n key,\n };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section[NodeType.Enumeration][\n key as keyof (typeof section)[NodeType.Enumeration]\n ]!;\n\n return (\n <>\n <span className=\"flex items-center font-bold\">{key}</span>\n <NodeWrapper\n {...props}\n key={key}\n keyPath={newKeyPath}\n section={subSection}\n />\n </>\n );\n })}\n </div>\n );\n};\n","import {\n type KeyPath,\n NodeType,\n type MarkdownContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype MarkdownWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: MarkdownContent<ContentNode>;\n};\n\nexport const MarkdownWrapper: FC<MarkdownWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Markdown,\n },\n ];\n\n const subSection = section[NodeType.Markdown] as ContentNode;\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />\n </div>\n );\n};\n","import {\n type KeyPath,\n isSameKeyPath,\n type ContentNode,\n NodeType,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { ItemLayout } from '../ItemLayout';\nimport { NodeWrapper, traceKeys, type NodeWrapperProps } from './index';\n\ntype NestedObjectWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: Record<string, ContentNode>;\n};\n\nexport const NestedObjectWrapper: FC<NestedObjectWrapperProps> = (props) => {\n const { keyPath, section, focusedKeyPath = [], onFocusKeyPath } = props;\n\n return Object.keys(section)\n .filter((key) => !traceKeys.includes(key))\n .map((key) => {\n const newKeyPathEl: KeyPath = { key, type: NodeType.Object };\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n return (\n <ItemLayout\n level={keyPath.length}\n key={key}\n title={key}\n description=\"\"\n isSelected={isSameKeyPath(newKeyPath, focusedKeyPath)}\n onClick={(e) => {\n e.stopPropagation();\n\n onFocusKeyPath(newKeyPath);\n }}\n >\n <NodeWrapper {...props} keyPath={newKeyPath} section={section[key]} />\n </ItemLayout>\n );\n });\n};\n","import {\n type KeyPath,\n NodeType,\n type TranslationContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype TranslationWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: TranslationContent<ContentNode>;\n};\n\nexport const TranslationWrapper: FC<TranslationWrapperProps> = (props) => {\n const { keyPath, section, locale } = props;\n\n const newKeyPathEl: KeyPath = {\n type: NodeType.Translation,\n key: locale,\n };\n\n const newKeyPath: KeyPath[] = [...keyPath, newKeyPathEl];\n\n const subSection =\n section.translation[\n locale as unknown as keyof (typeof section)['translation']\n ]!;\n\n return <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />;\n};\n","import {\n type KeyPath,\n NodeType,\n type InsertionContent,\n type ContentNode,\n} from '@intlayer/core';\nimport type { FC } from 'react';\nimport { NodeWrapper, type NodeWrapperProps } from './index';\n\ntype InsertionWrapperProps = Omit<NodeWrapperProps, 'section'> & {\n section: InsertionContent<ContentNode>;\n};\n\nexport const InsertionWrapper: FC<InsertionWrapperProps> = (props) => {\n const { keyPath, section } = props;\n\n const newKeyPath: KeyPath[] = [\n ...keyPath,\n {\n type: NodeType.Insertion,\n },\n ];\n\n const subSection = section[NodeType.Insertion];\n\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n <NodeWrapper {...props} keyPath={newKeyPath} section={subSection} />;\n </div>\n );\n};\n","'use client';\n\nimport type { Locales } from '@intlayer/config/client';\nimport {\n getNodeType,\n NodeType,\n type ConditionContent,\n type MarkdownContent,\n type EnumerationContent,\n type InsertionContent,\n type TranslationContent,\n type KeyPath,\n type ContentNode,\n type FileContent,\n type Dictionary,\n} from '@intlayer/core';\nimport { ReactNode, type FC } from 'react';\nimport { ArrayWrapper } from './ArrayWrapper';\nimport { ConditionWrapper } from './ConditionWrapper';\nimport { EnumerationWrapper } from './EnumerationWrapper';\nimport { MarkdownWrapper } from './MarkdownWrapper';\nimport { NestedObjectWrapper } from './NestedObjectWrapper';\nimport { StringWrapper } from './StringWrapper';\nimport { TranslationWrapper } from './TranslationWrapper';\nimport { FileWrapper } from './FileWrapper';\nimport { InsertionWrapper } from './InsertionWrapper';\n\nexport const traceKeys: string[] = ['filePath', 'id', 'nodeType'];\n\nexport type NodeWrapperProps = {\n keyPath: KeyPath[];\n dictionary: Dictionary;\n section: ContentNode;\n onContentChange: (content: { keyPath: KeyPath[]; newValue: string }) => void;\n locale: Locales;\n editedContent: ContentNode;\n focusedKeyPath: KeyPath[] | undefined;\n onFocusKeyPath: (keyPath: KeyPath[]) => void;\n onClickEdit?: (keyPath: KeyPath[]) => void;\n renderSection?: (content: string) => ReactNode;\n};\n\nexport const NodeWrapper: FC<NodeWrapperProps> = (props) => {\n const { section } = props;\n const nodeType = getNodeType(section);\n\n if (typeof section === 'object') {\n if (nodeType === NodeType.ReactNode) {\n return (\n <span className=\"text-neutral text-xs\">React node not editable</span>\n );\n }\n\n if (nodeType === NodeType.Nested) {\n return (\n <div className=\"ml-2 grid grid-cols-[auto,1fr] gap-2\">\n [Nested] Dictionary\n </div>\n );\n }\n\n if (nodeType === NodeType.Markdown) {\n return (\n <MarkdownWrapper\n {...props}\n section={section as MarkdownContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Translation) {\n return (\n <TranslationWrapper\n {...props}\n section={section as TranslationContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Enumeration) {\n return (\n <EnumerationWrapper\n {...props}\n section={section as EnumerationContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Condition) {\n return (\n <ConditionWrapper\n {...props}\n section={section as ConditionContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Insertion) {\n return (\n <InsertionWrapper\n {...props}\n section={section as InsertionContent<ContentNode>}\n />\n );\n }\n\n if (nodeType === NodeType.Array) {\n return (\n <ArrayWrapper\n {...props}\n section={section as unknown as ContentNode[]}\n />\n );\n }\n\n if (nodeType === NodeType.File) {\n return <FileWrapper {...props} section={section as FileContent} />;\n }\n\n return (\n <NestedObjectWrapper\n {...props}\n section={section as Record<string, ContentNode>}\n />\n );\n }\n\n if (typeof section === 'string') {\n return <StringWrapper {...props} section={section} />;\n }\n};\n"],"names":["NodeType","jsx","ItemLayout","isSameKeyPath","jsxs","Fragment","createElement","getNodeType","FileWrapper","StringWrapper"],"mappings":"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"}
|