@ptengine/inline-editor 0.1.5 → 0.1.7
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/CHANGELOG.md +69 -0
- package/dist/InlineEditor.d.ts +15 -1
- package/dist/InlineEditor.js +226 -52
- package/dist/canvas-ui/tree/TreePanel.d.ts +2 -1
- package/dist/canvas-ui/tree/TreePanel.js +79 -39
- package/dist/chrome/EditorChrome.d.ts +2 -0
- package/dist/chrome/EditorChrome.js +1 -1
- package/dist/chrome/VersionMenu.d.ts +3 -1
- package/dist/chrome/VersionMenu.js +24 -12
- package/dist/chrome/topbarPrimitives.d.ts +5 -52
- package/dist/chrome/topbarPrimitives.js +13 -31
- package/dist/dialogs/ClickActionDialog.js +4 -5
- package/dist/dialogs/CodeField.d.ts +4 -0
- package/dist/dialogs/CodeField.js +10 -0
- package/dist/dialogs/HtmlEditDialog.js +3 -2
- package/dist/dialogs/ImageEditDialog.js +53 -15
- package/dist/dialogs/ImageSettingDialog.js +3 -3
- package/dist/dialogs/InsertElementDialog.js +10 -6
- package/dist/dialogs/MediaPreview.d.ts +5 -0
- package/dist/dialogs/MediaPreview.js +34 -0
- package/dist/dialogs/ReplaceVideoDialog.js +8 -4
- package/dist/index.d.ts +1 -0
- package/dist/kernel/ai/aiInlineApply.d.ts +4 -3
- package/dist/kernel/blocks/BlockOverlay.js +1 -1
- package/dist/kernel/blocks/resolveBlocks.d.ts +16 -0
- package/dist/kernel/blocks/resolveBlocks.js +39 -6
- package/dist/kernel/changelist/ChangeListPanel.js +11 -9
- package/dist/kernel/changelist/useChangeList.d.ts +5 -0
- package/dist/kernel/changelist/useChangeList.js +85 -10
- package/dist/kernel/selection/SelectionOverlay.js +1 -1
- package/dist/kernel/selection/SelectionToolbar.js +26 -8
- package/dist/kernel/selection/buildRootShelf.d.ts +56 -2
- package/dist/kernel/selection/buildRootShelf.js +189 -41
- package/dist/kernel/selection/elementAiContext.d.ts +11 -3
- package/dist/kernel/selection/resolveAnchors.d.ts +17 -0
- package/dist/kernel/selection/resolveAnchors.js +59 -11
- package/dist/locales.d.ts +201 -48
- package/dist/locales.js +13 -9
- package/dist/panels/EditorStatus.d.ts +5 -0
- package/dist/panels/EditorStatus.js +4 -0
- package/dist/panels/MovePositionControls.d.ts +6 -0
- package/dist/panels/MovePositionControls.js +35 -0
- package/dist/panels/ScreenshotCard.d.ts +7 -0
- package/dist/panels/ScreenshotCard.js +57 -0
- package/dist/panels/StylePanel.d.ts +9 -1
- package/dist/panels/StylePanel.js +108 -12
- package/dist/reviewLocales.d.ts +149 -0
- package/dist/reviewLocales.js +143 -0
- package/dist/tree/LayersPanel.js +4 -2
- package/dist/useInlineEditor.d.ts +1 -0
- package/dist/useInlineEditor.js +40 -1
- package/package.json +2 -2
|
@@ -35,6 +35,15 @@ export interface InlinePlanAnchor {
|
|
|
35
35
|
op?: string;
|
|
36
36
|
mode?: string;
|
|
37
37
|
placement?: string;
|
|
38
|
+
/**
|
|
39
|
+
* 只给 MOVE_ELEMENT:移到哪(`mode` 相对它:before / after / top / bottom)。移动的落点是**一对**
|
|
40
|
+
* (移谁 + 移到哪),只存 selector 的话首版只知道要挪、不知道挪到哪(2026-10-21 trace 973f6deb:
|
|
41
|
+
* 「新闻区挪到畅销榜后面」)。编辑器打开时与锚点一样在活页面上重新解析,命中的目标并进货架 ——
|
|
42
|
+
* 整页模式下 MOVE 的 target 只认货架行(`pageMoveTargetProblem`)。
|
|
43
|
+
*/
|
|
44
|
+
targetSelector?: string;
|
|
45
|
+
/** 目标那一行的标题 / 首句 —— `targetSelector` 失效时按它找回来(与 `label` 同一套规则)。 */
|
|
46
|
+
targetLabel?: string;
|
|
38
47
|
/**
|
|
39
48
|
* 该区块(B{n})在活页面上的 member 容器 selector,外层优先。**只在内存里**(宿主从页面模型
|
|
40
49
|
* 补进来),不落库、不与 backend 同形。
|
|
@@ -55,6 +64,14 @@ export interface ResolvedAnchor extends InlinePlanAnchor {
|
|
|
55
64
|
resolved: boolean;
|
|
56
65
|
/** 哪条路成功的。`label` = 原 selector 已失效(客户改版),值得让 agent 知道。 */
|
|
57
66
|
via?: 'selector' | 'label';
|
|
67
|
+
/**
|
|
68
|
+
* MOVE 目标(`targetSelector`)的解析结果;锚点没有目标、或锚点自己没解析到时不写。
|
|
69
|
+
* `true` = 目标在活页面上唯一命中、且已作为一行并进货架与祖先表(agent 抄它就过得了 MOVE 的 target 闸)。
|
|
70
|
+
*/
|
|
71
|
+
targetResolved?: boolean;
|
|
72
|
+
targetVia?: 'selector' | 'label';
|
|
73
|
+
/** 目标在活页面上的 selector。`targetVia: 'label'` 时与存下来的 `targetSelector` 不同 —— 宿主打印这一个。 */
|
|
74
|
+
resolvedTargetSelector?: string;
|
|
58
75
|
}
|
|
59
76
|
export interface AnchorShelfResult {
|
|
60
77
|
/** 锚点容器行在前、其子树行在后,按锚点顺序。 */
|
|
@@ -64,6 +64,17 @@ export function withImageRows(shelf, anchorRowCount, images) {
|
|
|
64
64
|
function normalizeLabel(s) {
|
|
65
65
|
return s.replace(/\s+/g, ' ').trim().toLowerCase();
|
|
66
66
|
}
|
|
67
|
+
function indexNodes(root) {
|
|
68
|
+
const map = new Map();
|
|
69
|
+
const walk = (n) => {
|
|
70
|
+
if (!map.has(n.selector))
|
|
71
|
+
map.set(n.selector, n);
|
|
72
|
+
for (const child of n.children)
|
|
73
|
+
walk(child);
|
|
74
|
+
};
|
|
75
|
+
walk(root);
|
|
76
|
+
return map;
|
|
77
|
+
}
|
|
67
78
|
function indexAncestors(root) {
|
|
68
79
|
const map = new Map();
|
|
69
80
|
const walk = (n, ancestors) => {
|
|
@@ -117,6 +128,7 @@ export async function resolveInlinePlanAnchors(input) {
|
|
|
117
128
|
const outcomes = [];
|
|
118
129
|
const seen = new Set();
|
|
119
130
|
const rootAncestors = indexAncestors(rootTree);
|
|
131
|
+
const rootNodes = indexNodes(rootTree);
|
|
120
132
|
const rootInRow = rowPositions(rootTree);
|
|
121
133
|
const push = (row, chain) => {
|
|
122
134
|
if (seen.has(row.selector))
|
|
@@ -125,6 +137,37 @@ export async function resolveInlinePlanAnchors(input) {
|
|
|
125
137
|
shelf.push(row);
|
|
126
138
|
ancestorsOf.set(row.selector, chain);
|
|
127
139
|
};
|
|
140
|
+
const resolveTarget = async (selector, label) => {
|
|
141
|
+
let found = null;
|
|
142
|
+
let targetVia;
|
|
143
|
+
try {
|
|
144
|
+
const probe = await resolveSelector(selector);
|
|
145
|
+
if (probe.matched && probe.matchCount === 1) {
|
|
146
|
+
found = selector;
|
|
147
|
+
targetVia = 'selector';
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
}
|
|
152
|
+
if (!found && label) {
|
|
153
|
+
const byLabel = findUniqueByLabel(rootTree, label);
|
|
154
|
+
if (byLabel) {
|
|
155
|
+
found = byLabel.selector;
|
|
156
|
+
targetVia = 'label';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (!found)
|
|
160
|
+
return { targetResolved: false };
|
|
161
|
+
if (!seen.has(found)) {
|
|
162
|
+
const node = rootNodes.get(found);
|
|
163
|
+
if (!node)
|
|
164
|
+
return { targetResolved: false };
|
|
165
|
+
const inRow = rootInRow.get(found);
|
|
166
|
+
const row = rowOf(node);
|
|
167
|
+
push(inRow ? { ...row, inRow } : row, rootAncestors.get(found) ?? []);
|
|
168
|
+
}
|
|
169
|
+
return { targetResolved: true, targetVia, resolvedTargetSelector: found };
|
|
170
|
+
};
|
|
128
171
|
for (const anchor of anchors) {
|
|
129
172
|
let resolvedSelector = null;
|
|
130
173
|
let via;
|
|
@@ -148,7 +191,8 @@ export async function resolveInlinePlanAnchors(input) {
|
|
|
148
191
|
outcomes.push({ ...anchor, resolved: false });
|
|
149
192
|
continue;
|
|
150
193
|
}
|
|
151
|
-
|
|
194
|
+
const outcome = { ...anchor, resolved: true, via };
|
|
195
|
+
outcomes.push(outcome);
|
|
152
196
|
const ownAncestors = rootAncestors.get(resolvedSelector) ?? [];
|
|
153
197
|
const ownInRow = rootInRow.get(resolvedSelector);
|
|
154
198
|
const withOwnInRow = (row) => ownInRow ? { ...row, inRow: ownInRow } : row;
|
|
@@ -160,17 +204,21 @@ export async function resolveInlinePlanAnchors(input) {
|
|
|
160
204
|
}
|
|
161
205
|
if (!subtree) {
|
|
162
206
|
push(withOwnInRow({ selector: resolvedSelector, tag: '', text: '', hasChildren: true }), ownAncestors);
|
|
163
|
-
continue;
|
|
164
207
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
208
|
+
else {
|
|
209
|
+
const anchorSelector = subtree.selector || resolvedSelector;
|
|
210
|
+
push(withOwnInRow(rowOf(subtree)), ownAncestors);
|
|
211
|
+
const { shelf: rows, ancestorsOf: within } = buildDescendantShelfWithPaths(subtree, limitPerAnchor);
|
|
212
|
+
for (const row of rows) {
|
|
213
|
+
const chainWithin = within.get(row.selector) ?? [];
|
|
214
|
+
const chain = chainWithin.includes(anchorSelector)
|
|
215
|
+
? [...chainWithin, ...ownAncestors]
|
|
216
|
+
: [...chainWithin, anchorSelector, ...ownAncestors];
|
|
217
|
+
push({ ...row, depth: (row.depth ?? 0) + 1 }, chain);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (anchor.targetSelector) {
|
|
221
|
+
Object.assign(outcome, await resolveTarget(anchor.targetSelector, anchor.targetLabel));
|
|
174
222
|
}
|
|
175
223
|
}
|
|
176
224
|
return { shelf, ancestorsOf, anchors: outcomes };
|
package/dist/locales.d.ts
CHANGED
|
@@ -54,6 +54,7 @@ export declare const zhCN: {
|
|
|
54
54
|
title: string;
|
|
55
55
|
pickTarget: string;
|
|
56
56
|
cancel: string;
|
|
57
|
+
confirm: string;
|
|
57
58
|
position: string;
|
|
58
59
|
top: string;
|
|
59
60
|
bottom: string;
|
|
@@ -234,6 +235,7 @@ export declare const enUS: {
|
|
|
234
235
|
title: string;
|
|
235
236
|
pickTarget: string;
|
|
236
237
|
cancel: string;
|
|
238
|
+
confirm: string;
|
|
237
239
|
position: string;
|
|
238
240
|
top: string;
|
|
239
241
|
bottom: string;
|
|
@@ -414,6 +416,7 @@ export declare const jaJP: {
|
|
|
414
416
|
title: string;
|
|
415
417
|
pickTarget: string;
|
|
416
418
|
cancel: string;
|
|
419
|
+
confirm: string;
|
|
417
420
|
position: string;
|
|
418
421
|
top: string;
|
|
419
422
|
bottom: string;
|
|
@@ -551,8 +554,57 @@ export declare const jaJP: {
|
|
|
551
554
|
};
|
|
552
555
|
export declare const inlineEditorLocales: {
|
|
553
556
|
readonly 'zh-CN': {
|
|
554
|
-
inlineCanvas: {
|
|
555
|
-
|
|
557
|
+
readonly inlineCanvas: {
|
|
558
|
+
readonly review: {
|
|
559
|
+
readonly pageLoadFailed: "目标页面无法加载";
|
|
560
|
+
readonly pageLoadHint: "请返回检查页面地址、网站访问权限和网络连接后重试。";
|
|
561
|
+
readonly backFromFailed: "返回修改";
|
|
562
|
+
readonly generating: "正在生成截图…";
|
|
563
|
+
readonly noLayers: "没有匹配的图层";
|
|
564
|
+
readonly clearSearch: "清除搜索";
|
|
565
|
+
readonly searchLayers: "搜索图层";
|
|
566
|
+
readonly linkCopied: "链接已复制";
|
|
567
|
+
readonly copyLinkManual: "复制失败,请从下方手动复制链接";
|
|
568
|
+
readonly uploadError: "上传失败,可重试;本地图片仍可下载";
|
|
569
|
+
readonly screenshot: "元素截图";
|
|
570
|
+
readonly enlarge: "放大预览";
|
|
571
|
+
readonly shotTruncated: "元素超出可视区,只截到可见部分";
|
|
572
|
+
readonly shotScale: "截图分辨率约为原图的 {{scale}}%";
|
|
573
|
+
readonly downloadImage: "下载图片";
|
|
574
|
+
readonly imageCopied: "图片已复制";
|
|
575
|
+
readonly copyError: "复制失败,请下载图片";
|
|
576
|
+
readonly copyImage: "复制图片";
|
|
577
|
+
readonly uploading: "正在上传…";
|
|
578
|
+
readonly copyLink: "复制链接";
|
|
579
|
+
readonly shotLink: "截图链接";
|
|
580
|
+
readonly reset: "清除覆盖";
|
|
581
|
+
readonly colorSwatch: "选择颜色";
|
|
582
|
+
readonly saveDraft: "保存草稿";
|
|
583
|
+
readonly versions: "版本管理";
|
|
584
|
+
readonly removeEmptyVersion: "移除空版本";
|
|
585
|
+
readonly versionLimit: "最多 4 个版本";
|
|
586
|
+
readonly imageLimit: "请选择不超过 10 MB 的图片";
|
|
587
|
+
readonly currentMedia: "当前媒体";
|
|
588
|
+
readonly uploadFile: "上传文件";
|
|
589
|
+
readonly useLink: "使用链接";
|
|
590
|
+
readonly replaceImage: "替换当前图片";
|
|
591
|
+
readonly replaceBackground: "替换背景图片";
|
|
592
|
+
readonly insertImage: "插入新图片";
|
|
593
|
+
readonly dropImage: "拖入图片或选择文件,支持图片格式,最大 10 MB。上传只准备素材,应用后才修改画布。";
|
|
594
|
+
readonly pendingMedia: "待应用媒体";
|
|
595
|
+
readonly altHelp: "替代文本用于描述图片内容。装饰图片可留空。";
|
|
596
|
+
readonly videoLinkHint: "支持视频文件链接和 YouTube 嵌入链接。加载就绪后应用到画布。";
|
|
597
|
+
readonly mediaPreview: "媒体预览";
|
|
598
|
+
readonly loading: "正在加载预览…";
|
|
599
|
+
readonly loadError: "预览加载失败";
|
|
600
|
+
readonly retry: "重试";
|
|
601
|
+
readonly ready: "媒体已就绪,应用后修改画布";
|
|
602
|
+
readonly align_left: "左对齐";
|
|
603
|
+
readonly align_center: "居中";
|
|
604
|
+
readonly align_right: "右对齐";
|
|
605
|
+
readonly align_justify: "两端对齐";
|
|
606
|
+
};
|
|
607
|
+
readonly action: {
|
|
556
608
|
title: string;
|
|
557
609
|
enable: string;
|
|
558
610
|
type: string;
|
|
@@ -572,17 +624,17 @@ export declare const inlineEditorLocales: {
|
|
|
572
624
|
fileUrl: string;
|
|
573
625
|
code: string;
|
|
574
626
|
};
|
|
575
|
-
video: {
|
|
627
|
+
readonly video: {
|
|
576
628
|
title: string;
|
|
577
629
|
url: string;
|
|
578
630
|
hint: string;
|
|
579
631
|
};
|
|
580
|
-
insert: {
|
|
632
|
+
readonly insert: {
|
|
581
633
|
title: string;
|
|
582
634
|
html: string;
|
|
583
635
|
position: string;
|
|
584
636
|
};
|
|
585
|
-
image: {
|
|
637
|
+
readonly image: {
|
|
586
638
|
replaceTitle: string;
|
|
587
639
|
settingTitle: string;
|
|
588
640
|
url: string;
|
|
@@ -591,17 +643,18 @@ export declare const inlineEditorLocales: {
|
|
|
591
643
|
alt: string;
|
|
592
644
|
insertPosition: string;
|
|
593
645
|
};
|
|
594
|
-
move: {
|
|
646
|
+
readonly move: {
|
|
595
647
|
title: string;
|
|
596
648
|
pickTarget: string;
|
|
597
649
|
cancel: string;
|
|
650
|
+
confirm: string;
|
|
598
651
|
position: string;
|
|
599
652
|
top: string;
|
|
600
653
|
bottom: string;
|
|
601
654
|
before: string;
|
|
602
655
|
after: string;
|
|
603
656
|
};
|
|
604
|
-
clipboard: {
|
|
657
|
+
readonly clipboard: {
|
|
605
658
|
copied: string;
|
|
606
659
|
nothingToPaste: string;
|
|
607
660
|
pastePosition: string;
|
|
@@ -610,7 +663,7 @@ export declare const inlineEditorLocales: {
|
|
|
610
663
|
before: string;
|
|
611
664
|
after: string;
|
|
612
665
|
};
|
|
613
|
-
chrome: {
|
|
666
|
+
readonly chrome: {
|
|
614
667
|
exit: string;
|
|
615
668
|
close: string;
|
|
616
669
|
save: string;
|
|
@@ -630,17 +683,17 @@ export declare const inlineEditorLocales: {
|
|
|
630
683
|
pc: string;
|
|
631
684
|
mobile: string;
|
|
632
685
|
};
|
|
633
|
-
version: {
|
|
686
|
+
readonly version: {
|
|
634
687
|
switching: string;
|
|
635
688
|
};
|
|
636
|
-
preview: {
|
|
689
|
+
readonly preview: {
|
|
637
690
|
loading: string;
|
|
638
691
|
ready: string;
|
|
639
692
|
failed: string;
|
|
640
693
|
failedHint: string;
|
|
641
694
|
blockCount: string;
|
|
642
695
|
};
|
|
643
|
-
html: {
|
|
696
|
+
readonly html: {
|
|
644
697
|
title: string;
|
|
645
698
|
tip: string;
|
|
646
699
|
scriptStripped: string;
|
|
@@ -648,11 +701,11 @@ export declare const inlineEditorLocales: {
|
|
|
648
701
|
errorNoElement: string;
|
|
649
702
|
errorMultipleRoots: string;
|
|
650
703
|
};
|
|
651
|
-
text: {
|
|
704
|
+
readonly text: {
|
|
652
705
|
title: string;
|
|
653
706
|
tip: string;
|
|
654
707
|
};
|
|
655
|
-
style: {
|
|
708
|
+
readonly style: {
|
|
656
709
|
footnote: string;
|
|
657
710
|
size: string;
|
|
658
711
|
width: string;
|
|
@@ -673,7 +726,7 @@ export declare const inlineEditorLocales: {
|
|
|
673
726
|
borderAll: string;
|
|
674
727
|
borderRadius: string;
|
|
675
728
|
};
|
|
676
|
-
toolbar: {
|
|
729
|
+
readonly toolbar: {
|
|
677
730
|
screenshot: string;
|
|
678
731
|
replaceVideo: string;
|
|
679
732
|
insert: string;
|
|
@@ -689,11 +742,11 @@ export declare const inlineEditorLocales: {
|
|
|
689
742
|
delete: string;
|
|
690
743
|
askAi: string;
|
|
691
744
|
};
|
|
692
|
-
selectorPath: {
|
|
745
|
+
readonly selectorPath: {
|
|
693
746
|
label: string;
|
|
694
747
|
};
|
|
695
748
|
};
|
|
696
|
-
taginfo: {
|
|
749
|
+
readonly taginfo: {
|
|
697
750
|
A: string;
|
|
698
751
|
B: string;
|
|
699
752
|
BODY: string;
|
|
@@ -731,8 +784,57 @@ export declare const inlineEditorLocales: {
|
|
|
731
784
|
};
|
|
732
785
|
};
|
|
733
786
|
readonly 'en-US': {
|
|
734
|
-
inlineCanvas: {
|
|
735
|
-
|
|
787
|
+
readonly inlineCanvas: {
|
|
788
|
+
readonly review: {
|
|
789
|
+
readonly pageLoadFailed: "Unable to load the target page";
|
|
790
|
+
readonly pageLoadHint: "Go back to check the page URL, site permissions and network connection, then retry.";
|
|
791
|
+
readonly backFromFailed: "Go back";
|
|
792
|
+
readonly generating: "Generating screenshot…";
|
|
793
|
+
readonly noLayers: "No matching layers";
|
|
794
|
+
readonly clearSearch: "Clear search";
|
|
795
|
+
readonly searchLayers: "Search layers";
|
|
796
|
+
readonly linkCopied: "Link copied";
|
|
797
|
+
readonly copyLinkManual: "Copy failed. Copy the link below manually.";
|
|
798
|
+
readonly uploadError: "Upload failed. Retry or download the local image.";
|
|
799
|
+
readonly screenshot: "Element screenshot";
|
|
800
|
+
readonly enlarge: "Enlarge preview";
|
|
801
|
+
readonly shotTruncated: "Only the visible part of the element was captured.";
|
|
802
|
+
readonly shotScale: "Screenshot resolution is about {{scale}}% of the original.";
|
|
803
|
+
readonly downloadImage: "Download image";
|
|
804
|
+
readonly imageCopied: "Image copied";
|
|
805
|
+
readonly copyError: "Copy failed. Download the image instead.";
|
|
806
|
+
readonly copyImage: "Copy image";
|
|
807
|
+
readonly uploading: "Uploading…";
|
|
808
|
+
readonly copyLink: "Copy link";
|
|
809
|
+
readonly shotLink: "Screenshot link";
|
|
810
|
+
readonly reset: "Clear override";
|
|
811
|
+
readonly colorSwatch: "Choose color";
|
|
812
|
+
readonly saveDraft: "Save draft";
|
|
813
|
+
readonly versions: "Manage versions";
|
|
814
|
+
readonly removeEmptyVersion: "Remove empty version";
|
|
815
|
+
readonly versionLimit: "Maximum 4 versions";
|
|
816
|
+
readonly imageLimit: "Choose an image up to 10 MB.";
|
|
817
|
+
readonly currentMedia: "Current media";
|
|
818
|
+
readonly uploadFile: "Upload file";
|
|
819
|
+
readonly useLink: "Use link";
|
|
820
|
+
readonly replaceImage: "Replace current image";
|
|
821
|
+
readonly replaceBackground: "Replace background image";
|
|
822
|
+
readonly insertImage: "Insert new image";
|
|
823
|
+
readonly dropImage: "Drop an image or choose a file, up to 10 MB. Upload prepares the asset; Apply changes the canvas.";
|
|
824
|
+
readonly pendingMedia: "Media to apply";
|
|
825
|
+
readonly altHelp: "Describe the image for assistive technology. Leave blank for decorative images.";
|
|
826
|
+
readonly videoLinkHint: "Use a video file URL or YouTube embed link. Apply after the preview is ready.";
|
|
827
|
+
readonly mediaPreview: "Media preview";
|
|
828
|
+
readonly loading: "Loading preview…";
|
|
829
|
+
readonly loadError: "Preview failed to load";
|
|
830
|
+
readonly retry: "Retry";
|
|
831
|
+
readonly ready: "Ready. Apply to update the canvas.";
|
|
832
|
+
readonly align_left: "Align left";
|
|
833
|
+
readonly align_center: "Center";
|
|
834
|
+
readonly align_right: "Align right";
|
|
835
|
+
readonly align_justify: "Justify";
|
|
836
|
+
};
|
|
837
|
+
readonly action: {
|
|
736
838
|
title: string;
|
|
737
839
|
enable: string;
|
|
738
840
|
type: string;
|
|
@@ -752,17 +854,17 @@ export declare const inlineEditorLocales: {
|
|
|
752
854
|
fileUrl: string;
|
|
753
855
|
code: string;
|
|
754
856
|
};
|
|
755
|
-
video: {
|
|
857
|
+
readonly video: {
|
|
756
858
|
title: string;
|
|
757
859
|
url: string;
|
|
758
860
|
hint: string;
|
|
759
861
|
};
|
|
760
|
-
insert: {
|
|
862
|
+
readonly insert: {
|
|
761
863
|
title: string;
|
|
762
864
|
html: string;
|
|
763
865
|
position: string;
|
|
764
866
|
};
|
|
765
|
-
image: {
|
|
867
|
+
readonly image: {
|
|
766
868
|
replaceTitle: string;
|
|
767
869
|
settingTitle: string;
|
|
768
870
|
url: string;
|
|
@@ -771,17 +873,18 @@ export declare const inlineEditorLocales: {
|
|
|
771
873
|
alt: string;
|
|
772
874
|
insertPosition: string;
|
|
773
875
|
};
|
|
774
|
-
move: {
|
|
876
|
+
readonly move: {
|
|
775
877
|
title: string;
|
|
776
878
|
pickTarget: string;
|
|
777
879
|
cancel: string;
|
|
880
|
+
confirm: string;
|
|
778
881
|
position: string;
|
|
779
882
|
top: string;
|
|
780
883
|
bottom: string;
|
|
781
884
|
before: string;
|
|
782
885
|
after: string;
|
|
783
886
|
};
|
|
784
|
-
clipboard: {
|
|
887
|
+
readonly clipboard: {
|
|
785
888
|
copied: string;
|
|
786
889
|
nothingToPaste: string;
|
|
787
890
|
pastePosition: string;
|
|
@@ -790,7 +893,7 @@ export declare const inlineEditorLocales: {
|
|
|
790
893
|
before: string;
|
|
791
894
|
after: string;
|
|
792
895
|
};
|
|
793
|
-
chrome: {
|
|
896
|
+
readonly chrome: {
|
|
794
897
|
exit: string;
|
|
795
898
|
close: string;
|
|
796
899
|
save: string;
|
|
@@ -810,17 +913,17 @@ export declare const inlineEditorLocales: {
|
|
|
810
913
|
pc: string;
|
|
811
914
|
mobile: string;
|
|
812
915
|
};
|
|
813
|
-
version: {
|
|
916
|
+
readonly version: {
|
|
814
917
|
switching: string;
|
|
815
918
|
};
|
|
816
|
-
preview: {
|
|
919
|
+
readonly preview: {
|
|
817
920
|
loading: string;
|
|
818
921
|
ready: string;
|
|
819
922
|
failed: string;
|
|
820
923
|
failedHint: string;
|
|
821
924
|
blockCount: string;
|
|
822
925
|
};
|
|
823
|
-
html: {
|
|
926
|
+
readonly html: {
|
|
824
927
|
title: string;
|
|
825
928
|
tip: string;
|
|
826
929
|
scriptStripped: string;
|
|
@@ -828,11 +931,11 @@ export declare const inlineEditorLocales: {
|
|
|
828
931
|
errorNoElement: string;
|
|
829
932
|
errorMultipleRoots: string;
|
|
830
933
|
};
|
|
831
|
-
text: {
|
|
934
|
+
readonly text: {
|
|
832
935
|
title: string;
|
|
833
936
|
tip: string;
|
|
834
937
|
};
|
|
835
|
-
style: {
|
|
938
|
+
readonly style: {
|
|
836
939
|
footnote: string;
|
|
837
940
|
size: string;
|
|
838
941
|
width: string;
|
|
@@ -853,7 +956,7 @@ export declare const inlineEditorLocales: {
|
|
|
853
956
|
borderAll: string;
|
|
854
957
|
borderRadius: string;
|
|
855
958
|
};
|
|
856
|
-
toolbar: {
|
|
959
|
+
readonly toolbar: {
|
|
857
960
|
screenshot: string;
|
|
858
961
|
replaceVideo: string;
|
|
859
962
|
insert: string;
|
|
@@ -869,11 +972,11 @@ export declare const inlineEditorLocales: {
|
|
|
869
972
|
delete: string;
|
|
870
973
|
askAi: string;
|
|
871
974
|
};
|
|
872
|
-
selectorPath: {
|
|
975
|
+
readonly selectorPath: {
|
|
873
976
|
label: string;
|
|
874
977
|
};
|
|
875
978
|
};
|
|
876
|
-
taginfo: {
|
|
979
|
+
readonly taginfo: {
|
|
877
980
|
A: string;
|
|
878
981
|
B: string;
|
|
879
982
|
BODY: string;
|
|
@@ -911,8 +1014,57 @@ export declare const inlineEditorLocales: {
|
|
|
911
1014
|
};
|
|
912
1015
|
};
|
|
913
1016
|
readonly 'ja-JP': {
|
|
914
|
-
inlineCanvas: {
|
|
915
|
-
|
|
1017
|
+
readonly inlineCanvas: {
|
|
1018
|
+
readonly review: {
|
|
1019
|
+
readonly pageLoadFailed: "対象ページを読み込めません";
|
|
1020
|
+
readonly pageLoadHint: "戻ってページ URL、サイトへのアクセス権限、ネットワーク接続を確認して再試行してください。";
|
|
1021
|
+
readonly backFromFailed: "戻って修正";
|
|
1022
|
+
readonly generating: "スクリーンショットを生成中…";
|
|
1023
|
+
readonly noLayers: "一致するレイヤーがありません";
|
|
1024
|
+
readonly clearSearch: "検索をクリア";
|
|
1025
|
+
readonly searchLayers: "レイヤーを検索";
|
|
1026
|
+
readonly linkCopied: "リンクをコピーしました";
|
|
1027
|
+
readonly copyLinkManual: "コピーできませんでした。下のリンクを手動でコピーしてください。";
|
|
1028
|
+
readonly uploadError: "アップロードできませんでした。再試行または画像をダウンロードしてください。";
|
|
1029
|
+
readonly screenshot: "要素のスクリーンショット";
|
|
1030
|
+
readonly enlarge: "プレビューを拡大";
|
|
1031
|
+
readonly shotTruncated: "表示されている部分のみ撮影しました。";
|
|
1032
|
+
readonly shotScale: "解像度は元の約 {{scale}}% です。";
|
|
1033
|
+
readonly downloadImage: "画像をダウンロード";
|
|
1034
|
+
readonly imageCopied: "画像をコピーしました";
|
|
1035
|
+
readonly copyError: "コピーできませんでした。画像をダウンロードしてください。";
|
|
1036
|
+
readonly copyImage: "画像をコピー";
|
|
1037
|
+
readonly uploading: "アップロード中…";
|
|
1038
|
+
readonly copyLink: "リンクをコピー";
|
|
1039
|
+
readonly shotLink: "スクリーンショットのリンク";
|
|
1040
|
+
readonly reset: "上書きを解除";
|
|
1041
|
+
readonly colorSwatch: "色を選択";
|
|
1042
|
+
readonly saveDraft: "下書きを保存";
|
|
1043
|
+
readonly versions: "バージョン管理";
|
|
1044
|
+
readonly removeEmptyVersion: "空のバージョンを削除";
|
|
1045
|
+
readonly versionLimit: "最大4バージョン";
|
|
1046
|
+
readonly imageLimit: "10 MB 以下の画像を選択してください。";
|
|
1047
|
+
readonly currentMedia: "現在のメディア";
|
|
1048
|
+
readonly uploadFile: "ファイルをアップロード";
|
|
1049
|
+
readonly useLink: "リンクを使用";
|
|
1050
|
+
readonly replaceImage: "現在の画像を置き換え";
|
|
1051
|
+
readonly replaceBackground: "背景画像を置き換え";
|
|
1052
|
+
readonly insertImage: "新しい画像を挿入";
|
|
1053
|
+
readonly dropImage: "画像をドロップするか選択してください(最大10 MB)。アップロードで素材を準備し、適用でキャンバスを変更します。";
|
|
1054
|
+
readonly pendingMedia: "適用するメディア";
|
|
1055
|
+
readonly altHelp: "画像の内容を説明してください。装飾用の画像は空欄にできます。";
|
|
1056
|
+
readonly videoLinkHint: "動画ファイルのURLまたはYouTube埋め込みリンクを入力し、読み込み後に適用してください。";
|
|
1057
|
+
readonly mediaPreview: "メディアプレビュー";
|
|
1058
|
+
readonly loading: "プレビューを読み込み中…";
|
|
1059
|
+
readonly loadError: "プレビューを読み込めませんでした";
|
|
1060
|
+
readonly retry: "再試行";
|
|
1061
|
+
readonly ready: "準備完了。適用するとキャンバスを変更します。";
|
|
1062
|
+
readonly align_left: "左揃え";
|
|
1063
|
+
readonly align_center: "中央揃え";
|
|
1064
|
+
readonly align_right: "右揃え";
|
|
1065
|
+
readonly align_justify: "両端揃え";
|
|
1066
|
+
};
|
|
1067
|
+
readonly action: {
|
|
916
1068
|
title: string;
|
|
917
1069
|
enable: string;
|
|
918
1070
|
type: string;
|
|
@@ -932,17 +1084,17 @@ export declare const inlineEditorLocales: {
|
|
|
932
1084
|
fileUrl: string;
|
|
933
1085
|
code: string;
|
|
934
1086
|
};
|
|
935
|
-
video: {
|
|
1087
|
+
readonly video: {
|
|
936
1088
|
title: string;
|
|
937
1089
|
url: string;
|
|
938
1090
|
hint: string;
|
|
939
1091
|
};
|
|
940
|
-
insert: {
|
|
1092
|
+
readonly insert: {
|
|
941
1093
|
title: string;
|
|
942
1094
|
html: string;
|
|
943
1095
|
position: string;
|
|
944
1096
|
};
|
|
945
|
-
image: {
|
|
1097
|
+
readonly image: {
|
|
946
1098
|
replaceTitle: string;
|
|
947
1099
|
settingTitle: string;
|
|
948
1100
|
url: string;
|
|
@@ -951,17 +1103,18 @@ export declare const inlineEditorLocales: {
|
|
|
951
1103
|
alt: string;
|
|
952
1104
|
insertPosition: string;
|
|
953
1105
|
};
|
|
954
|
-
move: {
|
|
1106
|
+
readonly move: {
|
|
955
1107
|
title: string;
|
|
956
1108
|
pickTarget: string;
|
|
957
1109
|
cancel: string;
|
|
1110
|
+
confirm: string;
|
|
958
1111
|
position: string;
|
|
959
1112
|
top: string;
|
|
960
1113
|
bottom: string;
|
|
961
1114
|
before: string;
|
|
962
1115
|
after: string;
|
|
963
1116
|
};
|
|
964
|
-
clipboard: {
|
|
1117
|
+
readonly clipboard: {
|
|
965
1118
|
copied: string;
|
|
966
1119
|
nothingToPaste: string;
|
|
967
1120
|
pastePosition: string;
|
|
@@ -970,7 +1123,7 @@ export declare const inlineEditorLocales: {
|
|
|
970
1123
|
before: string;
|
|
971
1124
|
after: string;
|
|
972
1125
|
};
|
|
973
|
-
chrome: {
|
|
1126
|
+
readonly chrome: {
|
|
974
1127
|
exit: string;
|
|
975
1128
|
close: string;
|
|
976
1129
|
save: string;
|
|
@@ -990,17 +1143,17 @@ export declare const inlineEditorLocales: {
|
|
|
990
1143
|
pc: string;
|
|
991
1144
|
mobile: string;
|
|
992
1145
|
};
|
|
993
|
-
version: {
|
|
1146
|
+
readonly version: {
|
|
994
1147
|
switching: string;
|
|
995
1148
|
};
|
|
996
|
-
preview: {
|
|
1149
|
+
readonly preview: {
|
|
997
1150
|
loading: string;
|
|
998
1151
|
ready: string;
|
|
999
1152
|
failed: string;
|
|
1000
1153
|
failedHint: string;
|
|
1001
1154
|
blockCount: string;
|
|
1002
1155
|
};
|
|
1003
|
-
html: {
|
|
1156
|
+
readonly html: {
|
|
1004
1157
|
title: string;
|
|
1005
1158
|
tip: string;
|
|
1006
1159
|
scriptStripped: string;
|
|
@@ -1008,11 +1161,11 @@ export declare const inlineEditorLocales: {
|
|
|
1008
1161
|
errorNoElement: string;
|
|
1009
1162
|
errorMultipleRoots: string;
|
|
1010
1163
|
};
|
|
1011
|
-
text: {
|
|
1164
|
+
readonly text: {
|
|
1012
1165
|
title: string;
|
|
1013
1166
|
tip: string;
|
|
1014
1167
|
};
|
|
1015
|
-
style: {
|
|
1168
|
+
readonly style: {
|
|
1016
1169
|
footnote: string;
|
|
1017
1170
|
size: string;
|
|
1018
1171
|
width: string;
|
|
@@ -1033,7 +1186,7 @@ export declare const inlineEditorLocales: {
|
|
|
1033
1186
|
borderAll: string;
|
|
1034
1187
|
borderRadius: string;
|
|
1035
1188
|
};
|
|
1036
|
-
toolbar: {
|
|
1189
|
+
readonly toolbar: {
|
|
1037
1190
|
screenshot: string;
|
|
1038
1191
|
replaceVideo: string;
|
|
1039
1192
|
insert: string;
|
|
@@ -1049,11 +1202,11 @@ export declare const inlineEditorLocales: {
|
|
|
1049
1202
|
delete: string;
|
|
1050
1203
|
askAi: string;
|
|
1051
1204
|
};
|
|
1052
|
-
selectorPath: {
|
|
1205
|
+
readonly selectorPath: {
|
|
1053
1206
|
label: string;
|
|
1054
1207
|
};
|
|
1055
1208
|
};
|
|
1056
|
-
taginfo: {
|
|
1209
|
+
readonly taginfo: {
|
|
1057
1210
|
A: string;
|
|
1058
1211
|
B: string;
|
|
1059
1212
|
BODY: string;
|