@aeriz/wysiwyg 1.0.5 → 2.0.0
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/LICENSE +201 -201
- package/README.md +82 -573
- package/angular/README.md +10 -4
- package/angular/aeriz-editor.directive.ts +40 -18
- package/dist/adapters/jquery.cjs +1 -1
- package/dist/adapters/jquery.js +14 -14
- package/dist/adapters/shared.cjs +1 -1
- package/dist/adapters/shared.js +59 -56
- package/dist/adapters/vue.cjs +1 -1
- package/dist/adapters/vue.js +64 -56
- package/dist/adapters/vue2.cjs +1 -1
- package/dist/adapters/vue2.js +24 -17
- package/dist/adapters/wc.cjs +1 -1
- package/dist/adapters/wc.js +108 -72
- package/dist/aeriz-wysiwyg-adapter.js +24 -32
- package/dist/aeriz-wysiwyg-adapter.min.js +1 -1
- package/dist/aeriz-wysiwyg-highlight.js +964 -0
- package/dist/aeriz-wysiwyg-highlight.min.js +5 -0
- package/dist/aeriz-wysiwyg-jquery.js +25 -32
- package/dist/aeriz-wysiwyg-jquery.min.js +1 -1
- package/dist/aeriz-wysiwyg-wc.js +80 -43
- package/dist/aeriz-wysiwyg-wc.min.js +1 -1
- package/dist/aeriz-wysiwyg.cjs +3525 -1744
- package/dist/aeriz-wysiwyg.css +2104 -1904
- package/dist/aeriz-wysiwyg.esm.js +3525 -1744
- package/dist/aeriz-wysiwyg.esm.min.js +4840 -3581
- package/dist/aeriz-wysiwyg.js +3525 -1744
- package/dist/aeriz-wysiwyg.min.cjs +51 -46
- package/dist/aeriz-wysiwyg.min.css +1 -1
- package/dist/aeriz-wysiwyg.min.js +51 -46
- package/dist/highlight.cjs +5 -0
- package/dist/highlight.js +895 -0
- package/dist/server.cjs +24 -19
- package/dist/server.js +612 -251
- package/dist-types/adapters/shared.d.ts +0 -8
- package/dist-types/adapters/shared.d.ts.map +1 -1
- package/dist-types/adapters/vue.d.ts +62 -21
- package/dist-types/adapters/vue.d.ts.map +1 -1
- package/dist-types/adapters/vue2.d.ts +33 -14
- package/dist-types/adapters/vue2.d.ts.map +1 -1
- package/dist-types/adapters/wc.d.ts +15 -6
- package/dist-types/adapters/wc.d.ts.map +1 -1
- package/dist-types/cjs/adapters/shared.d.cts +0 -8
- package/dist-types/cjs/adapters/vue.d.cts +62 -21
- package/dist-types/cjs/adapters/vue2.d.cts +33 -14
- package/dist-types/cjs/adapters/wc.d.cts +15 -6
- package/dist-types/cjs/core/AerizEditor.d.cts +204 -48
- package/dist-types/cjs/core/AerizViewer.d.cts +7 -0
- package/dist-types/cjs/core/block-meta.d.cts +40 -0
- package/dist-types/cjs/core/block-tracker.d.cts +64 -0
- package/dist-types/cjs/core/blocks.d.cts +39 -4
- package/dist-types/cjs/core/fonts.d.cts +33 -46
- package/dist-types/cjs/core/history.d.cts +28 -10
- package/dist-types/cjs/core/html-to-blocks.d.cts +10 -0
- package/dist-types/cjs/core/i18n.d.cts +44 -0
- package/dist-types/cjs/core/import-html.d.cts +0 -13
- package/dist-types/cjs/core/insert-fragment.d.cts +21 -0
- package/dist-types/cjs/core/paste-clean.d.cts +36 -0
- package/dist-types/cjs/core/sanitize-dom.d.cts +21 -0
- package/dist-types/cjs/core/sanitize-html.d.cts +8 -0
- package/dist-types/cjs/core/sanitize-policy.d.cts +22 -0
- package/dist-types/cjs/core/selection.d.cts +5 -0
- package/dist-types/cjs/core/table-grid.d.cts +87 -0
- package/dist-types/cjs/core/table-ops.d.cts +2 -22
- package/dist-types/cjs/highlight/index.d.cts +5 -0
- package/dist-types/cjs/index.d.cts +19 -11
- package/dist-types/cjs/server/index.d.cts +4 -5
- package/dist-types/cjs/types/index.d.cts +63 -15
- package/dist-types/cjs/ui/Toolbar.d.cts +10 -0
- package/dist-types/cjs/ui/doc-tools.d.cts +58 -0
- package/dist-types/cjs/ui/popovers.d.cts +14 -25
- package/dist-types/core/AerizEditor.d.ts +204 -48
- package/dist-types/core/AerizEditor.d.ts.map +1 -1
- package/dist-types/core/AerizViewer.d.ts +7 -0
- package/dist-types/core/AerizViewer.d.ts.map +1 -1
- package/dist-types/core/block-meta.d.ts +40 -0
- package/dist-types/core/block-meta.d.ts.map +1 -1
- package/dist-types/core/block-policy.d.ts.map +1 -1
- package/dist-types/core/block-tracker.d.ts +64 -0
- package/dist-types/core/block-tracker.d.ts.map +1 -0
- package/dist-types/core/blocks.d.ts +39 -4
- package/dist-types/core/blocks.d.ts.map +1 -1
- package/dist-types/core/fonts.d.ts +33 -46
- package/dist-types/core/fonts.d.ts.map +1 -1
- package/dist-types/core/history.d.ts +28 -10
- package/dist-types/core/history.d.ts.map +1 -1
- package/dist-types/core/html-mini.d.ts.map +1 -1
- package/dist-types/core/html-to-blocks.d.ts +10 -0
- package/dist-types/core/html-to-blocks.d.ts.map +1 -0
- package/dist-types/core/i18n.d.ts +44 -0
- package/dist-types/core/i18n.d.ts.map +1 -1
- package/dist-types/core/import-html.d.ts +0 -13
- package/dist-types/core/import-html.d.ts.map +1 -1
- package/dist-types/core/import-markdown.d.ts.map +1 -1
- package/dist-types/core/insert-fragment.d.ts +21 -0
- package/dist-types/core/insert-fragment.d.ts.map +1 -0
- package/dist-types/core/markdown-export.d.ts.map +1 -1
- package/dist-types/core/paste-clean.d.ts +36 -0
- package/dist-types/core/paste-clean.d.ts.map +1 -0
- package/dist-types/core/render-string.d.ts.map +1 -1
- package/dist-types/core/sanitize-dom.d.ts +21 -0
- package/dist-types/core/sanitize-dom.d.ts.map +1 -0
- package/dist-types/core/sanitize-html.d.ts +8 -0
- package/dist-types/core/sanitize-html.d.ts.map +1 -0
- package/dist-types/core/sanitize-policy.d.ts +22 -0
- package/dist-types/core/sanitize-policy.d.ts.map +1 -0
- package/dist-types/core/selection.d.ts +5 -0
- package/dist-types/core/selection.d.ts.map +1 -1
- package/dist-types/core/snapshot.d.ts.map +1 -1
- package/dist-types/core/table-grid.d.ts +87 -0
- package/dist-types/core/table-grid.d.ts.map +1 -0
- package/dist-types/core/table-ops.d.ts +2 -22
- package/dist-types/core/table-ops.d.ts.map +1 -1
- package/dist-types/highlight/index.d.ts +5 -0
- package/dist-types/highlight/index.d.ts.map +1 -0
- package/dist-types/index.d.ts +19 -11
- package/dist-types/index.d.ts.map +1 -1
- package/dist-types/server/index.d.ts +4 -5
- package/dist-types/server/index.d.ts.map +1 -1
- package/dist-types/types/index.d.ts +63 -15
- package/dist-types/types/index.d.ts.map +1 -1
- package/dist-types/ui/Toolbar.d.ts +10 -0
- package/dist-types/ui/Toolbar.d.ts.map +1 -1
- package/dist-types/ui/doc-tools.d.ts +58 -0
- package/dist-types/ui/doc-tools.d.ts.map +1 -0
- package/dist-types/ui/icons.d.ts.map +1 -1
- package/dist-types/ui/popovers.d.ts +14 -25
- package/dist-types/ui/popovers.d.ts.map +1 -1
- package/package.json +70 -5
|
@@ -63,14 +63,6 @@ export interface AerizViewerController {
|
|
|
63
63
|
update(next: AerizViewerProps): void;
|
|
64
64
|
destroy(): void;
|
|
65
65
|
}
|
|
66
|
-
/**
|
|
67
|
-
* HTML 문자열을 `BlockSnapshot[]` 로 변환한다.
|
|
68
|
-
*
|
|
69
|
-
* `AerizViewer` 는 상태 모델만 받으므로, HTML 을 들고 있는 호출자를 위한
|
|
70
|
-
* 다리 역할을 한다. 에디터 본문과 같은 정규화 경로(`normalizeContent` →
|
|
71
|
-
* `listBlocks` → `serializeBlocks`) 를 타므로 결과 트리도 동일하다.
|
|
72
|
-
*/
|
|
73
|
-
export declare function htmlToBlocks(html: string): BlockSnapshot[];
|
|
74
66
|
/**
|
|
75
67
|
* 프레임워크 중립 에디터 컨트롤러를 만든다.
|
|
76
68
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,WAAW,EACX,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,UAAU,CAAC;IACnD;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,0CAA0C;IAC1C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC3C;AAED,sBAAsB;AACtB,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC;IACtE,iCAAiC;IACjC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;CACjB;AA6DD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,gBAAgB,GAC7B,qBAAqB,CAyHvB;AAgBD,6BAA6B;AAC7B,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,gBAAgB,GAC7B,qBAAqB,CAwCvB"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { PropType } from 'vue';
|
|
2
|
-
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, EditorState, ToolbarConfig } from '@aeriz/wysiwyg';
|
|
2
|
+
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, EditorErrorCode, EditorState, CodeHighlighter, FontFamily, ToolbarConfig, UploadOptions } from '@aeriz/wysiwyg';
|
|
3
3
|
type Theme = 'light' | 'dark';
|
|
4
4
|
type Locale = 'en' | 'ko' | 'ja' | 'zh';
|
|
5
5
|
type HtmlStyles = 'inline' | 'class';
|
|
6
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
7
6
|
export declare const AerizEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
8
7
|
/** `v-model` 바인딩 값 (HTML). */
|
|
9
8
|
modelValue: {
|
|
@@ -37,20 +36,36 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
37
36
|
type: PropType<HtmlStyles>;
|
|
38
37
|
default: undefined;
|
|
39
38
|
};
|
|
40
|
-
|
|
41
|
-
type:
|
|
39
|
+
statusBar: {
|
|
40
|
+
type: BooleanConstructor;
|
|
42
41
|
default: undefined;
|
|
43
42
|
};
|
|
44
|
-
|
|
43
|
+
ariaLabel: {
|
|
45
44
|
type: StringConstructor;
|
|
46
45
|
default: undefined;
|
|
47
46
|
};
|
|
48
|
-
|
|
49
|
-
type:
|
|
47
|
+
readOnly: {
|
|
48
|
+
type: BooleanConstructor;
|
|
50
49
|
default: undefined;
|
|
51
50
|
};
|
|
52
|
-
|
|
53
|
-
type: StringConstructor;
|
|
51
|
+
height: {
|
|
52
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
53
|
+
default: undefined;
|
|
54
|
+
};
|
|
55
|
+
upload: {
|
|
56
|
+
type: PropType<UploadOptions>;
|
|
57
|
+
default: undefined;
|
|
58
|
+
};
|
|
59
|
+
fonts: {
|
|
60
|
+
type: PropType<FontFamily[]>;
|
|
61
|
+
default: undefined;
|
|
62
|
+
};
|
|
63
|
+
highlighter: {
|
|
64
|
+
type: PropType<CodeHighlighter>;
|
|
65
|
+
default: undefined;
|
|
66
|
+
};
|
|
67
|
+
fontSizes: {
|
|
68
|
+
type: PropType<number[]>;
|
|
54
69
|
default: undefined;
|
|
55
70
|
};
|
|
56
71
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -60,6 +75,9 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
60
75
|
change: (html: string) => boolean;
|
|
61
76
|
'state-change': (_state: EditorState) => true;
|
|
62
77
|
ready: (_editor: AerizEditorCore) => true;
|
|
78
|
+
error: (_error: Error, _context: {
|
|
79
|
+
code: EditorErrorCode;
|
|
80
|
+
}) => true;
|
|
63
81
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
64
82
|
/** `v-model` 바인딩 값 (HTML). */
|
|
65
83
|
modelValue: {
|
|
@@ -93,38 +111,61 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
93
111
|
type: PropType<HtmlStyles>;
|
|
94
112
|
default: undefined;
|
|
95
113
|
};
|
|
96
|
-
|
|
97
|
-
type:
|
|
114
|
+
statusBar: {
|
|
115
|
+
type: BooleanConstructor;
|
|
98
116
|
default: undefined;
|
|
99
117
|
};
|
|
100
|
-
|
|
118
|
+
ariaLabel: {
|
|
101
119
|
type: StringConstructor;
|
|
102
120
|
default: undefined;
|
|
103
121
|
};
|
|
104
|
-
|
|
105
|
-
type:
|
|
122
|
+
readOnly: {
|
|
123
|
+
type: BooleanConstructor;
|
|
106
124
|
default: undefined;
|
|
107
125
|
};
|
|
108
|
-
|
|
109
|
-
type: StringConstructor;
|
|
126
|
+
height: {
|
|
127
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
128
|
+
default: undefined;
|
|
129
|
+
};
|
|
130
|
+
upload: {
|
|
131
|
+
type: PropType<UploadOptions>;
|
|
132
|
+
default: undefined;
|
|
133
|
+
};
|
|
134
|
+
fonts: {
|
|
135
|
+
type: PropType<FontFamily[]>;
|
|
136
|
+
default: undefined;
|
|
137
|
+
};
|
|
138
|
+
highlighter: {
|
|
139
|
+
type: PropType<CodeHighlighter>;
|
|
140
|
+
default: undefined;
|
|
141
|
+
};
|
|
142
|
+
fontSizes: {
|
|
143
|
+
type: PropType<number[]>;
|
|
110
144
|
default: undefined;
|
|
111
145
|
};
|
|
112
146
|
}>> & Readonly<{
|
|
147
|
+
onError?: (_error: Error, _context: {
|
|
148
|
+
code: EditorErrorCode;
|
|
149
|
+
}) => any;
|
|
113
150
|
onChange?: (html: string) => any;
|
|
114
151
|
"onUpdate:modelValue"?: (html: string) => any;
|
|
115
152
|
"onState-change"?: (_state: EditorState) => any;
|
|
116
153
|
onReady?: (_editor: AerizEditorCore) => any;
|
|
117
154
|
}>, {
|
|
155
|
+
upload: UploadOptions;
|
|
156
|
+
height: string | number;
|
|
118
157
|
toolbar: false | ToolbarConfig;
|
|
119
158
|
theme: Theme;
|
|
159
|
+
fonts: FontFamily[];
|
|
120
160
|
placeholder: string;
|
|
121
161
|
initialHTML: string;
|
|
162
|
+
statusBar: boolean;
|
|
163
|
+
ariaLabel: string;
|
|
122
164
|
locale: Locale;
|
|
123
165
|
htmlStyles: HtmlStyles;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
fileUploadUrl: string;
|
|
166
|
+
readOnly: boolean;
|
|
167
|
+
highlighter: CodeHighlighter;
|
|
168
|
+
fontSizes: number[];
|
|
128
169
|
modelValue: string;
|
|
129
170
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
130
171
|
export declare const AerizViewer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -176,8 +217,8 @@ export declare const AerizViewer: import("vue").DefineComponent<import("vue").Ex
|
|
|
176
217
|
}>, {
|
|
177
218
|
html: string;
|
|
178
219
|
theme: Theme;
|
|
179
|
-
htmlStyles: HtmlStyles;
|
|
180
220
|
blocks: BlockSnapshot[];
|
|
221
|
+
htmlStyles: HtmlStyles;
|
|
181
222
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
182
223
|
/** `app.use(AerizWysiwygPlugin)` 로 두 컴포넌트를 전역 등록한다. */
|
|
183
224
|
export declare const AerizWysiwygPlugin: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../src/adapters/vue.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,WAAW,IAAI,eAAe,EAC9B,aAAa,EACb,WAAW,EACX,aAAa,EACd,MAAM,gBAAgB,CAAC;AASxB,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../src/adapters/vue.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,WAAW,IAAI,eAAe,EAC9B,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,UAAU,EACV,aAAa,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC;AASxB,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,KAAK,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErC,eAAO,MAAM,WAAW;IAIpB,8BAA8B;;;;;IAE9B,gCAAgC;;;;;;;;;IAGhC,8BAA8B;;cAED,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;;;;cAGnC,QAAQ,CAAC,KAAK,CAAC;;;;cACd,QAAQ,CAAC,MAAM,CAAC;;;IAC1C,qDAAqD;;cACvB,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;cAKxB,QAAQ,CAAC,aAAa,CAAC;;;;cACzB,QAAQ,CAAC,UAAU,EAAE,CAAC;;;;cACf,QAAQ,CAAC,eAAe,CAAC;;;;cAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC;;;;;;gCAIlB,MAAM;mBACnB,MAAM;6BACI,WAAW;qBACnB,eAAe;oBAChB,KAAK,YAAY;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE;;IA7B1D,8BAA8B;;;;;IAE9B,gCAAgC;;;;;;;;;IAGhC,8BAA8B;;cAED,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;;;;cAGnC,QAAQ,CAAC,KAAK,CAAC;;;;cACd,QAAQ,CAAC,MAAM,CAAC;;;IAC1C,qDAAqD;;cACvB,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;cAKxB,QAAQ,CAAC,aAAa,CAAC;;;;cACzB,QAAQ,CAAC,UAAU,EAAE,CAAC;;;;cACf,QAAQ,CAAC,eAAe,CAAC;;;;cAC5B,QAAQ,CAAC,MAAM,EAAE,CAAC;;;;;cAQL,eAAe;;;;;;;;;;;;;;;;;;;;;;4EA2D1D,CAAC;AAEH,eAAO,MAAM,WAAW;IAIpB,iCAAiC;;cAEhB,QAAQ,CAAC,aAAa,EAAE,CAAC;;;IAG1C,+BAA+B;;;;;;cAEN,QAAQ,CAAC,KAAK,CAAC;;;IACxC,wCAAwC;;cACV,QAAQ,CAAC,UAAU,CAAC;;;;;;qBAIjC,eAAe;;IAbhC,iCAAiC;;cAEhB,QAAQ,CAAC,aAAa,EAAE,CAAC;;;IAG1C,+BAA+B;;;;;;cAEN,QAAQ,CAAC,KAAK,CAAC;;;IACxC,wCAAwC;;cACV,QAAQ,CAAC,UAAU,CAAC;;;;;;;;;;4EA8CpD,CAAC;AAEH,uDAAuD;AACvD,eAAO,MAAM,kBAAkB;iBAChB;QAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;CAIvE,CAAC;AAEF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -18,12 +18,11 @@
|
|
|
18
18
|
* template: '<AerizEditor v-model="html" theme="dark" />',
|
|
19
19
|
* };
|
|
20
20
|
*/
|
|
21
|
-
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, ToolbarConfig } from '@aeriz/wysiwyg';
|
|
21
|
+
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, CodeHighlighter, FontFamily, ToolbarConfig, UploadOptions } from '@aeriz/wysiwyg';
|
|
22
22
|
import type { AerizEditorController, AerizEditorProps, AerizViewerController, AerizViewerProps } from './shared.js';
|
|
23
23
|
type Theme = 'light' | 'dark';
|
|
24
24
|
type Locale = 'en' | 'ko' | 'ja' | 'zh';
|
|
25
25
|
type HtmlStyles = 'inline' | 'class';
|
|
26
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
27
26
|
/**
|
|
28
27
|
* Vue 2 런타임이 컴포넌트 메서드에 주입하는 `this` 의 최소 형태.
|
|
29
28
|
*
|
|
@@ -49,10 +48,14 @@ interface EditorProps {
|
|
|
49
48
|
theme?: Theme;
|
|
50
49
|
locale?: Locale;
|
|
51
50
|
htmlStyles?: HtmlStyles;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
statusBar?: boolean;
|
|
52
|
+
ariaLabel?: string;
|
|
53
|
+
readOnly?: boolean;
|
|
54
|
+
height?: number | string;
|
|
55
|
+
upload?: UploadOptions;
|
|
56
|
+
fonts?: FontFamily[];
|
|
57
|
+
fontSizes?: number[];
|
|
58
|
+
highlighter?: CodeHighlighter;
|
|
56
59
|
}
|
|
57
60
|
interface EditorHost extends Vue2Host<EditorProps> {
|
|
58
61
|
aerizController: AerizEditorController | null;
|
|
@@ -85,7 +88,7 @@ export declare const AerizEditor: {
|
|
|
85
88
|
default: undefined;
|
|
86
89
|
};
|
|
87
90
|
toolbar: {
|
|
88
|
-
type: (
|
|
91
|
+
type: (BooleanConstructor | ObjectConstructor)[];
|
|
89
92
|
default: undefined;
|
|
90
93
|
};
|
|
91
94
|
theme: {
|
|
@@ -101,20 +104,36 @@ export declare const AerizEditor: {
|
|
|
101
104
|
type: StringConstructor;
|
|
102
105
|
default: undefined;
|
|
103
106
|
};
|
|
104
|
-
|
|
105
|
-
type:
|
|
107
|
+
statusBar: {
|
|
108
|
+
type: BooleanConstructor;
|
|
106
109
|
default: undefined;
|
|
107
110
|
};
|
|
108
|
-
|
|
111
|
+
ariaLabel: {
|
|
109
112
|
type: StringConstructor;
|
|
110
113
|
default: undefined;
|
|
111
114
|
};
|
|
112
|
-
|
|
113
|
-
type:
|
|
115
|
+
readOnly: {
|
|
116
|
+
type: BooleanConstructor;
|
|
114
117
|
default: undefined;
|
|
115
118
|
};
|
|
116
|
-
|
|
117
|
-
type: StringConstructor;
|
|
119
|
+
height: {
|
|
120
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
121
|
+
default: undefined;
|
|
122
|
+
};
|
|
123
|
+
upload: {
|
|
124
|
+
type: ObjectConstructor;
|
|
125
|
+
default: undefined;
|
|
126
|
+
};
|
|
127
|
+
fonts: {
|
|
128
|
+
type: ArrayConstructor;
|
|
129
|
+
default: undefined;
|
|
130
|
+
};
|
|
131
|
+
highlighter: {
|
|
132
|
+
type: ObjectConstructor;
|
|
133
|
+
default: undefined;
|
|
134
|
+
};
|
|
135
|
+
fontSizes: {
|
|
136
|
+
type: ArrayConstructor;
|
|
118
137
|
default: undefined;
|
|
119
138
|
};
|
|
120
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue2.d.ts","sourceRoot":"","sources":["../../src/adapters/vue2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EACV,WAAW,IAAI,eAAe,EAC9B,WAAW,IAAI,eAAe,EAC9B,aAAa,
|
|
1
|
+
{"version":3,"file":"vue2.d.ts","sourceRoot":"","sources":["../../src/adapters/vue2.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,7 @@
|
|
|
22
22
|
* el.value = '<p>안녕하세요</p>';
|
|
23
23
|
* </script>
|
|
24
24
|
*/
|
|
25
|
-
import type { AerizEditor, AerizViewer, BlockSnapshot } from '@aeriz/wysiwyg';
|
|
26
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
25
|
+
import type { AerizEditor, AerizViewer, BlockSnapshot, CodeHighlighter, FontFamily, UploadOptions } from '@aeriz/wysiwyg';
|
|
27
26
|
/**
|
|
28
27
|
* `<aeriz-editor>`.
|
|
29
28
|
*
|
|
@@ -35,9 +34,20 @@ export declare class AerizEditorElement extends HTMLElement {
|
|
|
35
34
|
static get observedAttributes(): string[];
|
|
36
35
|
/** 폼 연동 대상임을 선언. 미지원 브라우저는 이 필드를 무시한다. */
|
|
37
36
|
static formAssociated: boolean;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
private uploadValue;
|
|
38
|
+
private fontsValue;
|
|
39
|
+
private highlighterValue;
|
|
40
|
+
private fontSizesValue;
|
|
41
|
+
/** 올리기 설정. `upload-url` 속성보다 우선한다 (헤더 · 직접 올리기가 필요할 때). */
|
|
42
|
+
get upload(): UploadOptions | undefined;
|
|
43
|
+
set upload(value: UploadOptions | undefined);
|
|
44
|
+
/** 코드 블록 색칠기 (`@aeriz/wysiwyg/highlight` 의 `highlighter`). */
|
|
45
|
+
get highlighter(): CodeHighlighter | undefined;
|
|
46
|
+
set highlighter(value: CodeHighlighter | undefined);
|
|
47
|
+
get fonts(): FontFamily[] | undefined;
|
|
48
|
+
set fonts(value: FontFamily[] | undefined);
|
|
49
|
+
get fontSizes(): number[] | undefined;
|
|
50
|
+
set fontSizes(value: number[] | undefined);
|
|
41
51
|
private controller;
|
|
42
52
|
private internals;
|
|
43
53
|
/**
|
|
@@ -92,5 +102,4 @@ export declare class AerizViewerElement extends HTMLElement {
|
|
|
92
102
|
* @param prefix 태그 접두사. 기본 `'aeriz'` → `<aeriz-editor>` / `<aeriz-viewer>`
|
|
93
103
|
*/
|
|
94
104
|
export declare function defineAerizElements(prefix?: string): void;
|
|
95
|
-
export {};
|
|
96
105
|
//# sourceMappingURL=wc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wc.d.ts","sourceRoot":"","sources":["../../src/adapters/wc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"wc.d.ts","sourceRoot":"","sources":["../../src/adapters/wc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,aAAa,EAEb,eAAe,EACf,UAAU,EAEV,aAAa,EACd,MAAM,gBAAgB,CAAC;AA+ExB;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAcxC;IAED,0CAA0C;IAC1C,MAAM,CAAC,cAAc,UAAQ;IAG7B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,cAAc,CAAuB;IAE7C,2DAA2D;IAC3D,IAAI,MAAM,IAAI,aAAa,GAAG,SAAS,CAEtC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,EAG1C;IAED,8DAA8D;IAC9D,IAAI,WAAW,IAAI,eAAe,GAAG,SAAS,CAE7C;IACD,IAAI,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAGjD;IAED,IAAI,KAAK,IAAI,UAAU,EAAE,GAAG,SAAS,CAEpC;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,EAGxC;IAED,IAAI,SAAS,IAAI,MAAM,EAAE,GAAG,SAAS,CAEpC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAGxC;IAED,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,SAAS,CAA8B;IAC/C;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAiC;IACrD,qDAAqD;IACrD,OAAO,CAAC,WAAW,CAAM;;IAOzB,iCAAiC;IACjC,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAGrB;IAED,+BAA+B;IAC/B,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,iBAAiB;IACjB,SAAS,IAAI,aAAa,EAAE;IAI5B,uDAAuD;IAC9C,KAAK,IAAI,IAAI;IAItB,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,CACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,IAAI;IAQP;;;OAGG;IACH,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAsDlB,OAAO,CAAC,aAAa;CAItB;AAED,oCAAoC;AACpC,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,aAAa,CAA0C;IAE/D,uCAAuC;IACvC,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,EAG/B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,iBAAiB,IAAI,IAAI;IAWzB,oBAAoB,IAAI,IAAI;IAK5B,wBAAwB,IAAI,IAAI;IAIhC,OAAO,CAAC,UAAU;CASnB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAU,GAAG,IAAI,CAU1D"}
|
|
@@ -63,14 +63,6 @@ export interface AerizViewerController {
|
|
|
63
63
|
update(next: AerizViewerProps): void;
|
|
64
64
|
destroy(): void;
|
|
65
65
|
}
|
|
66
|
-
/**
|
|
67
|
-
* HTML 문자열을 `BlockSnapshot[]` 로 변환한다.
|
|
68
|
-
*
|
|
69
|
-
* `AerizViewer` 는 상태 모델만 받으므로, HTML 을 들고 있는 호출자를 위한
|
|
70
|
-
* 다리 역할을 한다. 에디터 본문과 같은 정규화 경로(`normalizeContent` →
|
|
71
|
-
* `listBlocks` → `serializeBlocks`) 를 타므로 결과 트리도 동일하다.
|
|
72
|
-
*/
|
|
73
|
-
export declare function htmlToBlocks(html: string): BlockSnapshot[];
|
|
74
66
|
/**
|
|
75
67
|
* 프레임워크 중립 에디터 컨트롤러를 만든다.
|
|
76
68
|
*
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { PropType } from 'vue';
|
|
2
|
-
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, EditorState, ToolbarConfig } from '@aeriz/wysiwyg';
|
|
2
|
+
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, EditorErrorCode, EditorState, CodeHighlighter, FontFamily, ToolbarConfig, UploadOptions } from '@aeriz/wysiwyg';
|
|
3
3
|
type Theme = 'light' | 'dark';
|
|
4
4
|
type Locale = 'en' | 'ko' | 'ja' | 'zh';
|
|
5
5
|
type HtmlStyles = 'inline' | 'class';
|
|
6
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
7
6
|
export declare const AerizEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
8
7
|
/** `v-model` 바인딩 값 (HTML). */
|
|
9
8
|
modelValue: {
|
|
@@ -37,20 +36,36 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
37
36
|
type: PropType<HtmlStyles>;
|
|
38
37
|
default: undefined;
|
|
39
38
|
};
|
|
40
|
-
|
|
41
|
-
type:
|
|
39
|
+
statusBar: {
|
|
40
|
+
type: BooleanConstructor;
|
|
42
41
|
default: undefined;
|
|
43
42
|
};
|
|
44
|
-
|
|
43
|
+
ariaLabel: {
|
|
45
44
|
type: StringConstructor;
|
|
46
45
|
default: undefined;
|
|
47
46
|
};
|
|
48
|
-
|
|
49
|
-
type:
|
|
47
|
+
readOnly: {
|
|
48
|
+
type: BooleanConstructor;
|
|
50
49
|
default: undefined;
|
|
51
50
|
};
|
|
52
|
-
|
|
53
|
-
type: StringConstructor;
|
|
51
|
+
height: {
|
|
52
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
53
|
+
default: undefined;
|
|
54
|
+
};
|
|
55
|
+
upload: {
|
|
56
|
+
type: PropType<UploadOptions>;
|
|
57
|
+
default: undefined;
|
|
58
|
+
};
|
|
59
|
+
fonts: {
|
|
60
|
+
type: PropType<FontFamily[]>;
|
|
61
|
+
default: undefined;
|
|
62
|
+
};
|
|
63
|
+
highlighter: {
|
|
64
|
+
type: PropType<CodeHighlighter>;
|
|
65
|
+
default: undefined;
|
|
66
|
+
};
|
|
67
|
+
fontSizes: {
|
|
68
|
+
type: PropType<number[]>;
|
|
54
69
|
default: undefined;
|
|
55
70
|
};
|
|
56
71
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -60,6 +75,9 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
60
75
|
change: (html: string) => boolean;
|
|
61
76
|
'state-change': (_state: EditorState) => true;
|
|
62
77
|
ready: (_editor: AerizEditorCore) => true;
|
|
78
|
+
error: (_error: Error, _context: {
|
|
79
|
+
code: EditorErrorCode;
|
|
80
|
+
}) => true;
|
|
63
81
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
64
82
|
/** `v-model` 바인딩 값 (HTML). */
|
|
65
83
|
modelValue: {
|
|
@@ -93,38 +111,61 @@ export declare const AerizEditor: import("vue").DefineComponent<import("vue").Ex
|
|
|
93
111
|
type: PropType<HtmlStyles>;
|
|
94
112
|
default: undefined;
|
|
95
113
|
};
|
|
96
|
-
|
|
97
|
-
type:
|
|
114
|
+
statusBar: {
|
|
115
|
+
type: BooleanConstructor;
|
|
98
116
|
default: undefined;
|
|
99
117
|
};
|
|
100
|
-
|
|
118
|
+
ariaLabel: {
|
|
101
119
|
type: StringConstructor;
|
|
102
120
|
default: undefined;
|
|
103
121
|
};
|
|
104
|
-
|
|
105
|
-
type:
|
|
122
|
+
readOnly: {
|
|
123
|
+
type: BooleanConstructor;
|
|
106
124
|
default: undefined;
|
|
107
125
|
};
|
|
108
|
-
|
|
109
|
-
type: StringConstructor;
|
|
126
|
+
height: {
|
|
127
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
128
|
+
default: undefined;
|
|
129
|
+
};
|
|
130
|
+
upload: {
|
|
131
|
+
type: PropType<UploadOptions>;
|
|
132
|
+
default: undefined;
|
|
133
|
+
};
|
|
134
|
+
fonts: {
|
|
135
|
+
type: PropType<FontFamily[]>;
|
|
136
|
+
default: undefined;
|
|
137
|
+
};
|
|
138
|
+
highlighter: {
|
|
139
|
+
type: PropType<CodeHighlighter>;
|
|
140
|
+
default: undefined;
|
|
141
|
+
};
|
|
142
|
+
fontSizes: {
|
|
143
|
+
type: PropType<number[]>;
|
|
110
144
|
default: undefined;
|
|
111
145
|
};
|
|
112
146
|
}>> & Readonly<{
|
|
147
|
+
onError?: (_error: Error, _context: {
|
|
148
|
+
code: EditorErrorCode;
|
|
149
|
+
}) => any;
|
|
113
150
|
onChange?: (html: string) => any;
|
|
114
151
|
"onUpdate:modelValue"?: (html: string) => any;
|
|
115
152
|
"onState-change"?: (_state: EditorState) => any;
|
|
116
153
|
onReady?: (_editor: AerizEditorCore) => any;
|
|
117
154
|
}>, {
|
|
155
|
+
upload: UploadOptions;
|
|
156
|
+
height: string | number;
|
|
118
157
|
toolbar: false | ToolbarConfig;
|
|
119
158
|
theme: Theme;
|
|
159
|
+
fonts: FontFamily[];
|
|
120
160
|
placeholder: string;
|
|
121
161
|
initialHTML: string;
|
|
162
|
+
statusBar: boolean;
|
|
163
|
+
ariaLabel: string;
|
|
122
164
|
locale: Locale;
|
|
123
165
|
htmlStyles: HtmlStyles;
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
fileUploadUrl: string;
|
|
166
|
+
readOnly: boolean;
|
|
167
|
+
highlighter: CodeHighlighter;
|
|
168
|
+
fontSizes: number[];
|
|
128
169
|
modelValue: string;
|
|
129
170
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
130
171
|
export declare const AerizViewer: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
@@ -176,8 +217,8 @@ export declare const AerizViewer: import("vue").DefineComponent<import("vue").Ex
|
|
|
176
217
|
}>, {
|
|
177
218
|
html: string;
|
|
178
219
|
theme: Theme;
|
|
179
|
-
htmlStyles: HtmlStyles;
|
|
180
220
|
blocks: BlockSnapshot[];
|
|
221
|
+
htmlStyles: HtmlStyles;
|
|
181
222
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
182
223
|
/** `app.use(AerizWysiwygPlugin)` 로 두 컴포넌트를 전역 등록한다. */
|
|
183
224
|
export declare const AerizWysiwygPlugin: {
|
|
@@ -18,12 +18,11 @@
|
|
|
18
18
|
* template: '<AerizEditor v-model="html" theme="dark" />',
|
|
19
19
|
* };
|
|
20
20
|
*/
|
|
21
|
-
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, ToolbarConfig } from '@aeriz/wysiwyg';
|
|
21
|
+
import type { AerizEditor as AerizEditorCore, AerizViewer as AerizViewerCore, BlockSnapshot, CodeHighlighter, FontFamily, ToolbarConfig, UploadOptions } from '@aeriz/wysiwyg';
|
|
22
22
|
import type { AerizEditorController, AerizEditorProps, AerizViewerController, AerizViewerProps } from './shared.cjs';
|
|
23
23
|
type Theme = 'light' | 'dark';
|
|
24
24
|
type Locale = 'en' | 'ko' | 'ja' | 'zh';
|
|
25
25
|
type HtmlStyles = 'inline' | 'class';
|
|
26
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
27
26
|
/**
|
|
28
27
|
* Vue 2 런타임이 컴포넌트 메서드에 주입하는 `this` 의 최소 형태.
|
|
29
28
|
*
|
|
@@ -49,10 +48,14 @@ interface EditorProps {
|
|
|
49
48
|
theme?: Theme;
|
|
50
49
|
locale?: Locale;
|
|
51
50
|
htmlStyles?: HtmlStyles;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
statusBar?: boolean;
|
|
52
|
+
ariaLabel?: string;
|
|
53
|
+
readOnly?: boolean;
|
|
54
|
+
height?: number | string;
|
|
55
|
+
upload?: UploadOptions;
|
|
56
|
+
fonts?: FontFamily[];
|
|
57
|
+
fontSizes?: number[];
|
|
58
|
+
highlighter?: CodeHighlighter;
|
|
56
59
|
}
|
|
57
60
|
interface EditorHost extends Vue2Host<EditorProps> {
|
|
58
61
|
aerizController: AerizEditorController | null;
|
|
@@ -85,7 +88,7 @@ export declare const AerizEditor: {
|
|
|
85
88
|
default: undefined;
|
|
86
89
|
};
|
|
87
90
|
toolbar: {
|
|
88
|
-
type: (
|
|
91
|
+
type: (BooleanConstructor | ObjectConstructor)[];
|
|
89
92
|
default: undefined;
|
|
90
93
|
};
|
|
91
94
|
theme: {
|
|
@@ -101,20 +104,36 @@ export declare const AerizEditor: {
|
|
|
101
104
|
type: StringConstructor;
|
|
102
105
|
default: undefined;
|
|
103
106
|
};
|
|
104
|
-
|
|
105
|
-
type:
|
|
107
|
+
statusBar: {
|
|
108
|
+
type: BooleanConstructor;
|
|
106
109
|
default: undefined;
|
|
107
110
|
};
|
|
108
|
-
|
|
111
|
+
ariaLabel: {
|
|
109
112
|
type: StringConstructor;
|
|
110
113
|
default: undefined;
|
|
111
114
|
};
|
|
112
|
-
|
|
113
|
-
type:
|
|
115
|
+
readOnly: {
|
|
116
|
+
type: BooleanConstructor;
|
|
114
117
|
default: undefined;
|
|
115
118
|
};
|
|
116
|
-
|
|
117
|
-
type: StringConstructor;
|
|
119
|
+
height: {
|
|
120
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
121
|
+
default: undefined;
|
|
122
|
+
};
|
|
123
|
+
upload: {
|
|
124
|
+
type: ObjectConstructor;
|
|
125
|
+
default: undefined;
|
|
126
|
+
};
|
|
127
|
+
fonts: {
|
|
128
|
+
type: ArrayConstructor;
|
|
129
|
+
default: undefined;
|
|
130
|
+
};
|
|
131
|
+
highlighter: {
|
|
132
|
+
type: ObjectConstructor;
|
|
133
|
+
default: undefined;
|
|
134
|
+
};
|
|
135
|
+
fontSizes: {
|
|
136
|
+
type: ArrayConstructor;
|
|
118
137
|
default: undefined;
|
|
119
138
|
};
|
|
120
139
|
};
|
|
@@ -22,8 +22,7 @@
|
|
|
22
22
|
* el.value = '<p>안녕하세요</p>';
|
|
23
23
|
* </script>
|
|
24
24
|
*/
|
|
25
|
-
import type { AerizEditor, AerizViewer, BlockSnapshot } from '@aeriz/wysiwyg';
|
|
26
|
-
type UploadFn = (file: File) => Promise<string>;
|
|
25
|
+
import type { AerizEditor, AerizViewer, BlockSnapshot, CodeHighlighter, FontFamily, UploadOptions } from '@aeriz/wysiwyg';
|
|
27
26
|
/**
|
|
28
27
|
* `<aeriz-editor>`.
|
|
29
28
|
*
|
|
@@ -35,9 +34,20 @@ export declare class AerizEditorElement extends HTMLElement {
|
|
|
35
34
|
static get observedAttributes(): string[];
|
|
36
35
|
/** 폼 연동 대상임을 선언. 미지원 브라우저는 이 필드를 무시한다. */
|
|
37
36
|
static formAssociated: boolean;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
private uploadValue;
|
|
38
|
+
private fontsValue;
|
|
39
|
+
private highlighterValue;
|
|
40
|
+
private fontSizesValue;
|
|
41
|
+
/** 올리기 설정. `upload-url` 속성보다 우선한다 (헤더 · 직접 올리기가 필요할 때). */
|
|
42
|
+
get upload(): UploadOptions | undefined;
|
|
43
|
+
set upload(value: UploadOptions | undefined);
|
|
44
|
+
/** 코드 블록 색칠기 (`@aeriz/wysiwyg/highlight` 의 `highlighter`). */
|
|
45
|
+
get highlighter(): CodeHighlighter | undefined;
|
|
46
|
+
set highlighter(value: CodeHighlighter | undefined);
|
|
47
|
+
get fonts(): FontFamily[] | undefined;
|
|
48
|
+
set fonts(value: FontFamily[] | undefined);
|
|
49
|
+
get fontSizes(): number[] | undefined;
|
|
50
|
+
set fontSizes(value: number[] | undefined);
|
|
41
51
|
private controller;
|
|
42
52
|
private internals;
|
|
43
53
|
/**
|
|
@@ -92,5 +102,4 @@ export declare class AerizViewerElement extends HTMLElement {
|
|
|
92
102
|
* @param prefix 태그 접두사. 기본 `'aeriz'` → `<aeriz-editor>` / `<aeriz-viewer>`
|
|
93
103
|
*/
|
|
94
104
|
export declare function defineAerizElements(prefix?: string): void;
|
|
95
|
-
export {};
|
|
96
105
|
// (소스맵은 CJS 선언 사본에서 제외됨 — scripts/finalize-types.mjs)
|