@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
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { FontFamily } from '../core/fonts.cjs';
|
|
1
2
|
export type ToolbarItem = ToolbarItemName | '|';
|
|
2
|
-
export type ToolbarItemName = 'undo' | 'redo' | 'blockType' | 'fontFamily' | 'fontSize' | 'bold' | 'italic' | 'underline' | 'strike' | 'color' | 'backgroundColor' | 'align' | 'cellBg' | 'tableMenu' | 'codeLang' | 'bulletList' | 'orderedList' | 'blockquote' | 'codeBlock' | 'link' | 'image' | 'table' | 'hr' | 'clearFormat';
|
|
3
|
+
export type ToolbarItemName = 'undo' | 'redo' | 'blockType' | 'fontFamily' | 'fontSize' | 'bold' | 'italic' | 'underline' | 'strike' | 'superscript' | 'subscript' | 'color' | 'backgroundColor' | 'align' | 'cellBg' | 'tableMenu' | 'codeLang' | 'bulletList' | 'orderedList' | 'blockquote' | 'codeBlock' | 'link' | 'image' | 'table' | 'hr' | 'clearFormat' | 'lineHeight' | 'letterSpacing' | 'specialChar' | 'findReplace' | 'source' | 'print' | 'fullscreen';
|
|
3
4
|
export interface ToolbarConfig {
|
|
4
5
|
items: ToolbarItem[];
|
|
5
6
|
sticky?: boolean;
|
|
@@ -24,6 +25,12 @@ export interface EditorOptions {
|
|
|
24
25
|
element: HTMLElement;
|
|
25
26
|
initialHTML?: string;
|
|
26
27
|
placeholder?: string;
|
|
28
|
+
/**
|
|
29
|
+
* ์๋์ชฝ ์ํ๋ฐ(๋๋๋ฆฌ๊ธฐ ยท ๋ธ๋ก ์ ยท ๊ธ์ ์) ๋ฅผ ๋ณด์ผ์ง. ๊ธฐ๋ณธ `true`.
|
|
30
|
+
*/
|
|
31
|
+
statusBar?: boolean;
|
|
32
|
+
/** ๋ณธ๋ฌธ ํธ์ง ์์ญ์ ์ ๊ทผ์ฑ ์ด๋ฆ(aria-label). ๊ธฐ๋ณธ์ ๋ก์ผ์ผ์ "๋ณธ๋ฌธ ํธ์ง๊ธฐ". */
|
|
33
|
+
ariaLabel?: string;
|
|
27
34
|
toolbar?: ToolbarConfig | false;
|
|
28
35
|
theme?: 'light' | 'dark';
|
|
29
36
|
/** UI ์ธ์ด. 'en' / 'ko' / 'ja' / 'zh'. ๊ธฐ๋ณธ 'ko'. */
|
|
@@ -35,27 +42,68 @@ export interface EditorOptions {
|
|
|
35
42
|
htmlStyles?: HtmlStyleMode;
|
|
36
43
|
onChange?: (html: string) => void;
|
|
37
44
|
/**
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
|
|
45
|
+
* ์ฝ๊ธฐ ์ ์ฉ. ๊ธ์ ๊ณ ์น ์ ์๊ณ ํด๋ฐ๋ ์ธ์ ยท ์ ์ฒด ํ๋ฉด๋ง ์ธ ์ ์๋ค.
|
|
46
|
+
* ๋์ค์ ๋ฐ๊พธ๋ ค๋ฉด `editor.setReadOnly()`.
|
|
47
|
+
*/
|
|
48
|
+
readOnly?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* ์๋ํฐ ๋์ด. ์ซ์๋ px, ๋ฌธ์์ด์ CSS ๊ฐ('60vh' ๋ฑ). ์ง์ ํ๋ฉด ๋ณธ๋ฌธ์ด ๊ทธ ์์์
|
|
51
|
+
* ์คํฌ๋กค๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๋ถ๋ชจ ๋์ด๋ฅผ ์ฑ์ฐ๊ณ ์ต์ 320px ์ด๋ค.
|
|
41
52
|
*/
|
|
42
|
-
|
|
53
|
+
height?: number | string;
|
|
54
|
+
/** ๊ทธ๋ฆผ ยท ํ์ผ ์ฌ๋ฆฌ๊ธฐ. ์์ผ๋ฉด ๋ค์ด์ผ๋ก๊ทธ์ "์ฌ๋ฆฌ๊ธฐ" ํญ์ด ๊บผ์ง๊ณ ๋ถ์ฌ๋ฃ์ ๊ทธ๋ฆผ์ ๋ฌธ์์ ๊ทธ๋๋ก ๋ด๊ธด๋ค. */
|
|
55
|
+
upload?: UploadOptions;
|
|
43
56
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
57
|
+
* ์๋ํฐ ์์์ ๋ ์ค๋ฅ(์ฌ๋ฆฌ๊ธฐ ์คํจ ๋ฑ). ์ง์ ํ์ง ์์ผ๋ฉด ์ฝ์์ ๋จ๊ธด๋ค.
|
|
58
|
+
* `code` ๋ก ์ข
๋ฅ๋ฅผ ๊ฐ๋ฆฐ๋ค.
|
|
46
59
|
*/
|
|
47
|
-
|
|
60
|
+
onError?: (error: Error, context: {
|
|
61
|
+
code: EditorErrorCode;
|
|
62
|
+
}) => void;
|
|
48
63
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* POST ํ ์๋ต JSON ์ `url` ํ๋๋ฅผ ์ฌ์ฉํ๋ค.
|
|
64
|
+
* ์ฝ๋ ๋ธ๋ก ์์น ๊ธฐ. ์์ผ๋ฉด ์ฝ๋๋ ์ ์์ด ๋ณด์ด๊ณ ์ธ์ด ๊ณ ๋ฅด๊ธฐ ๋ฒํผ๋ ์จ๋๋ค.
|
|
65
|
+
* ๊ธฐ๋ณธ ์์น ๊ธฐ๋ `import { highlighter } from '@aeriz/wysiwyg/highlight'`.
|
|
52
66
|
*/
|
|
53
|
-
|
|
67
|
+
highlighter?: CodeHighlighter;
|
|
54
68
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
69
|
+
* ๊ธ๊ผด ๋๋กญ๋ค์ด ๋ชฉ๋ก. ๊ธฐ๋ณธ์ ํ๊ตญ ๋ฌธ์์์ ์ฐ๋ ์์คํ
๊ธ๊ผด(๋ง์ ๊ณ ๋ ยท ๊ตด๋ฆผ ยท
|
|
70
|
+
* ๋์ ยท ๋ฐํ ยท ๊ถ์ โฆ) ์ด๋ฉฐ ๋คํธ์ํฌ๋ฅผ ์ฐ์ง ์๋๋ค. ์นํฐํธ๋ `cssUrl` ์
|
|
71
|
+
* ํจ๊ป ์ฃผ๋ฉด ๋๋กญ๋ค์ด์ ์ฒ์ ์ด ๋ ๋ฐ๋๋ค. ์ด PC ์ ์๋ ๊ธ๊ผด์ ๋ชฉ๋ก์์ ๋น ์ง๋ค.
|
|
72
|
+
*
|
|
73
|
+
* `{ label: '', stack: '' }` ํญ๋ชฉ์ "๊ธฐ๋ณธ ๊ธ๊ผด"(์์ ์ง์ฐ๊ธฐ) ์ด๋ค.
|
|
57
74
|
*/
|
|
58
|
-
|
|
75
|
+
fonts?: ReadonlyArray<FontFamily>;
|
|
76
|
+
/** ๊ธ์ ํฌ๊ธฐ ๋๋กญ๋ค์ด ๋ชฉ๋ก(pt). ๊ธฐ๋ณธ 8 ~ 48pt. */
|
|
77
|
+
fontSizes?: ReadonlyArray<number>;
|
|
78
|
+
}
|
|
79
|
+
/** `onError` ์ ์ค๋ฅ ์ข
๋ฅ. */
|
|
80
|
+
export type EditorErrorCode = 'upload' | 'paste';
|
|
81
|
+
/**
|
|
82
|
+
* ๊ทธ๋ฆผ ยท ํ์ผ ์ฌ๋ฆฌ๊ธฐ ์ค์ . ๋ ์ค ํ๋๋ฅผ ์ค๋ค.
|
|
83
|
+
*
|
|
84
|
+
* - `url` โ ๊ทธ ์ฃผ์๋ก `multipart/form-data`(ํ๋ `file`, `kind`) ๋ฅผ POST ํ๊ณ ,
|
|
85
|
+
* ์๋ต JSON ์ `url` ์ ์ด๋ค. ์ธ์ฆ์ด ํ์ํ๋ฉด `headers`.
|
|
86
|
+
* - `handler` โ ์ง์ ์ฌ๋ฆฌ๊ณ ์ฃผ์๋ฅผ ๋๋ ค์ค๋ค (S3 ์๋ช
URL ๋ฑ).
|
|
87
|
+
*/
|
|
88
|
+
/**
|
|
89
|
+
* ์ฝ๋ ๋ธ๋ก ์์น ๊ธฐ. `highlight` ๋ ๊ธ์ ๋ฐ์ HTML ์ ๋๋ ค์ค๋ค. ๊ฒฐ๊ณผ๋ `<span class>`
|
|
90
|
+
* ๋ง ๋จ๊ธฐ๊ณ ๊ฑธ๋ฌ์ ๋ฃ์ผ๋ฏ๋ก, ๋ค๋ฅธ ํ๊ทธ๋ ์์ฑ์ ๋ฌด์๋๋ค.
|
|
91
|
+
*/
|
|
92
|
+
export interface CodeHighlighter {
|
|
93
|
+
/** ์ธ์ด ๊ณ ๋ฅด๊ธฐ ๋ชฉ๋ก. `id` ๋ `<code data-language>` ์ ์ ์ฅ๋๋ค. */
|
|
94
|
+
languages: ReadonlyArray<{
|
|
95
|
+
id: string;
|
|
96
|
+
label: string;
|
|
97
|
+
}>;
|
|
98
|
+
highlight(code: string, languageId: string | undefined): string;
|
|
99
|
+
}
|
|
100
|
+
export interface UploadOptions {
|
|
101
|
+
url?: string;
|
|
102
|
+
/** `url` ๋ก ๋ณด๋ผ ๋ ๋ถ์ผ ํค๋. ํจ์๋ฉด ๋ณด๋ผ ๋๋ง๋ค ๋ถ๋ฌ ์ต์ ํ ํฐ์ ์ด๋ค. */
|
|
103
|
+
headers?: Record<string, string> | (() => Record<string, string>);
|
|
104
|
+
handler?: (file: File, kind: 'image' | 'file') => Promise<string>;
|
|
105
|
+
/** ์ฌ๋ฆด ์ ์๋ ์ต๋ ํฌ๊ธฐ(๋ฐ์ดํธ). ๋์ผ๋ฉด ์ฌ๋ฆฌ์ง ์๊ณ `onError('upload')`. */
|
|
106
|
+
maxSize?: number;
|
|
59
107
|
}
|
|
60
108
|
export declare const DEFAULT_TOOLBAR: ToolbarConfig;
|
|
61
109
|
// (์์ค๋งต์ CJS ์ ์ธ ์ฌ๋ณธ์์ ์ ์ธ๋จ โ scripts/finalize-types.mjs)
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import type { ToolbarConfig, ToolbarItemName } from '../types/index.cjs';
|
|
2
2
|
export interface ToolbarHandlers {
|
|
3
3
|
onAction: (name: ToolbarItemName, anchor: HTMLElement) => void;
|
|
4
|
+
/** ํด๋ฐ์์ Esc โ ๋ณธ๋ฌธ์ผ๋ก ๋์๊ฐ๋ค. */
|
|
5
|
+
onEscape: () => void;
|
|
4
6
|
}
|
|
5
7
|
export declare class Toolbar {
|
|
6
8
|
readonly element: HTMLDivElement;
|
|
7
9
|
private buttons;
|
|
8
10
|
constructor(config: ToolbarConfig, handlers: ToolbarHandlers);
|
|
11
|
+
/** ํด๋ฐ์ ์๋ ํญ๋ชฉ ์ด๋ฆ๋ค. */
|
|
12
|
+
names(): ToolbarItemName[];
|
|
13
|
+
/** ํด๋ฐ๋ก ํฌ์ปค์ค๋ฅผ ์ฎ๊ธด๋ค (Alt+F10). ๋ง์ง๋ง์ผ๋ก ๋จธ๋ฌธ ๋ฒํผ, ์์ผ๋ฉด ์ฒซ ๋ฒํผ. */
|
|
14
|
+
focus(): void;
|
|
15
|
+
/** ์์ค ๋ณด๊ธฐ์ฒ๋ผ ํด๋ฐ ๋๋ถ๋ถ์ ์ ๊ธ ๋. `except` ๋ ๊ณ์ ์ธ ์ ์๋ค. */
|
|
16
|
+
setAllEnabled(enabled: boolean, except: ToolbarItemName): void;
|
|
17
|
+
private focusable;
|
|
18
|
+
private handleKeydown;
|
|
9
19
|
setActive(name: ToolbarItemName, active: boolean): void;
|
|
10
20
|
setEnabled(name: ToolbarItemName, enabled: boolean): void;
|
|
11
21
|
/** ์กฐ๊ฑด๋ถ ํญ๋ชฉ์ ์์ ํ ์จ๊ธด๋ค (display:none). ํ์ฉ ๋ธ๋ก์ผ๋ก ๋์์ค๋ฉด ๋ค์ ๋ณด์. */
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** ์ค ๊ฐ๊ฒฉ(%). ํ๊ธ์ ๊ธฐ๋ณธ๊ฐ 160% ๋ฅผ ํฌํจํ๋ค. */
|
|
2
|
+
export declare const LINE_HEIGHTS: ReadonlyArray<number>;
|
|
3
|
+
/** ์๊ฐ(em ์ ๋ฐฑ๋ถ์จ). ํ๊ธ์ ์๊ฐ -5% ๋ letter-spacing: -0.05em ์ด๋ค. */
|
|
4
|
+
export declare const LETTER_SPACINGS: ReadonlyArray<number>;
|
|
5
|
+
/** ์ค ๊ฐ๊ฒฉ ๋๋กญ๋ค์ด. `current` ๋ ์ง๊ธ ๋ธ๋ก์ line-height(%), ๋ชจ๋ฅด๋ฉด null. */
|
|
6
|
+
export declare function openLineHeightDropdown(anchor: HTMLElement, onPick: (percent: number) => void, current: number | null): void;
|
|
7
|
+
/** ์๊ฐ ๋๋กญ๋ค์ด. ๊ฐ์ em ์ ๋ฐฑ๋ถ์จ(-5 โ -0.05em). */
|
|
8
|
+
export declare function openLetterSpacingDropdown(anchor: HTMLElement, onPick: (percent: number) => void, current: number | null): void;
|
|
9
|
+
/** ํน์ ๋ฌธ์ ํ. ๊ณ ๋ฅด๋ฉด `onPick(char)` โ ํ์ค๋ฒ๋ ์ด์ด ๋๋ค(์ฌ๋ฌ ๊ฐ ๋ฃ๊ธฐ). */
|
|
10
|
+
export declare function openSpecialCharDropdown(anchor: HTMLElement, onPick: (char: string) => void): void;
|
|
11
|
+
interface Match {
|
|
12
|
+
range: Range;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* ๋ณธ๋ฌธ ์ ๊ธ์ ๊ฒ์. ๋ธ๋ก๋ง๋ค ํ
์คํธ ๋
ธ๋๋ฅผ ์ด์ด ๋ถ์ธ ๋ฌธ์์ด์์ ์ฐพ์ผ๋ฏ๋ก
|
|
16
|
+
* ๊ตต๊ฒ ยท ์ ๊ฐ์ ์์ ๊ฒฝ๊ณ๋ฅผ ๋๋ ๋ฑ๋ง๋ ์ฐพ๋๋ค. ๋ธ๋ก ๊ฒฝ๊ณ๋ ๋์ง ์๋๋ค.
|
|
17
|
+
*/
|
|
18
|
+
export declare function findInContent(root: HTMLElement, query: string, matchCase: boolean): Match[];
|
|
19
|
+
export interface FindPanelHost {
|
|
20
|
+
content: HTMLElement;
|
|
21
|
+
/** ๋ฐ๊พธ๊ธฐ ์ ์ ๋ถ๋ฅธ๋ค โ ์ด๋ ฅ์ด ํ ๋จ๊ณ๋ก ๋ฌถ์ด๋๋ก. */
|
|
22
|
+
beforeChange(): void;
|
|
23
|
+
/** ๋ฐ๊พผ ๋ค์ ๋ถ๋ฅธ๋ค. */
|
|
24
|
+
afterChange(): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* ์ฐพ๊ธฐ ยท ๋ฐ๊พธ๊ธฐ ํจ๋. ์๋ํฐ ์์ชฝ์ ๋ถ๋ ์์ ๋ง๋๋ค โ ๋ชจ๋ฌ๋ก ๋์ฐ๋ฉด ์ฐพ์
|
|
28
|
+
* ์๋ฆฌ๋ฅผ ๊ฐ๋ฆฐ๋ค.
|
|
29
|
+
*/
|
|
30
|
+
export declare class FindPanel {
|
|
31
|
+
private readonly host;
|
|
32
|
+
readonly element: HTMLDivElement;
|
|
33
|
+
private readonly findInput;
|
|
34
|
+
private readonly replaceInput;
|
|
35
|
+
private readonly caseBox;
|
|
36
|
+
private readonly status;
|
|
37
|
+
private matches;
|
|
38
|
+
private index;
|
|
39
|
+
constructor(host: FindPanelHost);
|
|
40
|
+
get isOpen(): boolean;
|
|
41
|
+
open(): void;
|
|
42
|
+
close(): void;
|
|
43
|
+
/** ๋ฌธ์๊ฐ ๋ฐ๋๋ฉด ๋ค์ ์ฐพ๋๋ค (์ด๋ ค ์์ ๋๋ง). */
|
|
44
|
+
refresh(): void;
|
|
45
|
+
private search;
|
|
46
|
+
private step;
|
|
47
|
+
private paint;
|
|
48
|
+
private replaceOne;
|
|
49
|
+
private replaceAll;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* ๋ฌธ์๋ง ์ธ์ํ๋ค โ ํด๋ฐ ยท ํธ๋ค ยท ํ์ด์ง์ ๋ค๋ฅธ ๋ถ๋ถ ์์ด. ๋ณด์ด์ง ์๋ iframe
|
|
53
|
+
* ์ `getHTML()` ๊ฒฐ๊ณผ(์คํ์ผ์ด ์ธ๋ผ์ธ์ผ๋ก ๋ค์ด ์๋ค) ๋ฅผ ๋ฃ๊ณ ๊ทธ ์ฐฝ์ ์ธ์ํ๋ค.
|
|
54
|
+
* iframe ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋๋ฆฌ์ง ์๋๋ค(sandbox) โ ์ธ์๋ง ํ์ฉํ๋ค.
|
|
55
|
+
*/
|
|
56
|
+
export declare function printHtml(html: string, title: string): void;
|
|
57
|
+
export {};
|
|
58
|
+
// (์์ค๋งต์ CJS ์ ์ธ ์ฌ๋ณธ์์ ์ ์ธ๋จ โ scripts/finalize-types.mjs)
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { BlockAttrs, BlockKind } from '../core/blocks.cjs';
|
|
2
|
+
import type { FontFamily } from '../core/fonts.cjs';
|
|
3
|
+
/** contentEditable ์ ํ ์์ญ์ด ์ฌ๋ผ์ง์ง ์๋๋ก mousedown ์ ํฌ์ปค์ค ์ด๋์ ๋ง๋๋ค. */
|
|
4
|
+
export declare function preserveSelection(el: HTMLElement): void;
|
|
2
5
|
export declare const COLOR_PALETTE: string[];
|
|
3
6
|
export declare function openColorPicker(anchor: HTMLElement, onPick: (color: string | null) => void, recents?: ReadonlyArray<string>): void;
|
|
4
7
|
/**
|
|
@@ -12,46 +15,30 @@ export interface BlockTypeChoice {
|
|
|
12
15
|
}
|
|
13
16
|
export declare function openBlockTypeDropdown(anchor: HTMLElement, onPick: (choice: BlockTypeChoice) => void): void;
|
|
14
17
|
export declare function openAlignDropdown(anchor: HTMLElement, onPick: (value: 'left' | 'center' | 'right' | 'justify') => void): void;
|
|
15
|
-
export interface FontFamilyChoice {
|
|
16
|
-
id: string;
|
|
17
|
-
label: string;
|
|
18
|
-
stack: string;
|
|
19
|
-
}
|
|
20
18
|
/**
|
|
21
|
-
* ๊ธ๊ผด
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* - `currentId` ๊ฐ ์ง์ ๋๋ฉด ํด๋น ๊ธ๊ผด ํญ๋ชฉ์ `aw-popover-item-active` ์ ์ฉ
|
|
25
|
-
* - ์ ํ ์ `onPick(choice)` ํธ์ถ + ํ์ค๋ฒ ๋ซํ
|
|
19
|
+
* ๊ธ๊ผด ๋๋กญ๋ค์ด. ํญ๋ชฉ ์ด๋ฆ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ('๊ฐA') ๋ง ๊ทธ ๊ธ๊ผด๋ก ๊ทธ๋ฆฐ๋ค.
|
|
20
|
+
* ์ด PC ์ ์๋ ๊ธ๊ผด์ ํ์ธ๋๋ ๋๋ก ๋ชฉ๋ก์์ ๋น ์ง๋ค.
|
|
26
21
|
*/
|
|
27
|
-
export declare function openFontFamilyDropdown(anchor: HTMLElement, onPick: (
|
|
22
|
+
export declare function openFontFamilyDropdown(anchor: HTMLElement, fonts: ReadonlyArray<FontFamily>, onPick: (font: FontFamily) => void, current?: FontFamily | null): void;
|
|
28
23
|
export interface CodeLanguageChoice {
|
|
29
24
|
id: string;
|
|
30
25
|
label: string;
|
|
31
26
|
}
|
|
32
27
|
/**
|
|
33
|
-
* ์ฝ๋ ๋ธ๋ก์ ์ธ์ด ์ ํ ๋๋กญ๋ค์ด.
|
|
28
|
+
* ์ฝ๋ ๋ธ๋ก์ ์ธ์ด ์ ํ ๋๋กญ๋ค์ด. ์์น ๊ธฐ(`highlighter.languages`) ์ ๋ชฉ๋ก์ ๋ณด์ฌ ์ค๋ค.
|
|
34
29
|
*
|
|
35
30
|
* - `currentId` ๊ฐ ์ผ์นํ๋ ํญ๋ชฉ์ active(โ) ํ์
|
|
36
31
|
* - ์ ํ ์ onPick(choice) ํธ์ถ + ํ์ค๋ฒ ๋ซํ
|
|
37
32
|
*/
|
|
38
|
-
export declare function openCodeLanguageDropdown(anchor: HTMLElement, onPick: (choice: CodeLanguageChoice) => void, currentId?: string): void;
|
|
39
|
-
export type TableMenuAction = 'rowAbove' | 'rowBelow' | 'colLeft' | 'colRight' | 'deleteRow' | 'deleteCol';
|
|
33
|
+
export declare function openCodeLanguageDropdown(anchor: HTMLElement, languages: ReadonlyArray<CodeLanguageChoice>, onPick: (choice: CodeLanguageChoice) => void, currentId?: string): void;
|
|
34
|
+
export type TableMenuAction = 'rowAbove' | 'rowBelow' | 'colLeft' | 'colRight' | 'deleteRow' | 'deleteCol' | 'mergeCells' | 'splitCell';
|
|
40
35
|
/**
|
|
41
36
|
* ํ ํธ์ง ๋๋กญ๋ค์ด โ ํ/์ด ์ถ๊ฐยท์ญ์ . ํ์ฑ ๋ธ๋ก์ด table ์ผ ๋๋ง ์๋ฏธ๊ฐ ์์ด
|
|
42
37
|
* AerizEditor ๊ฐ toolbar 'tableMenu' ํญ๋ชฉ ํด๋ฆญ ์์ ์ ํธ์ถ.
|
|
43
38
|
*/
|
|
44
|
-
export declare function openTableMenuDropdown(anchor: HTMLElement, onPick: (action: TableMenuAction) => void): void;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* ๊ธ์ ํฌ๊ธฐ ํ๋ฆฌ์
๋๋กญ๋ค์ด. FONT_SIZES ์ px ๊ฐ์ ์์ ๋ผ๋ฒจ๋ก ๋์ด.
|
|
50
|
-
*
|
|
51
|
-
* - `currentPx` ๊ฐ ์ผ์นํ๋ ํญ๋ชฉ์ active ํ์
|
|
52
|
-
* - ์ ํ ์ `onPick({ px })` ํธ์ถ + ํ์ค๋ฒ ๋ซํ
|
|
53
|
-
*/
|
|
54
|
-
export declare function openFontSizeDropdown(anchor: HTMLElement, onPick: (choice: FontSizeChoice) => void, currentPx?: number): void;
|
|
39
|
+
export declare function openTableMenuDropdown(anchor: HTMLElement, onPick: (action: TableMenuAction) => void, disabled?: ReadonlySet<TableMenuAction>): void;
|
|
40
|
+
/** ๊ธ์ ํฌ๊ธฐ(pt) ๋๋กญ๋ค์ด. `current` ์ ๊ฐ์ ํญ๋ชฉ์ ํ์. */
|
|
41
|
+
export declare function openFontSizeDropdown(anchor: HTMLElement, sizes: ReadonlyArray<number>, onPick: (pt: number) => void, current?: number | null): void;
|
|
55
42
|
/**
|
|
56
43
|
* ๊ธฐ๋ฅ ๋ฏธ๊ตฌํ ๋ฉ๋ด ํญ๋ชฉ์ฉ placeholder ๋๋กญ๋ค์ด.
|
|
57
44
|
* ํญ๋ชฉ๋ช
๋ง ๋
ธ์ถํ๊ณ "์ค๋น ์ค" ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋ค.
|
|
@@ -67,4 +54,6 @@ export interface TableSizeChoice {
|
|
|
67
54
|
cols: number;
|
|
68
55
|
}
|
|
69
56
|
export declare function openTableDropdown(anchor: HTMLElement, onPick: (choice: TableSizeChoice) => void): void;
|
|
57
|
+
export declare function anchorPopover(popover: HTMLElement, anchor: HTMLElement): void;
|
|
58
|
+
export declare function closeAllPopovers(): void;
|
|
70
59
|
// (์์ค๋งต์ CJS ์ ์ธ ์ฌ๋ณธ์์ ์ ์ธ๋จ โ scripts/finalize-types.mjs)
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import type { EditorOptions, SerializeHtmlOptions } from '../types/index.js';
|
|
2
2
|
import { Toolbar } from '../ui/Toolbar.js';
|
|
3
|
-
import type { Block, BlockAttrs, BlockKind, BlockSnapshot } from './blocks.js';
|
|
3
|
+
import type { Block, BlockAttrs, BlockKind, BlockSnapshot, InlineMarkName } from './blocks.js';
|
|
4
4
|
export type { Block, BlockAttrs, BlockKind, BlockMatch, BlockSnapshot, BlockType, ClassifyResult, HeadingLevel, } from './blocks.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
/**
|
|
6
|
+
* ์ปค์ ์์น์์ ์ผ์ ธ ์๋ ์ธ๋ผ์ธ ๋งํฌ๋ค.
|
|
7
|
+
*
|
|
8
|
+
* ๋งํฌ ๋ชฉ๋ก์ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๋ค โ ๋งํฌ๋ฅผ ํ๋ ๋๋ฆด ๋ ์ด ํ์
ยท ์ํ ์์ง ยท
|
|
9
|
+
* ํด๋ฐ ๋๊ธฐํ๋ฅผ ๊ฐ๊ฐ ๊ณ ์น๋ฉด ๋ฐ๋์ ํ ๊ตฐ๋ฐ๋ฅผ ๋น ๋จ๋ฆฐ๋ค (๊ทธ๋ฌ๋ฉด ๋ฒํผ์ด ๋๋ฆฌ๊ธด
|
|
10
|
+
* ํ๋๋ฐ ๋๋ฆฐ ํ์๊ฐ ์ ๋๋ ์์ผ๋ก ์ด๊ธ๋๋ค).
|
|
11
|
+
*/
|
|
12
|
+
export type InlineState = Record<InlineMarkName, boolean>;
|
|
11
13
|
export interface EditorState {
|
|
12
14
|
blocks: Block[];
|
|
13
15
|
activeBlockId: string | null;
|
|
@@ -31,20 +33,39 @@ export declare class AerizEditor {
|
|
|
31
33
|
private readonly statusBlockEl;
|
|
32
34
|
private readonly statusBlocksEl;
|
|
33
35
|
private readonly statusCharsEl;
|
|
34
|
-
private readonly statusSourceEl;
|
|
35
36
|
private readonly options;
|
|
36
37
|
private readonly observer;
|
|
37
38
|
private readonly blockIds;
|
|
38
39
|
private readonly idFor;
|
|
39
40
|
private readonly listeners;
|
|
40
41
|
private readonly handleSelectionChange;
|
|
42
|
+
/**
|
|
43
|
+
* ๋ฌธ์ ์ ์ฒด์ selectionchange. **์ ํ์ด ์ด ์๋ํฐ ์์ ์์ ๋๋ง** ๋ฐ์ํ๋ค.
|
|
44
|
+
* ๊ฐ์ ํ์ด์ง์ ์ ๋ชฉ ์
๋ ฅ๋์์ ํ์๋ฅผ ์น ๋๋ ์ด ์ด๋ฒคํธ๊ฐ ์ค๋๋ฐ, ๊ทธ๋๋ง๋ค
|
|
45
|
+
* ์๋ํฐ๋ฅผ ๋ค์ ๋๊ธฐํํ๋ฉด ํค ํ๋์ ์์ญ ms ๋ฅผ ์ด๋ค(1.0 ์ ๋ฌธ์ ).
|
|
46
|
+
* ์์ ์๋ค๊ฐ ๋ฐ์ผ๋ก ๋๊ฐ ์๊ฐ ํ ๋ฒ์ ๋๊ธฐํํด์ ํ์ฑ ๋ธ๋ก ํ์๋ฅผ ์ง์ด๋ค.
|
|
47
|
+
*/
|
|
48
|
+
private readonly handleDocumentSelectionChange;
|
|
49
|
+
private selectionInside;
|
|
41
50
|
private readonly handleResize;
|
|
42
51
|
/** document ์ ๋ถ๋๋ค โ destroy() ์์ ๋ฐ๋์ ๋ผ์ผ ์ธ์คํด์ค๊ฐ GC ๋๋ค. */
|
|
43
52
|
private readonly handleDocumentMouseUp;
|
|
44
53
|
private state;
|
|
45
54
|
private destroyed;
|
|
46
55
|
private syncQueued;
|
|
47
|
-
|
|
56
|
+
/** ๋ฐ๋ ๋ธ๋ก๋ง ๋ค์ ๊ณ์ฐํ๊ธฐ ์ํ ์ฅ๋ถ. */
|
|
57
|
+
private tracker;
|
|
58
|
+
/** ํ์(data-block-kind ยท label) ์ ๋ค์ ๋ฌ์์ผ ํ๋ ๋ธ๋ก. */
|
|
59
|
+
private readonly markerPending;
|
|
60
|
+
/** state.blocks ๋ฅผ ๋ค์ ๋ง๋ค์ด์ผ ํ๋์ง. */
|
|
61
|
+
private blocksStale;
|
|
62
|
+
private cachedBlocks;
|
|
63
|
+
/** ํ์์ ๋จ ๋ง์ง๋ง ํ์ฑ ๋ธ๋ก. */
|
|
64
|
+
private focusedEl;
|
|
65
|
+
/** ์ค๋ฒ๋ ์ด(ํธ๋ค ยท ๋ผ๋ฒจ) ์์น ๊ณ์ฐ์ ํ๋ ์๋น ํ ๋ฒ์ผ๋ก ๋ฌถ๋ rAF ํธ๋ค. */
|
|
66
|
+
private overlayRaf;
|
|
67
|
+
/** ์ํ๋ฐ ๊ฐฑ์ ์ ํ์ดํ์ด ๋ฉ์ถ ๋ค๋ก ๋ฏธ๋ฃจ๋ ํ์ด๋จธ. */
|
|
68
|
+
private statusTimer;
|
|
48
69
|
/** ํฌ์ธํฐ๊ฐ ์ฌ๋ผ๊ฐ ์๋ ๋ธ๋ก. ๊ทธ ๋ธ๋ก์ ์ปจํธ๋กค๋ง ๋๋ฌ๋ธ๋ค. */
|
|
49
70
|
private hoveredBlockId;
|
|
50
71
|
/** hover ํ์ ์ ํ๋ ์๋น 1 ํ๋ก ๋ฌถ๊ธฐ ์ํ rAF ํธ๋ค. */
|
|
@@ -94,18 +115,39 @@ export declare class AerizEditor {
|
|
|
94
115
|
* data-block-id ๋ ๋ณด์กด.
|
|
95
116
|
*/
|
|
96
117
|
getHTML(options?: SerializeHtmlOptions): string;
|
|
97
|
-
/**
|
|
98
|
-
|
|
118
|
+
/**
|
|
119
|
+
* ๋ณธ๋ฌธ์ ํต์งธ๋ก ๊ฐ์๋ผ์ด๋ค.
|
|
120
|
+
*
|
|
121
|
+
* ๋ค์ด์จ HTML ์ ์ ์ฅ์์์ ๋ฐ๋ก ์จ ๊ฐ์ผ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฅผ ๊ฑฐ์น๋ค
|
|
122
|
+
* (`renderBlock` ยท `renderBlocksToHTML` ๊ณผ ๊ฐ์ ๊ท์น). ์๋ํฐ๊ฐ ์ค์ค๋ก ๋ง๋
|
|
123
|
+
* ์ถ๋ ฅ์๋ ๊ฑธ๋ฆด ๊ฒ์ด ์์ผ๋ ์๋ณต(`getHTML()` โ ์ ์ฅ โ `setHTML()`) ์ ๊ทธ๋๋ก๋ค.
|
|
124
|
+
*/
|
|
99
125
|
setHTML(html: string): void;
|
|
126
|
+
/**
|
|
127
|
+
* ๋ธ๋ก ์ค๋
์ท(`getBlocks()` ์ ๊ฒฐ๊ณผ ยท ์๋ฒ์ ์ ์ฅํ ๊ฐ) ์ผ๋ก ๋ณธ๋ฌธ์ ๋ฐ๊พผ๋ค.
|
|
128
|
+
* `setHTML` ๊ณผ ๊ฐ์ด ์ด๋ ฅ์ ์๋ก ์์ํ๋ค.
|
|
129
|
+
*/
|
|
130
|
+
setBlocks(blocks: readonly BlockSnapshot[]): void;
|
|
131
|
+
/** ๋ณธ๋ฌธ์ ํต์งธ๋ก ๊ฐ์๋ผ์ฐ๋ ๊ณตํต ๊ฒฝ๋ก (setHTML ยท setBlocks). */
|
|
132
|
+
private replaceDocument;
|
|
100
133
|
focus(): void;
|
|
134
|
+
private readOnly;
|
|
135
|
+
/** ์ฝ๊ธฐ ์ ์ฉ ์ผ๊ณ ๋๊ธฐ. ์ผ๋ฉด ๊ธ์ ๊ณ ์น ์ ์๊ณ ํด๋ฐ๋ ์ธ์ ยท ์ ์ฒด ํ๋ฉด๋ง ๋จ๋๋ค. */
|
|
136
|
+
setReadOnly(readOnly: boolean): void;
|
|
101
137
|
setTheme(theme: 'light' | 'dark'): void;
|
|
102
138
|
getState(): EditorState;
|
|
103
|
-
getBlocks(): Block[];
|
|
104
139
|
/**
|
|
105
|
-
*
|
|
106
|
-
*
|
|
140
|
+
* ๋ณธ๋ฌธ์ ๋ธ๋ก ์ค๋
์ท ๋ฐฐ์ด๋ก. ์๋ฒ์ ์ ์ฅํ๊ฑฐ๋ `AerizViewer.setBlocks()` ยท
|
|
141
|
+
* `setBlocks()` ๋ก ๊ทธ๋๋ก ๋์ด๋ฆด ์ ์๋ ์ง๋ ฌํ ํ์์ด๋ค.
|
|
142
|
+
*/
|
|
143
|
+
getBlocks(): BlockSnapshot[];
|
|
144
|
+
/**
|
|
145
|
+
* ๋ธ๋ก ๋ชฉ๋ก. ๊ตฌ์กฐ๋ ๋ด์ฉ์ด ๋ฐ๋ ๋ค ์ฒ์ ๋ถ๋ฅผ ๋๋ง ๋ค์ ๋ง๋ ๋ค โ ๋ฐ๋์ง
|
|
146
|
+
* ์์ ๋ธ๋ก์ ๋ถ๋ฅ ๊ฒฐ๊ณผ์ Block ๊ฐ์ฒด๋ฅผ ๊ทธ๋๋ก ์ด๋ค.
|
|
107
147
|
*/
|
|
108
|
-
|
|
148
|
+
private currentBlocks;
|
|
149
|
+
/** ๋ณธ๋ฌธ ์ง๊ณ ์์ ํ๋๋ฅผ Block ์ผ๋ก. ๋ถ๋ฅ๋ ์บ์๋ฅผ ์ด๋ค. */
|
|
150
|
+
private blockOf;
|
|
109
151
|
/**
|
|
110
152
|
* data-block-id ๋ก ๋ณธ๋ฌธ์์ ๋ธ๋ก์ ์ฐพ์ ๋ฐํ. ์์ผ๋ฉด null.
|
|
111
153
|
*/
|
|
@@ -128,6 +170,11 @@ export declare class AerizEditor {
|
|
|
128
170
|
* takeRecords ๋ก ํก์ํ ๋ค onChange + queueSync.
|
|
129
171
|
*/
|
|
130
172
|
private flush;
|
|
173
|
+
/** ์ง๊ธ ๋ณธ๋ฌธ์ผ๋ก ์ด๋ ฅ ํ ์นธ์ ๋ง๋ ๋ค. ๋ฐ๋์ง ์์ ๋ธ๋ก ๋ฌธ์์ด์ ๊ณต์ ๋๋ค. */
|
|
174
|
+
private makeHistoryEntry;
|
|
175
|
+
/** ์บ๋ฟ ์์น๋ฅผ "๋ธ๋ก ์๋ฒ + ๋ธ๋ก ์ ๊ธ์ ์คํ์
" ์ผ๋ก ์ฝ๋๋ค. */
|
|
176
|
+
private captureDocSelection;
|
|
177
|
+
private restoreDocSelection;
|
|
131
178
|
/**
|
|
132
179
|
* ์ง๊ธ ๋ณธ๋ฌธ์ ์ด๋ ฅ์ ๊ธฐ๋กํ๋ค.
|
|
133
180
|
*
|
|
@@ -165,17 +212,45 @@ export declare class AerizEditor {
|
|
|
165
212
|
redo(): void;
|
|
166
213
|
private applyHistoryEntry;
|
|
167
214
|
private handleToolbarAction;
|
|
215
|
+
/** ์ ํ ์์ญ์ด ๊ฑธ์น ๋ณธ๋ฌธ ๋ธ๋ก๋ค (์บ๋ฟ๋ง ์์ผ๋ฉด ๊ทธ ๋ธ๋ก ํ๋). */
|
|
216
|
+
private selectedTopBlocks;
|
|
217
|
+
/** ์ค ๊ฐ๊ฒฉ(%) โ ๋ธ๋ก ๋จ์. ํ๊ธ์ฒ๋ผ ๋ฌธ๋จ ์ ์ฒด์ ์ ์ฉ๋๋ค. */
|
|
218
|
+
private applyLineHeight;
|
|
219
|
+
/** ์๊ฐ โ ์ ํํ ๊ธ์์ `letter-spacing: Nem`. 0 ์ ๊ธฐ๋ณธ์ผ๋ก ๋๋๋ฆฐ๋ค. */
|
|
220
|
+
private applyLetterSpacing;
|
|
221
|
+
private findPanel;
|
|
222
|
+
/** ์ฐพ๊ธฐ ยท ๋ฐ๊พธ๊ธฐ (Ctrl+H). */
|
|
223
|
+
openFind(): void;
|
|
224
|
+
private sourceArea;
|
|
225
|
+
private sourceStart;
|
|
226
|
+
/**
|
|
227
|
+
* HTML ์์ค ๋ณด๊ธฐ โ ํธ์ง ํ๋ฉด. ์์ค์์ ๊ณ ์น ๋ด์ฉ์ ๋์์ฌ ๋ **๊ฑฐ๋ฅธ ๋ค**
|
|
228
|
+
* ๋ณธ๋ฌธ์ ๋ฃ๊ณ , ๋๋๋ฆฌ๊ธฐ ํ ๋ฒ์ผ๋ก ์์ค ํธ์ง ์ ์ฒด๋ฅผ ๋๋๋ฆด ์ ์๋ค.
|
|
229
|
+
*/
|
|
230
|
+
toggleSource(): void;
|
|
231
|
+
private fullscreenScroll;
|
|
232
|
+
/** ์ ์ฒด ํ๋ฉด โ ์๋ํฐ๊ฐ ์ฐฝ์ ๊ฝ ์ฑ์ด๋ค. Esc ๋ก ๋์จ๋ค. */
|
|
233
|
+
toggleFullscreen(): void;
|
|
168
234
|
/**
|
|
169
235
|
* ์ ํ ์์ญ์ ์ธ๋ผ์ธ ์์์ ์ง์ด๋ค. ๋ธ๋ก ์ ํ์ ๊ฑด๋๋ฆฌ์ง ์๋๋ค โ
|
|
170
236
|
* "์์ ์ง์ฐ๊ธฐ" ๋ก ์ ๋ชฉ์ด ๋ณธ๋ฌธ์ด ๋๋ฉด ๋๋๋ฆด ๋ฐฉ๋ฒ์ ์ฐพ๊ธฐ ์ด๋ ต๋ค.
|
|
171
237
|
*/
|
|
172
238
|
private clearInlineFormat;
|
|
173
239
|
/**
|
|
174
|
-
* ์ธ๋ผ์ธ ๋งํฌ
|
|
175
|
-
*
|
|
176
|
-
*
|
|
240
|
+
* ์ธ๋ผ์ธ ๋งํฌ ํ ๊ธ. ํ์ฑ ๋ธ๋ก์ allowedMarks ์ ํฌํจ๋์ง ์์ ๋งํฌ๋ฉด ๋ฌด์.
|
|
241
|
+
* styleWithCSS=true ๋ชจ๋๋ก deprecated ํ๊ทธ(<b>/<i>/<u>) ๋์
|
|
242
|
+
* `<span style="font-weight:bold">` ํํ๊ฐ ๋ง๋ค์ด์ง๋ค.
|
|
243
|
+
*
|
|
244
|
+
* ๋งํฌ ์ด๋ฆ๊ณผ execCommand ๋ช
๋ น๋ช
์ด ๋ค๋ฅธ ๊ฒ๋ง {@link MARK_COMMAND} ๋ก ์ฎ๊ธด๋ค.
|
|
245
|
+
*
|
|
246
|
+
* **์/์๋ ์ฒจ์๋ง styleWithCSS ๋ฅผ ๋๋ค.** ์ผ ๋๋ฉด Chrome ์ด `<sub>` ๋์
|
|
247
|
+
* `<span style="vertical-align: sub">` ๋ฅผ ๋ง๋๋๋ฐ, ๊ทธ span ์
|
|
248
|
+
* - ๊ธ์๊ฐ ์์์ง์ง ์์ ์ฒจ์๋ก ๋ณด์ด์ง ์๊ณ ,
|
|
249
|
+
* - ์คํฌ๋ฆฐ ๋ฆฌ๋๊ฐ ์ฒจ์๋ก ์ฝ์ง ์์ผ๋ฉฐ,
|
|
250
|
+
* - ๋งํฌ๋ค์ด ๋ด๋ณด๋ด๊ธฐ๊ฐ `<sub>` / `<sup>` **ํ๊ทธ**๋ฅผ ๋ณด๊ณ ํ๋จํ๋ฏ๋ก ์ฒจ์๊ฐ
|
|
251
|
+
* ํต์งธ๋ก ์ฌ๋ผ์ง๋ค.
|
|
177
252
|
*
|
|
178
|
-
*
|
|
253
|
+
* ๋๋จธ์ง ๋งํฌ๋ ๋ฐ๋๋ค โ deprecated ๋ `<b>` / `<i>` ๋์ style ์ ์ํ๋ค.
|
|
179
254
|
*/
|
|
180
255
|
private applyMark;
|
|
181
256
|
/**
|
|
@@ -230,14 +305,11 @@ export declare class AerizEditor {
|
|
|
230
305
|
* ๊ฐ ํญ์ ์ฐ์ ํ๋๋ก setProperty('important') ๋ก ๋ฐ๋๋ค.
|
|
231
306
|
*/
|
|
232
307
|
private applyCellBgToCells;
|
|
233
|
-
/**
|
|
308
|
+
/**
|
|
309
|
+
* ํ ํธ์ง ๋๋กญ๋ค์ด์์ ๋ฐ์ ์ก์
์ ์คํํ๋ค. ํ ยท ์ด ๊ณ์ฐ์ ๋ณํฉ ์
์ ์๋
|
|
310
|
+
* ๊ฒฉ์ ๋ชจ๋ธ(`table-grid`) ์ด ๋งก๋๋ค โ DOM ์ ์
์๋ฒ์ ์ด ๋ฒํธ๊ฐ ์๋๋ค.
|
|
311
|
+
*/
|
|
234
312
|
private runTableMenu;
|
|
235
|
-
/** ํ์ฑ ์
์ ํ ์/์๋์ ์ ํ ์ฝ์
. ๊ฐ์ ์ด ์, ๋น td ๋ก ์ฑ์. */
|
|
236
|
-
private insertRow;
|
|
237
|
-
/** ํ์ฑ ์
์ด ์ํ ์ด์ ์ข/์ฐ์ ์ ์ด ์ฝ์
. ๋ชจ๋ ํ์ ๋น td ์ถ๊ฐ. */
|
|
238
|
-
private insertColumn;
|
|
239
|
-
/** ํ์ฑ ์
์ ํ ์ ์ฒด ์ญ์ . ๋ง์ง๋ง ํ์ด๋ฉด ๋ณด์กด(๋น ํ ํํผ). */
|
|
240
|
-
private deleteRow;
|
|
241
313
|
/**
|
|
242
314
|
* ์ฝ๋ ๋ธ๋ก input ๋ง๋ค ํธ์ถ๋๋ debounced rehighlight. ํ์ฑ ๋ธ๋ก์ด codeBlock
|
|
243
315
|
* ์ด๊ณ data-language ๊ฐ ์ค์ ๋ผ ์์ ๋๋ง ๋์ โ ํ์ดํ ๋ฉ์ถ ๋ค 300ms ํ 1 ํ.
|
|
@@ -254,13 +326,17 @@ export declare class AerizEditor {
|
|
|
254
326
|
* code ์์ ์๋ค๋ฉด textContent offset ์ผ๋ก caret ์์น ๋ณด์กด.
|
|
255
327
|
*/
|
|
256
328
|
private rehighlightCode;
|
|
329
|
+
/**
|
|
330
|
+
* ์ฝ๋ ๊ธ์ `<code>` ์์ ๋ฃ์ HTML ๋ก. ์์น ๊ธฐ๊ฐ ์์ผ๋ฉด ๊ธ์ ๊ทธ๋๋ก(escape),
|
|
331
|
+
* ์์ผ๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ `<span class>` ๋ง ๋จ๊ธฐ๊ณ ๊ฑฐ๋ฅธ๋ค โ ๋ฐ๊นฅ ์์น ๊ธฐ๊ฐ ๋๋ ค์ค
|
|
332
|
+
* HTML ์ด ๋ณธ๋ฌธ์ ์คํฌ๋ฆฝํธ๋ ์ด๋ฒคํธ ์์ฑ์ ๋ค์ด์ง ๋ชปํ๊ฒ.
|
|
333
|
+
*/
|
|
334
|
+
private codeHtml;
|
|
257
335
|
/**
|
|
258
336
|
* ๋ณธ๋ฌธ์์ ๋ชจ๋ codeBlock ์ ์ํํ๋ฉฐ highlight ์ ์ฉ. setHTML / ์ด๊ธฐ ๋ก๋
|
|
259
337
|
* / ์ธ๋ถ import ํ ํธ์ถ.
|
|
260
338
|
*/
|
|
261
339
|
private rehighlightAllCodeBlocks;
|
|
262
|
-
/** ํ์ฑ ์
์ ์ด ์ ์ฒด ์ญ์ . ๋ง์ง๋ง ์ด์ด๋ฉด ๋ณด์กด(๋น ํ ํํผ). */
|
|
263
|
-
private deleteColumn;
|
|
264
340
|
/**
|
|
265
341
|
* ๋ง์ฐ์ค ์ด๋ ์ ์
์ฐ/ํ ๊ฐ์ฅ์๋ฆฌ์์ col-resize / row-resize ์ปค์ ํ์.
|
|
266
342
|
* ๋๋๊ทธ ์งํ ์ค์๋ ๋ณ๋ ํธ๋ค๋ฌ๊ฐ cursor ๋ฅผ ๊ด๋ฆฌํ๋ฏ๋ก skip.
|
|
@@ -285,6 +361,28 @@ export declare class AerizEditor {
|
|
|
285
361
|
* ์ฌ์ด์ ์บ๋ฟ์ด ํญ๋ชฉ ์์ผ๋ก ๋ค์ด๊ฐ ํ๋ฉด์ด ํ ๋ฒ ํ๋ค๋ฆฐ๋ค.
|
|
286
362
|
*/
|
|
287
363
|
private handleTaskToggle;
|
|
364
|
+
/**
|
|
365
|
+
* ์ฝ์์์ ์์ด์ฝ ์๋ฆฌ๋ฅผ ๋๋ฅด๋ฉด ์ข
๋ฅ๋ฅผ ์ํ์ํจ๋ค
|
|
366
|
+
* (์๋ด โ ๋์๋ง โ ์ฃผ์ โ ๊ฒฝ๊ณ โ ์๋ด).
|
|
367
|
+
*
|
|
368
|
+
* ์ข
๋ฅ๋ง๋ค ๋ฉ๋ด ํญ๋ชฉ์ ๋ฐ๋ก ๋๋ฉด ์ฝ์
๋ฉ๋ด๊ฐ ์ฝ์์ ๋ท์ผ๋ก ๋ค๋ฎ์ธ๋ค. ๋ฐ๋๋ก
|
|
369
|
+
* ์ข
๋ฅ๋ฅผ ๋ฐ๊ฟ ๋ฐฉ๋ฒ์ด ์์ ์์ผ๋ฉด ์๋ด ํ๋๋ง ์ธ ์ ์๋ ๋ฐ์ชฝ ๊ธฐ๋ฅ์ด ๋๋ค.
|
|
370
|
+
* ์ฒดํฌ๋ฆฌ์คํธ์ ์ฒดํฌ๋ฐ์ค ยท ํ ๊ธ์ ํ์๊ณผ ๊ฐ์ "์ผ์ชฝ ์ฌ๋ฐฑ์ ๋๋ฅธ๋ค" ๊ท์น์
|
|
371
|
+
* ์ฌ์ฌ์ฉํด, ์๋ก ๋ฐฐ์ธ ๊ฒ ์์ด ์๋ฆฌ๋ง ์๋ฉด ๋๊ฒ ํ๋ค.
|
|
372
|
+
*/
|
|
373
|
+
private handleCalloutVariantClick;
|
|
374
|
+
/**
|
|
375
|
+
* ํ ๊ธ์ ์์ฝ ์ค์ ํด๋ฆญํ์ ๋ ์ ๊ธฐ/ํด๊ธฐ๋ฅผ ํ ์ง ์ ํ๋ค.
|
|
376
|
+
*
|
|
377
|
+
* `<details>` ๋ ์์ฝ ์ค **์ด๋๋ฅผ ๋๋ฌ๋** ์ด๋ฆฌ๊ณ ๋ซํ๋ค. ํธ์ง ์ค์๋ ๊ทธ๊ฒ
|
|
378
|
+
* ๋ฐฉํด๊ฐ ๋๋ค โ ์ ๋ชฉ์ ์คํ๋ฅผ ๊ณ ์น๋ ค๊ณ ์บ๋ฟ์ ์ฎ๊ธธ ๋๋ง๋ค ๋ธ๋ก์ด ์ ํ์
|
|
379
|
+
* ๋ฐฉ๊ธ ์ฐ๋ ๋ณธ๋ฌธ์ด ์ฌ๋ผ์ง๋ค.
|
|
380
|
+
*
|
|
381
|
+
* ๊ทธ๋์ ์ผ๊ฐํ ํ์ ์๋ฆฌ๋ฅผ ๋๋ฅธ ๊ฒ๋ง ์ ๊ธฐ/ํด๊ธฐ๋ก ๋ณด๊ณ , ๊ธ์ ์๋ฆฌ๋ฅผ ๋๋ฅธ
|
|
382
|
+
* ๊ฒ์ ์บ๋ฟ ์ด๋์ผ๋ก๋ง ๋๋ค. ์ฒดํฌ๋ฆฌ์คํธ ์ฒดํฌ๋ฐ์ค์ ๊ฐ์ ํ์ ๋ฐฉ์์ด๋ผ
|
|
383
|
+
* ์ฌ์ฉ์๊ฐ ๊ท์น์ ์๋ก ๋ฐฐ์ธ ํ์๊ฐ ์๋ค.
|
|
384
|
+
*/
|
|
385
|
+
private handleToggleSummaryClick;
|
|
288
386
|
/**
|
|
289
387
|
* ์ด๋ฏธ์ง ์บก์
(`<figcaption>`) ์ ์บ๋ฟ์ ๋๋ค. ์์ผ๋ฉด ๋ง๋ ๋ค.
|
|
290
388
|
*
|
|
@@ -321,11 +419,8 @@ export declare class AerizEditor {
|
|
|
321
419
|
* ๋น์ด ์์ผ๋ฉด(์บ๋ฟ๋ง) ๋ค์ ์
๋ ฅ ๊ธ๊ผด์ด ๊ฒฐ์ ๋๋ค(๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ๋์).
|
|
322
420
|
*/
|
|
323
421
|
private applyFontFamily;
|
|
324
|
-
/**
|
|
325
|
-
|
|
326
|
-
* FONT_FAMILIES id ์ ๋งค์นญ. ๊ธ๊ผด ๋๋กญ๋ค์ด์ active ํ์์ ์ฌ์ฉ.
|
|
327
|
-
*/
|
|
328
|
-
private detectActiveFontId;
|
|
422
|
+
/** ์บ๋ฟ ์์น ์์์ ๊ณ์ฐ๋ ์คํ์ผ. ๋๋กญ๋ค์ด์ "์ง๊ธ ๊ฐ" ํ์์ ์ด๋ค. */
|
|
423
|
+
private computedStyleAtCaret;
|
|
329
424
|
/**
|
|
330
425
|
* ์ ํ ์์ญ์ ๊ธ์ ํฌ๊ธฐ๋ฅผ ์ ์ฉํ๋ค. execCommand('fontSize') ๋ 1~7 ๋ง ๋ฐ๊ธฐ
|
|
331
426
|
* ๋๋ฌธ์ px ์ ์ฉ์ ์ํด Range API ๋ก ์ง์ `<span style="font-size: Xpx">`
|
|
@@ -337,11 +432,11 @@ export declare class AerizEditor {
|
|
|
337
432
|
*/
|
|
338
433
|
private applyFontSize;
|
|
339
434
|
/**
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
*
|
|
435
|
+
* ์ ํํ ๊ธ์๋ฅผ `<span style>` ๋ก ๊ฐ์ผ๋ค. `execCommand` ๋ ๊ธ์ ํฌ๊ธฐ๋ฅผ 1~7
|
|
436
|
+
* ๋จ๊ณ๋ก๋ง ๋ฐ๊ณ ์๊ฐ์ ์์ ์์ด ์ง์ ๊ฐ์ผ๋ค. ์บ๋ฟ๋ง ์์ผ๋ฉด ๋น span ์ ๋์ด
|
|
437
|
+
* ๋ค์์ ์น ๊ธ์๊ฐ ๊ทธ ์์์ ๋ฐ๊ฒ ํ๋ค.
|
|
343
438
|
*/
|
|
344
|
-
private
|
|
439
|
+
private wrapSelectionStyle;
|
|
345
440
|
/**
|
|
346
441
|
* ๋ธ๋ก ์ ํ ๋๋กญ๋ค์ด์ ์ด์ด ์ฌ์ฉ์ ์ ํ ๊ฒฐ๊ณผ๋ฅผ ์ฒ๋ฆฌํ๋ค.
|
|
347
442
|
* ํด๋ฐ์ blockType ๋ฒํผ / ํ์ฑ ๋ธ๋ก ๋ผ๋ฒจ pill ์์ชฝ ์ง์
์ ์ด ๋์ผํ ๋ถ๊ธฐ
|
|
@@ -384,19 +479,25 @@ export declare class AerizEditor {
|
|
|
384
479
|
*/
|
|
385
480
|
private openFileAttachmentDialogAndApply;
|
|
386
481
|
/**
|
|
387
|
-
*
|
|
388
|
-
*
|
|
389
|
-
*
|
|
390
|
-
*/
|
|
391
|
-
private resolveFileUploadFn;
|
|
392
|
-
/**
|
|
393
|
-
* ์ด๋ฏธ์ง ์
๋ก๋ ํธ๋ค๋ฌ๋ฅผ ๊ฒฐ์ . options.onImageUpload ๊ฐ ์ฐ์ ์ด๋ฉฐ, ์์ผ๋ฉด
|
|
394
|
-
* options.imageUploadUrl ๋ก multipart/form-data POST ํ ์๋ต JSON ์
|
|
395
|
-
* `url` ํ๋๋ฅผ ์ฌ์ฉ. ๋ ๋ค ์์ผ๋ฉด undefined โ ๋ค์ด์ผ๋ก๊ทธ ์
๋ก๋ ํญ ๋นํ์ฑ.
|
|
482
|
+
* ์ฌ๋ฆฌ๊ธฐ ํจ์. `upload.handler` ๊ฐ ์์ผ๋ฉด ๊ทธ๊ฒ, `upload.url` ์ด ์์ผ๋ฉด ๊ทธ ์ฃผ์๋ก
|
|
483
|
+
* POST. ๋ ๋ค ์์ผ๋ฉด undefined โ ๋ค์ด์ผ๋ก๊ทธ์ "์ฌ๋ฆฌ๊ธฐ" ํญ์ด ๊บผ์ง๋ค.
|
|
484
|
+
* ํฌ๊ธฐ ์ ํ ยท ์ค๋ฅ ๋ณด๊ณ ๋ ์ฌ๊ธฐ์ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋ค.
|
|
396
485
|
*/
|
|
397
|
-
private
|
|
486
|
+
private uploader;
|
|
487
|
+
private reportError;
|
|
398
488
|
private queueSync;
|
|
399
489
|
private sync;
|
|
490
|
+
/**
|
|
491
|
+
* ์บ๋ฟ ์์น์ ์ธ๋ผ์ธ ๋งํฌ ์ํ.
|
|
492
|
+
*
|
|
493
|
+
* `queryCommandState` ๋ ๋ถ๋ฅผ ๋๋ง๋ค ์คํ์ผ ยท ๋ ์ด์์์ ๊ฐ์ ๋ก ๋ค์ ๊ณ์ฐํ๋ค
|
|
494
|
+
* (๋งํฌ 7๊ฐ ร ํค ํ๋). ๊ฐ์ ํ
์คํธ ๋
ธ๋ ์์์ ํ์ดํํ๋ ๋์์๋ ๊ฒฐ๊ณผ๊ฐ
|
|
495
|
+
* ๋ฐ๋์ง ์์ผ๋ฏ๋ก, ์บ๋ฟ์ด ๋์ธ ๋
ธ๋์ ๊ทธ ๋ถ๋ชจ๊ฐ ๊ฐ์ผ๋ฉด ์ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ค.
|
|
496
|
+
* ์์ ๋ช
๋ น์ ์คํํ๋ฉด {@link invalidateInlineState} ๋ก ๋ค์ ์ฝ๊ฒ ํ๋ค.
|
|
497
|
+
*/
|
|
498
|
+
private readInlineState;
|
|
499
|
+
private inlineCache;
|
|
500
|
+
private invalidateInlineState;
|
|
400
501
|
private handleKeyDown;
|
|
401
502
|
/**
|
|
402
503
|
* ๋งํฌ๋ค์ด ์
๋ ฅ ๊ท์น.
|
|
@@ -499,7 +600,20 @@ export declare class AerizEditor {
|
|
|
499
600
|
* ์ธ์ฉ๊ตฌ / ์ฝ๋ ๋ธ๋ก์ Enter ํ์ถ, ์ ๋ชฉ ๋ Enter ์ ์ฌ์ฉ.
|
|
500
601
|
*/
|
|
501
602
|
private exitBlockOnEnter;
|
|
603
|
+
/**
|
|
604
|
+
* ํธ๋ค์ **๋ณด์ด๋ ๋ธ๋ก์๋ง** ๋ง๋ ๋ค โ ์บ๋ฟ์ด ์๋ ๋ธ๋ก๊ณผ ํฌ์ธํฐ๊ฐ ์ฌ๋ผ๊ฐ
|
|
605
|
+
* ๋ธ๋ก, ๋ง์์ผ ๋ ๊ฐ๋ค.
|
|
606
|
+
*
|
|
607
|
+
* 1.0 ์ ๋ธ๋ก๋ง๋ค ํธ๋ค DOM ์ ๋ง๋ค๊ณ ์์น๋ฅผ ์ก์๋ค. ํ๋ฉด์๋ ํ๋๋ง ๋ณด์ด๋๋ฐ
|
|
608
|
+
* 190์ชฝ ๋ฌธ์์์๋ 3,000๊ฐ๋ฅผ ๋ง๋ค๊ณ ๋ธ๋ก๋ง๋ค ๋ ์ด์์์ ๋ค์ ์ฝ์ด์ ์ด๊ธฐ์๋ง
|
|
609
|
+
* 8์ด ๊ฐ๊น์ด ๊ฑธ๋ ธ๋ค(์ด๊ธฐํ ์๊ฐ์ 86%).
|
|
610
|
+
*/
|
|
502
611
|
private syncBlockHandles;
|
|
612
|
+
/**
|
|
613
|
+
* ํธ๋ค ยท ๋ผ๋ฒจ ์์น๋ ๋ค์ ํ๋ ์ ์ง์ ์ ํ ๋ฒ๋ง ๊ณ์ฐํ๋ค. ๊ฐ์ ํ๋ ์ ์์
|
|
614
|
+
* ํค ์
๋ ฅ ยท selectionchange ยท keyup ์ด ๋ ์ด์์์ ์ฌ๋ฌ ๋ฒ ๊ฐ์ ๋ก ์ฝ์ง ์๊ฒ.
|
|
615
|
+
*/
|
|
616
|
+
private scheduleOverlays;
|
|
503
617
|
/**
|
|
504
618
|
* ์ปจํธ๋กค(๋๋๊ทธ ํธ๋ค ยท ๋จ๋ฝ ์ถ๊ฐ) ์ **์ง๊ธ ๋ค๋ฃจ๊ณ ์๋ ๋ธ๋ก** ์๋ง ๋ณด์ธ๋ค.
|
|
505
619
|
* ํฌ์ธํฐ๊ฐ ๋์ธ ๋ธ๋ก๊ณผ ์บ๋ฟ์ด ์๋ ๋ธ๋ก ๋ ๊ฐ์ง๊ฐ ๊ทธ ๋์์ด๋ค.
|
|
@@ -517,7 +631,14 @@ export declare class AerizEditor {
|
|
|
517
631
|
* ๊ฐ๊น์ด ๋ธ๋ก์ผ๋ก ๋ถ์ธ๋ค โ ๋ฌธ๋จ ์ฌ์ด ๊ฐ๊ฒฉ์์ ์ปจํธ๋กค์ด ๊น๋นก์ด์ง ์๊ฒ.
|
|
518
632
|
*/
|
|
519
633
|
private blockIdAtViewportY;
|
|
634
|
+
/** `clientY` ๊ฐ ๊ฑธ์น๊ฑฐ๋ ๊ทธ ์๋์ ์๋ ์ฒซ ๋ธ๋ก์ ์๋ฒ (์ด์ง ํ์). */
|
|
635
|
+
private blockIndexAtY;
|
|
520
636
|
private repositionHandles;
|
|
637
|
+
/**
|
|
638
|
+
* id ๋ก ๋ธ๋ก element ๋ฅผ ์ฐพ๋๋ค. ํ์ฑ ยท hover ๋ธ๋ก์ ๋๊ฐ ๋ฐฉ๊ธ ๋ณธ ๊ฒ์ด๋ผ
|
|
639
|
+
* ๊ทธ์ชฝ๋ถํฐ ํ์ธํ๊ณ , ์์ ๋๋ง ๋ฌธ์๋ฅผ ์ฐพ๋๋ค.
|
|
640
|
+
*/
|
|
641
|
+
private elementOfId;
|
|
521
642
|
private positionHandle;
|
|
522
643
|
private createBlockHandle;
|
|
523
644
|
/**
|
|
@@ -525,6 +646,22 @@ export declare class AerizEditor {
|
|
|
525
646
|
* MutationObserver flush ๊ฐ ์ ๋จ๋ฝ์ ์ ๊ท data-block-id ๋ฅผ ๋ฐ๊ธํ๋ค.
|
|
526
647
|
*/
|
|
527
648
|
private insertParagraphAfter;
|
|
649
|
+
private plainPasteNext;
|
|
650
|
+
/**
|
|
651
|
+
* ๋ถ์ฌ๋ฃ๊ธฐ. ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ๋์์ ๋งก๊ธฐ์ง ์๋๋ค โ ๊ธฐ๋ณธ ๋์์ ์๋ ยท ํ๊ธ ยท
|
|
652
|
+
* ์์
์ ํด๋์ค ์์์ ์๊ณ `mso-*` ์ฐ๋ ๊ธฐ๋ฅผ ๋จ๊ธฐ๋ฉฐ, ์น ํ์ด์ง์ ์ํํ
|
|
653
|
+
* ์์ฑ๋ ์ผ๋จ ๋ฌธ์์ ๋ค์ด์จ๋ค. ์ฌ๊ธฐ์ ๋ค๋ฌ๊ณ (`cleanPastedHtml`) ๊ฑฐ๋ฅธ ๋ค
|
|
654
|
+
* (`parseSafeFragment`) ์ง์ ๋ฃ๋๋ค.
|
|
655
|
+
*/
|
|
656
|
+
private handlePaste;
|
|
657
|
+
/** ํด๋ฆฝ๋ณด๋ ยท ๋์ด ๋๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ง๊ธ ์บ๋ฟ ์๋ฆฌ์ ๋ฃ๋๋ค. */
|
|
658
|
+
private insertTransfer;
|
|
659
|
+
private insertFragmentAtCaret;
|
|
660
|
+
/**
|
|
661
|
+
* ๊ทธ๋ฆผ ํ์ผ์ ์ง๊ธ ๋ธ๋ก ๋ค์ ๊ทธ๋ฆผ ๋ธ๋ก์ผ๋ก ๋ฃ๋๋ค. ์
๋ก๋ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์์ผ๋ฉด
|
|
662
|
+
* ์ฌ๋ฆฐ ๋ค์ ์ฃผ์๋ฅผ, ์์ผ๋ฉด data URL ์ ์ด๋ค (๋ฌธ์์ ๊ทธ๋ฆผ์ด ๊ทธ๋๋ก ๋ด๊ธด๋ค).
|
|
663
|
+
*/
|
|
664
|
+
private insertImageFiles;
|
|
528
665
|
private handleDragOver;
|
|
529
666
|
private handleDrop;
|
|
530
667
|
private handleDragLeave;
|
|
@@ -550,7 +687,14 @@ export declare class AerizEditor {
|
|
|
550
687
|
* - ์ข์ธก: ํ์ฑ ๋ธ๋ก ๋ผ๋ฒจ + id (์์ผ๋ฉด โ )
|
|
551
688
|
* - ์ฐ์ธก: ์ด ๋ธ๋ก ์, ๋ณธ๋ฌธ ๊ธ์ ์(๊ณต๋ฐฑ ์ ์ธ)
|
|
552
689
|
*/
|
|
553
|
-
|
|
690
|
+
/**
|
|
691
|
+
* ์ํ๋ฐ๋ ํ์ดํ์ด ์ ๊น ๋ฉ์ถ ๋ค์ ๊ฐฑ์ ํ๋ค. ๊ธ์ ์๋ฅผ ์ธ๋ ค๋ฉด ๋ฌธ์ ์ ์ฒด
|
|
692
|
+
* ํ
์คํธ๋ฅผ ์ฝ์ด์ผ ํด์, ํค๋ง๋ค ํ๋ฉด ๊ธด ๋ฌธ์์์ ๊ทธ ๋น์ฉ์ด ๊ทธ๋๋ก ์์ธ๋ค.
|
|
693
|
+
* ํ์ฑ ๋ธ๋ก ๋ผ๋ฒจ์ ๋ฐ๋ก ๋ฐ๊พผ๋ค(์ธ๊ณ , ๋ฆ์ผ๋ฉด ์ด์ํ๋ค).
|
|
694
|
+
*/
|
|
695
|
+
private scheduleStatusBar;
|
|
696
|
+
private syncStatusBlock;
|
|
697
|
+
private syncStatusCounts;
|
|
554
698
|
/**
|
|
555
699
|
* ๋๋๋ฆฌ๊ธฐ / ๋ค์ ์คํ ๋ฒํผ์ ํ์ฑ ์ํ.
|
|
556
700
|
*
|
|
@@ -558,7 +702,19 @@ export declare class AerizEditor {
|
|
|
558
702
|
* ์ผ์ด๋๋ ๊ฒฝํ์ ์ค๋ค. ์ด๋ ฅ ๋์ ๋ฟ์๋ค๋ ์ฌ์ค ์์ฒด๊ฐ ์ ๋ณด๋ค.
|
|
559
703
|
*/
|
|
560
704
|
private syncHistoryButtons;
|
|
705
|
+
/**
|
|
706
|
+
* ๋ฐ๋ ๋ธ๋ก์๋ง ํ์(kind ยท label) ์ ๋ค์ ๋ฌ๊ณ , ํ์ฑ ํ์๋ ์ด์ ํ์ฑ
|
|
707
|
+
* ๋ธ๋ก๊ณผ ์ ํ์ฑ ๋ธ๋ก ๋๋ง ๊ณ ์น๋ค. 1.0 ์ ํค๋ง๋ค ๋ชจ๋ ๋ธ๋ก์ ์์ฑ์ ๋ค์
|
|
708
|
+
* ์ผ๋ค.
|
|
709
|
+
*/
|
|
561
710
|
private syncBlockMarkers;
|
|
711
|
+
/**
|
|
712
|
+
* ์ต์ ๋ฒ์ ์์ธ ๋ ์ฝ๋๋ฅผ ์ง๊ธ ์ฅ๋ถ๋ก ์ฎ๊ธด๋ค. ์๋ํฐ๊ฐ ์ค์ค๋ก ์ด ํ์๋ง
|
|
713
|
+
* ๋ฐ๋ ๋ ์ฝ๋๋ ์ฅ๋ถ๊ฐ ๋ฒ๋ฆฐ๋ค. ์ง์ง ๋ณ๊ฒฝ์ด ์์ฌ ์์๋ค๋ฉด ํ์ ์ ๋ค์
|
|
714
|
+
* ๋ง์ดํฌ๋กํ์คํฌ์ flush ๊ฐ ํ๋ค โ ๊ฐ์ ธ๊ฐ ๋ ์ฝ๋๋ ์ต์ ๋ฒ ์ฝ๋ฐฑ์ผ๋ก ๋ค์
|
|
715
|
+
* ์ค์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
|
|
716
|
+
*/
|
|
717
|
+
private absorb;
|
|
562
718
|
private applyToolbarState;
|
|
563
719
|
}
|
|
564
720
|
//# sourceMappingURL=AerizEditor.d.ts.map
|