@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE;QACP,2BAA2B;QAC3B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,qDAAqD;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,CAAC;QACxB,GAAG,EAAE,MAAM,CAAC;QACZ,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,qBAAqB;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,uBAAuB;QACvB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,8CAA8C;QAC9C,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,OAAO,EAAE;QACP,kCAAkC;QAClC,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,EAAE;QACN,qCAAqC;QACrC,QAAQ,EAAE,MAAM,CAAC;QACjB,2BAA2B;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,2BAA2B;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,yCAAyC;QACzC,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/core/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 외부 HTML 문서를 가져와 모든 스타일을 인라인으로 베이크한다.
|
|
3
|
-
*
|
|
4
|
-
* 흐름:
|
|
5
|
-
* 1. 숨김 iframe 을 만들고 srcdoc 으로 HTML 주입
|
|
6
|
-
* 2. iframe load 이벤트(=body 의 마지막 동기 스크립트까지 실행 완료) +
|
|
7
|
-
* 추가 RAF/idle 대기 → setTimeout(0) 류 비동기 스타일 적용까지 안정화
|
|
8
|
-
* 3. body 트리 전체를 walk 하면서 각 element 의 computed style 중
|
|
9
|
-
* "캐스케이드로 채워지지 않을" 속성만 인라인 style 속성으로 베이크
|
|
10
|
-
* 4. iframe 제거 후 변환된 element 들의 outerHTML 배열 반환
|
|
11
|
-
*
|
|
12
|
-
* 다른 origin / iframe contentDocument 접근 제한이 발생하면 reject.
|
|
13
|
-
*/
|
|
14
1
|
export declare function isBlockLevelTag(tagName: string): boolean;
|
|
15
2
|
export interface ImportHtmlOptions {
|
|
16
3
|
/** iframe load 후 추가 idle 대기(ms). Tailwind CDN 등 런타임 스타일 주입을
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-html.d.ts","sourceRoot":"","sources":["../../src/core/import-html.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-html.d.ts","sourceRoot":"","sources":["../../src/core/import-html.ts"],"names":[],"mappings":"AA8BA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAiJD,MAAM,WAAW,iBAAiB;IAChC;6BACyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,EAAE,CAAC,CAwGxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-markdown.d.ts","sourceRoot":"","sources":["../../src/core/import-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;
|
|
1
|
+
{"version":3,"file":"import-markdown.d.ts","sourceRoot":"","sources":["../../src/core/import-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAiBH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,CAU1D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAiIjD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 붙여넣기 · 끌어 놓기로 들어온 조각을 캐럿 자리에 넣는다.
|
|
3
|
+
*
|
|
4
|
+
* `document.execCommand('insertHTML')` 을 쓰지 않는 이유 — 크롬은 넣는 순간
|
|
5
|
+
* 주변 글자의 계산된 스타일을 `<span style>` 으로 덧입혀, 깨끗하게 다듬은 조각을
|
|
6
|
+
* 다시 지저분하게 만든다. 표를 문단 안에 넣으면 문단을 이상하게 쪼개기도 한다.
|
|
7
|
+
* 이 에디터는 이력을 직접 관리하므로 브라우저 undo 스택이 필요 없다.
|
|
8
|
+
*
|
|
9
|
+
* 규칙은 워드프로세서와 같다.
|
|
10
|
+
* - 글자만 있는 조각은 캐럿 자리에 그대로 끼운다.
|
|
11
|
+
* - 문단 · 표 같은 블록이 있으면 지금 문단을 캐럿에서 둘로 나누고 그 사이에
|
|
12
|
+
* 넣는다. 첫 문단은 앞 조각에, 마지막 문단은 뒤 조각에 이어 붙인다.
|
|
13
|
+
* - 표 칸 · 목록 항목 · 코드 안처럼 블록을 둘 수 없는 자리에는 줄바꿈으로
|
|
14
|
+
* 이은 글로 넣는다.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* `range` 자리에 조각을 넣고, 넣은 내용의 **끝** 을 가리키는 [노드, 오프셋]
|
|
18
|
+
* 을 돌려준다 (캐럿을 둘 곳). `root` 는 본문 element.
|
|
19
|
+
*/
|
|
20
|
+
export declare function insertFragment(root: HTMLElement, range: Range, frag: DocumentFragment): [Node, number] | null;
|
|
21
|
+
//# sourceMappingURL=insert-fragment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-fragment.d.ts","sourceRoot":"","sources":["../../src/core/insert-fragment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2FH;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,gBAAgB,GACrB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAyEvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-export.d.ts","sourceRoot":"","sources":["../../src/core/markdown-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-export.d.ts","sourceRoot":"","sources":["../../src/core/markdown-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAe9C,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAOD,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,OAAO,GAAE,eAAoB,GAC5B,MAAM,CAWR"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 붙여넣은 HTML 을 에디터 문서로 다듬는다 — 워드 · 한글 · 엑셀 · 웹.
|
|
3
|
+
*
|
|
4
|
+
* ## 왜 필요한가
|
|
5
|
+
*
|
|
6
|
+
* 오피스 프로그램이 클립보드에 올리는 HTML 은 문서가 아니라 "그 프로그램이
|
|
7
|
+
* 다시 읽을 수 있는 덤프" 다. 서식 대부분이 `<style>` 의 클래스 규칙
|
|
8
|
+
* (`.xl65`, `p.MsoNormal`, `P.HStyle0`) 에 들어 있고, 본문에는 `mso-*` 속성 ·
|
|
9
|
+
* `<o:p>` · 조건부 주석 · 목록 기호를 흉내 낸 글자가 섞여 있다. 그대로 넣으면
|
|
10
|
+
*
|
|
11
|
+
* - 엑셀 머리글의 배경 · 테두리 · 굵기가 사라지고(클래스에만 있으므로),
|
|
12
|
+
* - 워드 글머리 목록이 "§ 신규 고객" 같은 글자 문단이 되고,
|
|
13
|
+
* - 저장한 HTML 이 몇 배로 부풀어 서버 · 뷰어에서도 같은 쓰레기를 끌고 다닌다.
|
|
14
|
+
*
|
|
15
|
+
* ## 무엇을 하는가
|
|
16
|
+
*
|
|
17
|
+
* 1. `DOMParser` 로 **비활성 문서** 에 읽는다 — 스크립트가 돌지 않고 이미지도
|
|
18
|
+
* 내려받지 않는다. 보안 거름은 이 다음 단계(`parseSafeFragment`) 가 맡는다.
|
|
19
|
+
* 2. `<style>` 의 클래스 규칙에서 **눈에 보이는 서식만**(굵기 · 기울임 · 색 ·
|
|
20
|
+
* 배경 · 정렬 · 테두리) 골라 요소의 style 로 옮긴다. 글꼴 · 크기 · 줄 간격 같은
|
|
21
|
+
* "문서 기본값" 은 옮기지 않는다 — 붙여넣은 글이 주변 글과 다른 글꼴로 박히는
|
|
22
|
+
* 것이 사용자가 가장 싫어하는 결과다. 요소에 **직접** 쓴 글꼴 · 크기는 남긴다.
|
|
23
|
+
* 3. 워드의 `mso-list` 문단을 진짜 `<ul>/<ol>` 로 묶는다(수준별 중첩 포함).
|
|
24
|
+
* 4. `mso-*` · 클래스 · `lang` · `<o:p>` · 빈 `<span>` 을 걷어 낸다. 길이 단위 pt 는
|
|
25
|
+
* px 로 (글자 크기는 에디터 목록과 같은 pt 로 둔다).
|
|
26
|
+
* 5. 표 칸 안의 문단 하나짜리 `<p>` 는 풀어 칸에 글만 남긴다.
|
|
27
|
+
*/
|
|
28
|
+
export type PasteSource = 'word' | 'excel' | 'hwp' | 'web';
|
|
29
|
+
/** 클립보드 HTML 이 어느 프로그램에서 왔는지. */
|
|
30
|
+
export declare function detectSource(html: string): PasteSource;
|
|
31
|
+
/**
|
|
32
|
+
* 붙여넣을 HTML 을 다듬어 돌려준다. 결과는 아직 **신뢰할 수 없는** HTML 이다
|
|
33
|
+
* — 호출하는 쪽이 반드시 sanitize 를 거쳐 문서에 넣는다.
|
|
34
|
+
*/
|
|
35
|
+
export declare function cleanPastedHtml(html: string): string;
|
|
36
|
+
//# sourceMappingURL=paste-clean.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste-clean.d.ts","sourceRoot":"","sources":["../../src/core/paste-clean.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAoBH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3D,iCAAiC;AACjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAMtD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-string.d.ts","sourceRoot":"","sources":["../../src/core/render-string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"render-string.d.ts","sourceRoot":"","sources":["../../src/core/render-string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAkC5D,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CAQR;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAM,GAChD,MAAM,CAER"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** 신뢰할 수 없는 HTML 을 정화한 DocumentFragment 로 만든다. `doc` 의 노드다. */
|
|
2
|
+
export declare function parseSafeFragment(html: string, doc?: Document): DocumentFragment;
|
|
3
|
+
/**
|
|
4
|
+
* `root` 아래를 제자리에서 정화한다. `root` 자신의 속성은 건드리지 않는다.
|
|
5
|
+
*
|
|
6
|
+
* 이미 문서에 붙어 있는 트리에도 쓸 수 있다 (붙여넣기 뒤 방어선 등). 다만
|
|
7
|
+
* 그때는 이미 로드가 시작됐을 수 있으므로 들어오는 길목에서는
|
|
8
|
+
* {@link parseSafeFragment} 를 쓴다.
|
|
9
|
+
*/
|
|
10
|
+
export declare function sanitizeTree(root: ParentNode): void;
|
|
11
|
+
/**
|
|
12
|
+
* 이미 본문에 붙은 트리의 방어선 — **실행 경로만** 끊는다.
|
|
13
|
+
*
|
|
14
|
+
* 들어오는 길목은 {@link parseSafeFragment} 가 맡는다. 이 함수는 그 길목을
|
|
15
|
+
* 거치지 않고 브라우저가 직접 넣은 HTML(끌어다 놓기 등) 을 위해 타이핑마다
|
|
16
|
+
* 바뀐 블록에만 돈다. 그래서 가볍게 유지한다 — 모르는 태그를 벗기거나
|
|
17
|
+
* 속성 허용 목록을 적용하지 않는다(에디터의 편집 보조 버튼도 이 트리 안에
|
|
18
|
+
* 있다). 스크립트 · 임베드 · 이벤트 핸들러 · 위험한 URL 만 지운다.
|
|
19
|
+
*/
|
|
20
|
+
export declare function guardLiveTree(root: Element): void;
|
|
21
|
+
//# sourceMappingURL=sanitize-dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-dom.d.ts","sourceRoot":"","sources":["../../src/core/sanitize-dom.ts"],"names":[],"mappings":"AAYA,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,QAAmB,GAAG,gBAAgB,CAO1F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAOnD;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAajD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-html.d.ts","sourceRoot":"","sources":["../../src/core/sanitize-html.ts"],"names":[],"mappings":"AAeA;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type TagAction = 'keep' | 'unwrap' | 'drop';
|
|
2
|
+
export declare function tagAction(tag: string): TagAction;
|
|
3
|
+
/**
|
|
4
|
+
* 속성 하나를 판정한다. 남길 값(필요하면 고친 값) 또는 버리라는 뜻의 `null`.
|
|
5
|
+
*
|
|
6
|
+
* `tag` · `name` 은 소문자로 넘긴다.
|
|
7
|
+
*/
|
|
8
|
+
export declare function cleanAttr(tag: string, name: string, value: string): string | null;
|
|
9
|
+
export declare function safeId(value: string): string | null;
|
|
10
|
+
/**
|
|
11
|
+
* 인라인 `style` 값을 정화한다. 위험한 선언만 빼고 나머지는 그대로 둔다.
|
|
12
|
+
*
|
|
13
|
+
* `url(...)` 은 이미지 URL 로 안전한 것(http(s), data:image, 상대 경로) 만
|
|
14
|
+
* 남긴다. `url(javascript:…)` 는 오래된 브라우저에서 실행된다.
|
|
15
|
+
*/
|
|
16
|
+
export declare function cleanStyle(css: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* 새 창으로 여는 링크에 `rel="noopener noreferrer"` 를 보장한다.
|
|
19
|
+
* 열린 페이지가 `window.opener` 로 원래 페이지를 바꿔치기하는 것을 막는다.
|
|
20
|
+
*/
|
|
21
|
+
export declare function relForTarget(target: string | null, rel: string | null): string | null;
|
|
22
|
+
//# sourceMappingURL=sanitize-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize-policy.d.ts","sourceRoot":"","sources":["../../src/core/sanitize-policy.ts"],"names":[],"mappings":"AAmCA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAoCnD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAKhD;AAkDD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBjF;AAiBD,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnD;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB9C;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAMrF"}
|
|
@@ -20,6 +20,11 @@ export declare function captureSelectionOffsets(root: HTMLElement): SelectionOff
|
|
|
20
20
|
* 문서가 짧아져 오프셋이 넘치면 가장 가까운 위치(문서 끝) 에 둔다.
|
|
21
21
|
*/
|
|
22
22
|
export declare function restoreSelectionOffsets(root: HTMLElement, saved: SelectionOffsets): void;
|
|
23
|
+
/** 문자 오프셋에 해당하는 (텍스트 노드, 노드 안 offset). */
|
|
24
|
+
export declare function pointAtTextOffset(root: HTMLElement, offset: number): {
|
|
25
|
+
node: Node;
|
|
26
|
+
offset: number;
|
|
27
|
+
};
|
|
23
28
|
/**
|
|
24
29
|
* 캐럿이 블록의 맨 끝에 있는지.
|
|
25
30
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/core/selection.ts"],"names":[],"mappings":"AAcA,0BAA0B;AAC1B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAE9E;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,GAChB,gBAAgB,GAAG,IAAI,CAgBzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAcN;
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/core/selection.ts"],"names":[],"mappings":"AAcA,0BAA0B;AAC1B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAE9E;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAEN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,GAChB,gBAAgB,GAAG,IAAI,CAgBzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,gBAAgB,GACtB,IAAI,CAcN;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgBhC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAa/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,IAAI,CAavC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/core/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAGjE;
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/core/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAGjE;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,aAAa,EAAE,GAC9B,aAAa,EAAE,CAEjB;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAatE"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 표 격자 모델 — 병합 셀(`rowspan` · `colspan`) 을 반영한 좌표.
|
|
3
|
+
*
|
|
4
|
+
* ## 왜 필요한가
|
|
5
|
+
*
|
|
6
|
+
* DOM 의 `<tr>` 안 셀 순번은 **열 번호가 아니다.** 위 행의 `rowspan` 이 내려와
|
|
7
|
+
* 자리를 차지하면 그 행의 첫 `<td>` 가 2열일 수 있고, `colspan="2"` 셀 다음
|
|
8
|
+
* 셀은 3열이다. 1.0 은 셀 순번을 열 번호로 써서, 엑셀 · 한글에서 가져온 병합
|
|
9
|
+
* 표에 열을 넣으면 머리글과 데이터가 어긋났다.
|
|
10
|
+
*
|
|
11
|
+
* 여기서는 표를 한 번 훑어 "몇 행 몇 열 칸을 어느 셀이 차지하는가" 를 담은
|
|
12
|
+
* 격자를 만들고, 행 · 열 삽입과 삭제 · 병합 · 분할을 모두 그 격자 위에서
|
|
13
|
+
* 계산한다. 모든 조작은 끝난 뒤에도 표가 **직사각형**(모든 행의 칸 수가 같음)
|
|
14
|
+
* 이도록 유지한다.
|
|
15
|
+
*/
|
|
16
|
+
/** 격자 위 셀 하나. `row` · `col` 은 셀이 시작하는 칸(왼쪽 위) 이다. */
|
|
17
|
+
export interface GridCell {
|
|
18
|
+
el: HTMLTableCellElement;
|
|
19
|
+
row: number;
|
|
20
|
+
col: number;
|
|
21
|
+
rowSpan: number;
|
|
22
|
+
colSpan: number;
|
|
23
|
+
}
|
|
24
|
+
export interface TableGrid {
|
|
25
|
+
/** 표의 모든 행 (thead · tbody · tfoot 순서 그대로). */
|
|
26
|
+
rows: HTMLTableRowElement[];
|
|
27
|
+
/** `slots[r][c]` = 그 칸을 차지하는 셀. 빈 칸(모양이 깨진 표) 은 null. */
|
|
28
|
+
slots: (GridCell | null)[][];
|
|
29
|
+
/** 열 수. */
|
|
30
|
+
width: number;
|
|
31
|
+
/** 셀 element → 격자 정보. */
|
|
32
|
+
cells: Map<HTMLTableCellElement, GridCell>;
|
|
33
|
+
}
|
|
34
|
+
/** 직사각형 범위. 양 끝 포함. */
|
|
35
|
+
export interface GridRect {
|
|
36
|
+
top: number;
|
|
37
|
+
left: number;
|
|
38
|
+
bottom: number;
|
|
39
|
+
right: number;
|
|
40
|
+
}
|
|
41
|
+
/** 표를 훑어 격자를 만든다. */
|
|
42
|
+
export declare function buildGrid(table: HTMLTableElement): TableGrid;
|
|
43
|
+
/** 셀이 덮는 범위. */
|
|
44
|
+
export declare function rectOf(cell: GridCell): GridRect;
|
|
45
|
+
/**
|
|
46
|
+
* 두 셀을 모서리로 하는 직사각형. 걸치는 병합 셀이 있으면 그 셀이 통째로
|
|
47
|
+
* 들어오도록 범위를 넓힌다 — 병합 셀의 일부만 고르는 일은 없다.
|
|
48
|
+
*/
|
|
49
|
+
export declare function expandRect(grid: TableGrid, rect: GridRect): GridRect;
|
|
50
|
+
/** 직사각형 안의 셀들 (문서 순서, 중복 없음). */
|
|
51
|
+
export declare function cellsInRect(grid: TableGrid, rect: GridRect): HTMLTableCellElement[];
|
|
52
|
+
/** 두 셀을 모서리로 한 선택 범위의 셀들 (병합 셀을 통째로 포함). */
|
|
53
|
+
export declare function cellsBetween(table: HTMLTableElement, a: HTMLTableCellElement, b: HTMLTableCellElement): HTMLTableCellElement[];
|
|
54
|
+
/** `cell` 이 있는 행의 위/아래에 행을 넣는다. 새 행의 첫 셀을 돌려준다. */
|
|
55
|
+
export declare function insertRow(table: HTMLTableElement, cell: HTMLTableCellElement, where: 'above' | 'below'): HTMLTableCellElement | null;
|
|
56
|
+
/** `cell` 이 덮는 행들을 지운다. 표에 행이 하나뿐이면 아무 것도 하지 않는다. */
|
|
57
|
+
export declare function deleteRow(table: HTMLTableElement, cell: HTMLTableCellElement): boolean;
|
|
58
|
+
/** `cell` 이 있는 열의 왼쪽/오른쪽에 열을 넣는다. */
|
|
59
|
+
export declare function insertColumn(table: HTMLTableElement, cell: HTMLTableCellElement, where: 'left' | 'right'): void;
|
|
60
|
+
/** `cell` 이 덮는 열들을 지운다. 열이 하나뿐이면 아무 것도 하지 않는다. */
|
|
61
|
+
export declare function deleteColumn(table: HTMLTableElement, cell: HTMLTableCellElement): boolean;
|
|
62
|
+
/** 고른 셀들을 하나로 합칠 수 있는지 (두 칸 이상을 덮어야 한다). */
|
|
63
|
+
export declare function canMerge(table: HTMLTableElement, cells: readonly HTMLTableCellElement[]): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* 고른 셀들을 감싸는 직사각형을 셀 하나로 합친다. 합쳐진 셀(왼쪽 위) 을
|
|
66
|
+
* 돌려준다. 다른 셀의 내용은 줄을 바꿔 뒤에 이어 붙인다 — 한글 · 워드와 같다.
|
|
67
|
+
*/
|
|
68
|
+
export declare function mergeCells(table: HTMLTableElement, cells: readonly HTMLTableCellElement[]): HTMLTableCellElement | null;
|
|
69
|
+
/** 병합 셀을 1×1 칸들로 나눈다. 나눌 것이 없으면 false. */
|
|
70
|
+
export declare function splitCell(table: HTMLTableElement, cell: HTMLTableCellElement): boolean;
|
|
71
|
+
/** 셀이 병합 셀인지. */
|
|
72
|
+
export declare function isMerged(cell: HTMLTableCellElement): boolean;
|
|
73
|
+
/** 격자 순서(행 우선) 로 다음 셀. 마지막 셀이면 null. */
|
|
74
|
+
export declare function gridNextCell(table: HTMLTableElement, cell: HTMLTableCellElement): HTMLTableCellElement | null;
|
|
75
|
+
/** 격자 순서로 이전 셀. 첫 셀이면 null. */
|
|
76
|
+
export declare function gridPreviousCell(table: HTMLTableElement, cell: HTMLTableCellElement): HTMLTableCellElement | null;
|
|
77
|
+
/**
|
|
78
|
+
* 행 · 열을 지운 뒤 캐럿을 둘 셀. 지워지는 범위 바로 아래(오른쪽) 셀, 없으면
|
|
79
|
+
* 바로 위(왼쪽) 셀. 지우기 **전에** 부른다.
|
|
80
|
+
*/
|
|
81
|
+
export declare function neighborAfterDelete(table: HTMLTableElement, cell: HTMLTableCellElement, axis: 'row' | 'col'): HTMLTableCellElement | null;
|
|
82
|
+
/**
|
|
83
|
+
* 열 너비를 끌어 바꿀 때 너비를 줄 셀들 — `cell` 의 오른쪽 경계 열에 있는
|
|
84
|
+
* 1칸짜리 셀. 병합 셀의 너비는 그 열들의 합이라 브라우저가 맞춘다.
|
|
85
|
+
*/
|
|
86
|
+
export declare function columnCells(table: HTMLTableElement, cell: HTMLTableCellElement): HTMLTableCellElement[];
|
|
87
|
+
//# sourceMappingURL=table-grid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-grid.d.ts","sourceRoot":"","sources":["../../src/core/table-grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 표
|
|
2
|
+
* 표 셀 하나에 대한 판정 — 노드가 속한 셀, 포인터가 셀 가장자리에 있는지.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 로 걸친 셀 범위, 마우스가 가장자리에 닿았는지, Tab 을 눌렀을 때 다음 셀.
|
|
6
|
-
* 그 판정들만 여기 모은다. 에디터 인스턴스 상태를 보지 않는 순수 계산이라
|
|
7
|
-
* 따로 두면 표 동작을 고칠 때 에디터 본체를 읽지 않아도 된다.
|
|
8
|
-
*
|
|
9
|
-
* **rowspan / colspan 은 고려하지 않는다.** 이 에디터는 둘 다 만들지 않으며,
|
|
10
|
-
* 병합 셀을 지원하게 되면 여기 있는 인덱스 계산은 전부 다시 짜야 한다.
|
|
4
|
+
* 행 · 열 · 병합처럼 표 전체 모양을 따지는 계산은 `table-grid` 에 있다.
|
|
11
5
|
*/
|
|
12
6
|
/** 임의의 노드에서 가장 가까운 td/th element. 없으면 null. */
|
|
13
7
|
export declare function nearestCell(node: Node): HTMLTableCellElement | null;
|
|
14
|
-
/**
|
|
15
|
-
* 다음 표 셀. 행 끝이면 다음 행의 첫 셀, 표의 마지막 셀이면 **새 행을 만들어**
|
|
16
|
-
* 그 첫 셀을 돌려준다 — Tab 만으로 표를 끝까지 채울 수 있도록.
|
|
17
|
-
*/
|
|
18
|
-
export declare function nextTableCell(cell: HTMLTableCellElement, table: HTMLTableElement): HTMLTableCellElement | null;
|
|
19
|
-
/** 이전 표 셀. 첫 셀이면 null. */
|
|
20
|
-
export declare function previousTableCell(cell: HTMLTableCellElement): HTMLTableCellElement | null;
|
|
21
|
-
/**
|
|
22
|
-
* `startCell` 과 `endCell` 을 모서리로 하는 사각 영역의 모든 td/th.
|
|
23
|
-
*
|
|
24
|
-
* thead 와 tbody 가 섞여 있어도 `querySelectorAll('tr')` 의 document order 로
|
|
25
|
-
* 단일 행 인덱스를 매긴다 — 사용자 눈에 보이는 순서와 같다.
|
|
26
|
-
*/
|
|
27
|
-
export declare function cellsInRectangle(table: HTMLTableElement, startCell: HTMLTableCellElement, endCell: HTMLTableCellElement): HTMLTableCellElement[];
|
|
28
8
|
/** 셀의 우/하 가장자리에 포인터가 있으면 'right' / 'bottom'. 아니면 null. */
|
|
29
9
|
export declare function detectCellEdge(cell: HTMLTableCellElement, x: number, y: number): 'right' | 'bottom' | null;
|
|
30
10
|
//# sourceMappingURL=table-ops.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-ops.d.ts","sourceRoot":"","sources":["../../src/core/table-ops.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"table-ops.d.ts","sourceRoot":"","sources":["../../src/core/table-ops.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,oBAAoB,GAAG,IAAI,CAMnE;AAKD,0DAA0D;AAC1D,wBAAgB,cAAc,CAC5B,IAAI,EAAE,oBAAoB,EAC1B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,GACR,OAAO,GAAG,QAAQ,GAAG,IAAI,CAQ3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/highlight/index.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,0CAA0C;AAC1C,eAAO,MAAM,WAAW,EAAE,eAGzB,CAAC"}
|
package/dist-types/index.d.ts
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@aeriz/wysiwyg` — 브라우저 진입점. 스타일시트를 부수 효과로 불러온다.
|
|
3
|
+
*
|
|
4
|
+
* 여기서 내보내는 것이 공개 API 의 전부다. 에디터 내부(블록 레지스트리 ·
|
|
5
|
+
* 정규화 · HTML 파서 · 로케일 사전) 는 내보내지 않는다 — 내보내면 고칠 때마다
|
|
6
|
+
* 호환이 깨진다. 서버(Node · workerd · Deno) 에서는 CSS 를 끌어오지 않는
|
|
7
|
+
* `@aeriz/wysiwyg/server` 를 쓴다.
|
|
8
|
+
*/
|
|
1
9
|
// (CSS 부수 효과 import 는 타입 선언에서 제거됨 — scripts/strip-css-imports.mjs)
|
|
2
10
|
export { AerizEditor } from './core/AerizEditor.js';
|
|
3
|
-
export type { EditorState, EditorStateListener, InlineState
|
|
11
|
+
export type { EditorState, EditorStateListener, InlineState } from './core/AerizEditor.js';
|
|
4
12
|
export { AerizViewer } from './core/AerizViewer.js';
|
|
5
13
|
export type { ViewerOptions } from './core/AerizViewer.js';
|
|
6
|
-
export {
|
|
7
|
-
export type { BlockStyleTheme } from './core/blocks.js';
|
|
8
|
-
export type { Block, BlockAttrs, BlockAttrsByKind, BlockIdResolver, BlockKind, BlockMatch, BlockSnapshot, BlockType, BlockquoteAttrs, BulletListAttrs, ClassifyResult, CodeBlockAttrs, FileAttrs, HeadingAttrs, HeadingLevel, HrAttrs, ImageAttrs, ImportedHtmlAttrs, InlineMarkName, LinkCardAttrs, OrderedListAttrs, ParagraphAttrs, Snapshot, TableAttrs, UnknownAttrs, YoutubeAttrs, } from './core/blocks.js';
|
|
9
|
-
export { getLocale, setLocale, t } from './core/i18n.js';
|
|
10
|
-
export type { Locale, Strings } from './core/i18n.js';
|
|
11
|
-
export type { EditorOptions, HtmlStyleMode, SerializeHtmlOptions, ToolbarConfig, ToolbarItem, ToolbarItemName, } from './types/index.js';
|
|
14
|
+
export type { EditorErrorCode, EditorOptions, HtmlStyleMode, SerializeHtmlOptions, ToolbarConfig, ToolbarItem, ToolbarItemName, UploadOptions, CodeHighlighter, } from './types/index.js';
|
|
12
15
|
export { DEFAULT_TOOLBAR } from './types/index.js';
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
16
|
+
export { DEFAULT_FONTS, DEFAULT_FONT_SIZES } from './core/fonts.js';
|
|
17
|
+
export type { FontFamily } from './core/fonts.js';
|
|
18
|
+
export type { Locale } from './core/i18n.js';
|
|
19
|
+
export { SNAPSHOT_VERSION, upgradeSnapshots } from './core/snapshot.js';
|
|
20
|
+
export { renderBlocksToHTML } from './core/render-string.js';
|
|
15
21
|
export type { RenderHtmlOptions } from './core/render-string.js';
|
|
22
|
+
export { sanitizeHTML } from './core/sanitize-html.js';
|
|
23
|
+
export { htmlToBlocks } from './core/html-to-blocks.js';
|
|
16
24
|
export { blocksToMarkdown } from './core/markdown-export.js';
|
|
17
25
|
export type { MarkdownOptions } from './core/markdown-export.js';
|
|
26
|
+
export { markdownToBlocks, markdownToHtml } from './core/import-markdown.js';
|
|
18
27
|
export { blocksToPlainText } from './core/plain-text.js';
|
|
19
28
|
export type { PlainTextOptions } from './core/plain-text.js';
|
|
20
|
-
export {
|
|
21
|
-
export type { HtmlElementNode, HtmlNode, HtmlText } from './core/html-mini.js';
|
|
29
|
+
export type { Block, BlockAttrs, BlockAttrsByKind, BlockKind, BlockSnapshot, BlockquoteAttrs, BulletListAttrs, CodeBlockAttrs, FileAttrs, HeadingAttrs, HeadingLevel, HrAttrs, ImageAttrs, ImportedHtmlAttrs, InlineMarkName, LinkCardAttrs, OrderedListAttrs, ParagraphAttrs, Snapshot, TableAttrs, UnknownAttrs, YoutubeAttrs, } from './core/blocks.js';
|
|
22
30
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,YAAY,EACV,KAAK,EACL,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,eAAe,CAAC"}
|
|
@@ -24,14 +24,13 @@
|
|
|
24
24
|
* },
|
|
25
25
|
* };
|
|
26
26
|
*/
|
|
27
|
-
export {
|
|
27
|
+
export { renderBlocksToHTML } from '../core/render-string.js';
|
|
28
28
|
export type { RenderHtmlOptions } from '../core/render-string.js';
|
|
29
|
+
export { sanitizeHTML } from '../core/sanitize-html.js';
|
|
29
30
|
export { blocksToMarkdown } from '../core/markdown-export.js';
|
|
30
31
|
export type { MarkdownOptions } from '../core/markdown-export.js';
|
|
31
32
|
export { blocksToPlainText } from '../core/plain-text.js';
|
|
32
33
|
export type { PlainTextOptions } from '../core/plain-text.js';
|
|
33
|
-
export { SNAPSHOT_VERSION,
|
|
34
|
-
export type {
|
|
35
|
-
export { decodeEntities, escapeAttr, escapeHtml, parseHtmlFragment, serializeNodes, textOf, textWithBlockBreaks, } from '../core/html-mini.js';
|
|
36
|
-
export type { HtmlElementNode, HtmlNode, HtmlText } from '../core/html-mini.js';
|
|
34
|
+
export { SNAPSHOT_VERSION, upgradeSnapshots } from '../core/snapshot.js';
|
|
35
|
+
export type { BlockAttrs, BlockAttrsByKind, BlockKind, BlockSnapshot, BlockquoteAttrs, BulletListAttrs, CodeBlockAttrs, FileAttrs, HeadingAttrs, HeadingLevel, HrAttrs, ImageAttrs, ImportedHtmlAttrs, InlineMarkName, LinkCardAttrs, OrderedListAttrs, ParagraphAttrs, Snapshot, TableAttrs, UnknownAttrs, YoutubeAttrs, } from '../core/blocks.js';
|
|
37
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAItE,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { FontFamily } from '../core/fonts.js';
|
|
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
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,GAAG,CAAC;AAEhD,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,WAAW,GACX,YAAY,GACZ,UAAU,GACV,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,OAAO,GACP,iBAAiB,GACjB,OAAO,GACP,QAAQ,GACR,WAAW,GACX,UAAU,GACV,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,MAAM,GACN,OAAO,GACP,OAAO,GACP,IAAI,GACJ,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|